3 Reasons to Be Excited about OPC Data Client 2018.1 Release

4 min read

Feb 14, 2018 2:00:00 PM


Our latest release of the OPC Data Client development toolkit provides some exciting new features for leveraging powerful OPC UA technology features including OPC UA complex data support.

In this post, we will cover some of the key reasons the OPC Data Client 2018.1 is an easy, effective method for bringing the power of OPC UA to your custom client applications.

With the OPC Data Client 2018.1 release, new and existing users will gain some exciting new features.  Here are the top 3 reasons to take a closer look at the latest release.

1. OPC Interoperability Success Assurance

The OPC Data Client has passed its every 3 years re-certification by the OPC Foundation Certification Testing Laboratory.  Testing is done using the Connectivity Explorer tool built into the product.

By having independent testing performed, we help lower your risk of interoperability problems and assure successful applications.  Ultimately, the compatibility of your application is influenced by the way you write your code, and the OPC Data Client documentation provides guidance and advice on best practices to assure compliance.  We’ve done our part so you can focus on doing your part well!

2. OPC UA Clients and Complexity – A Good Thing?

Since when is complexity a good thing?  Well, in the OPC UA specification, there is an allowance for Complex data types (also known as structures) to be passed as tags.  So instead of "MyTag26" holding, for instance, a floating point value of 32.4, "MyTag26" might have a bunch of sub-members of different data types as shown below.

Diagram - Usefulness of OPC UA Complex Data

For another example, Siemens S7-1500 PLCs have a built-in OPC UA server available that can expose data in the PLC through the OPC UA Data Access profile with Complex Data support.  So you can read structures out of the PLC using OPC UA where 1 tag contains many data types.  You can use the built-in structured data types in the PLC or configure your own types in the PLC.

If you think about the concept of a structure and passing that data, you realize that during transfer it’s just a binary blob of data.  How will your client application know how to split that data into the various data types included in that structure?

Well OPC UA provides a way for the OPC UA server to also pass a data type dictionary along to the OPC UA client that describes how the "blob" of data for a structure is to be split part.  Whether the OPC UA server is built into the PLC or is a standalone OPC server, if it supports OPC UA complex data and adheres to the OPC UA specifications, OPC UA client applications can benefit.

OPC Data Client 2018.1 turns Complex into Easy

Developers of Visual Studio .NET C#/VB OPC client applications can now consume this complex data directly through an added extension in the OPC Data Client toolkit 2018.1 release.  OPC UA complex data comes in as instances of a UAGenericObject class and the developer uses the same methods for reading, writing, or making subscriptions as they do for normal tags!

By consuming the OPC UA binary data type system dictionary provided by the UA server, the OPC Data Client will automatically know how to split the data apart and make it available to you.  You don’t have to worry about binary "blobs" - you consume data in a logical, meaningful structure.  New examples have been added to the OPC Data Client documentation under Extensions->Integrated Extensions->OPC UA Complex Data Extension.

3. Improved Resiliency & Browse Performance empower you to enhance your user’s experience

OPC UA Browse Dialog & Tools Speed OPC Client UI DevelopmentAs you build larger and more complex applications with lots of data flying around, the code on your side of your application will be processing lots of callbacks as the OPC Data Client gives you the data it gets from updates from OPC Servers.  Working on a simple non-complex application?

You might not need this but, someday, you’ll probably be glad this next feature is there for your growth!

In Version 2018.1, there are improvements giving you the option to queue callbacks to your code from our toolkit binaries that pass new data on their own dedicated thread.  This is controlled through the QueueCallbacks property.

There are also settings to control the capacity of the queue and the time between sending callbacks in the queue (CallbackQueueCapacity and CallbackQueueIdleTimeToSleep). Using this feature and its related settings improves your overall custom application resiliency when there are errors in your code and, as a result, decreases the chance for deadlocks.  These features are available for OPC DA, UA, and A&E client interfaces.

To make browsing the namespace of OPC UA servers more efficient, a new BrowseMultiple method allows you to perform browsing with multiple starting nodes at once.  You pass in a new array of UABrowseArguments objects as input, and get back an array of object results.  This feature empowers you as the developer to provide a better user experience when browsing large OPC UA namespaces.

Learn More, Upgrade, or Try the OPC Data Client

There’s lots more in this release - you can read about the other updates in the release notes in our knowledge base.

Existing OPC Data Client License Owners

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.

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. Contact us for upgrade options.

Ready to try the latest OPC Data Client Toolkit?

OPC Data Client Download Trial

John Weber
Written by John Weber

Software Toolbox Technical Blog

We're engineers like you, so this blog focuses on "How to" appnotes, videos, tech team tips, product update announcements, user case studies, and other technical updates.  Subscribe to updates below. Your feedback and questions on posts are always welcomed - just use the area at the bottom of any post.

Subscribe to our Blog

Recent Posts

Posts by Topic

See all