昆仑技创McgsPro系列HMI人机界面 modbus 通信教程

一、本文简介

本文适用于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。

发表评论