The path and name of the file to load the value from.
The value of this parameter cannot be null
(Nothing
in Visual Basic).
Loads the PubSub configuration from a specified file.
Syntax
Parameters
- publishSubscribeClient
- A client for OPC UA PubSub information model.
This is typically the OpcLabs.EasyOpc.UA.PubSub.InformationModel.EasyUAPublishSubscribeClient object.
The value of this parameter cannot be null
(Nothing
in Visual Basic).
- filePathAndName
- The path and name of the file to load the value from.
The value of this parameter cannot be null
(Nothing
in Visual Basic).
Return Value
Returns the PubSub configuration loaded from the file.
This method never returns null
(Nothing
in Visual Basic).
Exceptions
Exception | Description |
System.ArgumentNullException |
A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.
This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception. |
OpcLabs.EasyOpc.UA.OperationModel.UAException |
The OPC UA operation has failed. This operation exception in uniformly used to allow
common handling of various kinds of errors. The System.Exception.InnerException always contains
information about the actual error cause.
This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately. |
Example
// This example obtains and prints out information about all published datasets in the OPC UA PubSub configuration.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
// OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp .
// Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.
using System;
using OpcLabs.BaseLib.Collections.Specialized;
using OpcLabs.EasyOpc.UA.OperationModel;
using OpcLabs.EasyOpc.UA.PubSub.Configuration;
using OpcLabs.EasyOpc.UA.PubSub.Configuration.Extensions;
using OpcLabs.EasyOpc.UA.PubSub.InformationModel;
using OpcLabs.EasyOpc.UA.PubSub.InformationModel.Extensions;
namespace UASubscriberDocExamples.PubSub._IUAReadOnlyPubSubConfiguration
{
partial class GetMethods
{
public static void PublishedDataSets()
{
// Instantiate the publish-subscribe client object.
var publishSubscribeClient = new EasyUAPublishSubscribeClient();
try
{
Console.WriteLine("Loading the configuration...");
// Load the PubSub configuration from a file. The file itself is at the root of the project, and we have
// specified that it has to be copied to the project's output directory.
IUAReadOnlyPubSubConfiguration pubSubConfiguration =
publishSubscribeClient.LoadReadOnlyConfiguration("UADemoPublisher-Default.uabinary");
// Alternatively, using the statement below, you can access a live configuration residing in an OPC UA
// Server with appropriate information model.
//IUAReadOnlyPubSubConfiguration pubSubConfiguration =
// publishSubscribeClient.AccessReadOnlyConfiguration("opc.tcp://localhost:48010");
// Get the names of all published datasets in the PubSub configuration.
StringCollection publishedDataSetNames = pubSubConfiguration.ListAllPublishedDataSetNames();
foreach (string publishedDataSetName in publishedDataSetNames)
{
Console.WriteLine($"Published dataset: {publishedDataSetName}");
// You can use the statement below to obtain parameters of the published dataset.
//UAPublishedDataSetElement publishedDataSetElement =
// pubSubConfiguration.GetPublishedDataSetElement(publishedDataSetName);
}
}
catch (UAException uaException)
{
Console.WriteLine($"*** Failure: {uaException.InnerException.Message}");
}
Console.WriteLine("Finished.");
}
// Example output:
//
//Loading the configuration...
//Published dataset: Simple
//Published dataset: AllTypes
//Published dataset: MassTest
//Published dataset: AllTypes-Dynamic
//Finished.
}
}
' This example obtains and prints out information about all published datasets in the OPC UA PubSub configuration.
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET .
' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
' a commercial license in order to use Online Forums, and we reply to every post.
Imports OpcLabs.EasyOpc.UA.OperationModel
Imports OpcLabs.EasyOpc.UA.PubSub.Configuration
Imports OpcLabs.EasyOpc.UA.PubSub.Configuration.Extensions
Imports OpcLabs.EasyOpc.UA.PubSub.InformationModel
Imports OpcLabs.EasyOpc.UA.PubSub.InformationModel.Extensions
Namespace PubSub._IUAReadOnlyPubSubConfiguration
Partial Friend Class GetMethods
Public Shared Sub PublishedDataSets()
' Instantiate the publish-subscribe client object.
Dim publishSubscribeClient = New EasyUAPublishSubscribeClient()
Try
Console.WriteLine("Loading the configuration...")
' Load the PubSub configuration from a file. The file itself is at the root of the project, and we have
' specified that it has to be copied to the project's output directory.
Dim pubSubConfiguration As IUAReadOnlyPubSubConfiguration =
publishSubscribeClient.LoadReadOnlyConfiguration("UADemoPublisher-Default.uabinary")
' Alternatively, using the statement below, you can access a live configuration residing in an OPC UA
' Server with appropriate information model.
'Dim pubSubConfiguration As IUAReadOnlyPubSubConfiguration =
' publishSubscribeClient.AccessReadOnlyConfiguration("opc.tcp://localhost:48010")
' Get the names of all published datasets in the PubSub configuration.
Dim publishedDataSetNames = pubSubConfiguration.ListAllPublishedDataSetNames()
For Each publishedDataSetName As String In publishedDataSetNames
Console.WriteLine($"Published dataset: {publishedDataSetName}")
' You can use the statement below to obtain parameters of the published dataset.
'Dim publishedDataSetElement As UAPublishedDataSetElement =
' pubSubConfiguration.GetPublishedDataSetElement(publishedDataSetName)
Next publishedDataSetName
Catch uaException As UAException
Console.WriteLine($"*** Failure: {uaException.InnerException.Message}")
End Try
Console.WriteLine("Finished...")
End Sub
End Class
' Example output
'
'Loading the configuration...
'Published dataset Simple
'Published dataset: AllTypes
'Published dataset: MassTest
'Published dataset: AllTypes-Dynamic
'Finished.
End Namespace
// This example obtains and prints out information about all published datasets in the OPC UA PubSub configuration.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
// OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-OP .
// Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.
class procedure GetMethods.PublishedDataSets;
var
//EndpointDescriptor: _UAEndpointDescriptor;
I: Integer;
PublishedDataSetName: string;
PublishedDataSetNames: _StringCollection;
//PublishedDataSetElement: _UAPublishedDataSetElement;
PublishSubscribeClient: _EasyUAPublishSubscribeClient;
PubSubConfiguration: _UAReadOnlyPubSubConfiguration;
begin
// Instantiate the publish-subscribe client object.
PublishSubscribeClient := CoEasyUAPublishSubscribeClient.Create;
try
WriteLn('Loading the configuration...');
// Load the PubSub configuration from a file. The file itself is included alongside the script.
PubSubConfiguration := PublishSubscribeClient.LoadReadOnlyConfiguration('UADemoPublisher-Default.uabinary');
// Alternatively, using the statements below, you can access a live configuration residing in an OPC UA Server
// with appropriate information model.
//EndpointDescriptor := CoUAEndpointDescriptor.Create;
//EndpointDescriptor.UrlString := 'opc.tcp://localhost:48010';
//PubSubConfiguration := PublishSubscribeClient.AccessReadOnlyConfiguration(EndpointDescriptor);
// Get the names of PubSub connections in the configuration, regardless of the folder they reside in.
PublishedDataSetNames := PubSubConfiguration.ListAllPublishedDataSetNames;
for I := 0 to PublishedDataSetNames.Count-1 do
begin
PublishedDataSetName := PublishedDataSetNames[I];
WriteLn('Published dataset: ', PublishedDataSetName);
// You can use the statement below to obtain parameters of the published dataset.
//PublishedDataSetElement := PubSubConfiguration.GetPublishedDataSetElement(Unassigned, PublishedDataSetName);
end;
except
on E: EOleException do
begin
WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message]));
end;
end;
WriteLn('Finished.');
end;
// Example output:
//
//Loading the configuration...
//Published dataset: Simple
//Published dataset: AllTypes
//Published dataset: MassTest
//Published dataset: AllTypes-Dynamic
//Finished.
Rem This example obtains and prints out information about all published datasets in the OPC UA PubSub configuration.
Rem
Rem Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
Rem OPC client and subscriber examples in VBScript on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBScript .
Rem Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
Rem a commercial license in order to use Online Forums, and we reply to every post.
Option Explicit
' Instantiate the publish-subscribe client object.
Dim PublishSubscribeClient: Set PublishSubscribeClient = CreateObject("OpcLabs.EasyOpc.UA.PubSub.InformationModel.EasyUAPublishSubscribeClient")
On Error Resume Next
DumpPublishedDataSets
If Err.Number <> 0 Then
WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description
WScript.Quit
End If
On Error Goto 0
WScript.Echo "Finished."
Sub DumpPublishedDataSets()
WScript.Echo "Loading the configuration..."
' Load the PubSub configuration from a file. The file itself is included alongside the script.
Dim PubSubConfiguration: Set PubSubConfiguration = PublishSubscribeClient.LoadReadOnlyConfiguration("UADemoPublisher-Default.uabinary")
' Alternatively, using the statements below, you can access a live configuration residing in an OPC UA Server
' with appropriate information model.
'Dim EndpointDescriptor: Set EndpointDescriptor = CreateObject("OpcLabs.EasyOpc.UA.UAEndpointDescriptor")
'EndpointDescriptor.UrlString = "opc.tcp://localhost:48010"
'Dim PubSubConfiguration: Set PubSubConfiguration = PublishSubscribeClient.AccessReadOnlyConfiguration(EndpointDescriptor)
' Get the names of PubSub connections in the configuration, regardless of the folder they reside in.
Dim PublishedDataSetNames: Set PublishedDataSetNames = PubSubConfiguration.ListAllPublishedDataSetNames
Dim publishedDataSetName: For Each publishedDataSetName In PublishedDataSetNames
WScript.Echo "Published dataset: " & publishedDataSetName
' You can use the statement below to obtain parameters of the published dataset.
'Dim PublishedDataSetElement: Set PublishedDataSetElement = PubSubConfiguration.GetPublishedDataSetElement(Nothing, publishedDataSetName)
Next
End Sub
' Example output:
'
'Loading the configuration...
'Published dataset: Simple
'Published dataset: AllTypes
'Published dataset: MassTest
'Published dataset: AllTypes-Dynamic
'Finished.
# This example obtains and prints out information about all published datasets in the OPC UA PubSub configuration.
#
# Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
# OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python .
# Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
# a commercial license in order to use Online Forums, and we reply to every post.
# The QuickOPC package is needed. Install it using "pip install opclabs_quickopc".
import opclabs_quickopc
# Import .NET namespaces.
from OpcLabs.BaseLib import *
#from OpcLabs.EasyOpc.UA import *
from OpcLabs.EasyOpc.UA.OperationModel import *
from OpcLabs.EasyOpc.UA.PubSub.Configuration.Extensions import *
from OpcLabs.EasyOpc.UA.PubSub.InformationModel import *
from OpcLabs.EasyOpc.UA.PubSub.InformationModel.Extensions import *
from OpcLabs.EasyOpc.UA.PubSub.OperationModel import *
# Instantiate the publish-subscribe client object.
publishSubscribeClient = EasyUAPublishSubscribeClient()
try:
print('Loading the configuration...')
# Load the PubSub configuration from a file. The file itself is in this script's directory.
pubSubConfiguration = IEasyUAPublishSubscribeClientExtension.LoadReadOnlyConfiguration(publishSubscribeClient,
'UADemoPublisher-Default.uabinary')
# Alternatively, using the statement below, you can access a live configuration residing in an OPC UA
# Server with appropriate information model.
#pubSubConfiguration = publishSubscribeClient.AccessReadOnlyConfiguration(
# UAEndpointDescriptor('opc.tcp://localhost:48010'))
# Get the names of all published datasets in the PubSub configuration.
publishedDataSetNames = IUAReadOnlyPubSubConfigurationExtension.ListAllPublishedDataSetNames(pubSubConfiguration)
for publishedDataSetName in publishedDataSetNames:
print('Published dataset: ', publishedDataSetName, sep='')
# You can use the statement below to obtain parameters of the published dataset.
#publishedDataSetElement = IUAReadOnlyPubSubConfigurationExtension.GetPublishedDataSetElement(
# pubSubConfiguration,
# publishedDataSetName)
except UAException as uaException:
print('*** Failure: ' + uaException.GetBaseException().Message)
exit()
print('Finished.')
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