文末有55个实战案例资料
导读:在前面的文章中,我们编写了1200PLC与200SMART PLC之间的Modbus TCP通信。那么有朋友问,如果现场有多个服务器该如何编写程序呢?多个服务器需不需要轮询呢?那么我们通过一篇文章给大家讲明白。
1.控制要求:
1200PLC 作为客户端,1个200SMART作为服务器,另外1个200SMART作为服务器1,示例通信要求如下:
(1)1200PLC 的 MW100~MW108 的5 个数据写入到服务器的VW10~VW18中
(2)1200PLC 的 MB200 写入到服务器的QB0 的数据。
(3)1200PLC 的 MB300 写入到服务器1的QB0 的数据。
2.程序编写
客户端程序:
(1)设定1200PLC 的IP地址为“192.168.0.2”
(2)新建DB数据块,并且手动敲入“TCON_IP_v4”数据类型,然后指定服务器 的IP地址为“192.168.0.3”,端口号设置为502。
(3)再次新建DB数据块,并且手动敲入“TCON_IP_v4”数据类型,然后指定服务器 的IP地址为“192.168.0.10”,端口号设置为503。
(3)编程程序
①程序段1和2、3是启动功能,启动之后接通第一个“MB_CLIENT”指令。将 M100.0 开始的5个字长度写入到40001至40005地址中(对应200SMART端的 VW10 至VW18 中), 当通信完成或者通信错误时轮询下一个客户端指令。
注 意:两个“MB_CLIENT”通信指令的背景数据块是一样的。
②程序4至5是往QB0地址中写入数据。数据源是M200.0开始的8个位写入 到00001 开始地址的8个位(也就是200SMART中的QB0)。
程序段6是对服务器1写数据操作。注意:此客户端指令的DB数据块不能与上一个客户端指令的DB数据块相同。这个指令的数据块分配的是DB4。
注意:当1个客户端PLC需要对1个服务器不同存储区数据读写,需要轮询操作。不同的服务器之间是不需要轮询
第1个服务器程序编写:
(1)指定PLC的IP地址
(2)程序
端口号设置为502,起始地址填写&VB10
第2个服务器程序编写:
(1)指定PLC的IP地址
(2)程序
端口号设置为503
最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!