周期过程数据
新手知识
进了周期交换之后,控制器和设备按固定节拍互送过程映像。方向按 IO 控制器视角(西门子 I / Q):设备提供输入,控制器下发输出。应用更新设备值、读取控制器值,不要自己推周期帧。
方向
| 区 | 控制器视角 | 设备侧应用 |
|---|---|---|
| I | 设备 → 控制器(输入) | 更新这些字节,控制器在过程映像里看到 |
| Q | 控制器 → 设备(输出) | 只读。由控制器周期下发 |
GSDML 里的输入对应设备发给控制器的数据,输出对应控制器发给设备的数据。SDK 按西门子地址命名(IB0 / QW0 等),细则在各语言 API,本页不展开映射写法。
本产品过程区固定 16 字节 I + 16 字节 Q,落在槽 1 / 子槽 1。
周期
| 项 | 值 |
|---|---|
| 设定位置 | GUI / 控制器组态 |
| 下限 | 1 ms |
| 谁发周期帧 | 协议栈按组态发,应用不推帧 |
周期改完要重新导出并让双方组态一致。已进入周期交换时不要重载配置,见 发现与连接。
应用做什么
- 确认服务已启动,需要时
Start会话 - 看
Connected:为真才表示双方在换周期数据 - 按工艺更新 I 区(设备输入)
- 按工艺读取 Q 区(控制器输出)
- 用 IOPS / IOCS 和 诊断 判断本周期数据是否可信
未连上控制器时,写入可以先留在设备本地,连上后随周期送出。不要把「本地影子被改了」当成「控制器已经收到」。
不要做的事
- 不要改 Q 区。Q 只来自控制器。SDK 写 Q 会返回不支持
- 不要把 Q 抄回 I。两边不是镜像
- 不要在控制器仍处于周期交换时停止从站
- 不要靠对某一段过程字节当验收门。先看连接、IOPS / IOCS 和 TIA 诊断