Writes data into a Value attribute of a node, using an endpoint descriptor and a node Id.
Syntax
'Declaration
Sub Write( _
ByVal As String, _
ByVal As String, _
ByVal As Object _
)
'Usage
Dim instance As _EasyUAClient
Dim endpointDescriptorString As String
Dim nodeDescriptorString As String
Dim attributeData As Object
instance.Write(endpointDescriptorString, nodeDescriptorString, attributeData)
Parameters
- endpointDescriptorString
- Endpoint descriptor. Identifies the OPC-UA server.
- nodeDescriptorString
- Node descriptor. Identifies the node in OPC server's address space.
- attributeData
- OpcLabs.EasyOpc.UA.UAAttributeData. Value of an attribute, together with status code and timestamps, to be written.
Example
COM
// This example shows how to write data (a value, timestamps and status code) into a single attribute of a node.
$GoodOrSuccess = 0;
// Instantiate the client object
$Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient");
// Modify data of a node's attribute
$StatusCode = new COM("OpcLabs.EasyOpc.UA.UAStatusCode");
$StatusCode->Severity = $GoodOrSuccess;
$AttributeData = new COM("OpcLabs.EasyOpc.UA.UAAttributeData");
$AttributeData->Value = 12345;
$AttributeData->StatusCode = $StatusCode;
$AttributeData->SourceTimestamp = (time() - 25569)/86400.0;
// Perform the operation
try
{
$Client->Write(
//"http://opcua.demo-this.com:51211/UA/SampleServer",
"opc.tcp://opcua.demo-this.com:51210/UA/SampleServer",
"nsu=http://test.org/UA/Data/ ;i=10221",
$AttributeData);
// The target server may not support this, and in such case a failure will occur.
}
catch (com_exception $e)
{
printf("*** Failure: %s\n", $e->getMessage());
}
Rem This example shows how to write data (a value, timestamps and status code)
Rem into a single attribute of a node.
Public Sub Write_Main_Command_Click()
OutputText = ""
Const GoodOrSuccess = 0
' Instantiate the client object
Dim Client As New EasyUAClient
' Modify data of a node's attribute
Dim StatusCode As New UAStatusCode
StatusCode.Severity = GoodOrSuccess
Dim AttributeData As New UAAttributeData
AttributeData.SetValue 12345
Set AttributeData.StatusCode = StatusCode
AttributeData.SourceTimestamp = Now()
' Perform the operation
On Error Resume Next
Call Client.Write("opc.tcp://opcua.demo-this.com:51210/UA/SampleServer", "nsu=http://test.org/UA/Data/ ;i=10221", AttributeData)
If Err.Number <> 0 Then
OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf
Exit Sub
End If
On Error GoTo 0
End Sub
Rem This example shows how to write data (a value, timestamps and status code) into a single attribute of a node.
Option Explicit
Const GoodOrSuccess = 0
' Instantiate the client object
Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient")
' Modify data of a node's attribute
Dim StatusCode: Set StatusCode = CreateObject("OpcLabs.EasyOpc.UA.UAStatusCode")
StatusCode.Severity = GoodOrSuccess
Dim AttributeData: Set AttributeData = CreateObject("OpcLabs.EasyOpc.UA.UAAttributeData")
AttributeData.Value = 12345
AttributeData.StatusCode = StatusCode
AttributeData.SourceTimestamp = Now
' Perform the operation
On Error Resume Next
Client.Write "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer", "nsu=http://test.org/UA/Data/ ;i=10221", _
AttributeData
' The target server may not support this, and in such case a failure will occur.
If Err.Number <> 0 Then
WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description
WScript.Quit
End If
On Error Goto 0
Requirements
Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows
See Also