它是什么
这是一套把通用工业协议承载在以太网与 IP 之上的工业通信体系。它不用寄存器表描述数据,而是用对象模型:设备里的每一项数据都属于某个类、某个实例的某个属性,读写通过服务调用完成,因此设备能自描述,而不是只给一张地址表。通信上区分两类消息:周期性的隐式消息承载过程数据,由生产者按周期发送、消费者接收,不带逐条确认;显式的请求应答消息用于参数、诊断与组态,每条都有明确应答。设备接入依赖厂商提供的电子数据表文件。
基本信息
| 承载方式 | 标准以太网与 IP,可用普通交换机组网 |
|---|---|
| 数据模型 | 类、实例、属性,按服务调用读写 |
| 隐式消息 | 周期过程数据,无逐条确认,靠超时判定连接失效 |
| 显式消息 | 参数与诊断,请求应答,可靠但开销更大 |
| 连接管理 | 由专门的连接管理对象建立与维护连接 |
| 集成文件 | 厂商提供的电子数据表文件描述设备能力 |
| 安全 | 早期无认证与加密,较新的安全扩展提供证书与加密 |
典型使用场景
- 与控制器集成:过程数据走隐式连接,保证周期稳定
- 参数与诊断:用显式消息读写,每次操作都能拿到结果
- 第三方上位机接入:按对象模型访问,不必依赖厂商软件
- 资产梳理:用发现服务列出网络中的设备身份与版本
- 安全评估:确认设备是否支持安全扩展,以及是否仍开放无保护访问
- 故障排查:隐式连接超时与显式请求失败的含义完全不同,需分开判断
两类消息对照
| 维度 | 隐式消息 | 显式消息 |
|---|---|---|
| 用途 | 周期过程数据 | 参数、诊断、组态 |
| 方向 | 生产者按周期发送 | 客户端请求、服务器应答 |
| 确认 | 无逐条确认 | 每条都有应答 |
| 失效表现 | 连接超时,数据停滞或保持最后值 | 请求返回错误状态码 |
| 开销 | 小,适合高频 | 较大,适合按需 |
| 配置依赖 | 连接参数与数据长度来自集成文件 | 访问路径与属性编号来自手册 |
访问一个属性的思路
访问一个属性的思路
# 读取某个属性 = 服务码 + 路径(类、实例、属性)
# 服务码说明要做什么:取单个属性、取全部属性、置单个属性
# 路径可以指向对象编号,也可以指向符号化名称
# 响应里带状态码:零为成功,非零说明路径、服务或权限有问题
# 注意:不同厂商的实例号与属性号不同,必须查该设备的集成文件或手册端口号与实际使用的传输方式应以官方规范与设备文档为准,防火墙策略建议先抓包确认实际流量,再据此出规则。
隐式过程数据没有逐条确认,链路质量差时表现为数值停滞而不是报错,做联锁与安全判断必须结合连接状态与数据有效性。