HMI 和 Visual Studio 记录的事件中 TwinCAT 事件的状态不正确

State of TwinCAT events is not correct in the HMI and Visual Studio Logged Events

我们使用 TwinCAT 3 Event Logger to track events in our machine. The events are shown to the user with the Event grid control

引发的警报正确显示在事件网格中。每隔一段时间就会发生警报被清除,但它永远不会在网格控件中更新为已清除。此外,当我们使用记录的事件 window 检查 Visual Studio 中的警报时,它没有清除日期。但是,当我们检查 FB_TcAlarm 的状态时,它有一个清除日期或 eConfirmationState 设置为 NotRequired,这意味着警报当前未处于触发状态。

奇怪的是,这并不总是发生——大多数时候闹钟都能正常工作。只有在极少数情况下它们才不起作用。此外,发生故障的警报并不总是相同的。

还有其他人患有此病吗?或者知道如何 solve/reproduce 这个?

我遇到了同样的问题,但对我来说,当我更改代码中的某些内容时会发生这种情况(我有一个动态的 TcCom 对象数组,FB_Alarms 获取它们自己的索引并注册到那些 TcCom 对象有自己的名字和消息),如果我更改名称(用于双重检查索引)或重置为原点,旧索引将被重置并且旧警报无法确认,因为原始收件人不再存在。此时我必须通过 XAE 清除记录到 PLC 的事件,停止 HMI 并删除服务器中的 2 个文件。

我知道这不是一个完整的答案,但它有助于了解 HMI 有自己的 eventLogger 实例和自己的记录,PLC 也有它自己的,并且警报无响应的一个可能原因是接收者 FB_TcAlarm 已更改。

我相信在我们更新到 HMI v1.12 和 TwinCAT 版本 4024.10 之后问题似乎已经消失了。