Method of automatically configuring an automation device, automation device and computer readable medium

By providing automated equipment with a device management unit and a cluster status database, automated equipment can query and update identifiers when joining the cluster. This solves the problems of complex and error-prone device identifier allocation in the prior art, and achieves fast and accurate device identifier management, simplifying the device exchange and initial debugging process.

CN113544605BActive Publication Date: 2026-04-17SIEMENS AG
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SIEMENS AG
Filing Date
2020-03-03
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In industrial automation networks, existing technologies struggle to quickly and without human intervention assign unique and accurate identifiers to automated devices, especially when there is a large number of device exchanges and edge devices, leading to complex and error-prone device management.

Method used

By providing an equipment management unit for automated devices, the allocation of automation identifiers is monitored and managed. Utilizing a cluster status database and a central cluster management unit, automated devices query and update their identifiers when joining the cluster, ensuring the uniqueness and consistency of identifiers and avoiding double identification and manual intervention.

Benefits of technology

It enables rapid and accurate identifier allocation for automated equipment during equipment exchange and initial commissioning, simplifies equipment management, improves the efficiency and reliability of equipment exchange, and reduces the need for manual configuration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113544605B_ABST
    Figure CN113544605B_ABST
Patent Text Reader

Abstract

This invention discloses a method for automatically configuring an automated device (1), comprising the steps of: a) providing the automated device (1); b) a device management unit (8) monitoring whether an automation identifier (6) is assigned to the automated device (1); c) when the device management unit (8) recognizes such an assignment, querying a central cluster management unit (3) to determine whether a description object (10, 11) already exists in a cluster state database (9) belonging to the cluster (2) and having description objects (10, 11) for nodes (1) of the cluster (2), wherein the automation identifier (6) assigned to the automated device is stored in the description object; d) if such a description object (10, 11) does not yet exist, or if such a description object (10, 11) exists but is declared inactive, the device management unit (8) generates a description object (10, 11) in the cluster state database (9) for a node identifier (4) assigned to the automated device (1), wherein the automation identifier (6) assigned to the automated device (1) is stored in the description object. Furthermore, this invention discloses the automated device (1), a computer program, and a computer-readable medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for automatically configuring, particularly industrial automation equipment. Furthermore, this invention relates to automation equipment and computer-readable media. Background Technology

[0002] In the realm of networking, particularly industrial networking, the names of network participants are playing an increasingly central role in device and function identification. The Industrial Ethernet standard for Automation (PROFINET) has used such names from the outset to guide identifiers, especially for input / output (IO) devices, rather than, for example, Internet Protocol (IP) addresses.

[0003] First, in the case of switching devices representing network participants, when names are introduced instead of IP addresses for identification, it is especially important to ensure that the still-empty switching devices obtain accurate and unambiguous names as quickly as possible. Specifically, this process is also known as "naming" in the PROFINET environment. Therefore, in the case of device switching, rapid "renaming" is expected and required.

[0004] The feasibility of “naming” devices exists in the so-called “topological” naming, which is based on the principle of mutual network cabling of the devices.

[0005] The applicant is aware of the (approximate) centralized form of naming for topologies implemented in PROFINET. Here, during the planning of automation applications with engineering tools, the network cabling of automation equipment is also examined. The planning tool calculates a list of so-called aliases from the interconnection of devices along with the device names. Here, the identified devices have a maximum of as many aliases as Ethernet ports. An alias consists of a port name appended with the name of the neighboring device. For example, for a port with the port name "port001" and the device name "io-2.hall1.acme.com", for instance, "port001" plus "io-2.hall1.acme.com" is subsequently derived as the alias for the device "io-3.hall1.acme.com" connected at port "port001".

[0006] Once devices are introduced into the network, they learn the names of their neighbors via the Link Layer Discovery Protocol (LLDP), specifically defined in IEEE 802.1AB. Subsequently, according to the aforementioned rule, "port name plus the name of the neighboring device" allows each still unnamed device to calculate its alias. At this point, individual devices are unaware of the alias list. Only the central planning tool that calculates the alias list knows it.

[0007] The planning tool must load a list of aliases into the PROFINET IO controller (IOC). Then, based on the loaded list, the IO controller consistently attempts to identify unnamed devices based on their aliases. If one or more unnamed devices are found based on their aliases, the devices are named using the names previously assigned to the corresponding aliases in the planning tool. Furthermore, in the context of Internet Protocol version 4 (IPv4), several IPv4 parameters are typically assigned, such as IPv4 address, network mask, default gateway, etc.

[0008] Naming a topology set up in PROFINET always requires a (approximate) central I / O controller that discovers unnamed devices and subsequently names them.

[0009] In automation technology, automated equipment can be named functionally using PROFINET "Station Names" (NoS), for example, using AKZ or KKZ names (here, AKZ is used for facility-specific systems, see DIN 6779, and KKZ is used for power plant-specific systems, see VGB-105, VGB-B 106, IEC / DIN EN 61346, or ISO 16952). Industrial users regulate the "naming" of automated equipment during their operations. Methods exist specifically for equipment switching to automatically assign station names to switching equipment after it is connected to the network. In "Naming of PROFINET Topologies," PROFINET controllers (especially programmable logic controllers, SPS) are obligated to give the correct names to the automated equipment associated with them.

