OPC UA: Write Node
The OPC UA: Write Node allows you to write to multiple new node values to your OPC UA Server and connected programmable logic controller (PLC). This node is only available in Edge Workflows.
Node Properties
There are four main parts of the properties for this node …
Connection Configuration
Connection Configuration contains:
- OPC UA URI (Required): A string template for the OPC UA server URI.
- Username (Optional): A string template for login username.
- Password (Optional): A string template for login password.
Security Settings
You can optionally select a SSL/TLS Security Policy for the connection to the OPC UA server through the dropdown selector. Security Policy options include:
- None
- Basic-128
- Basic-128 RSA-15
- Basic-192
- Basic-192 RSA-15
- Basic-256
- Basic-256 SHA-256
If a Security Policy is selected, you will have the option to select between “Sign” or “Sign and Encrypt” security modes. You’ll then be required to provide a valid SSL/TLS client certificate and private key.
Write Instructions
Write Instructions can be specified in one of two ways. At least one is required, but both can’t be specified at the same time.
-
Array of Template Strings: For each Write Instruction, fill out the following input configuration fields, all of which can utilize templates. You must define at least one instruction:
- Namespace Index (ns): (Required) A string template or positive integer.
- Identifier: (Required) A string template or string for the node identifier. The identifier string should begin with one of the following types:
- i=: for unsigned integer (UINT).
- s=: for string.
- g=: for global unique identifier (GUID).
- b=: for byte string.
- Value String Template/Payload Path: (Required) The value can be a string template or from a payload path. Note: If your node value is an array you will need to provide the array values on a payload path.
-
Payload Path: (edge version 1.18.0 and above) Enter a payload path that resolves to an array of Write Instructions to be run on this node. The following are the object properties that each object in the array should contain for successful attempts:
- nameSpace: (Required) A string or positive integer.
- identifier: (Required) A string for the node identifier. The identifier string should begin with one of the following types:
- i=: for unsigned integer (UINT).
- s=: for string.
- g=: for global unique identifier (GUID).
- b=: for byte string.
- value (Required): The value can be a string or an array of strings.
The following is an example of an array that you could pass in:
[
{
"nameSpace": 2,
"identifier": "s=Application.Engine.Power",
"value": "11"
}
]
Destination Path
The success or failure of each write instruction will be placed in an object at the Destination Path
(a payload path) (optional) under the write
key. If the write is successful the write
value will be success
, and conversely if the write failed the write
value will be fail
.
If the write failed there will be a list of errors at the Destination Path under the key errors
. Because the nodes are written as a group one failed write for a node may cause the other writes to fail.
Result
The following is an example of a successful write and the Destination Path is OPCUA_PLC
:
{
"OPCUA_PLC": {
"write": "success"
}
}
Node Errors
The following is an example of a failure to write and the destination path is OPCUA_PLC
:
{
"OPCUA_PLC": {
"write": "fail"
"errors": [ { "type": "OPC-UA_WRITE_ERROR", "message": "Something useful to help you fix the issue." } ]
}
}
Was this page helpful?
Still looking for help? You can also search the Losant Forums or submit your question there.