Edge Device and Method for Providing Redundancy Functions on the Edge Device
20240007233 · 2024-01-04
Inventors
Cpc classification
G05B2219/33235
PHYSICS
G05B2219/39169
PHYSICS
International classification
Abstract
An edge device includes a first communications connection to a public first network, a plurality of second communications connections to a second network, i.e., a private industrial network, and application software that is loadable via the first connection into the edge device, wherein the edge device is configured such that the plurality of second communications connections are configurable via the application software for redundant operation of the second network in accordance with an industrial redundancy protocol, and the application software executes redundancy functions of the redundancy protocol, such that a quick and simple way of providing, changing or retrofitting redundancy functions for a redundantly operated industrial communications network is hereby possible.
Claims
1.-16. (canceled)
17. An edge device comprising: a first communication port connected to a first public network; a plurality of second communication ports connected to a second network; and application software which is loadable into the edge device via the first communication port; wherein the edge device is configured such that, via the application software, the plurality of second communication ports is configurable to provide redundant operation of the second network in accordance with an industrial redundancy protocol; wherein the application software performs redundancy functions of the redundancy protocol; wherein the edge device is configured to receive the application software via the first communication port and to execute said application software upon receipt thereof; wherein provision of the redundancy functions is purely software-based and independent of hardware of the edge device; wherein the application software provides a test function which checks the edge device for suitability to perform the redundancy functions of the redundancy protocol; and wherein the application software provides a user interface for logical assignment of the plurality of second communication ports.
18. The edge device as claimed in claim 17, further comprising: a data bus formed as a backplane switch; wherein the plurality of second communication ports are connected to the data bus; and wherein the data bus is configured such that an interconnection of the second communication ports on the data bus is configurable via the application software.
19. The edge device as claimed in claim 17, wherein the redundancy protocol is Media Redundancy Protocol in accordance with International Electrotechnical Commission standard 62439-2.
20. The edge device as claimed in claim 18, wherein the redundancy protocol is Media Redundancy Protocol in accordance with International Electrotechnical Commission standard 62439-2.
21. The edge device as claimed in claim 19, wherein the application software performs a ring redundancy manager function or a ring redundancy client function in accordance with the IEC 62439-2 standard.
22. The edge device as claimed in claim 17, wherein the redundancy protocol is High-availability Seamless Redundancy Protocol or Parallel Redundancy Protocol in accordance with Electrotechnical Commission standard 62439-3.
23. The edge device as claimed in claim 18, wherein the redundancy protocol is High-availability Seamless Redundancy Protocol or Parallel Redundancy Protocol in accordance with Electrotechnical Commission standard 62439-3.
24. The edge device as claimed in claim 23, wherein the application software performs a Double Attached Node, RedBox or QuadBox function in accordance with the IEC 62439-3 standard.
25. The edge device as claimed in claim 17, wherein the application software provides a user interface for selecting redundancy functions.
26. The edge device as claimed in claim 17, further comprising: a sequential control environment configured to execute on a host operating system installed in the edge device; wherein the application software is loadable into the sequential control environment for execution within the sequential control environment; and wherein the sequential control environment includes an interface for accessing the plurality of second communication ports.
27. The edge device as claimed in claim 26, wherein the application software comprises at least one software container configured to execute in isolation from other software containers or container groups within the sequential control environment on the host operating system.
28. The edge device as claimed in claim 26, wherein the sequential control environment comprises a software component which directly accesses the plurality of second communication ports and provides hardware resources of the edge device which are required to perform the redundancy functions.
29. The edge device as claimed in claim 27, wherein the sequential control environment comprises a software component which directly accesses the plurality of second communication ports and provides hardware resources of the edge device which are required to perform the redundancy functions.
30. The edge device as claimed in claim 28, wherein the software component filters and evaluates datagrams received via the plurality of second communication ports.
31. A method for providing redundancy functions in accordance with an industrial redundancy protocol on an edge device comprising a first communication port connected to a first public network and a plurality of second communication ports connected to a second network, the method comprising: a) loading application software onto the edge device via the first communication port; b) configuring the plurality of second communication ports via the application software for redundant operation of the second network in accordance with a redundancy protocol; and c) performing redundancy functions of the redundancy protocol by the application software; wherein said providing the redundancy functions is purely software-based and independent of hardware of the edge device; and wherein said step b) comprises: performing a check, via the application software, to determine whether the hardware of the edge device is suitable to perform the redundancy functions, said method being terminated if the check is unsuccessful; wherein if the check is successful, the method further comprising: requesting information on the configuration of the plurality of second communication ports, the application software providing a user interface for logical assignment of second communication ports; acquiring information on the configuration of the plurality of second configuration ports; configuring the plurality of second communication ports; and physically connecting the second network to the plurality of second communication ports.
32. A segment of application software, the segment of application software being established to be loaded, in cases of an edge device comprising a first communication port connected to a first public network and a plurality of second communication ports connected to a second network, via a first communication port, into the edge device and to be executed at the edge device, the application software comprising commands which, when executed, cause the edge device to perform steps b) and c) of the method as claimed in claim 31.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0059] The invention as well as further advantageous embodiments of the invention will now be explained in more detail in the figures using exemplary embodiments, where corresponding parts are provided with the same reference characters in each case, in which:
[0060]
[0061]
[0062]
[0063]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0064]
[0065] The edge device 1 additionally comprises a processor 7 for processing program code, a main memory 8 into which the program code can be loaded, and a memory unit 9, in particular a hard disk, flash memory or SSD memory, for non-volatile storage of the program code. Installed in the edge device 1 is a host operating system 10 upon which a sequential control environment 11, for example, a Docker engine, for application software 12, 13, 14 in the form of software containers 5 is executed via the processor 7, the main memory 8 and the memory unit 9. The sequential control environment 11 uses drivers of the host operating system 10 to access a data bus 18 and the transmitting and receiving units 6, and also provides corresponding interfaces for the software containers 5 of the application software 12, 13, 14 that can be loaded into the sequential control environment 11 for execution there. The software containers 5 with the application software are each configured to execute in isolation from other software containers or container groups within the sequential control environment 11. On the other hand, the software containers 5 each share a kernel of the host operating system 10 of the edge device 1 with other software containers executing on the edge device 1.
[0066] Isolation of the software containers 5, i.e., isolation of selected operating system resources from one another, can be implemented in particular via control groups and namespacing. With control groups, process groups can be defined to restrict available resources for selected groups. Namespaces can be used to isolate or hide individual processes or control groups from other processes or control groups. Disk images for software containers can, for example, be called up from a storage and retrieval system to which a large number of users have read or write access.
[0067] The application software 12 is used to provide redundancy functions on the edge device 1 in accordance with an industrial redundancy protocol. For this purpose, the application software 12 established as a container 5 for the sequential control environment 11 (for example, a Docker engine) and can be loaded into the edge device 1 via the first port 2 (i.e., can be stored in the memory unit 9) and executed therein, for example, via the application software 13.
[0068] For this purpose, the software application 13 can comprise a special installation routine that implements storage of the application software 12 in the memory unit 9 and any necessary configuration of the application software 12.
[0069] It is particularly advantageous if the redundancy functions can be performed without needing to load further software components, i.e., operating system software, drivers, IP stack or the like, into the edge device 1 in addition to the application software 12. This is different, for example, from firmware, which typically includes further software components of this kind.
[0070] With the application software 12, the second ports 4a, 4b, 4c, 4d can be configured for redundant operation of the second network 20 in accordance with an industrial redundancy protocol, and the application software 12 is established to perform redundancy functions of the redundancy protocol.
[0071] Configuring of the second communication ports 4a, 4b, 4c, 4d is necessary, for example, in order to [0072] assign the second communication ports (ports) 4a, 4b, 4c, 4d to a real or virtual second network (for example, interconnection or (logical) linking of two of the second communication ports to provide ring functionality), [0073] activate a blocking function for datagrams (for example, in cases of an MRP master) or a forwarding function for datagrams (for example, in cases of an MRP client) for a second communication port, depending on the role of the edge device 1 in the redundancy protocol, [0074] activate or deactivate monitoring of the connection status of second communication ports 4a, 4b, 4c, 4d, such as link-up monitoring or a link-down monitoring, [0075] in principle enable or disable a second communication port 4a, 4b, 4c, 4d (for example, activate or deactivate a Link active).
[0076] The redundancy protocol can be, for example, the Media Redundancy Protocol (MRP) per IEC 62439-2. The application software 12 is then advantageously established such that a ring redundancy manager function or a ring redundancy client function can be performed by it, in particular selectively. Thus, a ring redundancy manager or ring redundancy client can be flexibly provided or retrofitted in the edge device 1 in accordance with the MRP protocol.
[0077] In accordance with another advantageous embodiment, the redundancy protocol is the High-availability Seamless Redundancy Protocol (HSR) or the Parallel Redundancy Protocol (PRP) per IEC 62439-3. The application software 12 is then established such that a Double Attached Node (DAN), RedBox or QuadBox function can be performed by it, in particular selectively. Thus, a Double Attached Node (DAN), a RedBox or a QuadBox can be flexibly provided or retrofitted in the edge device 1 in accordance with the HSR or PRP protocol.
[0078] The application software 12 provides, via the first port 2, a user interface 15 for logical assignment of second ports 4a, 4b, 4c, 4d by a user of the edge device 1, i.e. in order to allocate selected second ports 4a, 4b, 4c, 4d exclusively and to interlink them in a switched manner for forwarding datagrams. The user interface 15 can also provide options for selecting redundancy functions or the parameterization thereof.
[0079] The data bus 18, which is implemented in particular as a backplane switch, is configured such that interconnection of the second communication ports 4a, 4b, 4c, 4d on the data bus 18 can be configured via the application software 12.
[0080] For example, the edge device 1 or data bus 18 can have one or more registers (i.e., data stores) defining the interconnection (or linking) of second communication ports, and the application software 12 has write access to these registers to define the interconnections of the second communication ports.
[0081] In the case of the MRP protocol, both a ring redundancy manager function and a ring redundancy client function can advantageously be performed by the application software 12, and the user interface 15 is used to select one of the two functions for the performance thereof.
[0082] In the case of the HSR or PRP protocol, the application software 12 can perform a Double Attached Node (DAN), a RedBox and a QuadBox function, and the user interface 15 is used to select one of the three functions for the performance thereof.
[0083] In order to avoid malfunctions from the outset, the application software 12 advantageously also provides a test function 16 that checks whether the edge device 1 is capable of performing redundancy functions of the desired redundancy protocol. This test function can be performed, for example, during an initialization process of the application software 12. The test function is used to interrogate the hardware of the edge device 1 about the number of available second communication ports. For example, if at least two second communication ports are not available, the edge device 1 is unsuitable for performing the redundancy functions. Such an interrogation can be performed by the application software, for example, by reading registers of the edge device hardware (for example, the data bus 18 to which the second communication ports are connected).
[0084] Advantageously, the sequential control environment 11 comprises a software component 17 which, as a kind of adapter between the application software 12 and the hardware, directly accesses the second ports 4a, 4b, 4c, 4d and provides hardware resources (e.g., buffer memory for forwarding datagrams, access times, and/or interrupt line to the CPU 7) of the edge device 1 that are required to perform the redundancy functions. This can ensure good interaction between the application software 12 and the hardware of the edge device 1.
[0085] The software component 17 is advantageously configured to filter and evaluate datagrams received via the second ports 4a, 4b, 4c, 4d in accordance with the redundancy functions specified by the application software 12. This means that, when the edge device 1 is operating as an MRP redundancy manager, for example, it can ensure that the ring is in working order and perform ring failover in the event of a fault.
[0086] Other application software, such as application software 14, can provide services or functions of an industrial automation system, such as control tasks, data acquisition/data output tasks, complex calculations, evaluations of production data, archiving tasks, or can be used for secure data exchange via the public network 3 using a cloud or other automation systems.
[0087]
[0088] One node in the network 20 must assume the role of ring redundancy manager in accordance with the MRP protocol, while all the other nodes have the role of ring redundancy client. The edge device 1 can now flexibly assume either the role of ring redundancy manager or the role of ring redundancy client.
[0089] The communication port 2 is connected to a public network 3, such as the Internet, and communicates with a cloud server (not shown in detail) in the cloud 29. The PROFINET network 20, on the other hand, is an on-site, private network. The edge device 1 is thus located at the boundary between a public area and a private area, as symbolized by the dashed dividing line 28.
[0090]
[0091] In the case of
[0092] In the future, Time-Sensitive Networking (TSN) in accordance with Institute of Electrical and Electronics Engineers (IEEE) standard 802.1Q, IEEE standard 802.1AB, IEEE standard 802.1AS, IEEE standard 802.1BA and IEEE standard 802.1CB, will be increasingly used in such networks.
[0093] The application software 12 is advantageously established such that a Double Attached Node Implementing HSR (DANH) function, a RedBox function or a QuadBox function can be performed by it, in particular selectively, and the application software 12 provides the option of selecting, via the user interface 15, one of the three functions for the performance thereof.
[0094] Thus, a Double Attached Node (DANH), a RedBox, or a QuadBox can be flexibly provided or retrofitted in the edge device 1 in accordance with the HSR protocol and thus perform HSR duplicate filtering functions.
[0095]
[0096] In a first step 41, the application software 12 is loaded onto the edge device 1 via the public network 3 and the port 2 by a user via the application software 13 and a user interface provided by the latter, and is stored and executed on the device.
[0097] In a second step 42, the application software 12 now checks the hardware of the edge device 1 for suitability for executing the redundancy functions, in particular for the presence of a required number of second ports 4a, 4b, 4c, 4d, i.e., at least two ports. The check is performed here using the software component 17 of the sequential control environment 11.
[0098] Such an interrogation can be performed by the application software 12, for example, by reading registers of the hardware of the edge device 1 (for example, the data bus 18).
[0099] If the check is not successful, for example, if no two ports are available, then the method is terminated by the application software 12 in a step 43 with an error message (see path B).
[0100] If the check is successful (see path A), in a further step 44 a user is then prompted by the application software 12 via the user interface 15 for information on the configuration of the second ports, in particular the second ports selected and their logical interconnection, and to select redundancy functions (in the case of the MRP protocol, for example, whether the edge device 1 is to perform the role of ring redundancy manager or ring redundancy client).
[0101] This information is acquired by the application software 12 in a step 45, whereupon, in a step 46, the selected second ports are logically interconnected. In addition, the selected redundancy functions are set or configured in the application software 12.
[0102] For example, the edge device 1 or data bus 18 may have one or more registers (i.e., data stores) that define the interconnection (or linking) of the second communication ports, and the application software 12 has write access to these registers to define the interconnections of the second communication ports.
[0103] In a final step 47, the network 20 or 30 can then be physically connected to the selected and logically interconnected second ports.
[0104] Thus, while there have been shown, described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods described and the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.