简介
ModScan32 是一款功能强大的 Modbus 主站调试工具,可用于测试 Modbus 协议、读取和写入 Modbus 从站设备的数据。它支持多种连接方式,包括串行、TCP/IP 和 Telnet。
功能
- 支持 Modbus/TCP、RTU 和 ASCII 模式
- 支持多种数据类型,包括整数、浮点数和字符串
- 支持读取和写入线圈、寄存器和输入寄存器
- 支持多种连接方式,包括串行、TCP/IP 和 Telnet
- 支持 Modbus 协议的调试和测试
- 支持数据采集和记录
优点
- 功能强大,支持多种功能
- 使用方便,界面友好
- 支持多种连接方式
- 支持 Modbus 协议的调试和测试
- 支持数据采集和记录
应用场景
- 工业控制
- 楼宇自动化
- 电力系统
- 数据采集
- 设备测试
总结
ModScan32 是一款功能强大的工具,特别适用于工程师和 IT 专业人士进行 Modbus 协议测试和数据采集。它支持多种连接类型和传输模式,可以轻松地与各种设备进行通信。虽然在一些方面存在一些缺点,例如在某些情况下用户体验可能稍显不足,但其丰富的功能和灵活性使其成为工程师们不可或缺的工具之一。通过 ModScan32,用户可以快速验证系统的正确性,轻松诊断通信问题,并执行必要的测试以确保系统的可靠性和稳定性。
软件使用
点击菜单栏” 连接设置(Connection)“->” 连接(Connect)“,弹出连接配置窗口。
在”使用的连接”那里选择:
Remote modbusTCP Server
Remote TELNET Server
Direct Connection to COM1
Direct Connection to COM2
…
Direct Connection to COM32
备注:”Direct Connection to COMXX”(XX是需要更改为实际端口地址)
名词解释
Remote modbusTCP Server解释
Modbus TCP 是一种基于 TCP/IP 网络的 Modbus 协议的变体,它使用以太网连接来实现与远程设备的通信。通过 Remote Modbus TCP Server 功能,Modscan32 可以作为 Modbus TCP 主机连接到远程的 Modbus TCP 从机设备。
Remote TELNET Server解释
Remote TELNET Server(远程 TELNET 服务器)是 Modscan32 中的一项功能,它允许通过 Telnet 协议在网络上与 Modbus 从机设备进行通信。Telnet 是一种网络协议,可以通过网络连接远程访问计算机或设备。
Direct Connection to XX解释
通过串口通讯进行连接,需要设置相关的参数,如串口号、波特率、数据位数等
通过串口连接
在配置窗口中配置好端口号、波特率、数据位、校验位、停止位,一般是9600波特率(9600 Baud),8个数据位(8 Data bits),无校验位(None Parity),1个停止位(1 Stop Bit)。当然这个是要根据实际通信的从机设备进行匹配设置。
第一步: 单击菜单栏的Connenction —”connect”出现
第二步: 单击Rotocol Selection进入下一步
第三步:通讯参数设定:进行下面的设置操作.单击后出现的界面填写如下图所示的数据
2.Modbus的类型选择:
在Modbus Point Type就是要读取的寄存器区:
01:线圈状态 (01: COIL STATUS) -(可读可写) 线圈状态是指Modbus从机的输出线圈的状态,可以是开(1)或闭(0)。用于控制和监测设备的开关状态。
02:输入状态 (02: INPUT STATUS) – (只读)输入状态是指Modbus从机的输入线圈的状态,可以是开(1)或闭(0)。用于监测外部设备或传感器的状态。
03:保持寄存器 (03: HOLDING REGISTER) -(可读可写) 保持寄存器是用于存储和读取数据的Modbus寄存器类型。可以用于存储和配置参数、控制设备操作等。
04:输入寄存器 (04: INPUT REGISTER) – (只读)输入寄存器是用于存储只读数据的Modbus寄存器类型。可以用于存储传感器数据、设备状态等信息。
按照硬件产品说明书指导选择哪一种类型。
3.PC显示数据设置:
点击菜单栏” 配置(Setup)“->” 显示选项(Display Options)“,弹出显示格式窗口。
从左到右对应看:二进制、八进制、十六进制
二进制 (Binary) – 以二进制形式表示的数据格式。范围:0 或 1。
十进制 (Decimal) – 以十进制形式表示的数据格式。范围:-32768 到 32767(16位有符号数)或 0 到 65535(16位无符号数);-2147483648 到 2147483647(32位有符号数)或 0 到 4294967295(32位无符号数)。
十六进制 (Hex) – 以十六进制形式表示的数据格式。范围:-8000 到 7FFF(16位有符号数)或 0 到 FFFF(16位无符号数);-80000000 到 7FFFFFFF(32位有符号数)或 0 到 FFFFFFFF(32位无符号数)。
长整型 (Long Integer) – 表示带符号的长整数数据格式。范围:-2147483648 到 2147483647。
长整型(交换) (Long (Swapped)) – 字节顺序颠倒的长整型数据格式。范围:-2147483648 到 2147483647。
浮点数 (Floating Point) – 表示带有小数的数值的数据格式。范围:根据浮点数位数不同而有所变化。
浮点数(交换) (Float (Swapped)) – 字节顺序颠倒的浮点数数据格式。范围:根据浮点数位数不同而有所变化。
64位浮点数 (64-Bit Floats) – 表示双精度浮点数的数据格式,具有更高的精度。范围:根据浮点数位数不同而有所变化。
64位交换 (64-Bit Swapped) – 字节顺序颠倒的64位数据格式。范围:根据数据类型不同而有所变化。
4.其它功能菜单项:
从左到右对应看:新建、打开、保存、连接、断开、数据定义等。
所有参数设置完成后单击OK,如果对应串口有数据输入,就能获取数据。
备注:
采用Modbus/485信号接入要求如下:
1. Server通讯的参数为9600,8,1,无效验(可调整,但是目前企业通讯模式参数一致)
2. Server 的485地址是1
3. 采集点对应Modbus RTU 地址为4001开始,数据类型为RINT。
4. 提供的MOdbus RTU Server必须是国际标准版协议,使用Modscan调试软件能够测试通过。
地址 (Address) – Modbus从机的地址范围1-255。
长度 (Length) – 用于指定要读取或写入的数据的长度或数量。可以是字节、位或寄存器的数量,取决于所使用的功能码和数据类型。
设备ID (Device Id) – 设备ID是用于标识Modbus网络中不同设备的唯一标识符。每个Modbus设备都有一个唯一的设备ID。
MODBVS点类型 (MODBVS point Type) – MODBVS点类型是指在Modscan32中用于选择不同的Modbus数据类型和寄存器类型的选项。
显示 (Display) – Modscan32中用于选择数据显示格式的选项。
显示数据 (Show Data) – 显示数据选项用于在Modscan32中显示读取到的Modbus数据。
显示通信 (Show Traffic) – 显示通信选项用于在Modscan32中显示Modbus通信的传输数据。
窗口状态显示
Number of Polls:表示当前已发送的指令数量
Valid Slave Responses:表示目标从机回复的指令数量
红色字样表示当前故障状态,详见以下故障说明。
** Device NOT CONNECTED! **:表示当前未连接。
** Data Uninitialized **:表示当前窗口未进行配置。
** MODBUS Message TIME-OUT **:表示发送指令后从设备超时未响应。
而从机设备不回复,可能性有很多,比如:
1、连接配置错误,主机的波特率、Slave ID等信息跟从机设备对应不上,从机就不会回。
2、线路异常,电脑跟从机设备之前的通信线存在异常,也是无法正常收到回复。
3、从机设备解析异常不回复,这个具体可以查看Modbus协议详解。
** Checksum Error in Response Message **:响应的数据校验错误。
** MODBUS Exception Response from Slave Device **:地址异常,一般是当访问的从机设备不存在要读取的寄存器/线圈地址时,会返回不存在此地址的02异常码,软件接收到此指令时就会报出这个错误。
Comments(180)
bucuo
好
1
终于找到汉化版了
不错不错
看看
看看
看看
我很需要
谢谢分享
可以的
FFD;D合适的话
好
不错
666
很好 教程详细
很好
灰常感谢楼主
灰常感谢
qianga
谢谢楼主了
非常好用
感谢感谢
教程详细!太棒了!
不错的教程
好
@垒:感谢
教程和软件太棒了。。。
ertyuio
*这软件不错*
教程详细!太棒了!