Modbus Poll和Modbus slave软件应用(一)

勇哥注:

Modbus Poll是Modbus主站仿真器Modbus Slave是Modbus从站仿真器

两个软件是同一个公司出品的,为啥不集成在一起?可能是为了多卖钱吧。。。



  1. I、TCP/IP等多种协议模式。

  2. 多设备监控:可以同时监视多个从设备/数据域,便于集中管理。

  3. 灵活配置:每个窗口可以简单地设定从设备ID、功能、地址、大小和轮询间隔。

  4. 数据记录:支持将数据记录到文本文件或Excel中,方便数据分析和处理。

  5. 实时监控:提供实时图表功能,可以实时绘制数据变化情况。

Modbus Slave

一、定义与功能

Modbus Slave是一款Modbus从设备仿真器,主要用于模拟Modbus从站设备。它接收来自Modbus主站(如Modbus Poll)的命令包,并回送数据包。Modbus Slave帮助Modbus通讯设备开发人员进行Modbus通讯协议的模拟和测试,是Modbus通信系统中不可或缺的一部分。

二、主要特点

  1. 从站模拟:能够模拟Modbus从站设备,接收并响应主站的命令和请求。

  2. 多寄存器支持:可以模拟多个寄存器,满足不同的测试需求。

  3. 易于配置:配置简单,用户可以根据需要设置从站的地址和寄存器数量。

  4. 辅助开发:辅助Modbus通讯设备开发人员进行协议开发和测试。

两者的关系与区别

  • 角色不同:Modbus Poll作为Modbus主站仿真器,主动发送命令并接收响应;而Modbus Slave作为Modbus从站仿真器,被动接收命令并回送响应。

  • 功能互补:两者相互配合,共同构成了完整的Modbus通信系统。Modbus Poll用于监控和管理从站设备,而Modbus Slave则用于模拟和测试从站设备的功能。

  • 应用场景:在Modbus通信系统的开发、测试和维护过程中,两者都发挥着重要的作用。开发者可以使用Modbus Slave来模拟从站设备,以便在没有实际硬件的情况下进行测试;而维护人员则可以使用Modbus Poll来监控和管理现场的设备状态。

综上所述,Modbus Poll和Modbus Slave是两款功能互补、相辅相成的软件工具,它们共同为Modbus通信系统的开发、测试和维护提供了有力的支持。



两款软件下载:

链接:百度网盘 请输入提取码 
提取码:lft0


提供版本是:

Modbus Poll 7.0.1

Modbus Slave6.1.3


注册方法:

Modbus Poll 7.0.1

成功安装后,点击菜单Connection-->Connect,将注册码粘贴到里面即可

序列号:5A5742575C5D10


Modbus Slave6.1.3

序列号:5455415451475662




现在是2024年,官方已经升到v9版本了。

注意这两个软件不是免费的。



基本的测试


服务器-->从站      从动的提供数据
从站-->服务器      主动的索取数据



首先,你在slave这边, connection,选择tcp/ip,默认参数即可。

然后,你在poll这边,点connection连接,默认参数即可。

最后,你在poll这边,修改数据,send,然后就可以看到slave这边数据更新了。


F  是功能码, Tx是发送记录, SR是发送的循环周期

image.png


Display-->Communication,可以显示发送接收的报文

image.png


下面是复制的两条通讯报文:

Tx:318-03 9B 00 00 00 06 01 03 00 00 00 0A

Rx:319-03 9B 00 00 00 17 01 03 14 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


发送端报文说明:

Tx:318-03 9B 00 00 00 06 01 03 00 00 00 0A


MBAP报文头:

03 9B:  事务处理标识,一直递增,类似数据库标识id

00 00: 协议标识符,判断是什么协议,modbustcp

00 06: 后续的数据长度(字节)

01:   服务器地址

         PDU: Protocol Data Unit(单元) 协议数据单元

03:  功能码03,读取保持型寄存器

00 00: 读取数据的起始地址(存在高低位)

00 0A: 读取数据的数量(存在高低位)


接收端报文说明:

Rx:319-03 9B 00 00 00 17 01 03 14 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


MBAP报文头:

03 9B:  事务处理标识,一直递增,类似数据库标识id

00 00: 协议标识符,判断是什么协议,modbustcp

00 17:后续的数据长度(字节)

01:   服务器地址

         PDU: Protocol Data Unit(单元) 协议数据单元

03:  功能码03,读取保持型寄存器

14 00:读取20个字节长度

03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00: 具体的数据



Modbus的存储区介绍


image.png


image.png


image.png

image.png

image.png

image.png

直到这里,我们才看到熟悉的40001,40001这个地址是怎么样逐步演变而来的。



Modbus的功能码


image.png

image.png

image.png

image.png


Modbus的协议分类


image.png

image.png

image.png

image.png

image.png



为啥Modbus Poll不称为Modbus Server?


问出这个问题的人要检讨一下,因为你并没有搞清楚什么是主从通讯架构。

Modbus遵循主从(Master/Slave)通信模式,其中主站(Master)负责发起通信请求,而从站(Slave)则负责响应这些请求。

Modbus poll就是Master端。


经过实验你就会发现,每个Modbus Slave都可以指定自己的IP地址与端口,因此Modbus Slave可以有多个。

而ModBus Poll则是主动连接到其中的一个Modbus Slave。(当然也可以多播,一个Master控制多个Slave)


提出这个问题的人,是把主从架构跟sockert通讯的服务器/客户端(server/client)模式搞混淆了。

他们把Modbus Slave比喻为客户端,把Modbus poll比喻为服务端。

sockert通讯中,服务端是定义IP地址和端口然后启动服务,等待客户端来访问。


如果以服务端/客户端来比喻,则主从模式的Slave其实是服务端,Master才是客户端。

image.png


至于Modbus Poll这个名字的义意,如下:

“Poll”在英文中意为“轮询”或“查询”。在Modbus通信中,主站通常会轮询从站设备以获取其状态或数据。

因此,将这款软件命名为“Modbus Poll”既体现了其作为Modbus主站的角色,

又直观地描述了其主要功能——向从站发送请求并接收响应。


如果我们在上图的Modbus Slave中把52改为53,则在Modbus Poll中会更新成53。

也就是说Modbus Poll软件对从站设备状态进行了轮询,然后更新了数据到界面上。


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2024-08-14 22:01:33 编辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864