[0010] Furthermore, reference is made to the applicant’s European Patent No. 18188735.7, which describes a method for distributed self-naming using the Domain Name System (DNS, in particular RFC 1034 and 1035).

[0011] In general internet technology (IT) fields, especially in office environments, Dynamic Host Configuration Protocol (DHCP) is often used (see Request for Comments (RFC) 2131 "Dynamic Host Configuration Protocol" and RFC 3315 "Dynamic Host Configuration Protocol for IPv6" from the Internet Engineering Task Force (IETF). This also enables the assignment of "hostnames (device names)" to devices. However, a drawback is that DHCP uses the device's hardware network address (MAC address) as a unique key. If devices are switched, the MAC address also changes, resulting in significant administrative overhead for automatic naming.

[0012] Furthermore, container technology has proven reliable in the general IT field. Application containers typically represent "encapsulated" units that can be implemented independently of each other, regardless of their location. Similarly, in virtual machines, containers are a type of container for applications, which can run within them. While virtual machines map the entire computing environment, containers typically only contain essential data necessary for the implementation of the corresponding application.

[0013] Specifically, container technology, or containerization, enables the packaging of software or applications within containers, including all that is required for their operation, such as program code, runtime, system tools, and / or system libraries. Container technology, or containerization, allows for simplified and convenient modularization of packaging, transporting, and finally unpacking in the runtime environment. Typical application areas for containers include the convenient packaging of applications such as databases or web front-ends.

[0014] Instances of software used for container virtualization / containerization include, for example, "Docker" or "rkt" (meaning "rocket," see https: / / coreos.com / rkt / and https: / / www.docker.com or EP 3 267 351A1). Instances of orchestration systems or software used for containers are given by "Kubernetes" (see, for example, https: / / kubernetes.io / ).

[0015] According to the applicant, container virtualization also has great potential in the field of automation technology.

[0016] A key innovation in typical compute center IT (data center IT) is the efficient and effective orchestration of software containers within a cluster: orchestration software, such as Google Kubernetes, is responsible for distributing workloads as software containers to available worker nodes. Furthermore, it checks container or node availability and, for example, automatically restarts disrupted containers.

[0017] Here, the nodes in the computing center cluster are workers that can be swapped as much as possible. For work assignment, the (device) identifiers of individual workers / nodes are largely inactive. Related to the ability of nodes (workers) to be swapped or substituted, the expression "cattle, not pets" is also used (see, for example, http: / / cloudscaling.com / blog / cloud-Computing / the-history-of-pets-vs-cattle / ).

[0018] Compared to computing center clusters (located far from industrial equipment), industrial edge devices, by definition of "edge" (see https: / / de.wikipedia.org / wiki / Edge Computing for example), are located in facilities, particularly near (typically) automated equipment at the "edge" of such facilities or networks.

[0019] In the context of automated tasks, defined workloads (containers) can no longer be freely assigned to arbitrary work computers within a cluster. More precisely, workloads with defined facility-specific functions must be assigned to the facility they are assigned to, and for example, to the edge devices associated with that facility.

[0020] On the one hand, users of industrial automation technologies have been operating using facility identification systems (AKZ, KKZ, etc.) for decades, and have thus trained explicit identification capabilities within them. On the other hand, users can, in Kubernetes, set so-called "tags" for nodes (workers) and workloads (containers), enabling selective allocation of workloads to workers. The Kubernetes orchestration system, for example, allows "tags" to be set, for example, by facilitating installation onto given cluster nodes. Then, these tags can be appropriately used to filter when allocating function-specific workloads, assigning specific container functions to nodes / edges individually or in groups. Here, assigning such tags to nodes / edges is entirely within the scope of the user's implementation.

[0021] In the context of a large number of automated devices, such as edge devices, expected in industrial facilities, the applicant assumes that manual "labeling" is uneconomical and error-prone when the functions of a large number of automated technologies are distributed to a large number of edge devices. Furthermore, the applicant actually experiences dual labeling: first from the perspective of automation technology, and then from the perspective of orchestration.

[0022] In addition to avoiding double work, the mechanism for automatic (self)naming should also be able to be used for orchestration after equipment exchange in order to ensure rapid and problem-free exchange of damaged industrial edge hardware, for example, distributed self-naming according to European patent application number 18188735.7. Summary of the Invention

[0023] Therefore, the purpose of this invention is to provide a feasible solution for assigning specific tasks to automated devices forming a cluster of nodes at a relatively low cost, especially for the case of device switching.

[0024] This objective is achieved by a method for automatically configuring, particularly industrial automation equipment, which includes the following steps:

[0025] a) Provide automated equipment suitable for configuration as nodes in a cluster and for implementing at least one automated task.

[0026] b) The equipment management unit monitors whether automation identifiers are assigned to automated equipment.

[0027] c) When the device management unit recognizes such an allocation, it queries the central cluster management unit to see if a description object already exists in the cluster status database belonging to the cluster, wherein the cluster status database has description objects for the nodes of the cluster, and the description objects store the automation identifiers assigned to the automation devices.

[0028] d) If a description object already exists for a node identifier assigned to an automation device, the description object is considered a description object for the automation device. If a description object exists for a node identifier different from the node identifier assigned to the automation device and is declared as inactive, and if no description object exists yet, the device management unit generates a description object for the node identifier assigned to the automation device in the cluster state database, stores the automation identifier assigned to the automation device in the description object, or stores or causes the storage or generation of the automation identifier assigned to the automation device in a description object that already exists for the node identifier assigned to the automation device in the cluster state database.

