诊断
接上控制器之后,真正要盯的是 西门子式诊断:有没有进入周期交换、这一拍数据是否有效、哪个槽 / 通道报了故障、报警有没有上到 TIA。不要靠对过程映像里某一段字节当主路径。
日常观测走运行态、报警列表、通道诊断和 TIA 在线诊断。本机 HTTP 接口见 Web API;语言 SDK 见各 API 页的运行态属性。
功能概览
| 功能 | 说明 |
|---|---|
| 连接与运行态 | 是否周期交换、状态枚举、最近一次错误 |
| 数据有效性 | IOPS / IOCS,本周期能不能用 |
| 通道诊断 | 按槽 / 子槽 / 通道上到控制器,TIA 在线诊断可见 |
| 过程报警 | 设备主动通知控制器,需控制器确认 |
| I&M 标识 | 订货号、序列号、版本,和控制器 IODRead 同一套 |
| 看门狗与掉站 | 周期中断后控制器诊断掉站,设备回到待连接 |
设备侧列表和控制器诊断缓冲区说的是同一件事。TIA 在线访问 → 设备 / 模块诊断,应能看到你上报的通道诊断和过程报警。只在本机看映像、不看 TIA,会漏掉控制器已经记下的故障。
连接与运行态
先读运行态,再碰过程数据。
| 观测 | 含义 |
|---|---|
| 已启动 | 设备在听。不等于控制器已连 |
Connected | 已与 IO 控制器进入周期交换 |
| 状态枚举 | 空闲 / 连接中 / 数据交换 / 组态错误等 |
| 错误码 + 中文消息 | 最近一次运行错误。组态失败时先看这里 |
| 活动报警数 | 当前未确认的报警 |
服务不可达时,运行态会变成未知。先恢复本机服务,再查现场。
Connected == true 时禁止停止、复位、重载配置,见 发现与连接。
数据有效性
周期数据好不好,看 IOPS 与 IOCS,不要只看数值。掉线后映像可能仍留着旧字节,有效位会变成 Bad。
通道诊断
标准通道诊断按 槽 / 子槽 / 通道 上到控制器,对应 TIA 里的模块诊断:
| 项 | 说明 |
|---|---|
| 动作 | 增加 / 更新 / 撤销一条诊断 |
| 寻址 | 槽、子槽、通道号(整子模块用约定通道号) |
| 严重度 | 故障 / 需要维护 / 要求维护 / 合格化 |
| 错误类型 | 通道错误类型;可带扩展类型与附加值 |
插拔模块产生的诊断由栈在插拔时自动发,不要用手报去替代。手报用于工艺通道:断线、超量程、传感器故障等。
本机用 Web API 的诊断写入接口上报;控制器侧在 TIA 诊断视图里确认是否出现、能否消失。
过程报警
过程报警是设备 → 控制器的主动通知,和通道诊断分开:
| 项 | 说明 |
|---|---|
| 寻址 | 槽 / 子槽 |
| 负载 | 可带厂商自定义数据,也可无负载 |
| 在途 | 上一条未获控制器确认时,不要发下一条 |
| 确认 | 控制器确认后,本机活动列表才能清 |
诊断报警走通道诊断,过程报警走报警接口,不要混用。
本机还可以看 活动报警 和 报警历史(标识、级别、消息、发生时间、次数、来源)。确认单条或全部后,活动列表更新;历史仍保留。
I&M 标识
I&M(Identification & Maintenance) 是设备身份证,控制器按标准记录来读:
- I&M0:厂商、设备、订货号、序列号、软硬件版本
- I&M1–4:功能标识、安装位置、日期、描述、签名(主站写过才有)
TIA 在线访问里看到的设备信息应和本机读到的一致。组态用的站名、产品名来自服务配置,和 I&M 订货号一起核对,避免装错站。
看门狗与掉站
| 事件 | 行为 |
|---|---|
| 收到控制器周期帧 | 刷新看门狗 |
| 看门狗超时 | 记下丢帧,连接按协议超时释放;控制器诊断掉站 |
| 应用未提供有效输入 | 对应块 IOPS 标 Bad,不一定立刻拆连接 |
掉站后设备回到待连接。控制器恢复组态并重新建连后,Connected 会再变真。不要在控制器还认为在线时重启设备。
建议排障顺序
- 服务是否在跑,运行态是不是组态错误
Connected是否为真- IOPS / IOCS 是否 Good
- 活动报警、通道诊断、TIA 在线诊断是否同一条故障
- 最后才对过程数据内容