Method and system for transmitting data in industrial automation system and automation equipment
By using the OPC UA PubSub model and filtering unit in the industrial automation system to filter datagrams in the network adapter of the second automation device, the problem of excessive load of the network adapter in the prior art is solved, and efficient and economical data transmission is achieved.
Patent Information
- Application Number
- CN202410795540.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-20
- Filing Date
- 2024-06-19
- Publication Date
- 2024-12-20
AI Technical Summary
In industrial automation systems, prior art cannot effectively filter messages or data fields on higher protocol layers, resulting in overloading of network adapters on the serving user side and expensive.
By using the filtering unit associated with the multicast group in the network adapter of the second automation device, the first automation device is used as the publisher to send the payload data to the multicast group, and the second automation device is used to use the OPC UA PubSub model. The automation device selectively registers and receives data as a subscriber, and forwards or discards the datagram directly through the filtering unit to avoid processing by the host operating system.
It realizes the widely used and economical network cards in industrial automation systems for data filtering, reduces the load on the host operating system, and improves the efficiency and security of data transmission.
Smart Images

Figure CN119172405A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a method for transmitting data within an industrial automation system, a system for carrying out such a method and an automation device for receiving payload data including control data, measurement data or status data. Background Art
[0002] Industrial automation systems are used, in particular in the fields of manufacturing automation, process automation and building automation, to monitor, control and regulate technical processes and to enable the operation of control devices, sensors, machines and industrial facilities, which should be as autonomous as possible and independent of human intervention. Due to the increasing importance of information technology for automation systems, which include a large number of networked control units or computer units, methods for reliably providing monitoring, control and regulation functions, distributed over automation systems, are becoming increasingly important. In industrial automation systems, specific problems are regularly caused by message traffic with relatively large numbers of, but relatively short messages, which exacerbates the above-mentioned problems.
[0003] MQTT (MQ Telemetry Transport or Message Queue Telemetry Transport) is a messaging protocol for machine-to-machine communication (M2M) that is used to transmit messages with telemetry data between publisher and subscriber communication devices (see http: / / mqtt.org / ). In this case, the MQTT broker maintains a central database of information about all publishers and subscribers of telemetry data. Commands are received or data is collected via the MQTT broker by publishers and subscribers.
[0004] OPC Unified Architecture (OPC UA) defines an M2M communication protocol according to IEC 62541 and enables: semantic description of, for example, machine parameters, control variables or measured values, so that such machine data can be automatically evaluated. In particular, OPC UA includes an object-oriented namespace concept that includes metadata for describing objects. OPC UA servers provide an instance system and a type system within which clients can navigate and query information. In addition, OPC UA defines a variety of discovery mechanisms for publishing compatible automation devices and their functions and properties.
[0005] DE 10 138 363 A1 discloses a method for ensuring the quality of service of an Internet application, wherein the Internet application is automatically adapted and optimized using the resources of the IP access network and the terminal system that are present at the time of starting the Internet application. The Internet application captures the QoS (Quality of Service) communication requirements for the IP access network and stores them as an application profile. When the Internet application is activated, the currently existing network resources of the IP access network are compared with the stored application profile and control data are obtained. Based on the obtained control data, the provision of network resources is optimized for the Internet application concerned. Optimization in this case refers to the determination of the adapted time series and the most favorable series from a cost perspective (transmission cost).
[0006] It is known from EP 3 576 376 A1 that at least a first automation device within an industrial automation system makes available payload data comprising control data, measurement data and / or status data for retrieval or reception by a plurality of second automation devices. The first automation device periodically sends first information to announce the available payload data to a preset first multicast address within the industrial automation system. The first information in each case comprises details about the first automation device, a second multicast address via which details about the available payload data are made available, and second information addressing the payload data, which the first automation device uses to make the payload data available. The second automation device receives the details about the available payload data sent to the second multicast address. In addition, the second automation device receives payload data selected according to the read-out second information.
[0007] In addition to the widely used M2M communication protocol OPC UA Client / Server, OPC UA PubSub (OPC UA, Part 14) implements the publisher-subscriber model, which is used to exchange data between a service provider (publisher) and any number of service users (subscribers). In this case, the publisher makes its data available completely independently and in particular without a previous request from the subscriber side. The subscriber receives data only from those publishers for which it is configured, for example, within the scope of installation and commissioning. In particular, the messages from the publisher contain a series of data fields, based on which the subscriber can filter out the messages that are relevant to it. These data fields are usually assigned to ISO / OSI (International Organization for Standardization / Open Systems Interconnection) layer 5 or higher. However, common network adapters can only filter messages from publishers based on MAC addresses (Media Access Control addresses) or IP addresses and, if necessary, UDP (User Datagram Protocol) ports. Only with the help of special, more comprehensive programmable network adapters can publisher messages directed, for example, to a common subscriber broadcast address be effectively pre-filtered on the subscriber side in order to avoid unnecessary load on the subscriber system. However, such network adapters are loaded and expensive. Summary of the invention
[0008] The purpose of the present invention is to propose a method for transmitting data within an industrial automation system, which method enables efficient processing of multiple payload data provided by a service provider when a network adapter is used on the service user side, and the network adapter does not support filtering messages or filtering data fields on higher protocol layers, and to provide a device suitable for executing the method.
[0009] According to the invention, this object is achieved by an automation device of the features proposed by the invention. Advantageous developments of the invention are described in the present invention.
[0010] According to the method for transmitting data within an industrial automation system according to the invention, at least one first automation device within the industrial automation system makes payload data including control data, measurement data and / or status data available for reception by a control application running in a second automation device. The first automation device sends a datagram including the payload data or a selection of payload data to one or more multicast groups. The second automation device selectively registers itself as a subscriber at least in the multicast group. Preferably, the first automation device makes the payload data available to the second automation device according to OPC UA PubSub. In this case, the first automation device acts as a publisher and the second automation device acts as a subscriber.
[0011] The second automation devices each have at least one network adapter, which forwards the received datagrams according to the invention associated with the multicast group to the filter unit of the respective second automation device via a socket, which is assigned to a network protocol stack functional unit of the operating system of the respective second automation device. The network adapters of the second automation devices each comprise in particular a PHY (Physical Port Layer) component and a MAC component. The socket is preferably an XDP (Express Data Path) socket.
[0012] In addition, the control application advantageously requests the provision of a socket via the application programming interface of the filter unit. Accordingly, the socket can be provided to the control application via this application programming interface. In this way, the socket can be requested quickly and safely and provided to the requesting process.
[0013] According to the invention, the filter unit discards the forwarded datagram or forwards the datagram to the corresponding control application according to the forwarding criteria respectively preset by the control application. In this case, the datagram is directly forwarded to the control application by means of a socket without any processing by the operating system of the corresponding second automation device or is directly discarded.
[0014] In particular, the present invention makes it possible to use widely available and cheap network cards that have only limited filtering resources at the hardware level. This is achieved by having a filtering unit close to the subscriber side of the network adapter and connected to the network adapter via a socket. Thus, this pre-filtering of received datagrams does not cause a subscriber-side load on the network stack in the host operating system.
[0015] According to an advantageous embodiment of the invention, the first automation device periodically sends a first message for announcing the available payload data to a preset first multicast address within the industrial automation system. In this case, the first message comprises details about the first automation device and at least one second multicast address via which the selected payload data is made available. Thus, the second automation device can filter the first message according to the respective selected details and read out the respective second multicast address from the selected first message. Preferably, the second automation device registers itself as a subscriber in the multicast group, which is associated with the respective read out second multicast address. In this way, the second automation device can receive the selected payload data sent to the respective second multicast address.
[0016] Preferably, the control application is provided by means of at least one sequence control component, and the sequence control component can be loaded into the sequence control environment installed on the corresponding second automation device and can be executed in the sequence control environment. The sequence control components run in isolation from each other in the sequence control environment and share the operating system kernel of the corresponding second automation device. In particular, the sequence control component can be a container, such as a Docker (container technology) container, a WebAssembly (network assembly language) bytecode or a Java (computer programming language) bytecode, and the sequence control environment is, for example, a container runtime environment, such as a Docker Engine (engine), a WebAssembly runtime environment or a Java virtual machine. The sequence control environment is preferably used to create, delete or link virtual resources. In this case, in addition to the container, the virtual resources, for example, also include a virtual communication network and a connection allocated thereto.
[0017] Furthermore, the sequence control component can also include groups of containers, such as Pods. In principle, alternative micro-virtualization concepts (such as Snap) or orchestrated container runtime environments (such as podman or Kubernetes) can also be used for the sequence control component. For example, storage images for containers can be retrieved from a storage system and provisioning system that can be accessed by a large number of users in read and / or write mode.
[0018] In order to forward a multicast datagram with selected payload data from a first automation device via a network infrastructure device to a second automation device, a quality of service parameter characterizing a quality of service requirement is preferably specified by the first automation device or the second automation device. In the network infrastructure device, resources for transmitting the multicast datagram are reserved according to the specified quality of service parameter if sufficient availability exists in each case. In this case, the availability is checked by a higher-level communication control unit of the automation system or the network infrastructure device. The network infrastructure device can be a switch or a bridge in particular. In this case, the resources for transmitting the multicast datagram include, for example, an available transmission window, a bandwidth, a maximum guaranteed delay, a queue count, a queue buffer or an address buffer in the switch or the bridge.
[0019] According to a particularly preferred embodiment of the present invention, the forwarding of multicast datagrams through network infrastructure devices is controlled by frame preemption, in particular according to IEEE802.1Q (standard); by time-aware shapers, in particular according to IEEE802.1Q; by credit-based shapers, in particular according to IEEE802.1Q; by limited burst shapers; by creeping shapers and / or by priority-based shapers. This ensures deterministic communication behavior based on standardized, inexpensive components.
[0020] The system according to the invention is arranged to perform the method according to the aforementioned embodiments and comprises at least one first automation device and a plurality of second automation devices within an industrial automation system. The first automation device is configured to make payload data comprising control data, measurement data or status data available within the industrial automation system for reception by a control application running in the second automation device. Furthermore, the first automation device is further configured to send a datagram comprising the payload data or a selection of the payload data to one or more multicast groups.
[0021] According to the invention, the second automation devices are each configured to selectively register themselves as subscribers at least in a multicast group. Furthermore, the second automation devices each have at least one network adapter configured to forward received datagrams associated with the multicast group to a filter unit of the respective second automation device via a socket, the socket being assigned to a network protocol stack functional unit of an operating system of the respective second automation device.
[0022] The filter units are respectively configured to discard the forwarded datagrams or forward them to the corresponding control applications according to forwarding criteria correspondingly preset by the control applications. In this case, the datagrams are directly forwarded to the control applications and / or directly discarded by means of a socket without being processed by the operating system of the corresponding second automation device.
[0023] The automation device according to the invention is suitable for the system according to the above-mentioned embodiments and is configured to selectively register as a subscriber at least in a multicast group. In addition, the automation device has at least one network adapter, which forwards received datagrams associated with the multicast group to a filter unit of the automation device via a socket, the socket being assigned to a network protocol stack functional unit of an operating system of the automation device. The filter unit is configured to discard the forwarded datagrams or forward them to the corresponding control application according to a forwarding criterion preset by the control application. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In the following, the invention is explained in more detail based on exemplary embodiments according to the accompanying drawings.
[0025] Figure 1 A system for transmitting data to one or more multicast groups within an industrial automation system is shown. DETAILED DESCRIPTION
[0026] Figure 1The system shown comprises a first automation device 100, for example a programmable logic controller for controlling a connected machine 101, which makes available via a communication network 400 of the industrial automation system payload data comprising control data, measurement data and / or status data for reception by a control application running in a second automation device 200, 300. The communication network 400 advantageously comprises a plurality of communication devices, in particular switches, which forward data, thereby providing connectivity for a plurality of first and second automation devices. In addition to a programmable logic controller or a numerical machine controller, the second automation device can be, for example, a host 200 or an operator control station and an observation station 300 with monitoring and control functions.
[0027] The first automation device 100 sends a datagram 110 including payload data or a selection of payload data to one or more multicast groups. The second automation device 200, 300 selectively registers itself as a subscriber at least in the multicast group. In the present exemplary embodiment, the first automation device 100 makes the payload data available to the second automation device 200, 300 according to OPC UA PubSub. In this case, the first automation device 100 acts as a publisher and the second automation device 200, 300 acts as a subscriber. In principle, the role of publisher and the role of subscriber can be assigned to an automation device at the same time, for example when it provides automation services on the one hand and uses automation services of other devices on the other hand.
[0028] The subscribers 200, 300 basically need metadata or details about the available payload data from the publisher 100. Advantageously, the metadata is announced regularly via a special UDP (User Datagram Protocol) multicast group or a UDP multicast address. Additionally, in order to retrieve or receive the payload data, the subscribers 200, 300 need, for example, to assign a UDP multicast address to the respective publisher 100, or for a time-sensitive network (TSN), a stream identifier according to IEEE802.1Qat, depending on the communication network protocol used. Typically, the UDP multicast address and the TSN stream identifier are dynamically assigned.
[0029] For example, in order to retrieve or receive payload data provided by the publisher 100, the subscriber 200, 300 sends a request to the server of the OPC UA Global Discovery Service (GDS) for the transmission endpoint URL (Uniform Resource Locator). For this purpose, the respective subscriber 200, 300 specifies in particular the PublisherID of the respective publisher 100. For example, in addition to the WriterGroupID assigned to the publisher 100, the PublisherID can be configured in the subscriber 200, 300.
[0030] After transmitting the endpoint URL, the subscriber 200, 300, for example by means of an OPC UA client, establishes a client-server connection to the OPC UA server of the publisher 100. The subscriber 200, 300 sends a request via this client-server connection to transmit a UDP multicast address or stream identifier for use by the publisher 100. In addition, the subscriber 200, 300 can also query the security group ID via the client-server connection.
[0031] Once the subscriber 200, 300 receives the requested information about the addressing payload data and metadata from the publisher 100 via the client server connection, the subscriber 200, 300 can connect to the UDP multicast group by means of the OPC UA subscriber component, to which the metadata describing the payload data is provided by the OPC UA publisher component of the publisher 100. In case of an additional security request, the subscriber 200, 300 can retrieve the key material for decrypting the payload data from the security key service after successful authorization, mentioning the above-mentioned security group ID. Finally, the subscriber 200, 300 receives the datagram 110 with the payload data from the publisher 100 via the UDP multicast address of the payload data or by means of the stream identifier, and decodes it according to the metadata.
[0032] By way of example, the filtering of datagrams 110 with subscribed payload data by a second automation device using a host 200 is explained. The following embodiments apply in a corresponding manner to all other second automation devices. The host 200 has a network adapter 210, which forwards datagrams 110 associated with a multicast group to a filtering unit 240 of the host 200 via RX / TX (receive / transmit) queues 201-203 of the network adapter 210 and via a socket 230, which is assigned to a network protocol stack functional unit 220 of an operating system 211 of the host 200. The socket 230 is preferably a fast data path socket (XDP socket). For example, the provision of the socket 230 can be requested by a control application 213-215 running or installed on the host 200 via an application programming interface. After the socket 230 assigned to the filtering unit 240 is generated, the socket is added to the available RX / TX queues 201-203 of the network adapter 210.
[0033] When the control application 213 is implemented as a program running on the operating system 211 of the host 200, in the present exemplary embodiment, the control applications 214-215 are implemented by means of a sequence control component or by means of a container, and the sequence control component can be loaded into the sequence control environment 212 installed on the operating system 211 as an application of the host 200 and can be executed there. The sequence control components or containers in the sequence control environment 212 run in isolation from each other and share the operating system kernel of the host 200. As an alternative to the container, the sequence control component can also be a WebAssembly bytecode or a Java bytecode. Accordingly, the sequence control environment 212 is a container runtime environment, a WebAssembly runtime environment, or a Java virtual machine.
[0034] The filter unit 240 discards the forwarded datagram 110 according to the forwarding criteria preset by the control applications 213-215 and stores it in the database 250 assigned to the filter unit 240, or forwards the datagram 110 to the corresponding control applications 213-215. In this case, the datagram 110 is directly forwarded to the control applications 213-215 or directly discarded by the operating system 211 of the host 200 via the socket 230 without being processed.
[0035] According to a preferred embodiment, for forwarding a multicast datagram 110 with selected payload data from a first automation device 100 to a second automation device 200, 300 via a network infrastructure device, a quality of service parameter characterizing a quality of service requirement is specified by the first automation device 100 or the second automation device 200, 300, the network infrastructure device being comprised by the communication network 400. In the network infrastructure device, resources for transmitting the multicast datagram 110 are reserved according to the specified quality of service parameter, sufficient availability being provided there in each case. The availability is checked, for example, by a higher-level communication control unit of the automation system or by the network infrastructure device itself.
[0036] The network infrastructure device is in particular a switch or a bridge. Accordingly, the resources used for transmitting the multicast datagram 110 include a used transmission window, a bandwidth, a maximum guaranteed delay, a queue count, a queue buffer or an address buffer in the switch or the bridge. Advantageously, the forwarding of the multicast datagram 110 via the network infrastructure device is controlled by means of frame preemption, in particular frame preemption according to IEEE 802.1Q, by means of a time-aware shaper, in particular a time-aware shaper according to IEEE 802.1Q, a credit-based shaper, in particular a credit-based shaper according to IEEE802.1Q, by means of a limited burst shaper, by means of a creeping shaper or by means of a priority-based shaper.
Claims
1. A method for transmitting data within an industrial automation system, wherein: At least one first automation device (100) within the industrial automation system makes payload data including control data, measurement data and / or status data available for receipt by a control application (213-215) running in a second automation device (200, 300), The first automation device sends a datagram (110) including the payload data or a selection of payload data to one or more multicast groups, wherein the second automation device selectively registers itself as a subscriber at least in the multicast group, The second automation devices each have at least one network adapter (210) which forwards received datagrams associated with the multicast group to a filter unit (240) of the respective second automation device via a socket (230), the socket being assigned to a network protocol stack functional unit (220) of an operating system (211) of the respective second automation device, The filter unit discards the forwarded datagram or forwards the datagram to the corresponding control application according to a forwarding criterion preset by the control application, wherein the datagram is directly forwarded to the control application via the socket without being processed by the operating system of the corresponding second automation device and / or is directly discarded.
2. The method according to claim 1, in, The first automation device periodically sends first information for announcing available payload data to a preset first multicast address within the industrial automation system, wherein the first information includes details about the first automation device and at least one second multicast address, making the selected payload data available via the second multicast address, and wherein the second automation device filters the first information according to the corresponding selected details and reads the corresponding second multicast address from the selected first information.
3. The method according to claim 2, in, The second automation device registers itself as a subscriber in the multicast group associated with the respectively read second multicast address, and wherein the second automation device receives the selected payload data sent to the respective second multicast address.
4. The method according to any one of claims 1 to 3, in, The first automation device makes the payload data available to the second automation device according to OPC UA PubSub, wherein the first automation device acts as a publisher, and wherein the second automation device acts as a subscriber.
5. The method according to any one of claims 1 to 4, in, The socket is a fast data path socket, ie an XDP socket.
6. The method according to any one of claims 1 to 5, in, The socket is provided by the control application through an application programming interface of the filtering unit.
7. The method according to any one of claims 1 to 6, in, The control applications (214-215) are provided respectively with the aid of at least one sequence control component, which can be loaded into a sequence control environment (212) installed on the respective second automation device and can be executed in the sequence control environment, wherein the sequence control components run in isolation from one another in the sequence control environment and share an operating system kernel of the respective second automation device.
8. The method according to claim 7, in, The sequence control component is a container, a WebAssembly bytecode, or a Java bytecode, and wherein the sequence control environment is a container runtime environment, a WebAssembly runtime environment, or a Java virtual machine.
9. The method according to any one of claims 1 to 8, in, In order to forward a multicast datagram (110) with selected payload data from the first automation device to the second automation device (200, 300) via a network infrastructure device, a quality of service parameter for characterizing a quality of service requirement is specified by the first automation device (100) and / or the second automation device, and resources for transmitting the multicast datagram are reserved in the network infrastructure device according to the specified quality of service parameter if sufficient availability is respectively present, wherein the availability is checked by a superior communication control unit of the automation system and / or the network infrastructure device.
10. The method according to claim 9, in, The network infrastructure device is a switch or a bridge, and wherein the resources used to transmit the multicast datagram include an available transmission window, bandwidth, maximum guaranteed delay, queue count, queue buffer and / or address buffer in the switch or bridge.
11. The method according to any one of claims 9 and 10, in, The forwarding of the multicast datagram via the network infrastructure device is controlled by means of frame preemption, in particular frame preemption according to IEEE 802.1Q, by means of a time-aware shaper, in particular a time-aware shaper according to IEEE 802.1Q, by means of a credit-based shaper, in particular a credit-based shaper according to IEEE 802.1Q, by means of a limited burst shaper, by means of a creeping shaper, and / or by means of a priority-based shaper.
12. A system for performing the method according to any one of claims 1 to 11, the system comprising: at least one first automation device (100) within an industrial automation system, and a plurality of second automation devices (200, 300), in, The first automation device is configured to make payload data including control data, measurement data and / or status data available within the industrial automation system for receipt by a control application (213-215) running in a second automation device, The first automation device is further configured to send a datagram (110) including the payload data or a selection of payload data to one or more multicast groups, wherein the second automation devices are respectively configured to selectively register themselves as subscribers at least in the multicast group, The second automation devices each have at least one network adapter (210), which is configured to forward received datagrams associated with the multicast group to a filter unit (240) of the respective second automation device via a socket (230), the socket being assigned to a network protocol stack functional unit (220) of an operating system (211) of the respective second automation device, The filtering units are respectively configured to discard the forwarded datagrams or forward the datagrams to the corresponding control applications according to forwarding criteria preset by the control applications, wherein the datagrams are directly forwarded to the control applications via the socket without being processed by the operating system of the corresponding second automation device and / or are directly discarded.
13. An automated device for use in a system according to claim 12, in, The automation device is configured to selectively register itself as a subscriber at least in a multicast group, The automation device has at least one network adapter (210), which is configured to forward received datagrams (110) associated with a multicast group to a filter unit (240) of the automation device via a socket (230), the socket being assigned to a network protocol stack functional unit (220) of an operating system (211) of the automation device (200), The filtering unit is configured to discard the forwarded datagram or forward the datagram to the corresponding control application according to a forwarding criterion preset by the control application, wherein the datagram is directly forwarded to the control application via the socket and / or directly discarded without being processed by the operating system of the automation device.