[0029] Preferably, the automation identifier is removed from the "old" descriptor object that has been assigned an automation identifier and is declared as "inactive," or the entire "inactive" descriptor object is removed. This allows the database to remain up-to-date.

[0030] In cases where a descriptive object declared as "active" already exists in the database, the storage of automation tags or the generation of new descriptive objects is stopped in an effective manner. In a suitable design of the method according to the invention, it is correspondingly proposed that if an affirmative answer is given to an inquiry into whether a descriptive object storing the automation identifier assigned to an automation device already exists in the cluster state database belonging to the cluster, and the descriptive object is declared as active, then the device management unit does not generate a descriptive object storing the automation identifier assigned to the automation device in the cluster state database for the node identifier assigned to the automation device, nor does it store the automation identifier assigned to the automation device in the cluster state database among descriptive objects already existing for the node identifier assigned to the automation device, and it does not prompt for storage or generation. Therefore, in particular, it is possible to identify "device copies" and prevent "dual use" of automation identifiers, thus avoiding related problems.

[0031] Following steps a) to d) of the method according to the invention, workloads that are typically assigned to automation device 1 by the user via automation identifier 6 and tag 13 can be specifically assigned to the device. Download and deployment processes, either in response or conveniently, can be performed in a previously known manner (especially as defined in known container systems, such as Docker). For example, the orchestration system instructs the container system on the worker node to load a fully defined container image (“containerimage”) from a previously configured registry and then implements it.

[0032] Accordingly, the improved scheme proposes to assign at least one automation function to the automation device based on the description object that is regarded as the automation device in step d), or generated in step d), or stores the automation identifier in step d). Particularly preferably, at least one containerized automation function is assigned to the automation device based on the description object.

[0033] The result is that the special nature of mapping automation technology means that automated equipment, for example, in a production network, does not always represent equipment that can be arbitrarily exchanged with each other, but rather it (also) must meet automated, for example, production-defined tasks that cannot be performed by other automated equipment and / or in other locations. Here, this is reliably guaranteed without human intervention (e.g., manual labeling or manual configuration by the user).

[0034] By applying the automation identifiers in the described object according to the present invention, it is possible to achieve a particularly simple allocation of equipment-specific, such as "position-related" automation functions, such as production functions, to the corresponding automated equipment based on an identification system established from the field of industrial automation, such as AKZ, KKZ, ...

[0035] The automation identifier and node identifier of the device are distinguished from each other in a valid way, i.e., they are not the same identifier.

[0036] Preferably, the automation identifier is an identifier given to the automation device in conjunction with the automation task.

[0037] Preferably, the node identifier is an identifier given to automated devices as nodes in a cluster, in conjunction with their tasks or functions.

[0038] Specifically, the descriptive object used for nodes in the cluster state database is an object that describes the most desired and / or current state of the nodes in the cluster. Typically, such a descriptive object is uploaded to the database for each node, describing the most desired and / or current state of the corresponding node. A node's descriptive object can also be called a node object. In the Kubernetes context, descriptive objects are also referred to as "resource objects" or simply "objects," for example.

[0039] The method according to the invention is particularly suitable for ensuring that exchanged and newly added automated devices used as cluster nodes are automatically assigned to automatically defined tasks within a cluster group or system. The associated descriptive objects and identifiers in the cluster state database are automatically generated or maintained.

[0040] When a newly added device is assigned an automation identifier, the automation identifier is initially stored in the description object in the cluster state database.

[0041] Specifically, for switching equipment, it can be determined, through the check according to step c), whether the descriptor of the "old" damaged equipment has been declared "inactive". If so, the automation identifier can be stored as a tag in the (new) descriptor for the (new) equipment.

[0042] Checking whether a description object already exists that stores the automation identifier assigned to the automation device reveals that such an object already exists for the node identifier assigned to the device, such as the device's node identity number (ID). In other words, the object required for the device exists. In this case, it is not necessary to create a new object with or using the node identifier; instead, the object that already exists in the required form can be used for the device. Therefore, in this case, the description object is considered as a description object for the automation device. The description object should be declared as active in a valid manner.

[0043] Furthermore, the method according to the invention also covers situations where the automation identifier of a device, particularly a stock device, changes, i.e., a new automation identifier is assigned to the device that is different from the previous one. This is also recognized by the device management unit and an appropriate update is initiated, taking into account the possibility that a new automation identifier has already been given, i.e., there exists a descriptive device with that identifier that is declared as active.

[0044] In cases where an automated device has already been assigned an automation identifier (previously identified) at least once, and subsequently an additional automation identifier is assigned, the device management unit can contact and arrange for the central cluster management unit to remove the (previously identified) descriptive object storing the previous automation identifier after recognizing the assignment of the additional automation identifier. This allows for "cleaning up" or maintaining database updates.

[0045] In a particularly preferred embodiment, the automated device is an edge device. Then, in particular, the method according to the invention supports particularly convenient initial commissioning and particularly convenient replacement of industrial edge devices. Manual configuration / database maintenance can be eliminated.

[0046] Preferably, the equipment management unit is located on the automated equipment.

