分享

Modbus通讯模拟环境的搭建(一)

 huasum 2022-04-10

—— Modscan与Modsim的应用

一、前言

在我们工作学习当中,由于没有硬件实物的支持从而会导致我们的学习或者调试工作无法完成。而Modbus协议又是工业自动化中最常用的一个协议。基于其开放性,通用性、经济性的特点,我们在工业自动化设计中经常性的用到。那么下边就针对于无硬件基础的情况下如果搭建虚拟Modbus通讯环境进行介绍。

二、所需工具

1.电脑PC

2.虚拟串口工具:Configure Virtual Serial Port Driver(VSPD)

3.虚拟从站工具:ModSim32.exe

4.虚拟主站工具:ModScan32.exe

三、搭建虚拟环境

虚拟环境的搭建其实就是搭建虚拟的硬件设备,而在Modbus中最重要的就是串口设备(PLC的RS232/485接口、智能仪表的RS232/485接口)。那么虚拟串口工具(VSPD)就是在电脑中建立虚拟的串口(即:COM口)。如图1所示,点击Add pair按钮,即可在PC上增加一组虚拟串口(COM1/COM2)(可修改)(如图2所示),而添加的这组串口是接通的,相当于在实际设备中用通讯线相连接的一组COM口。

图1

图2

至此,虚拟串口部分就搭建完成。接下来就可以使用Modscan和Modsim进行下一步测试。

首先打开Modsim软件,文件 --> 新建,即显示图3所示

图3

连接设置 --> 连接 --> 端口1,设置协议格式(RTU/ASCII)、设置波特率、数据位、停止位、奇偶校验如图4所示,然后点击确定。

图4

打开Modscan软件,设置站地址为5,起始地址为1,长度为4(注意,在此模拟环境下该长度无论大小均不会影响到正常通讯,但在实际调试应用中该长度不宜过大),寄存器类型选择3保持性寄存器。然后,连接设置 --> 连接,在弹出的对话框中(图6),设置端口号为COM2,波特率、字长、停止位、奇偶校验等参数设置与图4保持一致。然后点击确认。

图5

图6

图7

如图7所示,发送量与接收量一直再变化则表明通讯正常。一般情况下发送量与接收量相等。

下面在Modsim软件中,如图8所示,双击40001地址,在弹出的对话框中更改“值”为10,点击更新(或者选择自动模拟)。然后返回Modscan中可以看到40001地址的值也随之改变,如图9所示。

图8

图9

四、其他功能介绍

在Modscan和Modsim中支持显示数据类型的转换及显示数据与显示数据流的切换。在16进制的数据类型下选择显示数据流,则可清晰的看到Modbus协议发送和接收的报文。如图10所示。具体操作如下:

Modscan:配置 -->显示选项 --> 十六进制(此时数据均显示为16进制,同理二进制、浮点数等也一样)(如图11)。然后,配置 -->显示选项 --> 显示数据流,在此可以看到Modbus发送与接收的报文信息(如图10)。

图10

图11

五、报文解析

浅色部分即为Modscan发送的报文:

01 03 00 00 00 0A C5 CD 其中,

01 从站地址

03 Modbus功能码

00 00 为所要读取的Modbus从站的起始地址

00 0A 为所要读取的寄存器长度,即所要读取的为10个字。40001——40010

C5 CD为指令的CRC校验

深色部分即为Modscan接收的报文:

01 03 14 00 0A 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0A 29 33

01 从站地址

03 Modbus功能码

14指令中所包含的数据数量,即14H(十进制即20)个字

00 0A 40001地址寄存器的值(16进制)

00 02 40002地址寄存器的值(16进制)

00 03 40003地址寄存器的值(16进制)

00 04 40004地址寄存器的值(16进制)

00 05 40005地址寄存器的值(16进制)

00 06 40006地址寄存器的值(16进制)

00 07 40007地址寄存器的值(16进制)

00 08 40008地址寄存器的值(16进制)

00 09 40009地址寄存器的值(16进制)

00 0A 40010地址寄存器的值(16进制)

29 33为指令的CRC校验

Modsim:显示 --> 十六进制(此时数据均显示为16进制,同理二进制、浮点数等也一样)。然后,显示 --> 显示数据流,在此可以看到Modbus发送与接收的报文信息。其与Modscan类似,不再冗述。

六、结束语:

基于该模拟环境,像一些上位机、触摸屏等都可以在线进行模拟学习调试等。另外,本文仅对Modbus RTU 进行了描述,而在此模拟环境下,Modbus TCP协议同样可以进行模拟,操作与此类似,在此不再冗述。另外,后续再讲上位机及触摸屏应该如何在线仿真。

虚拟串口工具:Configure Virtual Serial Port Driver(VSPD)

虚拟从站工具:ModSim32.exe

虚拟主站工具:ModScan32.exe

欢迎大家留言讨论!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多