Java Milo OPC-UA添加节点
我正在使用它的示例服务器和客户端。我正在向服务器添加节点,但我不知道如何添加Java Milo OPC-UA添加节点,java,opc-ua,milo,Java,Opc Ua,Milo,我正在使用它的示例服务器和客户端。我正在向服务器添加节点,但我不知道如何添加EuInformation,即单位和描述。我曾考虑过使用ExtensionObject,但由于EuInformation没有实现Serializable,我不知道如何将它传递给ExtensionObject。我还想知道如何在客户端获取名称空间ID和URI。到目前为止,我只是静态地设置它们,因为我可以访问这些类 我已经在服务器端实现了AddNodes。我可以添加节点、读取节点和写入节点。 以下是我在客户端所做的工作: //
EuInformation
,即单位和描述。我曾考虑过使用ExtensionObject
,但由于EuInformation
没有实现Serializable
,我不知道如何将它传递给ExtensionObject
。我还想知道如何在客户端获取名称空间ID和URI。到目前为止,我只是静态地设置它们,因为我可以访问这些类
我已经在服务器端实现了AddNodes。我可以添加节点、读取节点和写入节点。
以下是我在客户端所做的工作:
// Should somehow get the namespace ID and namespace dynamically.
// Maybe by iterating through all nodes??
ExpandedNodeId parentNodeId = new ExpandedNodeId(
new nodeId(2,DatatypeNamespace.NODE_IDENTIFIER),
datatypeNamespace.NAMESPACE_URI, 0);
NodeId referenceTypeId = Identifiers.String;
// Define the new node.
ExpandedNodeId requestedNewNodeId = new ExpandedNodeId(new NodeId(2, "NewNode"),
DatatypeNamespace.NAMESPACE_URI, 0);
QualifiedName browseName = new QualifiedName(2, "NewNode");
// How to get this to the server??
EUInformation euinfo = new EUInformation(null,-1,LocalizedText.english("MyUnit"),
LocalizedText.english("My Description"));
ExpandedNodeId typeDef = new ExpandedNodeId(Identifiers.BaseVariableType,
DatatypeNamespace.NAMESPACE_URI, 0);
AddNodesItem newItem = new AddNodesItem(parentNodeId, referenceTypeId,
requestedNewNodeId,rowseName,NodeClass.VariableType, null, typeDef);
List<AddNodesItem> items = new ArrayList<AddNodesItem>();
items.add(newItem);
client.addNodes(items).get();
好的,那么您将添加一个新的VaribleNode,它的类型定义为Property(
Identifiers.PropertyType
)
然后写入其Value属性,使其包含EUInformation对象:
EUInformation euInformation = ...
Variant v = new Variant(ExtensionObject.encode(euInformation));
...write the value to the node you created...
首先,我想:您是否在服务器中实现了AddNodes服务?否则,您将无法从客户端添加此节点。已完成此操作。添加节点可以正常工作。我也可以读和写给他们。谢谢。在我的原始问题中添加了我所做的。
EUInformation euInformation = ...
Variant v = new Variant(ExtensionObject.encode(euInformation));
...write the value to the node you created...