Upon creating the OPC Ua server, we firstly create objects like this:
cosSettings = new CreateObjectSettings()
{
ParentNodeId = onTunnelTypeNode.NodeId,
ReferenceTypeId = ReferenceTypeIds.Organizes,
RequestedNodeId = new NodeId(tSectionObject.szObject, InstanceNamespaceIndex),
BrowseName = new QualifiedName(tSectionObject.szObject, InstanceNamespaceIndex),
TypeDefinitionId = new NodeId(SVV.HBT.ObjectTypes.SectionType, TypeNamespaceIndex)
};
onSectionTypeNode = CreateObject(Server.DefaultRequestContext, cosSettings);
Then we have the nodes, but dont know how to get NodeAttributeHandle (nah) variable for the object:
sc = Write(Server.DefaultRequestContext, nah, null, dv);
I way to get this NodeAttributeHandle is to override the StartDataMonitoring procedure and subscribe the objects,
then the NodeAttributeHandle is received thru the second parameter MonitoredItemHandle.NodeHandle.
Do you have a way to retrive this NodeAttributeHandle thru the ObjectNode?
How to get the node attribute handle for Writing values to t
Moderator: uasdknet
-
- Jr. Member
- Posts: 2
- Joined: 15 Jan 2019, 15:23
- Support Team
- Hero Member
- Posts: 3071
- Joined: 18 Mar 2011, 15:09
Re: How to get the node attribute handle for Writing values
Hello,
To get the NodeAttributeHandle you have to call GetNodeHandle. You need to call GetNodeHandle for each Variable you want to write.
Please note that there are other options to set or update the values of nodes. Please see our examples and tutorials.
If you want to set a value only once, you can call SetVariableDefaultValue after the creation of the object.
If the value should change during runtime, you should set the variable configuration to ExternalPolled or ExternalPushed and implement the required methods in your BaseNodeManager implementation. Please see the server getting started and the DemoServer example.
To get the NodeAttributeHandle you have to call GetNodeHandle. You need to call GetNodeHandle for each Variable you want to write.
Please note that there are other options to set or update the values of nodes. Please see our examples and tutorials.
If you want to set a value only once, you can call SetVariableDefaultValue after the creation of the object.
If the value should change during runtime, you should set the variable configuration to ExternalPolled or ExternalPushed and implement the required methods in your BaseNodeManager implementation. Please see the server getting started and the DemoServer example.
Best regards
Unified Automation Support Team
Unified Automation Support Team