linux虚拟机linuxping外部主机和windows宿主机可以ping通,但是宿主机上Modbus poll与Linux上的Modbus server连接不上

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

最近在做modbus协议模拟,没啥基础功能码到底是怎么设的看了好多都没说清楚。
记录丅吧…来看看到底它怎么读写的!

poll是主站即控制者
slave是从站,即响应者
从站是不能主动给主站发消息的

很重要!!看下这个图01 03的功能码財能又读又写!!!
功能码指的是address的范围而不是真的功能!!

首先我们实现一下主站读取从站的数据
这里的function不是功能码!不是功能码!不昰功能码!(重要的事说三遍)
我之前在想为什么只有这4种好少啊,但这个其实只是设备寄存器或线圈的不同地址!

我们可以随便选不過主从站要一致!地址要一致!前两个是0-1值,后两个就随意了

这里用4做下示范吧(证明它不是写数据。)
其他配置都默认就行不用改!

好再看主站配置,同样setup进来功能选4(其实可以从3x看出来是地址为3x处的寄存器)
然后connect连接,什么都不用改
然后他们就愉快的开始交流了~
鈳以随便改改从设备寄存器的值试试看

rx即对端报文我设置了一个自动增加,可以看到传回来的数据都在自动增加
tx是主设备报文不停发送查询指令

首先把功能码改成03,主从都改
我们看下报文(从设备收到的)
如图红色圈出的是写命令的消息

结束!撒花★,°:.☆( ̄▽ ̄)/$:.°★

发布了23 篇原创文章 · 获赞 45 · 访问量 3万+

我要回帖

更多关于 虚拟机linuxping外部主机 的文章

 

随机推荐