Modbus TCP:学习与调试

Modbus TCP是在采用TCP协议的基础上,对应用层的数据进行了一层协议封装。并且这个Modbus和通过走串口的Modbus协议稍微有点不同,没有Address和Checksum,增加了Header。因为TCP本身会进行校验,保证了数据的准确性。对于Modbus TCP,如果是server的话,默认的端口是502。这个端口当然也可以修改和设置。

关于Modbus TCP详细的协议介绍可以参考这个英文文档。Introduction of ModbusTCP

 Modbus TCP可以使用MThings进行调试。MThings下载地址

接下来是调试的过程(以写线圈为例):

 先启动TCP Server。

root@myir:~# ./ethServer
Ethernet Router Constructor
Eth_APP::Eth_APP
ETHERNET ROUTER is alive
localIPAddress: 192.168.18.141
ethBase::entry start config..
Eth_APP::Config
ethBase::entry stop config..
Connection::setup mConnType: 0
Connection::setupTcpServer
ETHERNET ROUTER readyEvents:0

MThings作为TCP Client。 

 启动链接以后,发现我们的server建立了网络链接。

Connection::acceptTcpServerClient
ETHERNET ROUTER readyEvents:0
ETHERNET ROUTER readyEvents:1

这是我的写设置: 

 下面是我收到的数据:

TCP message received
0 1 0 0 0 6 1 5 0 100 255 0
TCP message received end

 收到消息之后,要进行回复该消息。否则,会显示写失败。

对于写线圈状态,server回复的消息和收到的消息是相同的。所以将原消息发给client就可以了。 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenSun-1990

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值