[0047] Preferably, the central cluster management unit queried in step c) is the central cluster management unit responsible for distributing workloads to the nodes of the cluster. It can also be referred to as a cluster orchestration unit or cluster orchestration software. Kubernetes is mentioned as an example of such orchestration software.

[0048] The device management unit can use the central cluster management unit to generate description objects or store automation identifiers in the central cluster management unit. For example, the device management unit can pass automation identifiers to the central cluster management unit and store the automation identifiers in existing description objects, or generate new description objects with automation identifiers.

[0049] Information about whether an object is active or inactive can, in principle, come from the cluster system itself, such as directly from the central cluster management unit, or from other monitoring systems that implement independent monitoring of the cluster.

[0050] Specifically, the automation device to be configured is a new device, a replacement device, or a stock device, and its automation identifier has changed. A change in the automation identifier may be necessary, for example, when erroneous input contains, for instance, "garbled" automation identifiers and therefore needs to be corrected. It is also possible to functionally re-specify the automation device, for example, because it has been proven that it does not have sufficient power unless it is removed from the orchestration system.

[0051] Identifiers can also be called tags. Accordingly, automation or node identifiers can also be called automation tags or cluster tags.

[0052] The assignment of automated identifiers can be implemented or represented within the scope of device naming.

[0053] The assignment of identifiers to devices can include assigning identifiers to devices and / or having identifiers included by devices and / or storing identifiers on devices.

[0054] A device that has not yet been assigned an identifier may be characterized by having an empty identifier file, particularly a name file, or an empty identifier string, particularly a name string, stored on the device. In the absence of an identifier, the device is, for example, in its factory state (before it first operates on the network).

[0055] It is important to emphasize that the order in which node and automation identifiers are assigned to devices can be arbitrary. In other words, for example, automation identifiers can be assigned first, followed by node identifiers. It is also possible to assign the two identifiers in reverse order or simultaneously.

[0056] Other concepts used for clustering include computer clusters or computer groups. A cluster, for example, consists of multiple specially connected computing devices / computers, and given nodes are also called nodes. An automated device designed and / or configured to operate as a node in a cluster and perform at least one automated task is, for example, capable of undertaking at least one automated task via a computing device or a computer, such as an industrial computer.

[0057] Another embodiment of the method according to the invention is characterized in that the device management unit derives the node identifier assigned to the automation device locally.

[0058] Alternatively or additionally, it can be proposed that, in step d), the device management unit addresses, via the node identifier assigned to the automation device, a description object that already exists for the node identifier assigned to the automation device, a description object to be generated, or an existing description object storing the automation identifier. Therefore, it is possible to access, in a particularly efficient manner, the description object describing the most desired and current state of the automation devices in the cluster.

[0059] Other particularly preferred embodiments are characterized in that an automated identifier is stored in the described object in the form of a label or a component thereof. This allows for the continued use of mechanisms known from the prior art, particularly known methods of using labels.

[0060] Preferably, the node identifier assigned to the device is a tag, particularly a tag given by the central cluster management system or central cluster management unit to any node in the cluster for its identification.

[0061] Preferably, the tag given by or capable of including the automation or node identifier has the form key=value, wherein the key has, for example, the structure “siemens.edge / name” and the value of the (old or new) automation identifier can be, for example, an FQDN.

[0062] Furthermore, it can be proposed that automation identifiers are assigned to automation devices by other automation devices, particularly controllers.

[0063] Alternatively or additionally, it is possible to propose assigning automation identifiers to automated devices via a self-naming method, particularly preferably via a distributed self-naming method using the Domain Name System (DNS, see especially RFC 1034 and 1035) as described in the applicant's European patent application No. 18188735.7. Automated devices can include self-naming units in advantageous improvements, which are used for self-naming, particularly according to the design and / or setup of European patent application No. 18188735.7.

[0064] Furthermore, it is possible to assign automation identifiers to automated equipment via a configuration tool. An example of such a configuration tool is the PROFINET primary configuration tool.

[0065] For the form of automation identifiers, PQDNs or FQDNs have proven particularly suitable. Accordingly, it is possible to propose in the improved scheme that the automation device be assigned a partially or fully qualified domain name (Partially or Fully Qualified Domain Name, PQDN or FQDNs) as the automation identifier. A partially qualified domain name (PQDN) relative to an FQDN excludes the entire path from the domain label to the DNS source. Preferably, the automation identifier, in particular the name, is a (globally) explicit identifier, in particular the name. This can be a fully qualified domain name in the sense of RFC 7719 (request note: Internet Engineering Task Force (IETF) 7719, https: / / tools.ietf.org / html / rfc7719).

[0066] Alternatively, the automation label may include a station name (NoS) or be formed using such a station name. The NoS, for example, is given as a device name within the PROFINET framework, for example, through the naming of the primary setup tool or topology.

[0067] Alternatively or additionally, node identifiers can be assigned to automated devices by the central cluster management unit. This corresponds to the conventional processing method.

[0068] For example, it is possible to provide the automated device in step a) as a new device, and the automated device is specifically included in the cluster by the central cluster management unit within the scope of the loading process, and a node identifier is assigned to the automated device within the scope of the loading process or as a result of the loading process.

[0069] For example, it is possible to assign a node ID to an automated device as a node identifier.

