Clock
核心概念速览
-
目的:Clock 能力用于对 collection event 与 alarm 报文做时间戳(便于确定事件顺序与调度),并允许主机与设备相互设置或请求时间以实现同步。
-
Clock(SV):设备端的状态变量,保存设备当前时间(格式与 SEMI E5 中 TIME 的定义对应),可以被包含在 report 中或单独查询。
-
TIME(数据项)与消息:主机用 S2,F31(Date and Time Send)指示设备设置时间;设备或主机可用 S2,F17(Date and Time Request)/S2,F18(Date and Time Data)来请求/返回时间。S2,F31 与对应的应答(如 S2,F32)用于设置并确认。
-
分辨率要求:设备时间参考必须能够以秒到厘秒(centisecond)级分辨近乎同时发生的事件;若设备分辨率不足,厘秒可报告为 "00"。厘秒的目的是用于确定事件检测顺序,不是提高绝对时间精度
-
事件/报警交互:许多 collection events(如 Processing Started、AlarmnDetected 等)在其典型数据中包含 Clock,用于事件时间戳和排序。
此项 附加功能 很好的体现了SECS GEM协议的模块扩展能力.
深度解析
1) 为何设备必须实现 Clock 能力?(要点)
-
同步与排序:当主机与设备在断开后重新建立连接,主机需要确认在断线期间设备是否发生了处理或报警,时间戳帮助主机“恢复上下文”并按时间顺序重建事件流。
-
诊断与追溯:事件时间用于统计、故障回溯、以及跨设备事件关联(factory-level sequencing)。
2) 时间表示、消息与典型场景(工程快速表)
-
查询设备时间
-
主机 → 设备:S2,F17(Date and Time Request)。
-
设备 → 主机:S2,F18(Date and Time Data,包含 TIME)。
-
-
设备请求主机时间(可选)
- 设备 → 主机:S2,F17。主机回复 S2,F18 并被设备用来设置本地时钟。
-
主机设置设备时间
-
主机 → 设备:S2,F31(Date and Time Send,携带 TIME)。
-
设备 → 主机:S2,F32(应答/确认,文档示例中出现用于确认设置完成)。
-
3) 分辨率与厘秒(centisecond)策略(实现建议)
-
标准要求:设备内部时间参考必须足以区分两次近乎同时发生的 collection event/报警(即能按顺序分辨),并且供应商须在文档中说明设备时间分辨率与厘秒分配策略。
-
若设备分辨率 < 1 秒:应报告并使用厘秒。若设备无法区分到厘秒,则可将厘秒字段设为 "00"(但仍须在文档中说明此行为)。
-
实现细节建议:
-
内部时钟用硬件时钟 + NTP/PTS 同步(防止长期漂移)。
-
对短时间内发生的多事件,使用内部事件队列记录发生顺序并在生成报文时赋予递增的厘秒字段(即便物理时间相同,也用次序确定厘秒)。
-
在日志与 report 中同时包含 时间戳(Clock) + 事件序号(SEQNUM/内序号),以增强排序确定性(若两个设备之间没有严格同步,主机会基于事件序号/本地策略进行重排)。
-
4) 与 collection events/报警的交互(要点)
-
GEM 要求许多 CEID 报文含 Clock(例如 Processing Started/Completed、AlarmnDetected/AlarmnCleared、Material movement 等),因此 Clock 的准确性直接影响事件顺序与报警回溯。
-
事件发生时刻的数据采集原则:事件报告中的数据必须在事件发生时“实时构建”,包括 Clock(即不要延后才读取导致时间不一致)。(参见事件报告的构建原则)
5) 文档与合规性要求(设备端必须交付)
- 设备供应商需在 SECS/GEM 文档中说明:内部时间参考的分辨率、厘秒如何分配(包括无法区分时的处理策略) 以及是否支持设备端请求主机时间与主机设置时间的情形。
实战建议(checklist 风格)
-
设备端实现清单(短):
-
支持 Clock SV 并能在 event/alarm report 中包含它。
-
支持 S2,F17/S2,F18(请求/返回时间)与 S2,F31(主机设置时间)并正确处理应答(S2,F32 或设备实现的 ACK)。
-
在用户文档中声明时间分辨率与厘秒分配规则(含“无法区分时为 00”情形说明)。
-
事件发生时“实时构建”报告(Clock 的值在事件触发瞬间已确定并随报文发送)。
-
考虑将设备时钟与 NTP/工厂时间源同步,并记录时钟同步历史(便于追溯)。
-
-
主机端实现清单(短):
-
在建立通信/同步期间(尤其是断线恢复后)使用 S2,F31 或 S2,F17/S2,F18 同步或查询设备时间。
-
在跨设备事件排序时,不仅依赖于单设备 Clock,还应考虑设备分辨率差异与同步状态(若不能完全同步,需有合并/校正策略)。
-
编辑此页
有任何问题或疑问,请发送邮件到--->admin@secs-ii.net
- 发现错误或表达不清希望修正
- 内容不健全需要扩展
- 有疑问希望解答