品牌:SIEMENS/西门子
西门子(SIEMENS)的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400、S7-1500等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等
在OB1中,从“指令”-->“S7 通信”下,调用Get、Put通信指令,程序见图16。
图16. 程序调用功能
CALL “PUT” | , %DB3 | //调用 PUT,使用背景DB块:DB3 |
REQ | :=%M0.7 | //系统时钟 2秒脉冲 |
ID | :=W#16#0100 | //连接号,要与连接配置中一致,创建连接时的连接号 |
DONE | :=%M2.0 | // 为1时,发送完成 |
ERROR | :=%M2.1 | // 为1时,有故障发生 |
STATUS | :=%MW4 | // 状态代码 |
ADDR_1 | :=P#DB1.DBX1000.0 BYTE 212 | // 发送到通信伙伴数据区的地址 |
SD_1 | :=P#DB1.DBX0.0 BYTE 212 | // 本地发送数据区 |
CALL “GET” | , %DB4 | //调用 GET,使用背景DB块:DB4 |
REQ | :=%M0.7 | //系统时钟 2秒脉冲 |
ID | :=W#16#0100 | //连接号,要与连接配置中一致,创建连接时的连接号 |
NDR | :=%M2.2 | //为1时,接收到新数据 |
ERROR | :=%M2.3 | //为1时,有故障发生 |
STATUS | :=%MW6 | //状态代码 |
ADDR_1 | :=P#DB1.DBX2000.0 BYTE 212 | //从通信伙伴数据区读取数据的地址 |
RD_1 | :=P#DB2.DBX0.0 BYTE 212 | //本地接收数据地址 |
3. 监控结果
通过在S7-1200侧编程进行S7通信,实现两个CPU之间的数据交换,监控结果如图17。
图17. S71200和S7200监控数据
注意:S7-200中V区对应于DB1,即在PUT指令中使用的通信伙伴数据区ADDR_1=P#DB1.DBX1000.0BYTE 212在S7-200中对于为VB1000~VB1211。