[0070] Furthermore, it can be proposed that, in step a), within the scope of providing automated equipment, the automated equipment is connected to a specific industrial automation network. Multiple nodes in the cluster are typically connected via a network.

[0071] The present invention also relates to automated devices suitable for functioning as nodes in a cluster and performing at least one automated task, and designed and / or configured to implement the methods according to the invention.

[0072] The automation device according to the invention and / or the automation device configured under the condition of implementing the method according to the invention can be, for example, a (separate) device or a (separate) hardware component, designed and / or configured to fulfill at least one automation function. Of course, the automation device can also exist as a "software automation device," for example, in the form of a virtual machine (VM) or a computer program or set of computer programs, stored in a device constructed for implementing them, such as a computer or other computing device or any other device. The automation device according to the invention or to be configured can also be integrated into other devices in both hardware and software form.

[0073] In the context of this invention, the concept of "automated equipment" includes all the feasibility described above, particularly "software equipment" and equipment that actually performs other functions or is used for other purposes but can also perform automation functions and act as a cluster node. For example, in the context of this invention, a conventional calculator or computer, or an industrial calculator or industrial computer, that implements or performs at least one automation function (e.g., a control function) and can be used as a cluster node is also an automated equipment.

[0074] Preferably, the automation device according to the invention includes a device management unit designed and / or configured to monitor whether an automation identifier is assigned to the device, and, if an assignment is detected, to query the central cluster management unit whether a description object containing the automation identifier assigned in step c) already exists in the cluster state database of nodes belonging to the cluster in which the device participates or should participate, or for a node identifier different from the node identifier assigned to the device, and if no description object exists, or if a description object exists but is declared inactive, to generate a description object containing the automation identifier in the cluster state database for the node identifier assigned to the automation device, or to store the automation identifier in the database for the description object already existing for the node identifier assigned to the device.

[0075] Device management units can represent functional units, which can be implemented on suitable hardware, for example, through software components. The same applies to central cluster management units, which can also be formed from functional units, for example, through software (such as Kubernetes), specifically running on central hardware accessible to the nodes.

[0076] Another embodiment of the automated device according to the invention is characterized in that the automated device is designed and / or arranged to allocate at least one particularly containerized automated function based on descriptive objects stored in a cluster state database belonging to a cluster in which the device participates or should participate as a node.

[0077] In other advantageous designs, the automated device according to the invention has a self-naming unit, which is designed and / or configured for self-naming or self-naming methods, particularly referring to the method of distributed self-naming described in the applicant's European patent application No. 18188735.7 by means of the Domain Name System (DNS, see RFC 1034 and 1035 in particular).

[0078] Other aspects of the present invention are computer programs comprising program code components for implementing the steps of the method according to the present invention.

[0079] Finally, the content of this invention is a computer-readable medium comprising instructions that, when executed on at least one computer, cause at least one computer to perform the steps of the method according to the invention.

[0080] Computer-readable media can be, for example, a CD-ROM, DVD, USB, or flash memory. It should be noted that computer-readable media should not be understood merely as physical media, but can also exist, for example, in the form of data streams and / or signals representing data streams. Attached Figure Description

[0081] Other features and advantages of the invention will be explained below with reference to the accompanying drawings, which illustrate embodiments of the invention.

[0082] Figure 1 This is a purely schematic partial diagram of an industrial automation network with multiple automated devices, each forming a cluster node; and

[0083] Figure 2 yes Figure 1 It is one of the automated devices and a central cluster management unit. Detailed Implementation

[0084] Figure 1 A highly simplified, purely schematic partial diagram of an industrial automation network is shown. Specifically, the automation network represents four automation devices 1 in the form of industrial computers, each performing at least one automation function or task, specifically for an industrial technical process not further shown in the diagram, currently a production process. All four devices 1 form components of an automation facility, which, in a manner sufficiently known in the prior art, include various additional components, such as conventional automation equipment, programmable logic controllers, I / O devices, etc. Figure 1 Not further shown. The cloud represents device 1 connected, for example, via Ethernet (according to IEEE 802.3). In addition, each of the four devices 1 represents an edge device, which is regarded as a worker node from the perspective of the cluster orchestration system, and can be assigned work tasks (in the form of containers).

[0085] Each of the four devices 1 functions as a node in cluster 2 and assumes a defined workload of cluster 2 in the form of a (software) container. The workload in the form of a (software) container includes at least one corresponding automation function or automation task. As applicable here, the workload of the defined device's defined function is associated with a defined, assigned facility portion to which the corresponding industrial edge device 1 belongs.

[0086] The central cluster management unit 3 is used for orchestrating workloads in cluster 2, and it is also only shown in a purely illustrative manner. Figure 2 As shown in the diagram. The central cluster management unit 3 is responsible for distributing workloads to node 1 of cluster 2, i.e., (for example) automated device 1. The central cluster management unit 3 is currently a purely functional unit, which in this described instance is provided by software, specifically Kubernetes. In this unit, node 2 and the workload can be assigned node identifiers / node IDs in the form of so-called "tags" (see...). Figure 2This allows for selective matching of workloads to workers. Clearly, other orchestration software can also be used as the central cluster management unit instead of Kubernetes.

[0087] Automated device 1 can be added to cluster 2, for example, during the onboarding-prozess process executed by the central cluster management unit 3. Node identifier 4 can then be assigned during or after the onboarding process.

