Method for Configuring an OPC UA PubSub Subscriber, Automation System, Computer Program and Computer-Readable Medium
20220353342 · 2022-11-03
Inventors
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04L67/34
ELECTRICITY
International classification
Abstract
A method for configuring at least one OPC UA PubSub subscriber in an in particular industrial network, in which a) a virtual address space is provided for the at least one subscriber on a configuration module that is separate from the at least one subscriber, b) a configuration for the at least one subscriber is performed and/or a configuration already existing for the at least one subscriber is changed in the virtual address space of the at least one subscriber, c) the configuration module converts the configuration and/or configuration change into at least one PubSub message, d) the at least one PubSub message is transmitted to the at least one subscriber, and e) the at least one subscriber is configured according to the at least one PubSub message. In addition, the invention relates to an automation system, a computer program and a computer-readable medium.
Claims
1.-13. (canceled)
14. A method for configuring at least one Open Platform Communications Unified Architecture Publish/Subscribe subscriber in an industrial network, the method comprising: a) providing a virtual address space for the at least one subscriber on a configuration module which is separate from the at least one subscriber; b) performing a configuration for the at least one subscriber in the virtual address space of the at least one subscriber and/or changing a configuration which already exists for the at least one subscriber; c) converting, by the configuration module, at least one of (i) the configuration and (ii) configuration change into at least one PubSub message; d) transmitting the at least one PubSub message to the at least one subscriber, e) configuring the at least one subscriber according to the at least one PubSub message, the method further comprising: receiving, by the configuration module, receives from the at least one subscriber, the identification thereof and a present configuration thereof as a PubSub message and, in reaction thereto, providing a virtual address space for the at least one subscriber in step a), joining, by the configuration module, a first publishing group, for which the configuration module is a publisher, and to which the at least one subscriber subscribes, and joining by the configuration module a second publishing group, in which the configuration module participates as a subscriber; and announcing, by the configuration module, the second publishing group in the first publishing group, and subscribing, by the at least one subscriber, to the second publishing group, the at least one subscriber sending its identification and its present configuration to the second publishing group as a PubSub message.
15. The method as claimed in claim 14, wherein at least one of (i) during step a) the virtual address space for the at least one subscriber is provided in an address space of the configuration module and (ii) during step b) the configuration in the virtual address space of the at least one subscriber is at least one of performed and changed via method calls.
16. The method as claimed in claim 14, wherein the configuration module sends the at least one PubSub message into which the configuration module has converted at least one of the configuration and configuration change to the first publishing group during step d).
17. The method as claimed in claim 15, wherein the configuration module sends the at least one PubSub message into which the configuration module has converted at least one of the configuration and configuration change to the first publishing group during step d).
18. The method as claimed in claim 14, wherein the configuration module converts at least one of the configuration and configuration change into at least one PubSub Event message during step c).
19. The method as claimed in claim 14, wherein the PubSub message into which the configuration module converts at least one of the configuration and configuration change during step d) also comprises an addressing of the at least one subscriber.
20. The method as claimed in claim 14, wherein the at least one subscriber acknowledges receipt of the at least one PubSub message transmitted during step d).
21. The method as claimed in claim 14, wherein an acknowledgement is provided by virtue of the at least one subscriber publishing the configuration performed during step d) in the second publishing group.
22. The method as claimed in claim 14, wherein the at least one subscriber or at least one of the subscribers is a field device.
23. The method as claimed in claim 22, wherein field device comprises an TO device.
24. The method as claimed in claim 14, wherein the at least one subscriber forms part of an industrial automation system.
25. The method as claimed in one of the preceding claim 14, wherein the configuration module is afforded by an OPC UA Discovery Server or forms part of the an OPC UA Discovery Server, the OPC UA Discovery Server being extended by a publisher and subscriber functionality and a server address space of the OPC UA Discovery Server, and the virtual address space being provided for the at least one subscriber during step a) being mapped in the server address space.
26. An automation system, comprising: at least one field device which forms at least one subscriber; and a configuration module which is separate from the at least one field device; wherein a virtual address space is provided or providable for the at least one field device in the configuration module; wherein the configuration module being configured such that, if at least one of (i) a configuration for the at least one field device is performed for the at least one field device in the or a virtual address space and (ii) a configuration which exists for the at least one field device is changed, then said configuration module converts at least one of the configuration and configuration change into at least one PubSub message and transmits the at least one PubSub message to the at least one field device; wherein the at least one field device is configured to configure itself according to the at least one PubSub message; wherein the configuration module is further configured to receives, from the at least one subscriber, the identification thereof and the present configuration thereof as a PubSub message and, in reaction thereto, to provide the virtual address space for the at least one subscriber, wherein the configuration module is further configured to join a first publishing group, for which said configuration module is a publisher, and to join a second publishing group, in which said configuration module participates as a subscriber; and wherein the configuration module is further configured to announces the second publishing group in the first publishing group.
27. A computer program comprising program code instruction which, when executed by a processor of at least one computer, cause the at least one computer to perform the steps of the method of claim 15.
28. A non-transitory computer-readable medium comprising program instructions which, when executed by a processor of at least one computer, cause the at least one computer to configure at least one Open Platform Communications Unified Architecture (OPC UA) Publish/Subscribe (PubSub) subscriber in an industrial network, the program instructions comprising: a) program code for providing a virtual address space for the at least one subscriber on a configuration module which is separate from the at least one subscriber; b) program code for performing a configuration for the at least one subscriber in the virtual address space of the at least one subscriber and/or for changing a configuration which already exists for the at least one subscriber; c) program code for converting, by the configuration module, at least one of (i) the configuration and (ii) configuration change into at least one PubSub message; d) program code for transmitting the at least one PubSub message to the at least one subscriber, e) program code for configuring the at least one subscriber according to the at least one PubSub message, the program instructions further comprising: program code for receiving, by the configuration module, receives from the at least one subscriber, the identification thereof and a present configuration thereof as a PubSub message and, in reaction thereto, for providing a virtual address space for the at least one subscriber in a), program code for joining, by the configuration module, a first publishing group, for which the configuration module is a publisher, and to which the at least one subscriber subscribes, and for joining by the configuration module a second publishing group, in which the configuration module participates as a subscriber; and program code for announcing, by the configuration module, the second publishing group in the first publishing group, and for subscribing, by the at least one subscriber, to the second publishing group, the at least one subscriber sending its identification and its present configuration to the second publishing group as a PubSub message.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Further features and advantages of the present invention will become clear from the description that follows of embodiments according to the invention with reference to the accompanying drawing, in which:
[0053]
[0054]
[0055]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0056]
[0057] The illustrated automation system comprises a plurality of components, inter alia, multiple field devices, at least some of which are afforded by IO devices, and programmable logic controllers. Of the multiplicity of components,
[0058] The components of the automation system 1 are connected to one another via a network 4 for the purpose of data interchange. The network 4 comprises multiple switches 5, one of which is shown by way of illustration in
[0059] The automation system 1 further comprises a configuration module 6 that, in the case of the exemplary illustrated embodiment, is afforded by an OPC UA Global Discovery Server (OPC UA GDS), which is implemented on a computer, in the present case an industrial PC, which is separate from the further components of the system 1 and likewise participates in the network 4. The OPC UA Global Discovery Server is extended by a publisher and subscriber functionality, which is implemented on a software basis by an appropriate functional unit 7, and a server address space 8 of its own.
[0060] The IO devices 2 and the controller 3 also comprise a functional unit 7 of this kind via which the PubSub function is implemented thereon. The functional units 7 of the IO devices 2 are likewise software-implemented in the present case.
[0061] The configuration module 6 serves as central manager, which is used for the OPC UA PubSub communication configuration of the IO devices 2 and, in the case of the example shown, also for the controller 3.
[0062] The configuration is effected by performing the exemplary embodiment of the method in accordance with the invention as described below.
[0063] In a first step, the configuration module 6 initially joins a first publishing group, for which it is the publisher. The group is subscribed to by the IO devices 2 that form subscribers and by the controller 3.
[0064] The configuration module 6 can be disclosed, or may previously have been disclosed, to the subscriber(s) 2, 3, for example, by using a well-known multicast group.
[0065] The configuration module 6 then also joins a second publishing group, in which it participates as a subscriber.
[0066] Next, the configuration module 6 announces the second publishing group, to which the IO devices 2 and the controller 3 subscribe, in the first publishing group. As a result, the configuration module 6 announces itself as responsible for the IO devices 2 and the controller 3.
[0067] The configuration module 6 communicates with the IO devices 2, or the controller 3, exclusively via the first publishing group. The configuration module 6 does this in particular by sending commands in the form of events to this publishing group.
[0068] The configuration module 6 receives from the respective IO device 2 and the controller 3 in each case the identification thereof and the present configuration thereof by virtue of the respective IO device 2, or the controller 3, sending the identification and present configuration to the second publishing group as a PubSub message, in the present case as DataSet metadata. The configuration module 6 then knows the respective subscriber 2, 3 and knows how it needs to be addressed.
[0069] The configuration module 6 then provides a virtual address space 9 within its server address space 8 for every subscriber 2, 3 whose identification and present configuration it has received. The configuration module 6 then has a server address space 8 that comprises virtual address spaces 9 for all subscribers for which the configuration module 6 is responsible.
[0070] In other words, the configuration module 6 takes the received identification/configuration messages of the subscribers 2, 3 as a basis for setting up its information model in the address space in order to represent the subscriber(s) there as appropriate. The respective virtual address space 9 preferably comprises the variable budget of the respective subscriber 2, 3 (e.g., Published DataSet).
[0071]
[0072] Next, a user 10 can perform a configuration for the respective subscriber 2, 3 in the virtual address space 9 of the subscriber as usual via method calls and/or can change a configuration that already exists for the respective subscriber 2, 3 as usual via method calls, such as via an OPC UA client and, for example, using the Utthunga PubSub configuration tool, which may be installed on a PC 11.
[0073] For this, the configuration module 6 can have an OPC UA server in a manner known per se, and the already known request/response method can preferably be used.
[0074] It should be noted
[0075] If a configuration for a subscriber 2, 3 is provided, or changed (e.g., a new WriterGroup is produced), in a virtual name space 9, the configuration module 6 converts the configuration and/or configuration change into a PubSub message, in the present case a PubSub Event message. In the exemplary illustrated embodiment, the configuration, or configuration change, is converted via a PubSub unit 7 of the configuration module 6.
[0076] The PubSub Event message is subsequently transmitted to the, or the respective, subscriber 2, 3. To this end, the PubSub Event message is sent from the configuration module 6 to the first publishing group. The PubSub Event message expediently also includes in the payload data the addressing of the affected device 2, 3. The PubSub Event message may further comprise at least one command.
[0077] The, or the respective, subscriber 2, 3 then configures itself according to the PubSub Event message. This can be achieved, for example, simply by virtue of it storing the received PubSub Event message, or at least portions thereof. There is preferably provision for the, or the respective, subscriber 2, 3 to know how it needs to react to at least one included command, for example by storage.
[0078] Furthermore, the respective subscriber 2, 3 expediently acknowledges receipt of the transmitted PubSub Event message. The acknowledgement can be provided e.g. by virtue of the respective subscriber 2, 3 publishing the performed configuration in the second publishing group. In particular, the acknowledgement can be provided according to Standard Part 14 by publishing the present config as DataSet metadata.
[0079] It will be noted that the sequence described above by way of illustration for the IO devices 2 and the controller 3 as subscribers can equally take place for any further components, both further IO devices 2 and controllers 3 and components of another type.
[0080] Following the configuration performed in accordance with disclosed embodiments of the invention, the machine-to-machine communication can particularly occur using OPC UA PubSub, while the process data interchange between the IO devices 2 and the controller 3 can preferably occur as previously using Profinet/Profinet TSN. OPC UA PubSub is therefore a suitable addition to the fieldbus Profinet (TSN).
[0081] With the procedure described, it is no longer absolutely essential for the subscriber(s) 2, 3 to have an OPC UA address space 13 provided on them locally and to support OPC UA client/server functionality 14, as is the case with the automation systems 1 already known from the prior art. Such an automation system is shown for comparison by way of illustration and purely schematically in
[0082] On the basis of the procedure in accordance with disclosed embodiments of the invention, it is possible to dispense with the use of TCP in the network stack of the subscribers 2, 3, because OPC UA PubSub is, or can be, transmitted, e.g., via User datagram protocol (UDP), Ethernet, Time-Sensitive Networking (TSN) or, in future, 5G. The resource requirement (for example, flash and RAM) of the subscribers 2, 3 can be significantly reduced as a result. The subscribers 2, 3 can become significantly less expensive. The procedure in accordance with disclosed embodiments of the invention is quite particularly advantageous for components that are normally required in greater numbers, such as field devices, for example, in the form of IO devices 2.
[0083]
[0084] The method comprise a) providing a virtual address space 9 for the at least one subscriber 2, 3 on a configuration module 6 which is separate from the at least one subscriber 2, 3, as indicated in step 310.
[0085] Next, b) performing a configuration for the at least one subscriber 2, 3 in the virtual address space 9 of the at least one subscriber 2, 3 is performed and/or a change of a configuration which already exists for the at least one subscriber 2, 3 is changed, as indicated in step 320.
[0086] Next, c) the configuration module 6 converts either the configuration and/or configuration change into at least one PubSub message, as indicated in step 330.
[0087] Next, d) the at least one PubSub message is transmitted to the at least one subscriber 2, 3, as indicated in step 340.
[0088] Next, e) the at least one subscriber 2, 3 is configured according to the at least one PubSub message, as indicated in step 350.
[0089] The method additionally comprises receiving, by the configuration module 6, from the at least one subscriber 2, 3, the identification thereof and a present configuration thereof as a PubSub message and, in reaction thereto, providing a virtual address space 9 for the at least one subscriber in step 310, as indicated in step 360.
[0090] Next, the configuration module 6 joins a first publishing group, for which the configuration module 6 is a publisher, and to which the at least one subscriber 2, 3 subscribes, and join a second publishing group, in which the configuration module 6 participates as a subscriber, as indicated in step 370.
[0091] Next, the configuration module 6 announces the second publishing group in the first publishing group, and subscribes to the second publishing group, as indicated in step 380. In accordance with the invention, the at least one subscriber 2, 3 send its identification and its present configuration to the second publishing group as a PubSub message.