Skip to content

Put OPC UA Pub/Sub & Companion Specifications to Work with Any HMI, SCADA, MES or Historian

    SPONOSORED BY: Software Toolbox


    Don’t wait until your HMI, SCADA, MES or Historian supports OPC UA Pub/Sub, Complex Data or Companion Specifications to benefit from them. The openness of OPC ensures there are off-the-shelf tools for that!

    At Software Toolbox, a core value is continuous learning. This summer our sharing focus was on IIoT integration which included several topics around OPC UA that we want to share with the OPC community.  Put these technical learning opportunities to work for your Digital Transformation & Industry 4.0 projects.

    What are Complex Structured Data Sets and OPC UA Companion Specifications?

    If you are familiar with OPC communication, you know OPC Tags in many applications are in the form of singular values of the typical data types, such as Booleans, Integers, Floats, and so on. However, there is part of the OPC UA specifications that supports complex data that can enhance the clarity, efficiency and interoperability of your communication.

    OPC UA supports the implementation of specialized data types in the form of structures (also called complex data), which allows this information to be grouped together into one node. Here’s why Complex Data matters to you:

    • Complex data, or structured data, support types like arrays and structures that enable detailed data representation.
    • Complex data allows for more efficient transmission of large sets of data.
    • It facilitates better interoperability between systems and devices, allowing for the standardization of data models.
    • Complex data enables advanced features such as historical data access and alarms, crucial for robust data management.

    How can you take advantage of Complex Data with your existing HMI, SCADA, Historian or MES?

    We know that it takes time for major Industrial Control Software applications to evolve, and users upgrade systems, to leverage the latest OPC UA specifications.  That’s where it’s important to have solutions to empower you to use newer technologies without going through major system upgrades.  When we started Software Toolbox in 1996, the promise of OPC to rapidly empower best-of-breed solutions was key factor in our decision to invest. We realized the world would need a place to find, evaluate, buy and get world class technical support for these solutions.

    To support the use of OPC UA Complex Data, one of the solutions Software Toolbox offers in the US & Canada is OPC Router.  As demonstrated in the image above, OPC Router’s OPC UA Client can consume these structures and interpret the individual values within and then share with systems that maybe only support OPC UA general data access or OPC DA.  At the same time OPC Router’s OPC UA Server can collect data from systems via OPC UA or DA and expose OPC UA Complex data structures to OPC UA clients that can consume them.  Add in the flexibility provided by its ETL (Extract, Transform, Load) Tools, these values can be reformatted to the needs of any connected cloud service.

    Want to try OPC Router? If you’re in the US & Canada, please download a free trial from our website. In the rest of the world, our partner inray that created the product has local partners to support you.

    OPC UA Companion Specifications & Using With Your Existing Systems

    OPC UA complex data structures and methods can be specific to a single server or device type, or they can be formalized for common use cases. Quite often, standards and regulations within an industry create the need for the collection of similar information in similar formats. Companion specifications accommodate these needs by creating data models that fit the needs of industries. For example, EUROMAP 77 is a more well-known specification that is tailored to injection molding machines in the plastics and rubber space. PackML for the food, beverage and consumer packaged goods industries is another.

    OPC Router’s OPC UA server supports the import of Companion Specifications from an XML file that defines a vendor’s custom node set. So just like complex data, delivering on the promise of OPC we spoke about, once data is available in OPC Router, it’s available to be shared with OPC DA, OPC UA systems, databases, ERP, and more.

    Additionally, users and integrators can connect to the OPC UA Cloud Library to import the standardized node sets provided by the OPC Foundation as shown in the image below. This opens the possibilities for OPC UA clients to consume aggregate data from an array of sources in an expected, structured format that is optimized for any industry. Users can create a free account with the OPC Foundation and have pre-configured information models at their fingertips tailored to their needs.

    Some examples of information models available in the OPC UA Cloud Library are:

    Users are not limited to the OPC Foundation’s library alone; in fact, they can reference any cloud library of OPC UA Companion Specification, and even load their own if there’s been one defined for your specific business demands.

    Once a Companion Spec is referenced in OPC Router, an OPC UA Server implementing that specification is created in just a few clicks. Then with the OPC Router’s visual workflow engine, data points can be connected and made available in the OPC UA Server, regardless of where you sourced the data from.

    What about OPC UA PubSub and how can it help?

    The OPC UA standard offers a publish-subscribe (Pub/Sub) model where clients can either send (publish) or receive (subscribe) data. A broker is needed to manage data exchange between Publishers and Subscribers.

    For systems with multiple data senders and receivers, OPC UA Pub/Sub is more efficient than direct connections. It supports UDP and MQTT, offering flexibility with standardized methods for data organization and packaging, solving interoperability issues common in other Pub/Sub solutions.

    In a system with numerous machine sensors, OPC UA Pub/Sub allows sensors to publish data to a broker. Client applications can then receive this data without 1-to-1 connections. Sensors can also receive feedback from clients, enhancing application responsiveness and efficiency.

    Understanding JSON and UADP

    What is JSON?

    JSON (JavaScript Object Notation) is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate. It uses a text format that is completely language-independent but uses conventions that are familiar to programmers of the C family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

    What is UADP?

    UADP (Universal Architecture Data Protocol) is a protocol used in the OPC UA (Open Platform Communications Unified Architecture) framework for industrial automation. UADP is designed to support efficient data transmission by encoding messages in a binary format, which allows for fast and reliable communication between devices and systems in industrial settings. It facilitates interoperability and scalability in complex industrial environments.

    When should I use JSON or UADP?

    JSON and UADP cater to different needs and use cases. JSON, or JavaScript Object Notation, offers users the flexibility to create payloads structured exactly as they need. This freedom allows for customized data interchange, which can be particularly useful in web applications and scenarios where human readability and ease of debugging are crucial. However, this customization means that receivers must understand the specific format to retrieve data successfully, which can add complexity and require additional effort to maintain.

    In contrast, UADP (Universal Architecture Data Protocol) provides a predefined structure within the OPC UA framework. This structured approach means that any OPC UA Pub/Sub compliant solution already expects the data in a specific format, saving time and reducing the investment needed to create and maintain customized payloads. UADP’s binary encoding facilitates secure, efficient and reliable communication, particularly suited for industrial automation environments where performance, scalability, and interoperability are critical. However, users are confined to the predefined structure, which may limit flexibility compared to JSON. Developers must consider their application, corporate and industry specific best practice security requirements, and operating environment needs to make the best choice for their applications.

    How Can You Leverage OPC UA Pub/Sub Today?

    Further delivering on the promise of OPC, Software Toolbox offers two solutions to empower your use of OPC UA Pub/Sub.

    OPC Router, mentioned before, can publish and subscribe to OPC UA Pub/Sub data.  With OPC UA and DA classic Client interfaces and a generic data OPC UA server interface, you’ll be able to then cleanly integrate with any HMI, SCADA, MES or Historian system supporting those interfaces.  You’ll also have the options to integrate with ERP, SAP natively, databases, web services and more.

    Want to try OPC Router? If you’re in the US & Canada, please download a free trial from our website. In the rest of the world, our partner inray that created the product has local partners to support you.

    For those of you that are developers, you don’t have to become an expert on the OPC UA specifications to leverage these technologies.  Another solution offered by Software Toolbox, on a global basis, is the OPC Data Client Toolkit. The OPC Data Client Toolkit is a rapid development toolkit for quickly adding OPC client connectivity to custom applications including OPC UA and OPC Classic (DA, AE and XML-DA), with support for OPC UA Pub/Sub and Complex Data.

    See OPC Data Client in action in this deep dive technical blog that includes code samples. Free trial software is available along with other learning resources from Software Toolbox.

    Conclusion

    Don’t wait to leverage powerful OPC UA technologies. The promise of OPC continues to be delivered by empowering best-of-breed solutions that bring together applications at all stages of their lifecycle.  Software Toolbox continues to deliver on that promise with our solutions and support.  We invite you to learn more about all our solutions!