[0088] The assigned node identifier or cluster label 4 allows for filtering when allocating function-specific workloads, so that specific container functions are assigned only to individual or grouped nodes / nodes / industrial edge devices 1. Here, according to the prior art, such assignment of label 4 to nodes / nodes / industrial edge devices 1 is purely implemented manually within the scope of the application.

[0089] Each of the four automated devices 1 also includes a self-naming unit 5, designed and / or configured for distributed self-naming of the respective device 1 by means of the Domain Name System, as described in the applicant's European patent application number 18188735.7. An automation identifier 6 is assigned to the respective device 1 via self-naming or a self-naming method, wherein, for example, a fully qualified domain name (FQDN) can be involved.

[0090] The automation identifier 6, which is obtained by a self-naming method and is either attached to or added to device 1, can also be proposed that other automation devices (e.g., controllers) assign the identifier to the device, or that the automation identifier is assigned via a setup tool, for example, in the form of a so-called station name (NoS) 7. An example of such a setup tool is the PROFINET primary setup tool. Figure 2 Two feasibility options are shown, which typically represent alternatives, specifically indicated by dashed arrows from self-named unit 5 and NoS7 to boxes representing automation identifier 6.

[0091] The automation identifier 6 is, in particular, an identifier, which is given to the corresponding device 1 based on or within the scope of an identification system established from the field of industrial automation technology.

[0092] In particular, in order to ensure, for example, during the initial commissioning or exchange of such equipment representing cluster nodes, that device-specific or "location-related" automation, such as production functions, can be assigned to the corresponding automation equipment 1 according to the established identification system, each of the automation equipment 1 has a device management unit 8.

[0093] After providing the corresponding device 1, for example, after the device is connected to the automation network and activated during the operation of the corresponding device 1 (step a)), monitor whether the device is assigned an automation identifier (with a non-zero length), which is different from the node identifier 4 (step b). This monitoring not only detects the initial allocation of the automation identifier 6, but also detects changes to the automation identifier 6, i.e., if an automation identifier 6 has been previously allocated and a new automation identifier 6 is subsequently allocated.

[0094] When the device management unit 8 recognizes such an allocation, it queries the central cluster management unit 3 to see if the description objects 10 and 11 belonging to the cluster 2 already exist in the cluster status database 9, which has description objects 10 and 11 for nodes 1 of the cluster 2, and stores the automation identifier 6 assigned to the automation device 1 in the description object (step c).

[0095] It is important to note that during device swapping, node identifier 4 is different from the original (now faulty device 1).

[0096] Description objects 10 and 11 in cluster state database 9 are description objects that describe the most desired or current state of node 1 in cluster 2.

[0097] If the node label 4 assigned to the automation device 1 already contains such description objects 10 and 11, in which description objects 10 and 11 assigned to the automation identifier 6 are stored in particular in the form of labels 12 and 13 and description objects 10 and 11 are declared as active, then description objects 10 and 11 are regarded as description objects 10 and 11 of the automation device 1.

[0098] If description objects 10 and 11 do not yet exist, or if a description object different from the node identifier 4 assigned to automation device 1 exists and is declared inactive, device management unit 8 generates description objects 10 and 11 in cluster state database 9 for the node identifier 4 assigned to automation device 1, stores the automation identifier 6 assigned to automation device 1 in the description object, or stores the automation identifier 6 assigned to automation device 1 in the description objects 10 and 11 already existing in cluster state database 9 for the node identifier 4 assigned to automation device 1, or prompts storage or generation.

[0099] For example, the device management unit 8 can pass the automation identifier 6 to the central cluster management unit 3 and cause the automation identifier to be stored in existing description objects 10, 11, or to generate new description objects 10, 11 with the automation identifier (step d).

[0100] Here, the automation identifier 6 is stored as part of tags 12 and 13 in the description objects 10 and 11. This means that tags 12 and 13 stored in objects 10 and 11 in database 9 include the automation identifier 6, and can also be understood or labeled as automation tags 12 and 13. This applies not only to the case of creating new description objects 10 and 11 in which the automation identifier 5 is stored, but also to the case of storing it in existing description objects 10 and 11.

[0101] exist Figure 2 In the example shown, there already exists an "old" descriptor object 10, which is declared as "inactive" and includes an "old" label 12, and a "new" descriptor object 11 is generated, which has a "new" label 13 including the automation identifier 6.

[0102] When an old, declared "inactive" descriptor object 10 is found, tag 12 is preferably removed from it. It is also possible to completely remove the old, "inactive" descriptor object 10. Thus, the database automatically cleans up entries for faulty devices and remains updated.

[0103] Preferably, tags 12 and 13 have a key=value format. The key can, for example, have the structure "siemens.edge / name" and a value for the (old or new) automation identifier 6, such as an FQDN.

[0104] Here, the device management unit 8 locally derives the node identifier 4 assigned to the automation device 1, and in step d), addresses the description object 11 (or the existing description object 10) storing the automation identifier 6 via the locally derived node identifier 4 assigned to the automation device 1. The local deriving of the node identifier 4 can be achieved, for example, by the device management unit 8 requesting the node identifier locally. This can be achieved, for example, via REST or RPC calls over HTTPS.

