您可能知道,OmniServer用于从使用“非标准”协议进行通信的设备中检索信息,例如体重秤,条形码阅读器和打印机。 在某些情况下,需要将设备协议设计为客户端应用程序(HMI,SCADA或其他)而非OmniServer完全控制轮询的位置。但在您发出下一条消息之前,您如何知道该设备是否仍然连接?
在我们的“OmniServer您知道吗?”后续的第一篇文章中。博客系列,我们将介绍如何创建所谓的心跳消息,以确认您的设备在发送下一条消息之前正在“收听”。 对于许多设备,设备在没有活动的一段时间后“进入睡眠状态”并不罕见。有时在设备的设置中存在可配置的超时,该超时控制该不活动时段的持续时间,但有时不存在。 许多这样的设备可以通过发送特定命令或发送不是命令的任何字符或字符序列来“唤醒”。这通常被称为心跳消息
我为什么要这样做?
设备的一致例程轮询是OmniServer用于确定设备是否可用的机制。如果不允许OmniServer正常控制该轮询,则无法知道仪器是否已停止通信。
心跳消息可以用作设备的基础轮询机制。然后,客户端使用心跳通知项来标记潜在的通信问题。
我怎样才能做到这一点?
在此示例中,我们将设置OmniServer以使用“STATUS”一词自动轮询仪器。注意: 这只是一个示例 - 对于您的设备,您需要确认可以使用哪个序列/消息来保持设备唤醒,但不会导致设备出现任何问题。
然后OmniServer将等待“OK”的值返回。同样,这只是一个示例 - 您