PLC作为服务器,摩尔信使作为客户端的Modbus TCP通讯

情况描述

现在的场景是这样的,现场的PLC是物理真实的,而模拟软件如摩尔信使,让他们之间进行modbus TCP通讯;先让PLC做服务器,摩尔信使软件做客户端进行通讯;后让PLC做客户端,摩尔信使软件做服务器进行通讯;

摩尔信使MThings做为客户端的配置

此时我们需要进行修改服务器的地址,将其个改为真实的服务器地址;如192.168.10.50,此时可以明确MThings软件是做为客户端的,PLC是做为服务器的。

将MThings配置成如下图所示,然后启用轮询就可以通讯数据了;如果要传递浮点数Float需要将字序 and 字节序都调成大端;

在PLC中的配置,PLC做服务器端

在PLC中的配置,直接从库指令中拖放Modbus TCP的Server指令即可,因为此时PLC是做作服务器,如果连接成功,在状态图表中修改新值,就会有数据上的变化,如下图所示:

摩尔信使MThings做为服务器的配置

直接新建连接就可以了,可以参数都保持默认即可;

设置本机地IP地址,根据实际情况进行填写。

添加寄存器,也就是点击加号新增数据配置;

在PLC中的配置,PLC做客户端

每个 MB_Client指令库只能创建一个Mdobus TCP连接,如果一个S7-200 SMART 需要连接多个Modbus TCP 服务器端,则需要购买多个名称不同的MB_Client指令库(例如MB_Client_0,MB_Client_1,MB_Client_2)。

修改MB_Client指令库符号表,S7-200 SMART MB_Client指令库在与一些Modbus TCP 网关通信时,可能需要修改指令库中变量“mbtBuff_UnitID”数值,该数值默认为255 。如果 Modbus TCP 服务器站地址 Unit ID ,则需要将指令库中变量“mbtBuff_UnitID”数值设置与服务器站地址相同即可。

MB_Client指令库错误代码

现在测试一台PLC做为Modbus TCP客户端,有多个客户端与不同的服务器进行连接;首先点击通道管理——-网络管理——-网络参数配置;添加更多的网络端口;

需要注意的是不同有Modbus TCP服务器有不同的站号和本地IP,不能一样;由于本只能模拟一台Modbus TCP服务器,所以就不再演示了。

PLC中作为客户端时,有多个客户端时,站号 and 本地IP,不能一样;“mbtBuff_UnitID”数值也要改成与服务器相同的站号;

同理使用Modbus Slave来模拟服务器结果也是一样的。

转载请注明出处:  https://www.cntworld.cn
智能工控 » PLC作为服务器,摩尔信使作为客户端的Modbus TCP通讯

发表回复

提供最优质的资源集合

立即查看 了解详情
🤖 智能助手
你好!有什么问题可以问我 😊
文章加载时间:6.6939 秒