Publish/subscribe (pub/sub) is an asynchronous communication method in which messages are exchanged between applications, without knowing the identity of the sender or recipient.

The pub/sub paradigm promises a new era of real-time data sharing and enhanced flexibility to enable next-generation IIoT and Industry 4.0 applications such as predictive maintenance and flexible manufacturing to support the production of custom - tailored products. Building edge computing applications using publish-subscribe communication allows application developers to create portable and lightweight services at the edge for machine learning, data aggregation, and real-time control by simply subscribing to data sources from a network broker/Dispatching server.

The pub/sub paradigm, decouples all devices as well as applications from endpoint devices. A central broker accepts and distributes all data in a pub/sub architecture, as shown in Figure 1(a). Network design is further simplified because, rather than enabling one device to communicate with dozens of devices or applications to accomplish a specific job, communication is created through a single server that delivers information to any device or application that requests it. It also enables for the implementation of open standards, interoperability, and real-time data exchange in information silos that were previously locked down. Pub/sub, which is rapidly gaining traction due to a number of emerging standards, most significantly Message Queueing Telemetry Transport (MQTT), Data Distribution Service (DDS), and the OPC Unified Architecture (OPC UA), with time sensitive networking (TSN) will connect the factory floor to the enterprise, sensors to cloud, and real-time devices to work cells and additions to accommodate time-critical or deterministic applications.

Figure 1(b) depicts the "client-server" model, which illustrates the connection between collaborating processes in an application. The server component performs a function or provides a service to one or more clients that request it. For applications (usually clients) to communicate with a system, OPC UA provides a powerful "client-server" model. This enables information to be organised hierarchically and devices to be incorporated into servers. Servers expose their information (data elements) via services, which describe the operations that may be performed on them. Clients (such as Human Machine Interface [HMI] and other tools) can use service calls to explore the object model, read/write data elements, invoke methods, and configure or manage a system.

As an example, programmable logic controllers (PLCs) or host workstations communicate one-to-one or one-to-many with field instruments such as sensors and valves to collect data for a specific application or to perform a certain control algorithm. A master PLC or defined client delivers a direct request for information, such as temperature readings or cycle times, and the suitably designated slave devices or servers respond at predetermined intervals.

Publish/Subscribe Communication
Figure 1(a): Publish/Subscribe Communication
Client/Server
Figure 1(b): Client/Server

Fieldbus

Fieldbus is a Local Area Network (LAN) standard for industrial automation field devices that allows them to communicate with one another. Sensors, actuators, controllers of various types, such as PLCs and DCS, and other computer systems, such as HMI, process management servers, and so on, are examples of Fieldbus devices. Fieldbus enables the transmission of many input and output variables across a single medium, such as a pair of metallic wires, optical fiber, or even radio, utilising standard digital communication technologies such as baseband time-division multiplexing or frequency division multiplexing.

The technology allows a superior digital communication network for high speed ubiquitous and reliable communication within a harsh industrial environment, with enhanced data availability from smart field bus devices which are required for advanced automation tasks such as control, monitoring, supervision, and so on. The easy configurability and interoperability of system components results in an open system that is readily installable, maintained, and upgradeable, leveraging computing and networking hardware and software solutions (ERP, CRM and more). Types of Network and Fieldbus technologies include: EtherNet/IP; DeviceNet; ControlNet; CompoNet; EtherCAT; PROFIBUS; PROFINET; Ethernet POWERLINK; CANopen; Interbus; CC-Link; Modbus TPC; AS-Interface; and IO-Link.

Implementing Pub/Sub and Client/Server using OPC-UA

As shown in the figure below, OPC UA is identified as the key technology that extends down to field-level devices that are connected to Fieldbus, such as sensors and actuators. Adopting the OPC UA over TSN standard will allow them to benefit from multi-vendor, peer-to-peer communications and control between sensors, control devices, PLCs and distributed control systems.

OPC UA connecting with Fieldbus
Figure 2: OPC UA connecting with Fieldbus

The client-server version is confined to ‘point-to-point’ communication and is based upon TCP/IP, therefore it cannot be used in real time. The Pub/Sub version handles one-to-many communications (one publisher to any number of subscribers) but could be implemented with time-sensitive networking, allowing OPC UA to provide hard real-time communication. OPC UA enables various networks to interact with one another, particularly at the factory and enterprise levels. In contrast, industrial Ethernet is primarily intended for communication between field devices and controllers. The two can and will coexist for a long time.

Stay informed


Keep up to date on the latest information and exclusive offers!

Subscribe now

Data Protection & Privacy Policy

Thanks for subscribing

Well done! You are now part of an elite group who receive the latest info on products, technologies and applications straight to your inbox.

Technical Resources

Articles, eBooks, Webinars, and more.
Keeping you on top of innovations.