为什么当节点变得不活动和再次活动时我们无法获取数据更改,但它的句柄没有更改并且它也存在于 asyncua 中的受监控项字典中?
看起来像是服务器故障。如果节点被删除,应该有一个更新表明该节点不再可用。扩展了 Subscriptionhandler 类以获取 status_change_notification。也许服务器有提示该节点已被删除。
class SubHandler:
def datachange_notification(self, node: Node, val, data):
...
def event_notification(self, event: ua.EventNotificationList):
...
def status_change_notification(self, status: ua.StatusChangeNotification):
_logger.info("status_notification %s", status)