【发布时间】:2016-09-21 13:48:14
【问题描述】:
我有一个新问题:如何更新 OPC UA 服务器中的节点 - C#?
我在 EmptyNodeManager.cs 的 CreateAddressSpace 中创建了节点。一切正常,但是当真实节点上的值发生变化时,客户端不会观察到变化。
下面是代码:
PropertyState variableA = new PropertyState(i);
variableA.NodeId = new NodeId("/System_Memory/I/A", NamespaceIndex);
variableA.Description = "Sensore che individua la posizione iniziale del trapano";
variableA.TypeDefinitionId = VariableTypeIds.PropertyType;
variableA.ReferenceTypeId = ReferenceTypeIds.HasProperty;
variableA.BrowseName = new QualifiedName("A", NamespaceIndex);
variableA.DisplayName = variableA.BrowseName.Name;
variableA.DataType = (uint)BuiltInType.Boolean;
variableA.Value = plc.readFileI(0); // Chiamata al metodo per la lettura
i.AddChild(variableA);
【问题讨论】:
-
什么应该让客户观察到变化?是否订阅了数据更改?您是否添加了一个新节点并让客户端订阅模型更改?你让客户轮询变量的值吗?您每隔多久调用一次
plc.ReadFileI(0)并更新变量的Value?