edge (@ruci) 在 分享踩坑某个国产的某个组态软件OPC UA 中发帖

最近在和某个国产组态软件做OPC UA对接,遇到了不少坑,开贴吐槽一下,也留下记录。 

NamespaceUri数量不符合OPC规范:OPC UA Server 返回的 NamespaceUri 数量只有2个,但是NodeId里面都用到了ns=3。
变量节点直接调用 readValue 方法得到的返回值为null,statusCode=BAD,必须要调用Subscription,通过订阅的形式获取值。这我还观察到一个现象,一旦订阅变量节点以后,哪怕把订阅移除了,调用readValue也能直接获取到值。
OPC UA Client最大连接数默认为1,想要多开客户端需要额外的授权费用。从软件开发的角度上来看开1个连接和开10个连接代码上没任何代价。但是从商业上来看,就是硬要收这笔授权费。
3问题还间接导致了另一个问题,我想测试断连后恢复,客户端主机直接拔线10秒,然后再插上网线恢复网络,此时...