Skip to content

2.4 MCGS 触摸屏连接 PLC ​

问题场景 ​

现场普遍使用 MCGS 触摸屏(昆仑通态)。需要在触摸屏上通过按钮控制 LPPLC 设备的输出点,并显示 D 寄存器中的实时数据。

做完之后能得到什么 ​

MCGS 触摸屏画面上有按钮和数值框:点一下就能置位 Y0,往 D0 写入 888 并在屏上看到回读值。

MCGS 与 PLC 的 Modbus TCP 拓扑与寄存器映射

需要准备 ​

预计耗时:25 分钟

为什么用网口而不是串口?

MCGS 走网口 Modbus TCP 比 RS485 快得多,也不用纠结波特率和终端电阻。本文以网口 Modbus TCP 为主线。 串口方案(编程口协议 / MC 协议)见文末的其它连接方式。

动手做 ​

第 1 步 · 打开 MCGS 组态软件 ​

MCGS 嵌入版组态环境

第 2 步 · 新建工程 ​

新建工程

新建工程

新建工程

第 3 步 · 添加网口父设备和 Modbus TCP 子设备 ​

打开设备工具箱,增加"通用 TCP/IP 父设备",并在其下添加 Modbus TCP 子设备。

打开设备工具箱

增加网口父设备和 MODBUS TCP 子设备

第 4 步 · 在父设备属性里填 PLC 地址和端口 ​

远程端口号填 502(Modbus TCP 标准端口),远程 IP 填 PLC 的实际 IP。

父设备属性:远程 IP 与 502 端口

属性示例值
网络类型1 - TCP
服务器/客户设置0 - 客户
本地 IP 地址电脑/触摸屏 IP,如 192.168.0.200
远程 IP 地址PLC 的 IP,如 192.168.0.150
远程端口号502
最小采集周期(ms)1000

第 5 步 · 打开子设备,增加两个通道 ​

一个通道对应 Y0,一个对应 D0。

增加通道

增加通道

增加通道

Modbus 地址是从 1 开始的

4x1 代表 D0,0x1 代表 Y0。不是从 0 开始!这是最容易读不到数据的原因。

第 6 步 · 新建画面,放入两个标签 ​

新建画面放入两个标签

第 7 步 · 把第一个标签组态到 Y0 ​

组态标签到 Y0

组态标签到 Y0

组态标签到 Y0

第 8 步 · 把第二个标签组态到 D0 ​

组态标签到 D0

组态标签到 D0

组态标签到 D0

第 9 步 · 模拟运行工程 ​

模拟运行工程

模拟运行工程

第 10 步 · 验证:置位 Y0,写入 D0 = 888 ​

验证工程

验证成功

验证成功 ​

  • 触摸屏上置位 Y0 → PLC 对应输出点指示灯亮
  • 往 D0 写入 888 → 屏上回读到 888

注意事项 ​

WARNING

1. 大小端必须转换(最隐蔽的一项)

MCGS 嵌入版基于 WinCE、通用版/网络版基于 Windows NT,都是小端模式;而所有 PLC 是大端模式。所以驱动里要做大小端转换:32 位浮点数的解码顺序要由 0-1234 改为 2-3412。

大小端转换示意

MCGS 大小端数据设定

2. Modbus 地址从 1 开始:4x1 = D0,0x1 = Y0,对照 Modbus 地址表填写

3. 端口号写错:Modbus TCP 固定 502,不是 3000(3000 是本地端口)

4. IP 网段不一致:PLC、触摸屏、电脑必须在同一网段

5. 采集周期太快:建议不低于 500ms,过快会占满 PLC 通信

其它连接方式 ​

还有这些连接方案的完整截图步骤,需要时可参考 PLC 编程 · 组态软件触摸屏连接总览:

MCGS 驱动里找不到 FX3U?

选 FX2N 可以兼容,只是 FX3U 独有的元件访问不到。组态王 6.53 同理。

举一反三 ​

  • 同样方式适配威纶通、组态王、三菱 GS 系列等(都支持 Modbus TCP)
  • 多台 PLC 用不同 IP,一屏监控整条产线
  • 想让 GX Works2 也连上?看 2.3 用 GX Works2 远程编辑设备

想更深入 ​

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研