欢迎光临散文网 会员登陆 & 注册

基于MThings实现Modbus一主多从实用案例

2020-11-02 22:41 作者:付工上位机实战  | 我要投稿

1、初识MThings

MThings是一款基于MODBUS协议簇,面向开发、测试、运维人员的辅助工具,支持模拟主机和模拟从机两种模拟式。

1、支持多设备、多通道运行,无数量限制。

2、支持持久化数据配置,操作友好。

3、支持MODBUS-RTU、MODBUS-ASCII、MODBUS-TCP。

4、支持串口、TCP客户端、TCP服务器(可接入多客户端)、UDP单播。

5、支持全链路报文监控、存储、分析。

6、支持丰富的链路丢包统计方法。

7、支持数据曲线录波,统计数据极值和均值,并可导出所有数据。

8、支持MODBUS数据配置模板导入导出。

9、支持多种变化数据模拟方法。

10、支持数据二次加工及原始真实数据呈现。

11、支持良好的非标协议适配。

12、性能优异,支持接入 > 500设备节点,超20K数据点。

这里推荐使用MThings的目的,一方面是因为MThings在某些方面比我们常用的Poll/Slave、Scan/Sim要更强大一些,另一方面是因为这是一款由国人自主开发的软件,因此不管是在沟通上以及更新上,都会更加方便快捷。

2、硬件介绍

这次一主多从的案例测试,我使用的硬件是BMS锂电池的核心板,其支持Modbus通信及CAN通信。这里需要同时与多块BMS锂电池通信,BMS锂电池核心板如下图所示:

硬件接线图如下所示:

3、通信协议

这里采用的通信协议为ModbusRTU,通信参数为9600、N、8、1,为了实现Modbus一主多从,分别针对每个设备设置一个从站地址,这里分别为1、2、3、4,具体协议较多,篇幅有限,只列举部分,如下所示:

4、MThings通信测试

  • 打开软件,界面如下所示,该软件获取方式——公众号回复:MThings

  • 打开之后,默认会有一些设备,通过点击移除按钮,将已有设备全部,然后通过选择COM5,设置起始地址为1,结束地址为2,然后点击添加按钮,将增加2个设备,这里需要根据实际情况进行添加,本次测试准备了2个设备,设备地址分别为1和2。

  • 选择第一个设备,然后选择数据栏,会进入另外一个界面,在该界面中,点击配置,进入配置状态,点击点击新增,在新增界面中,设置配置条数为13,起始地址为4096,然后点击确定。这里是根据实际协议来添加,本例总共要读取13个连续的变量,第一个变量地址为0x1000即4096。

  • 添加完成之后,接下来就是配置名称即可,给每个变量设置一个名称,但是这里因为我们的协议中,某些变量需要做一些线性转换,因此我们通过系数来进行设置,如下所示:

  • 通过上述步骤,我们就完成了一个设备的变量配置,接下来将进行第二个设备的变量配置,如果第二个设备与第一个设备的变量完全不一样,那么只能手动配置,如果完全一样,那么这里有一个快捷方式,直接点击同步按钮即可,这点很方便。

  • 两个设备变量均配置完成后,点击配置按钮,进行运行状态,接下来就可以进行批量读取测试了,点击批量读取,勾选循环,如果我们想要同时启动其他设备,可以通过同步至其他设备,可以快速将其他设备也启动起来,不需要单个去启动,这点也非常方便。

  • 实现批量读取后,如果硬件没问题,那么就可以正常读取到数据了。

  • 如果想要看报文监测,可以通过勾选右上方的报文,可以快速看到报文发送与接收状态。

  • MThings还支持曲线监测,需要点击配置按钮,进入配置状态,在曲线栏中,将需要进行曲线监测的变量,勾选一下,然后再点击一下配置,表示配置完成。

  • 勾选相关变量的曲线功能后,在循环批量读取的状态下,点击曲线按钮,将会弹出一个曲线显示界面,可以观察各个变量的数据变量情况,这点也很方便。


基于MThings实现Modbus一主多从实用案例的评论 (共 条)

分享到微博请遵守国家法律