图4. 程序调用功能
CALL “GET” | ,%DB2 | //调用 GET,使用背景DB块:DB2 |
REQ | :=%M0.7 | //系统时钟 2秒脉冲 |
ID | :=W#16#0100 | //连接号,要与连接配置中一致,创建连接时的连接号 |
NDR | :=%M4.0 | //为1时,接收到新数据 |
ERROR | :=%M4.1 | //为1时,有故障发生 |
STATUS | :=%MW6 | //状态代码 |
ADDR_1 | :=P#DB3.DBX0.0 BYTE 100 | //从通信伙伴数据区读取数据的地址 |
RD_1 | :=P#DB4.DBX0.0 BYTE 100 | //本地接收数据地址 |
CALL “PUT” | , %DB5 | //调用 PUT,使用背景DB块:DB5 |
REQ | :=%M0.7 | //系统时钟 2秒脉冲 |
ID | :=W#16#0100 | //连接号,要与连接配置中一致,创建连接时的连接号 |
DONE | :=%M8.0 | // 为1时,发送完成 |
ERROR | :=%M8.1 | // 为1时,有故障发生 |
STATUS | :=%MW10 | // 状态代码 |
ADDR_1 | :=P#DB4.DBX0.0 BYTE 100 | // 发送到通信伙伴数据区的地址 |
SD_1 | :=P#DB3.DBX0.0 BYTE 100 | // 本地发送数据区 |
4. 监控结果
通过在S7-1500侧编程进行S7通讯 ,实现两个CPU之间数据交换,监控结果如图5.
图5. 监控结果