我是OPC的全新手。有些事情对我来说并不明显。
我正在使用opcua stack(uaserver):https://github.com/digitalpetri 作为客户端软件(目前仅用于测试)我正在使用United Automation的UAExpert。
每个客户都有几个单位。每个单元都可以有一些值。 一切都在postgres数据库中。我需要通过OPC为客户公开这些值。
现在我觉得我必须实施:
我的担忧:
很抱歉,我真的猜测这些问题中的大部分都可以在阅读OPC UA规范时得到解答,但也许有人可以在我挖掘大量论文之前回复它们。
答案 0 :(得分:1)
广告1.基本上,是的。随着一些额外的规则要遵循 - 例如,“具有值的节点”应该被建模为变量(它们再次是节点,具有一些规定的属性和行为等。)
广告2.在许多情况下,这不是必需的。但是如果你需要它,可以使用ModelChangeEvents完成(参见规范的第3部分)
Ad 3.这不是OPC UA规范的问题,而是您正在使用的特定堆栈/ SDK /工具包。他们中的许多人都有抽象“节点管理器”的概念,它可以将节点保留在内存中,或它可以动态地提供它们 - 仅在需要时。因此,您需要查看手头的特定工具。除非地址空间非常大,或者访问底层信息的速度非常慢,否则通常会预先准备好所有节点。
广告4.基本上,是的。所有合理的客户端都需要来自Server对象(例如命名空间表),以及OPC合规性测试中需要客户端主动使用该信息的一些要求。大多数SDK /工具包无论如何都会自动提供Server对象,而无需您进行额外的编程。