如何解决Python OPCUA 错误的 SourceTimestamp
我目前遇到了 DataValue(错误的 SourceTimestamp)问题。
我的 OPCUA 服务器(用 Python 编程)有一个变量,其数据值如下:
DataValue(Value:Variant(val:36,type:VariantType.Int64),StatusCode:StatusCode(Good),SourceTimestamp:2021-06-04 14:22:47.425125)
在我的客户端中,SourceTimestamp 早 2 小时(由于时区)并且没有服务器时间戳。
如何更改 SourceTimestamp?我想我需要这样做
.set_data_value()
但是,我不明白它背后的语法。自我是什么意思?
def set_value(self,value,varianttype=None):
另外,如何显示 ServerTimestamp?
感谢所有提示!
解决方法
set_value
API 不支持直接设置时间戳(至少 AFAIK)。解决方案是传递 opcua.ua.DataValue
的实例而不是“真实”值。
这意味着,而不是像这样:
node.set_value(42)
您传递一个带有所需时间戳的 DataValue
实例。 IE。类似的东西:
# Just an example. Use the time that makes sense for you
timestamp = datetime.datetime.now()
# NOTE: here you can pass 'serverTimestamp' as well.
datavalue = ua.DataValue(variant=42,sourceTimestamp=timestamp)
node.set_value(datavalue)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。