IOPS 与 IOCS
新手知识
周期帧里每个数据块都带着 生产者 / 消费者状态。数值在,不等于这一拍有效。PROFINET 用 IOPS / IOCS 说话,不靠工作计数器。
两个标志
| 标志 | 谁置位 | 含义 |
|---|---|---|
| IOPS | 生产者 | 这块数据现在是 Good 还是 Bad |
| IOCS | 消费者 | 接收方是否按好数据消费 |
- 设备发 I 时带 IOPS:告诉控制器「这些输入能不能用」
- 设备收 Q 时看对方的 IOPS,并回 IOCS
- 应用不用自己组这些标志。未写过的输入块、掉线后的数据会被标成 Bad
怎么读
日常只关心 Good / Bad:
| 现象 | 先查 |
|---|---|
| I 数值变了,控制器当无效 | 设备侧该块 IOPS 是否 Bad(应用还没提供有效输入,或诊断占用) |
| Q 数值在,设备侧不敢用 | 控制器下发的 IOPS 是否 Bad,或本侧尚未进入周期交换 |
| 掉线后映像还留着旧值 | 有效位会变 Bad。先看 连接 的 Connected,再看本标志 |
本机观测见 Web API 过程映像里的 IOPS / IOCS 字段,以及 inputValid / outputValid。控制器侧在 TIA 在线诊断 / 模块状态里看数据好坏。
和诊断的关系
- IOPS Bad 是「这一拍数据不可用」,不一定已经有一条通道诊断
- 通道故障、拔模块、看门狗超时会同时反映到诊断条目和 IOPS
- 排障顺序:先
Connected,再 IOPS / IOCS,再 诊断 里的通道诊断和报警
不要单独拿某一段过程字节当「通了」。标志和 TIA 诊断才是西门子侧的同一套语义。