OPC UA PubSub
QuickOPC gives you access to OPC UA functionality described in Part 14 of the OPC Unified Architecture Specification, also known as PubSub. OPC UA PubSub delivers datasets using message-oriented middleware, using protocols based on datagram transport (such as UDP or Ethernet) or broker transport (such as AMQP or MQTT).
QuickOPC supports OPC UA PubSub on Windows and Linux.
What Can You Do?With QuickOPC, you can:
- Subscribe to dataset messages from a publisher.
- Use UDP (with IPv4 or IPv6) or Ethernet (with or without VLAN tagging) for datagram transport.
- New: Use MQTT for broker-based transport.
- Parse UADP or (new:) JSON message mapping, and decode data encoded with Variant, DataValue, or RawData encoding.
- Receive chunked messages automatically assembled, and key frames and delta frames preprocessed.
- Deal with different header profiles, such as fixed cyclic, dynamic, or flexible.
- Consume data or events.
- Specify filtering by various criteria.
- Provide complete or partial metadata to assist in message decoding.
- Identify dataset fields by their names or indexes.
- Load and inspect PubSub configuration from a binary file, or access it live in an OPC UA server over its information model.
- Optionally, avoid using physical identifiers, specify PubSub objects by their names, and use automatic logical resolution (with data from a configuration file or an OPC server) to make PubSub subscriptions.
- Run the included OPC UA Demo Publisher tool to publish test messages.
- Use the OpcCmd Utility to make PubSub subscriptions without a need for coding.
If you need to match the PubSub capabilities against requirements expressed in terms of OPC UA profiles, see OPC UA Profiles in the documentation for the full list of profiles supported.
OPC UA PubSub Example in C#
The code below (in C#) shows how to subscribe to dataset messages and display each dataset using a callback method, using QuickOPC:
// The callback displays information about the dataset message received. EasyUASubscriber.SharedInstance.SubscribeDataSet( "opc.udp://220.127.116.11", (_, args) => Console.WriteLine(args.DataSetData));
No other product can do this in such a clear and concise code, in a single statement!
Of course, more examples come with the product. And, all OPC UA PubSub features of QuickOPC can be used from many languages and tools - not just C#, but also VB.NET, VB6, C/C++, VB6, PHP, Excel (VBA), Delphi, Perl, Python and more.
Footnote & required disclosure: QuickOPC (including its Options) is a software development kit (SDK) for development of OPC clients. Installing QuickOPC or its Options does not change system settings.