[0105] Subsequently, relying on the description object 11 generated in step d) (or storing the automation tag 6 in step d), at least one containerized automation function, specifically at least one workload in the form of an automation function given by a software container, is assigned to the automation device 1.

[0106] Next, workloads can be distributed in the form of containers to the pre-known orchestration mechanism, in particular the central cluster management unit 3 (currently Kubernetes). The workloads are assigned to the automation device 1 by the user specifically through the automation identifier 6 and the tag 13, and then the download and deployment process proceeds normally.

[0107] The result is that the special nature of mapping automation technology means that automated equipment 1, for example in a production network, does not always represent equipment that can be arbitrarily exchanged with each other, but rather it (also) must meet automated, for example, production-defined tasks that cannot be performed by other automated equipment and / or in other locations. Here, this is reliably guaranteed without human intervention (e.g., manual labeling or manual configuration by the user).

[0108] The device management unit 8 shall cover at least the following four situations:

[0109] 1. New device: For a new device 1 that was previously listed in the cluster by “loading” and hereby obtains a separate node identifier 4, after it also obtains its automation identifier (e.g., as NoS7 or by self-named unit 5), its automation identifier 6 is initially stored in the description objects 10, 11 as part of the automation tag 13.

[0110] 2. Change of automation label 6: Here, labels 12 and 13 in description objects 10 and 11 are updated (using the new, modified automation identifier 6), which has been given a new automation identifier 6 to take into account error conditions.

[0111] 3. Device Exchange: Here, the "old" description object 10 of the old or faulty device is derived based on the automation identifier 6 of the exchange device 1, and it is checked whether the associated description object has been specifically marked as "inactive" (i.e., "bad" or "faulty") by the central cluster management unit 3. If so, the automation identifier 6 of the new (exchange) device 1 can then be stored as an automation tag 13 in the new description object 11.

[0112] 4. Device Copy: Here, there exists a (“old”) description object 10 of a device that already exists and has the automation identifier 6 in tag 12. Furthermore, this “old” description object 10 is identified as “alive” by the central cluster management unit 3. In this case, the automation identifier 6 is not transmitted; that is, it is neither removed from the “old” description object 10 nor transmitted to the description object of the device copy.

[0113] In cases where an automation identifier 6 (the previous / "old" identifier) ​​has been assigned to an automated device (at least once) and other automation identifiers 6 ("new" identifiers) have subsequently been assigned, it is possible to propose that, after the device management unit 8 identifies the assignment of another automation identifier 6, it contact and arranges for the central cluster management unit 3 to delete the (previous) description object 10 storing the previous automation identifier 6, particularly as tag 12. This allows for "cleaning up" the database 9 or maintaining its updates.

[0114] It is important to emphasize that if, in the cluster state database 9 belonging to cluster 2, an affirmative answer is received regarding whether a description object 10 or 11 with the automation identifier 6 assigned to automation device 1 already exists in the cluster state database 9 for a node identifier 4 different from the one assigned to automation device 1, and the description object 10 or 11 is declared inactive, then the device management unit will not generate a description object 10 or 11 with the automation identifier 6 for the node identifier 4 assigned to automation device 1 in the cluster state database 9, nor will it store the automation identifier 6 assigned to automation device 1 in the cluster state database 9 for the existing description objects 10 or 11 assigned to the node identifier 4 of automation device 1, nor will it prompt for storage or generation. This reliably avoids "dual occupancy" or "dual use".

[0115] Furthermore, it should be emphasized that the four [areas / areas]... Figure 1 The automated devices 1 illustrated herein all represent embodiments of automated devices according to the invention, designed and / or configured to implement the foregoing steps of embodiments of the method according to the invention. The processes described for example with respect to automated devices 1 above are equally applicable to all [devices / systems] in [the following context] Figure 1 The automated equipment 1 shown in the figure.

[0116] In addition, according to Figure 1 The industrial network is an embodiment of the network according to the present invention.

[0117] Although the invention has been set forth and described in detail with reference to preferred embodiments, the invention is not limited to the disclosed examples, and other variations can be derived by those skilled in the art without departing from the scope of protection of the invention.

Claims

1. A method for automatically configuring industrial automation equipment (1), the method comprising the following steps a) Provide an automated device (1) suitable for use as a node in a cluster (2) and for performing at least one automated task. b) The equipment management unit (8) monitors whether the automated equipment (1) has been assigned an automation identifier (6). c) when the device management unit (8) recognizes the assignment, the device management unit inquires the central cluster management unit (3) whether a description object (10, 11) already exists in the cluster state database (9) belonging to the cluster (2), wherein The cluster status database has description objects (10, 11) for the nodes (1) of the cluster (2), and the automation identifier (6) assigned to the automation device is stored in the description objects. d) If a description object already exists for a node identifier (4) assigned to the automation device (1), the description object is considered a description object of the automation device (1). If a description object exists for a node identifier other than the node identifier (4) assigned to the automation device (1) and that description object is declared inactive, and if no description object (10, 11) exists, the device management unit (8) generates a description object (10, 11) in the cluster state database (9) for the node identifier (4) assigned to the automation device (1), storing the automation identifier (6) assigned to the automation device (1), or storing or causing the storage or generation of the automation identifier (6) assigned to the automation device (1) in the existing description objects (10, 11) for the node identifier (4) assigned to the automation device (1) in the cluster state database (9). In step d), the device management unit (8) addresses, via the node identifier (4) assigned to the automation device (1), either an existing description object (10, 11) or a description object to be generated, or an existing description object (10, 11) storing the automation identifier (6), for the node identifier (4) assigned to the automation device (1). The node identifier assigned to the device is a label.

