1.用户程序运行在CPU模块中,CPU模块内没有程序装载存储器,程序存储在专用的存储卡中里,概念同S7-300。存储卡需要单独订货。CPU目前有多种型号:
• CPU 1511-1 PN
• CPU 1513-2 PN
• CPU 1516-3 PN/DP
......
三个CPU型号从上至下性能由低到高排列,区别于指令执行速度,各种地址空间尺寸,内存大小,集成通讯口种类个数等等方面,具体请参考对应的CPU手册。
2.对于PLC系统,用户程序处理的是输入/输出(I/O)信号直接的逻辑关系。那么往往系统需配置I/O模块,S7-1500的CPU模块自身没有集成I/O,I/O信号输入通过拓展I/O模块进行输入输出。常见I/O信号有,
• 数字量输入(DI):也就是开关量(还有称作离散量)信号输入
• 数字量输出(DQ):开关量信号输出
• 模拟量输入(AI):连续量输入,如电压-10V ~ +10V, 4 ~ 20mA等
• 模拟量输出(AQ):连续量输出
• 还有脉冲输入(PI), 脉冲输出(PQ)等
RS485总线接线方式:
RSr485通讯总线必须用双绞线,或者网线的其中一组,如果用普通的平行电线非双绞线,则干扰将非常大,通讯不畅,甚至通讯不上,特别是在电磁干扰源比较多的场合。每台控制器设备必须手牵手地串下去,不可以有星型连接或者分叉。如果有星型连接或者分叉,干扰将更严重,数据丢包,甚至通讯不上。
正确的485通讯接线方法
错误的485通讯接线方法
负载数量:即个485串口可以挂多少台设备
这个数量取决于485通讯的速率和允许的轮询周期,一般通讯工程师都建议32台或64台,根据现场环境,通讯距离,轮询周期来定。打比方客户要求150台设备的数据要在1分钟之内全读回来,那么每个设备的读取时间按500MS算(加上通讯超时等待时间),150个设备则Z少需要75秒,则需要两个串口,一个串口挂75个设备。
一、西门子PLC编程指令
1、位逻辑指令
1.1 -||- 常开接点(地址);
1.2 -|/|- 常闭接点(地址);
1.3 XOR 位异或;
1.4 -|NOT|- 信号流反向;
1.5 -( ) 输出线圈;
1.6 -(#)- 中间输出;
1.7 -(R) 线圈复位;
1.8 -(S) 线圈置位;
1.9 RS 复位置位(置位复位)触发器;
1.10 -(N)- RLO下降沿检测;
1.11 -(P)- PLO上升沿检测;
1.12 -(SAVE) 将RLO存入BR存储器;
1.13 MEG 地址下降沿检测;
1.14 POS 地址上升沿检测;
2、比较指令
2.1 CMP?I 整数比较;
2.2 CMP?D 双整数比较;
2.3 CMP?R 实数比较
3、转换指令
3.1 BCD_IBCD码转换为整数;
3.2 I_BCD 整数转换为BCD码;
3.3 I_DINT 整数转换为双整数;
3.4 BCD_DIBCD码转换为双整数;
3.5 DI_BCD 双整数转换为BCD码;
3.6 DI_REAL 双整数转换为浮点数;
3.7 INV_I 整数的二进制反码;
3.8 INV_DI 双整数的二进制反码;
3.9 NEG_I 整数的二进制补码;
3.10 NEG_DI 双整数的二进制补码;
3.11 NEG_R 浮点数求反;
3.12 ROUND 舍入为双整数;
3.13 TRUNC 舍去小数取整为双整数;
3.14 CEIL 上取整;
FLOOR 下取整;
4、计数器指令
4.1 S_CUD 加减计数;
4.2 S_CU 加计数器;
4.3 S_CD 减计数器;
4.4 -(SC) 计数器置初值;
4.5 -(CU) 加计数器线圈;
4.6 -(CD) 减计数器线圈;
5、数据块指令
5.1 -(OPN) 打开数据块:DB或DI;
6、逻辑控制指令
6.1 -(JMP) 无条件跳转;
6.2 -(JMP) 条件跳转;
6.3 -(JMPN) 若非则跳转;
6.4 LABEL 标号;
7、整数算术运算指令
7.1 ADD_I 整数加法;
7.2 SUB_I 整数减法;
7.3 MUL_I 整数乘法;
7.4 DIV_I 整数除法;
7.5 ADD_DI 双整数加法;
7.6 SUB_DI 双整数减法;
7.7 MUL_DI 双整数乘法;
7.8 DIV_DI 双整数除法 ;
7.9 MOD_DI 回送余数的双整数
8、浮点算术运算指令
8.1 基础指令
8.1.1 ADD_R 实数加法;
8.1.2 SUB_R 实数减法;
8.1.3 MUL_R 实数乘法;
8.1.4 DIV_R 实数除法;
8.1.5 ABS 浮点数值运算;
8.2 扩展指令
8.2.1 SQR 浮点数平方;
8.2.2 SQRT 浮点数平方根;
8.2.3 EXP 浮点数指数运算;
8.2.4 LN 浮点数自然对数运算;
8.2.5 SIN 浮点数正弦运算;
8.4.6 COS 浮点数余弦运算;
8.2.7 TAN 浮点数正切运算;
8.2.8 ASIN 浮点数反正弦运算;
8.2.9 ACOS 浮点数反余弦运算;
8.2.10ATAN 浮点数反正切运算;
9、赋值指令
9.1 MOVE 赋值;
10、程序控制指令
10.1 -(Call) 从线圈调用FC/SFC(无参数);
10.2 CALL_FB 从方块调用FB;
10.3 CALL_FC 从方块调用FC;
10.4 CALL_SFB 从方块调用SFB;
10.5 CALL_SFC 从方块调用SFC;
10.6 -(MCR<) 主控继电器接通;
10.7 -(MCR>) 主控继电器断开;
10.8 -(MCRA) 主控继电器启动;
10.9 -(MCRD) 主控继电器停止;
10.10 -(RET) 返回;
11、移位和循环指令
11.1 移位指令;
11.1.1 SHR_I 整数右移;
11.1.2 SHR_DI 双整数右移;
11.1.3 SHL_W 字左移;
11.1.4 SHR_W 字右移;
11.1.5 SHL_DW 双字左移;
11.1.6 SHR_DW 双字右移;
11.2 循环指令
11.2.1 ROL_DW 双字左循环;
11.2.2 ROR_DW 双字右循环;
12、状态位指令
12.1 OV -||- 溢出异常位;
12.2 OS -||- 存储溢出异常位;
12.3 UO -||- 无序异常位;
12.4 BR -||- 异常位二进制结果;
12.5 ==0-||- 结果位等于"0";
12.6 <>0-||- 结果位不等于"0";
12.7 >0-||- 结果位大于"0";
12.8 <0-||- 结果位小于"0";
12.9 >=0-||- 结果位大于等于"0";
12.10 <=0-||- 结果位小于等于"0";
13、定时器指令
13.1 S_PULSE 脉冲S5定时器;
13.2 S_PEXT 扩展脉冲S5定时器;
13.3 S_ODT 接通延时S5定时器;
13.4 S_ODTS 保持型接通延时S5定时器;
13.5 S_OFFDT 断电延时S5定时器;
13.6 -(SP) 脉冲定时器线圈;
13.7 -(SE) 扩展脉冲定时器线圈;
13.8 -(SD) 接通延时定时器线圈;
13.9 -(SS) 保持型接通延时定时器线圈;
13.10 -(SF) 断开延时定时器线圈;
14、字逻辑指令
14.1 WAND_W 字和字相"与";
14.2 WOR_W 字和字相"或";
14.3 WAND_DW 双字和双字相"与";
14.4 WOR_DW 双字和双字相"或";
14.5 WXOR_W 字和字相"异或";
14.6 WXOR_DW 双字和双字相"异或“