在工业自动化系统中,PLC/PAC 与触摸屏(HMI)之间的通信质量,直接决定了现场数据是否能够被稳定、准确地呈现与操作。对于工程项目而言,通信方式选型是否合理、配置是否规范,往往比单一控制逻辑本身更容易成为系统隐患。
联诚科技LicOS PLC/PAC 作为基于 CODESYS 架构的工业控制平台,在通信层面具备较强的开放性与兼容性,而昆仑通态触摸屏在国内 HMI 市场中应用广泛。本文将围绕这两类设备,系统梳理三种典型通信方式的实现方法,帮助工程师在实际项目中快速、可靠地完成组态与调试。
本文重点介绍Modbus TCP 通信、基于 CODESYS 标签的直接通信、OPC UA 通信,所有配置均基于真实硬件与软件环境,适用于实际工程落地。
使用场景说明
本教程基于以下设备与软件环境进行验证:
PLC/PAC:LicOS-PLC-MC622
HMI:昆仑通态 TPC1071Gt
配置软件:Smart Control V5.0、McgsPro 组态软件
网络设备:普通以太网交换机

图 1 网络拓扑
HMI与PLC的Modbus TCP 通讯设置
具备网口的 HMI 与支持 Mobus TCP 协议的PLC进行以太网通讯。使用网线直连 HMI的网口和支持 Modbus TCP 协议的设备的网口,或通过交换机连接两者。案例使用的HMI只有一个以太网口,为了方便HMI、PLC程序下载,因此采用交换机连接。
保证PLC 、HMI、电脑在同一个IP下
(此次案例PLC:192.168.20.80 ,HMI:192.168.20.90,电脑:192.168.20.11)
PLC端Mobus TCP 从站设置
1. 双击LicOS_MTCP,在弹出的对话框中选择MTCP参数,设置端口使能为TRUE,端口号为502。

图2 PLC从站端口设置
Base Info Config -基本信息
Enable or Disable:TRUE 启用PLC 的Modbus Tcp 从站功能;FALSE 关闭PLC 的Modbus Tcp 从站功能。
Port ID:端口号。
Max Connection :最大连接数量。
Filter Info Config-过滤信息
Enable Filter:TRUE 启用 IP 过滤功能,FALSE 关闭IP 过滤功能。 Mask:允许接入的客户端所处网段的子网掩码。
Start IP:允许接入的客户端所处网段的起始IP。
End IP:允许接入的客户端所处网段的结束IP。
Clients Info:连接信息,连接数量及IP 信息
Number of client:已经接入的客户端数量。
IP of client:当有多个客户端接入时,轮询显示接入客户端的 IP、端口信息,显示格式下图3所示。

图3 ModbusTCP客户端链接IP和端口
(注意:LicOS_MTCP(ModbusTCP Device)支持 Modbus Tcp 协议,PLC 作为 Modbus Tcp 从站,最多支持255 个客户端接入,可访问PLC 的%MW0~%MW65535、%IB0~%IB65535、%QB0~%QB65535 地址。)
LicOS_MTCP(ModbusTCP Device)支持的 ModBus 功能码与CPU地址范围之间对应关系如下图所示。

图4 ModBus 功能码与CPU地址范围之间对应关系

图 5 CPU地址存储映射关系
%MX0.0是%MB0的第0位,%MB0包含了%MX0.0~%MX0.7共八位;
%MB0是%MW0 的第0个字节,%MW0包含了%MB0~%MB1 共两个字节;
%MW0是%MD0 的第0个字,%MD0 包含了%MW0~%MW1 共两个字;
2. 创建变量和PLC程序。

图 6 读写变量表

图 7 POU程序
3. 下载PLC程序,运行PLC程序;

图 8 PLC运行
昆仑通态 HMI组态设置
1. 运行McgsPro组态软件,选择HMI设备,新建工程。(此次采用TPC1071Gt)

图 9 新建工程
2.在“设备窗口”下,从“设备工具箱”中,先添加“通用TCP/IPF父设备”。再添加“Modbus TCP”.如图所示。

图 10 设备窗口中添加通信协议
3.双击“通用TCP/IPF父设备”,打开“通用TCP/IPF设备属性编辑”窗口。设置通讯的PLC和HMI的IP地址。

图 11 设置通讯的PLC和HMI的IP地址
4. 双击“Modbus TCP”,打开“设备属性编辑窗口”,修改设备属性值。(重点修改:32位整数字节序、32位浮点字节序 改为2-3412)

