Developers of custom OPC client applications have new options, enhanced troubleshooting tools, runtime configuration flexibility, and improved utilities to help them in the recently released 2021.1 (5.60) version of the OPC Data Client Toolkit.
In this technically hot blog post, we will cover the release highlights with links to documentation, and, as always, the full detailed release notes are available in our knowledge base. Also if you did not see the 2020.3 (5.59) release post, that one was packed with technical details.
Improved Troubleshooting Tools
We're listening and paying attention to your support inquiries and this release provides more detail on errors.
Consider how you can use these to provide your user with a better experience and reduce your support costs and time to resolution when something goes wrong in the field:
- OPC Classic - common errors related to server connections include explanations and possible causes and remedies.
- OPC DA and XML-DA - most common errors will include additional relevant information such as server class, machine name, item ID, property ID, data type, or browse filter.
- OPC UA error messages are more dense and contain more content relevant to the problem
- Textual description of OPC UA status codes, based on a list of status codes defined in OPC UA specifications, is automatically added to the message, if the description was not provided by the server
- OPC UA node errors the value of the node descriptor used (and, for method calls, also with the method descriptor)
- OPC UA: Exceptions from the global discovery client now include more details about why the call failed and the main parameters that were passed into the call.
OPC UA Improvements
A new component called the EasyUASubscriberConfiguration component allows the shared parameters of an OPC UA subscriber to be configured through a non-visual component in Visual Studio designer.
The new OPC UA-Optimizer plug-in is enabled by default and can be used to improve the performance of certain OPC UA operations. Like the OPC DA-Optimizer released on the 2020.3 version, this plug-in is enabled by default on each instance of the EasyUAClient object. Settings are unique to each instance, empowering developers to tune their application to their needs.
The most common optimization available with the OPC UA-Optimizer is Request Merging which is enabled by default. If an OPC operation that works on multiple items or properties is called, and some of its arguments are identical to others, the requests with identical arguments can be merged into one. For example, it makes little sense to Read the same item from the same server, with the same read parameters, multiple times in the same call. The Read can be performed just once, and the results cloned and copied over where they belong.
OPC UA handling of Global Discovery Servers (GDS) and related certificate management has also been improved to allow certificates obtained from a GDS to also be stored in a local trusted peers certificate store.
A new UAApplicationManifest object makes it easier to manage certificates and determine where certificate stores are on a machine and empower you to guide your users better on where to place certificates.
Runtime Configuration Flexibility
No developer likes to have to recompile their application to make small changes in behavior for a specific user. Microsoft gives developers the ability to use environment variables, application config (app.config) files and other tools. In this release we've improved the toolkit to give developers more flexibility.
- New Intrinsic Component Configuration feature lets you configure operating parameters of the main components externally using app config files, environment variables etc.
- Users can change how their application operates with respect to their OPC client functionality, without having to recompile the entire application, for supported settings.
Did you know that OPC Data Client comes with a number of utilities to save you time and effort? In this release post, we'll focus on the OpcCmd Utility and its power. In the 2021.1 release this utility had over 40 features added to it that you can read about in the release notes, including support for .NET Core 3.1 and .NET 5.0.
This utility lets you perform a variety of OPC operations from a command line, which can be great for experimentation, testing, and more. The utility is free to anyone that downloads a demo version, but only provides valid data for 30 minutes, unless you own a license of the OPC Data Client. You can find the utility in the OPC Data Client Launcher as shown above.
The OPCCmd utility can function as
- an OPC DA and OPC XML-DA client
- an OPC A&E Client
- a generic OPC UA client
- a generic OPC UA PubSub subscriber.
When you launch the utility you get to choose from several modes of operation based on your goals, as shown here, and the command set is documented online
Platform & Targeting Support Expansion
.NET 5.0 is now a supported .NET runtime.
- You will want to use .NET Standard 2.1 as the target framework and this first pass of .NET 5.0 support is limited to capabilities that work across platforms.
- More .NET 5.0 support coming this year!
- For now if you are using Windows-specific/only technologies such as Windows Forms, WPF and features that depend on them such as Live Binding, Browse Dialogs, etc, please wait and upgrade to .NET 5.0 later.
OPC A&E Classic Support on .NET Standard - added new target framework in this release for Windows platforms
.NET Core support improvements - The upper revision number restrictions on .NET Core 2.1 and .NET Core 3.1 frameworks have been removed and become an " and higher" specification in the OPC Data Client system requirements.
Also, OPC UA clients can now be created for Raspberry Pi OS and others.
Learn More, Upgrade, or Try the OPC Data Client
There’s lots more in this release that you can read about in the release notes in our knowledge base.
Existing OPC Data Client License Owners
This release also includes important changes that affect the required files for deployment and other functionality, please review our release specific upgrade guidelines and upgrade best practices before you upgrade.
If you already own a license of the OPC Data Client and are on an active support agreement, you can download the software from the trial version request page and upgrade for free by following the licensed user upgrade instructions.
Be sure to open license manager and look at your support expiration date. Your applications will generate exceptions if you try to recompile and run them on a version your support does not entitle you to use.
If you have an older license and aren’t on an active support agreement, you can still get the latest version with an upgrade fee that will also re-instate your support for an entire year. Contact us for upgrade options.