PLCSIM可以仿真两个CPU之间的S7通信、TCP通信、ISO ON TCP通信,下面逐一进行示例,因为TCP和ISO ON TCP相同,所以只示例ISO ON TCP。
第一篇:S7通信
一、同一项目里的两个CPU仿真器的S7通信
添加两个设备,CPU1-1212作为客户端,CPU2-1215作为服务器端,IP地址分别设为192.168.1.6和192.168.1.7,激活“启用时钟存储器字节”。通信目的是将CPU1212发送数据区数据传输到CPU1215接收数据区,同时1212接收数据区接收来自CPU1215发送数据区的数据。
1.1客户端CPU1212组态S7连接,如图1所示。
图1:客户端组态S7连接
1.2 客户端CPU1212添加数据通信数据块,比如s7com(DB1)建立Send和Rev两个数组(Array[0..9] of int),Send数组代表CPU1212发送数据区,Rev数组代表CPU1212接收数据区,如图2所示。
图2:建立收发数据块
1.3 服务器CPU1215添加数据通信数据块,同样s7com(DB1)建立Send和Rev两个数组(Array[0..9] of int),Send数组代表CPU1215发送数据区,Rev数组代表CPU1215接收数据区,与客户端一样。
1.4 客户端CPU1212编程
调用“PUT”指令将数据写入到伙伴CPU1215中,调用“GET”指令从伙伴CPU1215读取数据,如图3和4所示。
图3:PUT指令
图4:GET指令
1.5 服务器端CPU1215设置“允许来自远程对象的PUT/GET通信访问”,如图5所示。(无需编程)
图5:服务器端勾选允许远程访问
1.6 启动各自仿真器并进行下载测试,如图6所示。
图6::仿真通信测试
二、不同项目里两个CPU的S7通信仿真
还以CPU1212(客户端)和CPU1215(服务器端)为例,只是两个CPU在不同的项目里。
2.1 客户端项目CPU组态编程
与同一项目里组态编程基本一致,区别就是连接参数里通信伙伴方选择未指定,同时在“常规”属性里填写未指定伙伴方的IP地址,如图7和8所示。
图7:创建未指定连接
图8:填写伙伴IP地址
程序里还是建立数据块S7com收发数据,同时调用“TSEND”和“TRCV”指令用于发送和接收数据,与前面一样不再赘述。
2.2 服务器端项目CPU1215组态
与同一项目里一样,CPU1215建立数据S7com用于收发数据即可,无需编程,同时勾选“允许来自远程对象的PUT/GET通信访问”。
3.3 通信测试