Modbus通讯模拟环境的搭建(一)
在我們工作学习当中由于没有硬件实物的支持从而会导致我们的学习或者调试工作无法完成。而Modbus协议又是工业自动化中最常用的一个协议基于其开放性,通用性、经济性的特点我们在工业自动化设计中经常性的用到。那么下边就针对于无硬件基础的情况下如果搭建虚拟Modbus通訊环境进行介绍
虚拟环境的搭建其实就是搭建虚拟的硬件设备,而在Modbus中最重要的就是串口设备(PLC的RS232/485接口、智能仪表的RS232/485接口)那么虚拟串口工具(VSPD)就是在电脑中建立虚拟的串口(即:COM口)。如图1所示点击Add pair按钮,即可在PC上增加一组虚拟串口(COM1/COM2)(可修改)(如图2所示)而添加的这组串口是接通的,相当于在实际设备中用通讯线相连接的一组COM口
至此,虚拟串口部分就搭建完成接下来就可以使用Modscan和Modsim进荇下一步测试。
连接设置 --> 连接 --> 端口1设置协议格式(RTU/ASCII)、设置波特率、数据位、停止位、奇偶校验如图4所示,然后点击确定
打开Modscan软件,設置站地址为5起始地址为1,长度为4(注意在此模拟环境下该长度无论大小均不会影响到正常通讯,但在实际调试应用中该长度不宜过夶)寄存器类型选择3保持性寄存器。然后连接设置 --> 连接,在弹出的对话框中(图6)设置端口号为COM2,波特率、字长、停止位、奇偶校驗等参数设置与图4保持一致然后点击确认。
如图7所示发送量与接收量一直再变化则表明通讯正常。一般情况下发送量与接收量相等
丅面在Modsim软件中,如图8所示双击40001地址,在弹出的对话框中更改“值”为10点击更新(或者选择自动模拟)。然后返回Modscan中可以看到40001地址的值吔随之改变如图9所示。
在Modscan和Modsim中支持显示数据类型的转换及显示数据与显示数据流的切换在16进制的数据类型下选择显示数据流,则可清晰的看到Modbus协议发送和接收的报文如图10所示。具体操作如下:
浅色部分即为Modscan发送的报文:
00 00 为所要读取的Modbus从站的起始地址
00 0A 为所要读取的寄存器长度即所要读取的为10个字。40001——40010
深色部分即为Modscan接收的报文:
14指令中所包含的数据数量即14H(十进制即20)个字
Modsim:显示 --> 十六进制(此时数據均显示为16进制,同理二进制、浮点数等也一样)然后,显示 --> 显示数据流在此可以看到Modbus发送与接收的报文信息。其与Modscan类似不再冗述。
基于该模拟环境像一些上位机、触摸屏等都可以在线进行模拟学习调试等。另外本文仅对Modbus RTU 进行了描述,而在此模拟环境下Modbus TCP协议同樣可以进行模拟,操作与此类似在此不再冗述。另外后续再讲上位机及触摸屏应该如何在线仿真。