图 12 设备属性编辑窗口,设备属性值
5. 在打开“设备属性编辑窗口”,根据PLC的变量表中链接的地址。添加通道,创建HMI变量。

图 13 设备属性编辑窗口
6. 创建“用户界面”

图 14 用户界面
7. 下载到HMI

图 15 下载HMI
8. 运行效果

图 16 运行效果图
使用CODESYS标签与HMI通讯设置
PLC端设置
1. 运行 PLC 配置软件 Smart Control V5.0,右键点击 Application,选择添加对象/符号配置。

图17 添加符号配置
2.在弹出的对话框中勾选在XML 中包含注释,点击打开。

图18 勾选XML配置
3.点击编译,并生成代码。

图19 编译符号配置
4. 勾选需要和 HM 进行通讯的变量标签,点击编译/编译,在 PLC 工程目录中,可以看到新生成的XML 文件。

图20 生成XML文件
注意需要确认 XML 文件生成的时间为 PC 的当前系统时间,如果不是需要重新编译,确保勾选的变量标签生成了 XML 文件。
5. 下载PLC程序,运行PLC。

图21 PLC运行
OPC UA 通讯
OPC UA服务是指 HMI提供的网络服务,通过相关协议(如 OPCUA 等)向相关网络服务器提供数据。需确保HMI与网络服务器路由及相关端口可达。本文主要说明触摸屏做OPC UA_Client与下位机PLC的变量设置。
PLC端设置
1. 运行 PLC 配置软件 Smart Control V5.0,右键点击 Application,选择添加对象/符号配置。

图30 添加符号配置
2.在弹出的对话框中勾选在XML 中包含注释,勾选支持OPC UA特质点击打开。

图31 勾选XML配置
3.点击编译,并生成代码。

图32 编译符号配置
4. 勾选需要和 HM 进行通讯的变量标签,点击编译/编译,在 PLC 工程目录中,可以看到新生成的XML 文件。

图33 生成XML文件
注意需要确认 XML 文件生成的时间为 PC 的当前系统时间,如果不是需要重新编译,确保勾选的变量标签生成了 XML 文件。
5. 下载PLC程序,运行PLC。

图34 PLC运行
1.运行McgsPro组态软件,选择HMI设备,新建工程。(此次采用TPC1071Gt)。

图 22 新建工程
2.在“设备窗口”下,从“设备工具箱”中,添加“codesysclient”。(注意:如果“McgsPro组态软件”中没有这个驱动,可以找昆通态的触摸屏的供应商提供。)



图 23 添加codesysclient
3.双击“codesysclient”,打开“设备编辑窗口”修改IP和设备属性值,一般只修改IP。

图 24 修改IP
4.点击导入变量标签

点击浏览

在弹出的对话框中选择 CODESYS 变量标签文件,点击打开。

图 24 导入标签文件
5.选择并导入标签变量

图 25 导入标签变量
6. 链接变量


图 26 链接变量
7. 创建“用户界面”

图 27 用户界面
8.下载工程

图 28 下载工程
9. 运行效果

图 29 运行效果
昆仑通态 HMI组态设置
1.运行McgsPro组态软件,选择HMI设备,新建工程。(此次采用TPC1071Gt)

图 35 新增网络
2.在“设备窗口”下,从“设备工具箱”中,添加“OpcUa客户端”。(注意:如果“McgsPro组态软件”中没有这个驱动,可以找昆通态的触摸屏的供应商提供。)



图 36添加“OpcUa客户端”
3.双击“OpcUa客户端”,打开“设备编辑窗口”设置IP和设备属性值。

图37 设置IP和设备属性值
4.点击获取标签,勾选需要的变量并导入项目。

图 38 获取标签及变量
5.链接变量


图 39 链接变量
6.创建用户窗口

图 40 用户界面
7. 下载工程

图 41 下载工程
8.运行效果

图 42运行效果图
LicOS PLC/PAC 与昆仑通态触摸屏之间,既可以通过传统的 Modbus TCP 实现稳定通信,也可以借助 CODESYS 标签或 OPC UA 构建更具工程友好性和扩展能力的数据交互方式。
在实际工程中,并不存在“唯一最优”的通信方案,关键在于结合项目规模、系统架构与运维需求进行合理选择。希望本文能够为你在 LicOS PLC/PAC 与昆仑通态 HMI 的通信应用中,提供清晰、可复用的实践参考。