2. The method according to claim 1, characterized in that, At least one automation function is assigned to the automation device (1) based on the description object (10, 11) which is regarded as the automation device (1) in step d), or the description object (10, 11) generated in step d), or the automation identifier (6) stored in step d).

3. The method according to claim 2, characterized in that, Based on the description objects (10, 11), at least one containerized automation function is assigned to the automation device (1).

4. The method according to any one of the preceding claims, characterized in that, If the query to determine whether a description object (10, 11) already exists in the cluster state database (9) belonging to the cluster (2) is answered affirmatively and the description object (10, 11) is declared to be active, wherein the description object stores the automation identifier (6) assigned to the automation device (1), then the device management unit (8) does not generate a description object (10, 11) in the cluster state database (9) for the node identifier (4) assigned to the automation device (1), the description object storing the automation identifier (6) assigned to the automation device (1), and does not store, prompt storage, or generate the automation identifier (6) assigned to the automation device (1) among the description objects (10, 11) that already exist in the cluster state database (9) for the node identifier (4) assigned to the automation device (1).

5. The method according to any one of claims 1 to 3, characterized in that, The automation device (1) is assigned an additional automation identifier (6), and the device management unit (8) contacts the central cluster management unit (3) after the device management unit recognizes the assignment of the additional automation identifier (6) and prompts the deletion of the description objects (10, 11) storing the previous automation identifier (16).

6. The method according to any one of claims 1 to 3, characterized in that, The device management unit (8) locally derives the node identifier (4) assigned to the automated device (1).

7. The method according to any one of claims 1 to 3, characterized in that, The automation identifier (6) is stored in the description objects (10, 11) in the form of labels (12, 13) or as a component of labels (12, 13).

8. The method according to any one of claims 1 to 3, characterized in that, The automation identifier (6) is assigned to the automation device (1) by other automation devices, and / or the automation identifier (6) is assigned to the automation device (1) via a self-naming method, and / or the automation identifier (6) is assigned to the automation device (1) via a setting tool.

9. The method according to any one of claims 1 to 3, characterized in that, The domain name is partially or fully qualified as the automation identifier (6) and assigned to the automation device (1), and / or the central cluster management unit (3) assigns a node identifier (4) to the automation device (1) and / or assigns a node ID to the automation device (1) as the node identifier (4).

10. The method according to any one of claims 1 to 3, characterized in that, In step c), the initial allocation of the automation identifier (6) is identified, or in step c), a new automation identifier (6) that is different from the old automation identifier (6) previously allocated to the automation device (1) is identified.

11. The method according to any one of claims 1 to 3, characterized in that, The automated device (1) is provided as a new device in step a), and the automated device (1) is included in the cluster (2) by the central cluster management unit (3) in the scope of the loading process, and a node identifier (4) is assigned to the automated device (1) in the scope of the loading process, or the node identifier (4) is subsequently assigned.

12. The method according to any one of claims 1 to 3, characterized in that, In step c), the central cluster management unit (3) is queried, which is responsible for distributing workloads to the nodes (1) of the cluster (2).

13. The method of claim 8, wherein, The automated equipment is a controller.

14. An automated apparatus (1) for implementing the method according to any one of claims 1 to 12, wherein, The automated device (1) is designed and / or configured to be assigned a node identifier (4) and includes a device management unit (8). The device management unit (8) is designed and / or configured to monitor whether an automated identifier (6) is assigned to the automated device (1), and, if the assignment is detected, to query the central cluster management unit (3) whether a description object (10, 11) containing the automated identifier (6) assigned in step c) already exists in the cluster state database (9) belonging to the cluster (2), wherein the device participates as a node or should participate as a node in the cluster, and the cluster state database has description objects (10, 11) for the nodes of the cluster (2), and, if necessary, for other node identifiers different from the node identifier (4) assigned to the automated device (1), and in the absence of a description object (10, 11) or in the presence of a description object. If the descriptor (10, 11) is declared as inactive, a descriptor (10, 11) including the automation identifier (6) is generated in the cluster state database (9) for the node identifier (4) assigned to the automation device (1), or the automation identifier (6) is stored in the database (9) among the descriptor (10, 11) that already exist for the node identifier (4) assigned to the automation device (1), wherein the device management unit (8) addresses the descriptor (10, 11) that already exists for the node identifier (4) assigned to the automation device (1), or the descriptor (10, 11) to be generated, or the existing descriptor (10, 11) storing the automation identifier (6) via the node identifier (4) assigned to the automation device (1), wherein the node identifier assigned to the device is a tag.

15. The automated equipment (1) according to claim 14, wherein, The automated device (1) is designed and / or configured to be assigned at least one containerized automated function based on the description objects (10, 11) stored in the cluster state database (9) belonging to the cluster (2), wherein the device participates as a node or should participate as a node in the cluster.

16. A computer-readable medium comprising instructions that, when implemented on at least one computer, cause at least one of the computers to perform the steps of the method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Method for securely managing a docker image

    EP3267351A1

  • Management of unique identifiers in database

    CN108694230A