一、本文简介
本文适用于McgsPro HMI 同所有支持标准 modbus 通讯协议的设备进行连接,设备包含但不限于 PLC、模块、单片机、仪表、控制器、串口服务器等。文档主要从通讯方式,硬件连接,通讯参数、通道建立,故障排查等方面进行讲解。
二、通讯方式
1.HMI 通讯方式
目前 HMI 支持两种通讯方式:1.以太网口 2.九针串口
注:
部分 HMI 不带以太网口,则只能使用九针串口方式通讯。
2. 主从通讯
HMI 分别支持主站/从站,或主从站同时通讯
1) HMI 做主站
2) HMI 做从站
3) HMI 同时做主从通讯
注:
1) 添加 ModbusTCPIP 数据转发设备或 ModbusRTU 数据转发设备,HMI 作为从站通讯。除这两个转发设备以外,所有协议 HMI 均作为主站通讯。
三、硬件连接
1. 以太网通讯
通讯连接方式:采用 RJ-45 网线(支持网线直连或交换机)验证方式:电脑分别直连 HMI 或设备,测试 IP 能否 ping 通 PING IP 步骤:
电脑快捷键 win+R,进入运行,输入”cmd”,使用 ping 命令,ping 一下 IP,有数据返回代表物理连接成功,反之代表失败,可检查电脑和设备 IP 是否为同一网段,更换网线或设备测试。
2. 串口通讯
通讯连接方式:采用 RS232/RS485 串口线
验证方式:连接串口线对应的引脚,用万用表打通断,导通的则代表通讯线正常。
注:HMI 与设备通讯之前,首先要确保物理连接正确。
四、 通讯参数
1. 以太网通讯参数
本地 IP 为 HMI 的 IP,需在触摸屏 setting 界面手动修改本地端口号可设置为 0, 代表自动分配
远程 IP 和远程端口号设置为下位机设备的 IP 和端口号
2. 串口通讯参数
串口端口号: HMI 的 com 口, 标准屏一般包含: com1 为 232, 引脚定义: 2RXD 3TXD 5GND; com2 为 485, 引脚定义: 7+8-; com3 为 485, 引脚定义: 4+9-;com9 口为 422, 引脚定义: 4 和 9 TXD , 7 和 8 RXD。
注:
1)以上为标准屏的引脚定义, 如果为定制屏, 请咨询购买渠道确认引脚定义。
2)COM9 口由 com2 和 com3 组合而成, 任意一个 com 口暂用都不支持 com9 通讯, 反之亦然。
3)Modbus 协议只支持 8 位数据位, 不支持 7 位数据位通讯
4)HMI 做主站通讯, 波特率、 数据位、 停止位、 校验方式、 设备地址和下位机要保持一致, HMI 做从站通讯, 以上通讯参数和上位机保持一致即可。
五、 通道建立
1. 增加设备通道
例: 下位机起始地址 0 开始, 创建地址: 40000, 单字, 无符号整型, HMI 设置方法如下: (不区分通讯方式)
通道类型: [4 区]输出寄存器, 数据类型: 16 位无符号二进制, 通道地址: 1
注:
1) HMI 起始地址是从 1 开始,如下位机的起始地址从 0 开始,则 HMI 创建地址需要偏移 1,下位机起始地址从 1 开始,则无需偏移地址。
2) 通道地址设置为 0,创建成功后也会变更为 1,因 HMI 做了限制。
3) 通道地址以 10 进制建立,如下位机地址为 16 进制,需转成 10 进制后创建。
2. 寄存器信息
寄存器 | 寄存器类型 | 操作方式 | 读功能码 | 写功能码 | 地址范围 |
[0 区]输出继电器 | 位 | 读写 | 01 | 0x05、0x0F | 1~65536 |
[1 区]输入继电器 | 位 | 只读 | 02 | — | 1~65536 |
[3 区]输入寄存器 | 字 | 只读 | 04 | — | 1~65536 |
[4 区]输出寄存器 | 字 | 读写 | 03 | 0x06、0x10 | 1~65536 |
注:
1) HMI 仅支持以上常用功能码, 对于其他功能码暂不支持。
2) 以上功能码均以 16 进制标注, 如 16 写功能码则代表为 10 进制的 16 功能码即 16 进制的 10 功能码。
3) HMI 与设备通讯, 地址对应范围需参考设备通讯手册或咨询设备厂商, HMI配合下位机(即通讯设备) 创建通道地址。
3. 数据类型表
BT | 位 | DB | 32 位 有符号二进制 |
BUB | 8 位 无符号二进制 | DD | 32 位 8 位 BCD |
BB | 8 位 有符号二进制 | DF | 32 位 浮点数 |
BD | 8 位 2 位 BCD | STR | 字符串 |
WUB | 16 位 无符号二进制 | LDF | 64 位 浮点数 |
WB | 16 位 有符号二进制 | LDUB | 64 位 无符号二进制 |
WD | 16 位 4 位 BCD | LDB | 64 位 有符号二进制 |
DUB | 32 位 无符号二进制 | LDD | 64 位 16 位 BCD |
注:
1) 位地址范围: BT00-BT15
2) 无符号/有符号二进制仅代表整型, 不是常规意义上的二进制。
3) 无符号代表无负数, 有符号则代表有负数
4) 数据类型需和下位机设备匹配, 否则可能导致数据不对。
六、 常见通讯问题
1. 主站通讯
1) 串口通讯状态报 1006
通讯状态值 | 处理建议 | 验证方法 |
1006 | 1.检查通用串口父设备的参数设置是否正确 | 核对波特率、数据位、停止位、校验方式是否一致 |
2.通讯线引脚接线和 HMI 选择的 com 口是否对应 | 通讯线的引脚和屏的引脚是否匹配,屏的引脚和串口端口号是否匹配 | |
3.检查设备地址是否正确 | 设备地址和下位机的站号是否匹配 | |
4.检查串口是否被占用 | 同一 com 口是否有和其他设备通讯占用 | |
5.检查通道地址是否超过设备最大地址 | HMI 建的通道地址是否超过通讯设备的地址范围 | |
6.延长通讯等待时间测试 | 设备编辑窗口通讯等待时间延长至 500/1000 测试 | |
7.通讯设备是否支持标准 modbus 协议 | 用第三方测试工具(例如:modscan)验证 |
2) 串口通讯状态报 1009
通讯状态值 | 处理建议 | 验证方法 |
1009 | 1.检查通道地址是否超过设备最大地址 | 1.HMI 建的通道地址是否超过通讯设备的地址范围2.注意地址进制转换,屏是以 10 进制创建的地址3.用第三方测试工具验证同一地址能否扫到数据 |
3) 串口通讯状态报 1003
通讯状态值 | 处理建议 | 验证方法 |
1003 | 1.检查现场是否存在电磁干扰 | 1.检查现场是否有大功率电气设备运行2.现场是否有做好接地措施3.触摸屏和其他设备电源隔离开,最好使用独立供电 |
4) 部分仪表/单片机出于性能问题考虑, 分块采集方式不支持按最大长度分块进行采集数据, 可在设备编辑窗口设置为”1-按连续地址分块”采集。 或通过设置“最大块长”优化采集性能。
2. 从站通讯
HMI 作为从站通讯, 不会主动发送数据, 故在屏端采集通讯状态值无任何意义,从站设备参数需与上位机参数一致, 否则无法正常通讯。
1) TCPIP 数据转发设备参数配置
IP 地址: 可设置为 0.0.0.0, 代表绑定本机所有 IP 地址, 如硬件上修改 IP, 工程IP 可不做修改(推荐使用)。 也可设置为硬件 IP, 如遇硬件修改 IP 后, 工程 IP 需一并修改, 否则通讯失败。
端口号: 设置为服务器端口, 也就是 HMI 端口号, 可默认设置为 502 或改为 3000。
2) ModbusRtu 数据转发设备参数配置
串口端口号:设置为 HMI 的 com 口, 根据触摸屏接线的引脚选择对应的 com 口通讯。波特率、 数据位、 停止位、 校验方式和上位机参数设置一致。设备地址需和上位机保持一致。
注:
1) HMI 作主站或从站通讯问题均需在最新驱动版本上进行排查
2) 如所有排查项均已排查完毕,仍通讯异常,推荐使用第三方工具验证,可提供测试相关信息,包含但不限于测试工程、下位机地址截图、第三方工具参数设置截图/扫到数据截图、Pro 软件模拟正常视频、现场设备硬件连接视频等资料,拨打技术客服进行咨询。
七、驱动报错
嵌入版工程转成 Pro 版工程后,modbus 驱动会提示报错:驱动文件不可用,请重新查找并安装驱动文件!
解决方案:可通过 1.自动查找(推荐使用) 2.手动浏览 两种方式找到驱动文件即可正常打开驱动。文档用莫迪康 modbusrtu 进行举例,modbustcp 驱动设置方法同下一致。
嵌入版工程:
转成 Pro 后提示:
设置方法如下:
选择手动浏览后, 找到 McgsPro 软件安装路径( 默认路径电脑 D 盘): D:/McgsPro/Program/Drivers/通用设备/Modbus/ModbusRTU/modbusrtuex_str即可打开,如下图:
注:
1. ModbusTCP 驱动报错选择文件路径为 ModbusTCP。