技术论坛

作者 主题
yming
至圣

经验值: 127286
发帖数: 21992
精华帖: 824
楼主    2016-08-02 01:03:38
主题:【分享】关于MODBUS TCP V4.0 使用(二)客户端

(一)描述了S7 1200/1500的MODBUS TCP服务器的写法。

关于MODBUS TCP V4.0使用 (一)服务器端


下面开始说一下 MODBUS TCP 客户端的写法。


可能有些网友已经有注意到在服务器的 OB1 中有个SEL 选择开关。这实际上是留给客户端写入的一个控制字(WORD9)。
实际上,可以用它来控制服务器的动作。(例如:用于切换服务器;切换需要读写的数据;控制服务器的运行方式等等。)
除此之外,为检查传输,再做一个低频正弦信号,发送给MODBUS TCP服务器。


首先,再添加一个 S7 1200(最便宜的1211 V4.1)
组态:
在其属性-常规中设置IP地址(169.254.1.70);设备名称(  )
对于都是西门子的装置(PLC/MODBUS TCP模块),可以加入到PN/IE子网;对于第三方的MODBUS TCP模块,可能不需要在项目中做组态,直接使用该模块的说明去设置 IP地址,然后用客户端身份去访问。(通常MODBUS TCP传感器模块为服务器端,使用TCP/IP WEB设置,MODBUS TCP访问。)

图 1


为了测试,先做个低频正弦波信号。



图2a
拖过一个预先做好的DB(SIN_MOD), 它就是个简单数组 ARRAY(1-50) OF INT;预先写好了50个正弦值。


图2


插入一个循环中断,间隔时间500毫秒;每次中断改变一次,形成0.1Hz正弦波输出。


图3






学而时习之,不亦说乎?温故而知新,不亦乐乎?
yming
至圣

经验值: 127286
发帖数: 21992
精华帖: 824
2楼    2016-08-02 01:12:54
主题:客户端仿真模拟测试

编译没问题后,可以启动PLC SIM 仿真。

启动仿真,下载运行程序。
首先建立个监控表。将需要监控的变量分别从 M变量表、DB中拖入。
在线。检查 客户端状态码。
同时,检查准备发送给服务器的“正弦波”信号是否正常。



图10


MB客户端没有问题后,再启动 MB服务器端PLC的仿真(两个PLC同时仿真)
启动客户端连接请求 (监控表 MBREQ=1)
在监控表中,检查 读到的MB服务器值。



图11


最后,将MB服务器PLC 在线。检查是否接收到来自客户端的“正弦波”信号。



图12


以上,就完成了MODBUS TCP 服务器-客户端的仿真模拟。


是不是很容易呀?


下面(三)实际传输测试。

关于MODBUS TCP V4.0使用(三)实际传输测试

学而时习之,不亦说乎?温故而知新,不亦乐乎?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。