Following on the recent OPC Data Client 2021.3 release a few months ago, the OPC Data Client toolkit has been updated again to give developers more options, help them deal with Microsoft technology changes, and add new functionality to their applications. We will cover the highlights here in this technically deep blog post.
Be sure to read about the DCOM hardening that Microsoft is performing and options to be ready, to get ahead of potential support calls from your users.
Expanded Operating System & Platform Support
- Windows 10 21H1
- Windows 10 21H2 (New!)
- Windows 11 21H2
- Windows Server 2012 & 2012 R2
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- .NET 6.0 (New!)
- Full specifications
OPC Classic (DA, A&E) Improvements & DCOM Hardening
If you've not heard about Microsoft's work to harden the security in DCOM, their technology used between computers with OPC Classic, DA and A&E, you need to learn more.
To improve DCOM security, Microsoft released a patch in 2021 to address CVE-2021-26414, whose implementation has been optional as described in Microsoft KB5004442, but will become enabled by default with Windows Updates after June 14, 2022, with the option to disable. This will become mandatory without the ability to remove, after March 14, 2023. As a developer you need to get ahead of this Microsoft change to ensure there is no interruption in connectivity between your custom clients and OPC Classic server they are connecting to.
OPC Data Client 2022.1 helps developers plan for and make changes to be ready:
- A dedicated OPC Data Client FAQ that discusses the changes, possible impacts, and options, some requiring code changes, some that do not.
- New parameter ComSecurityParameters.EnsureDataIntegrity found in ComManagement.Instance.Configuration.SecurityParameters to help developers
- Ability to enforce early initialization of COM Security in their applications using ComManagement.Instance.AssureSecurityInitialization()
- Logging of COM security initialization success or failure through EasyDAClient.LogEntry or EasyAEClient.LogEntry events.
- COM security initialization success or failure events are now written to the system log. This can be turned on/off by the ComManagement.Instance.LogToSystem property.
- Added "ProgID Database" optimization to the OPC DA Optimizer (released in Version 2020.3). It recognizes ProgIDs of some common OPC servers, and resolves them directly to CLSIDs, bypassing the need to search through the Windows registry or use OPCEnum. This results in faster connection times, especially in remote scenarios with slow network connections. It can also allow connection to an OPC server that would otherwise be unreachable, due to ProgID resolution issues.
Developers are strongly recommended to be on an active OPC Data Client Support & Maintenance Agreement and to take the time between now and March 2023, to update their applications, and to communicate with their users prior to the June 14, 2022 Windows Update cycle. Contact us if you need to reinstate or renew your support agreement.
OPC UA PubSub Improvements
- Ability to load and resolve PubSub configurations from web resources using FTP, HTTP and HTTPS
- Improved JSON message parsing and mapping
- Support for new DataSetWriterName and ReversibleFieldEncoding flags found in OPC UA Specification 1.05.01
Examples, Tools & Components Improvements
The 2021.3 OPC Data Client release had 100's of new examples. So this release may disappoint compared to that one in volume but it's not without new examples and several tool improvements
- C# - How to lock and unlock connections to an OPC UA serer using the new IEasyUAClientConnectionControl service. When the connection is locked, the component will attempt to open it and keep open, and will not automatically disconnect from the server after the connection is unused for certain time.
- C# - How to register and unregister nodes in an OPC UA server, using the new IEasyUAClientNodeRegistration service. This feature is helpful with OPC UA nodes that are repeatedly accessed by avoiding repetitive work.
- VBScript - How to make connections and disconnects from an OPC UA server
- Additional VB.NET and C# examples
- The OpcCmd utility, covered in detail in the OPC Data Client 2021.1 release blog, now has:
- Support for the lock/unlock connection and node registration capabilities mentioned in the examples above
- Commands to change COM configuration
- More dense output of trace entries
- Connectivity Explorer (prior blog post) now has a node for OPC UA PubSub so users can browser relevant parts of the Publish/Subscribe model in servers.
- Added support for lock/unlock connections
Other Improvements to OPC Data Client 2022.1
Licensing enhancements for distribution of compiled applications
- Registry License Store is now recognized when running under .NET Core/.NET 5+ on Windows (previously .NET Framework was required)
- License Key is now distributed as a .TXT (Base64 encoded) instead of .BIN. The new file format will be accepted all the way back to v2018.2.
- New method to help with troubleshooting when embedding the license as a managed resource.
Learn More, Upgrade, or Try the OPC Data Client
Existing OPC Data Client License Owners
Developers are always advised to review our 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.