AUTOMATICALLY CONFIGURING FUNCTIONAL UNITS OF AN AUTOMATION SYSTEM
20190356503 · 2019-11-21
Inventors
Cpc classification
H04L41/046
ELECTRICITY
G05B2219/33277
PHYSICS
H04L12/283
ELECTRICITY
H04L41/0853
ELECTRICITY
H04L41/0806
ELECTRICITY
H04L12/2814
ELECTRICITY
International classification
Abstract
A method is provided for automatically creating data relating to an automation system, wherein a plurality of software agents is assigned to the automation system. The software agents are connected to the cloud via a gateway, wherein the cloud holds an agent configuration for each software agent. Data captured by at least some of the software agents and relate to at least one device, service, and/or data source of the automation system, which may be reached by the particular software agent, are received by the gateway. At least one software agent assigned to the automation system is configured by the gateway during processing of one or more agent configurations from the cloud and the captured data relating to at least one device, service, and/or data source may be reached by the particular software agent.
Claims
1. A method for automatically creating data relating to an automation system, the method comprising: assigning several software agents to the automation system; connecting the several software agents to a cloud via a gateway; storing an agent configuration in the cloud for each software agent of the several software agents; receiving, by the gateway, data captured by at least one part of the several software agents relating to at least one device, service, and/or data source of the automation system configured to be reached by the respective software agent; and configuring at least one software agent of the several software agents during processing of one or more agent configurations from the cloud and the captured data relating to the at least one device, service, and/or data source.
2. (canceled)
3. A computer program product with program code stored on a computer-readable data carrier, wherein the computer program product, when executed by a gateway acting as an interface between an automation system and a cloud, is configured to cause the gateway to: assign several software agents to the automation system; connect the software agents to the cloud; store an agent configuration in the cloud for each software agent of the several software agents; receive data captured by at least one part of the several software agents relating to at least one device, service, and/or data source of the automation system configured to be reached by the respective software agent; and configure at least one software agent of the several software agents during processing of one or more agent configurations from the cloud and the captured data relating to the at least one device, service, and/or data source.
4. (canceled)
5. A gateway that is an interface between an automation system and a cloud, the gateway comprising: a processing unit and a memory, wherein a computer program is loaded into the memory, wherein when executed during operation of the gateway by the processing unit, the computer program is configured to cause the gateway to: assign several software agents to the automation system; connect the software agents to the cloud; store an agent configuration in the cloud for each software agent of the several software agents; receive data captured by at least one part of the several software agents relating to at least one device, service, and/or data source of the automation system configured to be reached by the respective software agent; and configure at least one software agent of the several software agents during processing of one or more agent configurations from the cloud and the captured data relating to the at least one device, service, and/or data source.
6. The gateway of claim 5, wherein at least one agent configuration is predefined by a user.
7. The gateway of claim 5, wherein each agent configuration for each software agent of the several software agents is predefined by a user.
8. The gateway of claim 5, wherein the captured data is in a form of a device list.
9. The gateway of claim 8, wherein, during the processing of one or more agent configurations from the cloud and the captured data relating to the device list, the gateway is configured to automatically detect matches in both data groups.
10. The gateway of claim 9, wherein, based on the detected matches, the gateway is configured to automatically configure the at least one software agent assigned to the automation system.
11. The gateway of claim 5, wherein at least one software agent of the several software agents is configured to be assigned to the automation system as a functional unit.
12. The method of claim 1, wherein at least one agent configuration is predefined by a user.
13. The method of claim 1, wherein each agent configuration for each software agent of the several software agents is predefined by a user.
14. The method of claim 1, wherein the captured data is in a form of a device list.
15. The method of claim 14, wherein, during the processing of one or more agent configurations from the cloud and the captured data relating to the device list, the gateway automatically detects matches in both data groups.
16. The method of claim 15, wherein, based on the detected matches, the gateway automatically configures the at least one software agent assigned to the automation system.
17. The method of claim 1, wherein at least one software agent of the several software agents is assigned to the automation system as a functional unit.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In the drawings:
[0025]
[0026]
DETAILED DESCRIPTION
[0027] The representation in
[0028] The technical process 12, the specific form of which is not relevant in the following, includes, for example, actuators 14, 16 for influencing the technical process 12 and sensors for obtaining information about the state of the technical process 12. The technical process 12 is for instance a production process, a batch process, and so on.
[0029] For controlling and/or monitoring the respective technical process 12, the automation system 10 includes at least one automation device 20, e.g., a plurality of automation devices 20, 21, 22, 23, 24 connected to one another for communication purposes. The type of the automation devices 20-24 and the scale of the automation system 10 are likewise not relevant in the following.
[0030] At least one software agent 30, 32 is assigned to the automation system 10. The number and distribution of the agents 30, 32 shown in
[0031] In the case of acquisition of a measured value or several measured values from the technical process 12, the respective agent 30, 32 performs a read operation. Such a read operation may relate to a variable of a control program 40, 41, 42, 43, 44 executed by the automation system 10, (e.g., by one of the automation devices 20-24 included therein). The result of the read operation or several such read operations is, for instance, intended for a service 52 stored in what is known as the cloud 50, and the respective item of data is consequently transmitted to the cloud 50. The service 52 is for instance a service 52 for storing and/or evaluating the transmitted data.
[0032] A switching device designated according to the customary terminology as a gateway 54 acts as an interface between the automation system 10 on the one hand and the cloud 50 on the other hand, and thus as an interface between an agent 30, 32 and a service 52 in the cloud. This is on the one hand connected directly or indirectly to the automation system 10, (for instance, via Ethernet), and on the other hand to the cloud 50 via the Internet 56.
[0033] The information needed for a transmission of data from agents 30, 32 of an automation system 10 into the cloud 50, (for instance, to a service 52), has until now been configured manually by a configuration engineer or programmer. According to the innovation proposed here, this takes place at least partly automatically.
[0034] As the basis for the automatic determination of data relating to an automation system 10 proposed here, namely of hierarchies and relationships in an automation system 10, certain initial information is required for the participating devices and units.
[0035] The gateway 54 receives information in the form of a manually input gateway configuration 58 (
[0036] AGENT GW consist of {Agent1, Agent2}
[0037] A gateway 54 receives further information relating to the or each agent 30, 32 for which it is responsible. For instance, the gateway 54 receives information indicating which data sources an agent 30, 32 uses and/or which data sources an agent 30, 32 may access. The gateway 54 receives this information from the cloud 50, namely from an agent configuration 60, 62 also originally entered manually and stored in the cloud 50 (
[0038] Agent1 has {S7_1, S7_2, UA1} as a data source
[0039] Agent2 has {S7_3, S7_3} as a data source
[0040] In the respective installation, (e.g., the respective automation system 10 and/or the controlled/monitored technical process 12), the agent 30, 32 obtains an overview of the devices, services, data sources, and the like available therein, and a list, referred to in the following as device list 64 (
[0041] AgentX sees {P1, P2, S1}
[0042] AgentY sees {P3}
[0043] The symbolic identifiers P1 or S7_Project1, P2 or S7_Project2 and so on used by way of example for individual control programs 40, 41 and so on are also included in the representation in
[0044] Also in the automation solution 10, 12, the gateway 54 determines all agents 30, 32 of the automation solution 10, 12 that may be reached by the gateway 54 and generates a list referred to in the following as the agent list, in other words a list of agents 30, 32 of the automation solution 10, 12 that may be reached by the respective gateway 54:
[0045] AGENT_GW sees {AgentX, AgentY}
[0046] Based on the data now available, namely information entered by the user on the one hand and the automatically determined information of the device list 64 and the agent list on the other hand, a reference may be established automatically between the two data groups. The data is shown side by side in the following table to provide a quick overview:
TABLE-US-00001 information entered information determined automatically AGENT_GW consist of { Agent1, AGENT_GW sees { AgentX, Agent2 } AgentY } Agent1 has { S7_1, S7_2, AgentX sees { P1, P2, S1 } UA1 } as a data source AgentY sees { P3 } Agent2 has { S7_3, S7_3 } as a data source
[0047] Based on the identifiably matching structures of the information entered and the information determined automatically, a reference may be established automatically between the two data groups. Accordingly, the agent designated as Agent1 in the information entered is the agent 30, 32 (designated with the reference character 30 in the representation in
[0048] Based on the device list 64 and the agent configuration 60, 62, the gateway 54 may indicate to each agent 30, 32 which data it is to fetch from the automation solution 10, 12. For the AgentX referred to in
[0049] For this assignment, the part of the agent configuration 60, 62 which is relevant to the respective agent 30, 32 is downloaded onto the respective agent 30, 32 in a form that may be processed by the agent 30, 32. The agent 30, 32 is thus configured, namely to read data from the automation solution 10, 12 in the example selected here. Prior to this configuration of an agent 30, 32 by the gateway 54, the respective agent 30, 32 has no information regarding the data to be read (or written). As part of such an assignment/configuration, all information regarding the data to be read (or written) is available to the agent 30, 32.
[0050] The data loaded from the cloud 50 onto an agent 30, 32 may be not only configuration data of this kind but also software updates, for instance. Further examples of data that may be loaded from the cloud 50 onto an agent 30, 32 are security information and what is known as onboarding information, in other words data that an agent 30, 32 needs in order to establish a connection to the cloud 50. This list is not exhaustive and it is conceivable that other data may be loaded from the cloud 50 onto an agent 30, 32.
[0051] The method proposed here may therefore be summarized as follows (the letters used to designate the individual acts are shown in the representation in
[0052] In act A, the cloud 50 contains information in the form of the agent configuration 60, 62 indicating which tasks are assigned to which agent 30, 32, namely for instance the collection of data from a certain source and a unique addressing within the source.
[0053] In act B, the agents 30, 32 (AgentX, AgentY) included in the automation solution 10, 12 collect information in their local network pertaining to sources that may be reached, and make this information available via a gateway 54.
[0054] For this purpose, each agent 30, 32 and each gateway 54 may have at its disposal two interfaces, namely on the one hand an interface to the respective automation solution 10, 12 (e.g., installation interface) and on the other hand an interface to the Internet 56 (e.g., Internet interface). Each agent 30, 32 determines all devices, services and so on that are connected to or may be reached via its installation interface. This takes place by what are known as discovery methods, which are known in principle. The information determined is stored in a device list 64 and transmitted to the gateway 54.
[0055] In act C, from the collected information (e.g., device list 64) on the one hand and the agent configuration 60, 62 stored in the cloud 50 on the other hand, a hierarchy of the agents 30, 32 may be established.
[0056] In act D, for the hierarchy determined, the matching configurationthe agent configuration 60, 62 originally stored in the cloud 50may be distributed to the respective agents 30, 32. Based on the configuration of the agents 30, 32 thus performed, the latter are enabled to collect the data specified in the agent configuration 60, 62 from the connected sources in accordance with the respective configuration.
[0057] This means that a user does not have to configure the agents 30, 32 of an automation solution 10, 12 individually. Rather, the data required for their configuration is distributed via a gateway 54. This uses the hierarchy of the agents 30, 32 established in act C to determine the configuration data of the agent configurations 60, 62 intended for the individual agents 30, 32 and loads this data onto the respective agents 30, 32.
[0058] Although the disclosure has been illustrated and described in detail based on the exemplary embodiment, the disclosure is not limited by the disclosed example or examples and other variations may be derived here from by the person skilled in the art, without departing from the scope of protection of the disclosure. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and/or combinations of embodiments are intended to be included in this description.
[0059] The disclosure proposed herein may be summarized in brief as follows: Agents 30, 32 assigned to an automation solution 10, 12 capture their environment, namely devices, services, data sources, and the like that may be reached locally, and this results in the generation of a device list 64. This is compared automatically with an agent configuration 60, 62 available in the cloud 50. Each agent 30, 32 of an automation solution 10, 12 is represented in the device list 64 with data that represents a kind of fingerprint of the agent 30, 32. The agent configuration 60, 62 includes a comparable fingerprint. The comparability is produced in that, during the agent configuration 60, 62, it is specified for instance which data sources an agent 30, 32 is to access. In the device list 64, it is indicated that the agent 30, 32 may access at least these data sources physically and for communication purposes. If there is a matching or sufficiently matching fingerprint of this kind in the agent configuration 60, 62 and in the device list 64, the configuration data contained in the agent configuration 60, 62 may be transmitted to the respective agent 30, 32. The agent 30, 32 configured/parameterized in this way may thus not only in principle access the data sources that may be reached, but with the data from the agent configuration 60, 62 also receives the necessary information about addresses, individual data words and the like. An agent 30, 32 that is identified only by way of which devices, services, data sources and the like it may reach in principle is thus configured and/or parameterized automatically according to the approach proposed here.
[0060] It is to be understood that the elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present disclosure. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent, and that such new combinations are to be understood as forming a part of the present specification.