A common question we are asked as technical consultants at Software Toolbox is “why should I use an OPC toolkit when there is free sample code and other free solutions available to me?” That’s a fair and logical question, but this post takes a different approach.
Instead, with this 2-part blog series, our hope is to share from our experience with OPC since 1996, what our users have told us are the common reasons why they chose to use a commercial OPC toolkit, and to help readers determine what factors to consider for their specific situation and circumstances.
In the first part of this blog series on OPC development toolkits, we will cover the basics of commercial OPC Client Development Toolkits, with a dive into the benefits of using one, while in part 2, we will look at OPC Server Development Toolkits.
To start understanding the value proposition of a commercial OPC Client toolkit, it is important to understand what exactly an OPC Client toolkit is. If you are new to OPC software for industrial data exchange, we suggest you also download and review our Beginner’s Guide to OPC.
What is an OPC Client Toolkit?
An OPC Client Toolkit is a library of software modules developed through a rigorous process of design, implementation, and testing, which provide simplified interfaces to a custom application/software developer. The toolkit’s main purpose is to simplify custom application development with predefined interface elements such as properties, methods, and events that encapsulate the details of OPC Client functionality, without requiring the user to learn the low-level nuts and bolts of the OPC specifications.
The main application of an OPC Client toolkit is to write a client program that needs to act as an OPC Client and exchange data with an OPC Server.
OPC Client toolkits can support one or multiple OPC Specifications. Most commonly, one would find OPC Client toolkits for adding OPC DA and/or OPC UA compliance to enable a custom software application to interoperate and read/write data with as many other systems as possible, whether that be other software applications or devices. As you read on, you’ll learn that, with OPC UA, it’s important to know what facets and profiles in the specification you need to implement.
What are some benefits of using a commercial OPC Client Toolkit?
Reduce learning curve and development timeAs mentioned previously, an OPC toolkit’s primary purpose is to greatly simplify adding OPC client and/or server capabilities to an application without requiring the developer to learn the relevant OPC specifications and implement them from the ground up. Did you know that to fully understand OPC UA, you’d need to read at least 617 pages of specifications? A toolkit reduces this to simple, understandable functions for reading, writing, subscribing and error handling.
Increased Quality of Your SoftwareOPC Client Toolkits are developed using rigorous analysis, development, and testing processes. They are typically product managed, with features being added periodically, regular bug fixes, and support. You benefit from every other commercial user at other companies that has bought and committed to support & maintenance of the toolkit. The developer uses license & maintenance fees to pay for staff and teams that work to improve and supports the product. You only pay for your licenses & support but benefit from the whole. You get to focus on the quality of your code, user experience, and application, while letting the Toolkit developer be the expert on OPC.
Reduced support costs - Interoperability with other OPC products
OPC interoperability can be a source of support headaches, particularly if you write your own code from the start. If you are using a free OPC Client toolkit, you can only rely on free community support, and there is no one to call for help, no regular updates or someone whose livelihood depends on your satisfaction.Typically, OPC Client toolkits have been interoperability tested at least once through the OPC Foundation’s process. Sometimes, they are also OPC Foundation lab-certified to ensure they follow the relevant OPC specifications and, as such, should work well with other interoperability tested and/or lab-certified OPC server solutions (whether created with an OPC toolkit or an off-the-shelf OPC server solution). Just realize that for OPC Client toolkits, the OPC Foundation can only certify test or reference implementations, as your implementation in your code can ultimately affect compliance. OPC Client toolkits will typically have Best Practices for a compliant implementation in their documentation.
Compatibility and integration with development toolsCommercial OPC Client toolkits will have been thoroughly interoperability tested with a range of development environments where they will be used to develop custom OPC Client applications. Development environment compatibility is an important part of supporting your goal of a quality OPC client application.
Lower Total Cost of OwnershipAnother primary reason for the existence of OPC Client toolkits is to lower the cost of implementing an OPC Client interface in a custom application, including both the initial implementation and ongoing maintenance. Since designing an OPC Client interface from the ground up without a toolkit would be an extremely costly, time-consuming endeavor and any issues down the road would be harder to debug, a good toolkit is a good investment.
Documentation, examples, and supportA good OPC Client toolkit is designed to make the user’s life easier – this should include making it easy to learn and implement. Good documentation, examples and/or code samples, and a support team to help with any questions not covered by those first two things, is essential to get the greatest return on your OPC Client toolkit investment.
Where can I find an OPC Client Toolkit that has all of those benefits?
At Software Toolbox, we’ve been involved with OPC since our founding in 1996. We’ve been offering OPC Client toolkits for many years to assist users like you with projects that don’t strictly fit an off-the-shelf requirement. Our OPC Client toolkit, is known as the OPC Data Client.
For ease of use:
- OPC Data Client (for developing OPC Clients) greatly simplifies the task of integrating OPC into applications.
- OPC Data Client handles the messy OPC and COM details for you behind the scenes, so you do not have to worry about learning the underlying calls and specifications.
- OPC Data Client transforms the OPC communication into an API that appears to be connection-less; this allows your code to be free of all setup, tear-down, and re-connection worries.
- With OPC Data Client, reading a value from an OPC server, writing a data value, or subscribing to data changes
- Users can even bind components to OPC data with no coding at all!
For interoperability with other OPC solutions:
- OPC Data Client is OPC Interoperability tested and lab-certified for compliance.
- The OPC Data Client directly supports the following OPC specifications:
- OPC DA (Data Access) 1.0, 2.0, and 3.0
- OPC Alarms and Events Custom Interface Standard 1.00, 1.01, and 1.10
- OPC Common 1.0 and 1.10
- OPC XML-DA 1.01
- OPC Unified Architecture 1.00, 1.01, 1.02, 1.03, 1.04 (.NET Standard Only); Data Access, Alarms & Conditions, Pub Sub support included – please see our Supported OPC UA Profiles for more information
For compatibility and integration with development tools:
- OPC Data Client allows users to develop custom OPC client software applications for .NET Core, .NET Standard, and .NET Framework, while also supporting Windows and Linux (.NET Core, OPC UA, XML-DA only) for a flexible platform choice.
- OPC Data Client also supports a wide range of COM development options. For a detailed list, see the Languages and Tools section of our System Requirements.
For total cost of ownership:
- Software Toolbox offers development licenses for the OPC Data Client that are runtime free. This includes unlimited deployment for non-commercial applications (i.e. applications that will NOT be sold to others as off-the-shelf products). So, users can develop a custom OPC client and deploy it to multiple sites, all for the price of a single developer’s license.
- All OPC Data Client license purchases from Software Toolbox include a 1-Year Support and Maintenance Agreement which gets you product updates, bug fixes, and access to email/phone support And, while it is not required to renew annually, it is highly recommended to ensure you will have the latest OS and development tool support, OPC specification support, and access to our experienced team of application consultants for continued support.
- Our capable support team is well-versed in the use of our OPC Client toolkits and can help assist you with any questions or issues you may encounter while creating your custom OPC clients.
- OPC Data Client also includes extensive documentation, which you have access to regardless of your support agreement status. This includes, but is not limited to:
- Example code with working sample OPC Client applications
- Detailed Help File
- Getting Started Guides
- Knowledge Base with FAQs
Clearly, there is much to consider when opting to use an OPC Client toolkit and making sure that you are selecting the right one that will both meet your needs and provides the most return on investment. We hope you have found this post to be helpful and informative as you explore using OPC Client toolkits to build your own OPC Clients.
We encourage you to download our OPC Data Client Toolkit and give it a try! Stay tuned for part 2 where we will cover OPC Server Toolkits!
Have any questions? Please contact us to start a discussion about your OPC toolkit needs.