软件介绍Modsim32是一个运行在windows下,作为在RTU或这ASCII传输模式下的MODBUS协议从设备的应用程序。用来模拟从设备(与之相对的是Modscan32,用于模拟主设备)。它可以接收主设备发送的指令报文,根据窗口配置的数据返回主设备需要的指令报文。 文章只谈及工具的使用,对于Modbus本身通信协议的具体内容,请移步Modbus通信协议详解。 下载链接链接:https://pan.baidu.com/s/1eno-yg6VZVNcjR44O0h0Uw 软件使用相比起Modscan32,Modsim32的使用要简单得多,功能少很多。 新建窗口打开软件后,需要先新建一个通信窗口。(一个窗口配置的数据代表可回复的数据,未配置的数据主设备是无法通过指令报文获取到数据的) 连接 点击菜单栏'连接设置'->'连接'->'端口x(x)'选择对应的串口端口号或TCP连接。 断开连接点击菜单栏'连接设置'->'连接'->'端口x(x)'选择需要断开的串口端口号或TCP连接。 串口配置: 如果选择的是串口,则在弹出的配置窗口中配置好端口号、波特率、数据位、校验位、停止位,一般是9600波特率(9600 Baud),8个数据位(8 Data bits),无校验位(None Parity),1个停止位(1 Stop Bit)。当然这个是要根据实际通信的从机设备进行匹配设置。 根据通信的从机设备选择使用RTU模式或ASCII模式,工业应用的话一般使用RTU模式,很少使用ASCII模式。另外还有'Daniel/enron/OMNI'(一种基于标准的扩展形式)的RTU和ASCII模式可以选。 如果有使用到硬件流控制,则配置DTR、CTS延时。 TCP配置: 如果选择的是Modbus TCP服务器,则在弹出的窗口中配置好服务端口号即可,IP是根据当前计算机的IP地址来定,软件中无法自行设置。 窗口配置Address:可以配置读/写的寄存器/线圈起始地址(注意这里最低只能配置为1,对应Modbus指令里的0地址) Length:可以配置读/写的寄存器/线圈个数 Device Id:可以配置当前设备可访问的从机地址 MODBUS Point Type:可以配置使用的Modbus点位类型。(注意:修改不同的点位类型时,对应地址前面会带有不同的前缀数据,这个并不影响Modbus指令里的起始地址,只是用于PLC的地址分段) 01:COIL STATUS,线圈(可读可写) 02:INPUT STATUS,输入线圈(只读) 03:HOLDING REGISTER,保持寄存器(可读可写) 04:INPUT REGISTER,输入寄存器(只读) 窗口状态显示*** NOT CONNECTED! ***:表示当前未连接。(作为从机设备,不管当前主设备有没有在发数据,只要配置了连接这里就不显示未连接) 原始报文点击'显示'->'显示数据流',可将当前窗口显示切换为原始报文显示,有助于分析异常报文。 设置显示数据的格式点击'显示'->'二进制'/'十进制'……等,可切换当前数据显示的格式(包括数据流的格式)。 连接状态计数点击'连接'->'状态',可查看当前主设备发送了多少帧有效报文,多少帧CRC错误报文。通过点击'重置'可清除所有计数。 保存窗口及打开点击'文件'->'保存',可保存当前窗口配置文件。 点击'文件'->'打开',可把原本保存的窗口配置文件打开。 保存工程及还原点击'文件'->'保存测试配置',可保存当前的有窗口的配置工程,下次可直接打开对应工程,即可一次性把多个窗口的配置文件打开。 点击'文件'->'还原测试配置',可打开对应的配置工程。 使用注意1、这个工具上的一些时间设置,当时间设置较短时,可能不准。比如以前试过把每一帧的发送间隔时间调成1ms,但实际用示波器抓到的数据,间隔大概100ms左右,基本低于100ms的都实现不了。这个可能跟电脑本身性能有关系,所以要注意不要太过于相信这里面的时间设置,最好以实际的为主。 2、因为这个软件是在window系统上运行的,当系统卡顿时,可能会影响软件的运行,表现出来就是查看的报文有异常。Modbus Slave或其他串口调试工具也会有类似的问题。 相关知识 |
|