Method and Assembly for Configuring and/or Programming an Industrial Automation Component
20250110464 ยท 2025-04-03
Inventors
Cpc classification
International classification
Abstract
A method and assembly for configuring and/or programming an industrial automation component, wherein respective properties at runtime are detected and stored in a database for a plurality of possible combinations of the hardware, the operating system and/or the application program, and wherein a model is generated from the database data and/or optimized using a reinforcement learning process, where a reinforcement learning reward function used during the learning or optimization process seeks to provide an accurate prediction of the properties, the properties at runtime are then predicted for intended or possible combinations using the model compared with a specified requirement, and a suitable combination is subsequently ascertained using the comparison, and the industrial automation component is configured or programmed according to the selected combination, such that the real-time behavior is very precisely predicted such that the industrial automation component can be optimally configured or programmed.
Claims
1.-11. (canceled)
12. A method for configuring and/or programming an industrial automation component, at least one specific requirement with respect to runtime properties associated with real-time behavior during execution of an industrial application program being specified with respect to the industrial automation component, and various possible combinations from different versions of at least one of hardware, an operating system and the industrial application program being regularly available for the industrial automation component, the method comprising: measuring and storing in a database respective properties at runtime, for a plurality of the possible combinations of at least one the hardware, the operating system and the industrial application program, each combination of the hardware having a different application program version, each combination of the operating system having a different operating system version and each combination of the industrial application program having a different application program version; at least one of creating and optimizing a model for predicting the properties at runtime from the data of the database via a reinforcement learning process, a reward function of the reinforcement learning process which is utilized in the learning or optimization of the model being directed towards an accurate prediction of the properties; predicting the properties at runtime for a number of intended or possible combinations utilizing the model; comparing the predicted properties at runtime with the at least one specific requirement; and identifying a suitable combination utilizing the comparison and configuring or programming the industrial automation component according to the selected combination; wherein during said measuring and storing the various possible combinations interact with at least one other simulated industrial automation component; wherein a planned use case for the industrial automation component to be configured or programmed is simulated via the at least one other simulated industrial automation component; and wherein for each use case, or at least for each class of use cases, the properties at runtime are stored separately in the database and learned separately in the model.
13. The method as claimed in claim 12, wherein during said identifying a suitable combination the fifth step a selection from these combinations is made based on an additional criterion, if multiple suitable combinations are identified.
14. The method as claimed in claim 13, wherein the additional criterion is at least one of cost information and availability information at a time of a planned configuration or programming; and wherein at least one of the cost information and availability information are automatically retrieved from at least one inventory management system.
15. The method as claimed in claim 12, wherein during said measuring and storing a plurality of combinations are automatically installed and executed in a test assembly.
16. The method as claimed in claim 12, wherein during said measuring and storing descriptive meta-information for a use case is stored in the database; and wherein during said in predicting the properties at runtime descriptive meta-information for an intended use case is specified for predicting the properties at runtime.
17. The method as claimed in claim 12, wherein the industrial automation component comprises an industrial controller or an industrial communication device.
18. An assembly for configuring and/or programming an industrial automation component, at least one specific requirement with respect to runtime properties associated with real-time behavior during execution of an industrial application program being specified with respect to the industrial automation component, and various possible combinations from different versions of at least one of hardware, an operating system and the industrial application program being regularly available for the industrial automation component, the assembly comprising: at least one test assembly configured such that, for a plurality of possible combinations of at least one the hardware, the operating system and the industrial application program, respective properties at runtime are recorded and stored in a database, each combination of the hardware having a different application program version, each combination of the operating system having a different operating system version and each combination of the industrial application program having a different application program version; an analysis device configured to at least one of create and optimize a model for predicting the properties at runtime from the data of the database via a reinforcement learning process, a reward function of the reinforcement learning process, which is used in the learning or optimization of the model, being directed towards accurately predicting the properties; a selection device for predicting the properties at runtime for a number of intended or possible combinations utilizing the model, the selection device being configured to compare the predictions with the at least one specific requirement, the selection device being configured to identify a suitable combination via the comparison and to transfer information about the ascertained combination to an engineering system; wherein the configuration or programming of the industrial automation component according to the selected combination is provided via the engineering system; wherein the test assembly ensure that the combinations interact with at least one other industrial automation component; wherein a planned use case for the industrial automation component to be configured or programmed is simulated by the at least one other industrial automation component; and wherein for each use case, or at least for each class of use cases, the properties at runtime are stored separately in the database and learned separately in the model.
19. The assembly as claimed in claim 18, wherein the selection device is configured to select one of these combinations based on an additional criterion if multiple suitable combinations are identified.
20. The assembly as claimed in claim 19, wherein the additional criterion is at least one of cost information and availability information at the time of a planned configuration or programming; and wherein the selection device automatically retrieves at least one of the cost information and availability information from at least one inventory management system.
21. The assembly as claimed in claim 18, wherein automatic installation and execution of a plurality of combinations occurs in the test assembly.
22. The assembly as claimed in claim 19, wherein automatic installation and execution of a plurality of combinations occurs in the test assembly.
23. The assembly as claimed in claim 20, wherein automatic installation and execution of a plurality of combinations occurs in the test assembly.
24. The assembly as claimed in claim 18, wherein descriptive meta-information for each tested or simulated use case is stored in the database; and wherein descriptive meta-information for an intended use case is specified for predicting the properties at runtime.
25. The assembly as claimed in claim 18, wherein the industrial automation component comprises an industrial controller or an industrial communication device.
26. A non-transitory computer readable medium encoded with a computer program which, when executed by a processor of a computer, causes configuration and/or programming of an industrial automation component, the computer program comprising: program code for measuring and storing in a database respective properties at runtime, for a plurality of possible combinations of at least one of hardware, an operating system and an industrial application program, each combination of the hardware having a different application program version, each combination of the operating system having a different operating system version and each combination of the industrial application program having a different application program version; program code for at least one of creating and optimizing a model for predicting the properties at runtime from the data of the database via a reinforcement learning process, a reward function of the reinforcement learning process which is utilized in the learning or optimization of the model being directed towards an accurate prediction of the properties; program code for predicting the properties at runtime for a number of intended or possible combinations utilizing the model; program code for comparing the predicted properties at runtime with the at least one specific requirement; and program code for identifying a suitable combination utilizing the comparison and configuring or programming the industrial automation component according to the selected combination; wherein during said measuring and storing the various possible combinations interact with at least one other simulated industrial automation component; wherein a planned use case for the industrial automation component to be configured or programmed is simulated via the at least one other simulated industrial automation component; and wherein for each use case, or at least for each class of use cases, the properties at runtime are stored separately in the database and learned separately in the model.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] An exemplary embodiment of the method according to the invention is explained below with reference to the drawings; this is also used to explain an assembly according to the invention, in which:
[0027]
[0028]
[0029]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENT
[0030]
[0031] Based on this, the method in accordance with the invention is illustrated in
[0032]
[0033] From the information (in particular: version identifiers) of the respective combinations K1, K2, K3 and the respectively assigned results of the measurements M, a model (not shown), an artificial intelligence system, e.g., a neural network, is created, trained or retrained, which serves to determine or predict the runtime that has properties of an industrial automation component corresponding components similar to the combinations K1, K2, K3. To perform the training T of an artificial intelligence system used for the modeling, a reinforcement learning process is used, where for each execution of one of the combinations K1, K2, K3 the deviation between the actually measured properties at runtime with the runtime properties calculated by the model for the respective combination K1, K2, K3 are each determined, where the algorithm is more strongly rewarded in the case of a very small deviation and the model is thus progressively refined. The model and the combinations K1, K2, K3 used in the training T of the model and optionally the parameters used in the process are stored, together with the results of the measurements M and the model trained with them, in a database DB, i.e., the knowledge base.
[0034] To determine the expected properties at runtime PRT (predicted runtime properties) of a desired combination USC (user-specific configuration), a data set with the configuration of this combination, i.e., essentially with the version identifiers and other identification information for the hardware, the operating system, the application program and, if applicable, the firmware and the like, is transmitted to an analysis device, which confronts the model stored in the database DB with this information and information returns about the expected properties at runtime for this configuration OSC as a return value. In addition, the parameters determined during an optimization can be optionally returned. The specifications provided to the analysis may device also include meta-information about the planned use of the automation component, which is then correlated by the trained model with meta-information of the (simulated) use cases carried out in the tests. This increases the prediction accuracy.
[0035] The analysis device and the database DB can be configured on a common server, but a separate arrangement can also be used. It bears noting the analysis device is not shown merely for purposes of simplicity.
[0036] A surcharge is applied to the returned result for incalculable deviations by adding a safety buffer BUF (buffer of uncertainty). However, this value BUF can often turn out to be smaller than in the iterative method because of the more reliable or more precise response of the model compared to the prior art (see
[0037] The result is a prediction of the expected properties at runtime PRT (prediction for runtime). A selection device (not shown) compares this value PRT with specifications for a pending task of the automation component to be configured or programmed. In particular, these specifications can consist of a maximum cycle time and a maximum jitter. These specifications usually have a technical background, for example, because of the required stability of a control algorithm, required response times or the like. If the specifications are satisfied, then the automation component can be configured or programmed according to the tested combination USC, preferably via an engineering system (not shown). If the specifications are substantially exceeded, then it is worth considering whether to use a smaller and therefore usually less expensive piece of hardware HW or a less powerful software combination of operating system, application program and, optionally, firmware. Such an alternative combination can be automatically selected and then tested using the analysis device. If the tested combination USC does not meet the specifications, then conversely another alternative combination can be automatically suggested and tested, where this alternative combination may consist of higher-cost and thus usually faster components. In one embodiment, the analysis device can also be confronted with the specifications and then return one or more of the tested combinations K1, K2 or K3, which come closest to meeting the specifications in terms of their runtime behavior. The system can then use these actually tested combinations K1, K2, K3 as a basis for generating a new, not yet tested combination USC, which may allow the number of iterations for finding the best-suited combination to be reduced.
[0038] The approach in accordance with the disclosed embodiments of the invention solves the problem of finding a best-suited combination of software and/or hardware for an automation component by creating and using a knowledge base for predicting real-time behavior.
[0039] For this purpose, the previous iterative approach to tuning (incrementally improving) a specific configuration or system is not used, but instead a plurality of variations from hardware to end-user application and possible combinations of these are measured and thus tested for their real-time behavior. The results of these measurements are stored in a global knowledge base (e.g., a merger of different databases, etc.).
[0040] If a specific configuration or a system exists for which a statement on the real-time behavior must be made, then there are two possibilities for the prediction.
[0041] In the simplest case, the present exact configuration is already known and measurements are available for exactly this configuration. A prediction is directly possible here. However, because of the large number of possible combinations, this ideal case rarely occurs.
[0042] However, if the combination under consideration has not yet been tested or measured, a derivation must be made for the present configuration. This derivation is based on available results of comparable systems and an additional uncertainty factor that takes into account inaccuracies of the derivation. This procedure allows a prediction of the real-time behavior, in particular for flexible systems (e.g., container environments such as industrial or virtualization edge computing, environments with flexible instances and regularly changing applications).
[0043] The disadvantages of this approach (in particular due to the comparatively large uncertainty factor) lie in the discarded values in the real-time behavior. The approach therefore offers hardly any way to optimize a system up to the last possible value for real time operation, but on the other hand offers low-cost predictions for highly flexible environments. Due to its principle of operation, the procedure involves a large number of combinations that must be set up and tested. In order to set a restriction here or to improve the prediction at least for certain groups, a reduction in recorded/supported hardware can be included (e.g., only record and make predictions for industrial-grade hardware). It is also possible to compile only those system components (hardware, software) that are currently deliverable, which meet certain price expectations or that are to be preferred for other reasons, including technical ones (e.g. compliance with safety regulations or the like). The compilations can also be created and tested automatically by accessing inventory management systems or supplier databases.
[0044] The quality of the prediction can also be significantly improved by two options.
[0045] On the one hand, it is possible to use dedicated test farms with which the already mentioned partial or fully automatic test of various combinations can be implemented. By providing dedicated resources (different systems+combination of software and applications), separate test measurements can be performed and stored in the knowledge base. As the size (number) of systems in the test farm increases, the knowledge/experience of real-time behavior also improves, resulting in an improved model and thus improved prediction quality for user-specific systems.
[0046] On the other hand, the use in accordance with the disclosed embodiments of the invention of reinforcement learning enables a substantial improvement in the prediction accuracy. This machine learning method enables targeted predictions to be achieved with good real-time behavior. For this purpose, an algorithm is rewarded and thus enhanced or optimized during learning, which achieves particularly precise predictive accuracy by using particularly good real-time behavior through certain combinations in systems or the optimized parameterization of system settings (e.g. kernel options, resource distribution, etc.).
[0047]
[0048] This knowledge is used when a user-specific configuration exists in order to use the results of identical or comparable configurations to reduce uncertainty and thus to make an accurate prediction. The trained algorithm of the model is clearly superior to classical interpolation.
[0049] The main difference compared to the prior art lies in the approach of making a statement about the real-time behavior. The previous iterative approach brings the advantages of a test iterated multiple times and the optimization to the maximum possible conclusion.
[0050] The advantage of the new solution lies in its flexible applicability to new infrastructures (e.g., container or virtualization environments) as well as in the possibility of a direct prediction without having to submit a configuration to an iterative test process.
[0051] It is therefore also possible to introduce real-time applications retrospectively to existing systems (brownfield) and to make a prediction about the possible real-time behavior. This enables the user to use real-time in a flexible way and to make significantly better use of resources. As a result, an automation component can be configured and/or programmed in a suitable, and above all optimized manner. Under-dimensioning is reliably prevented and as a result, overdimensioning becomes obsolete as far as possible.
[0052]
[0053] The method comprises measuring M and storing in a database DB respective properties at runtime, for a plurality of the possible combinations K1, K2, K3 of at least one the hardware, the operating system and the application program, each combination of the hardware having a different application program version, as indicated in step 310. Here, each combination of the operating system has a different operating system version and each combination of the application program has a different application program version.
[0054] Next, a model for predicting the properties at runtime PRT is created and/or optimized T from the data of the database DB via a reinforcement learning process, as indicated in step 320. Here, a reward function of the reinforcement learning process that is utilized in the learning or optimization T of the model is directed towards an accurate prediction of the properties.
[0055] Next, the properties at runtime PRT are predicted for a number of intended or possible combinations USC utilizing the model, as indicated in step 330.
[0056] Next, the predicted properties at runtime PRT are compared with the at least one specific requirement, as indicated in step 340.
[0057] Next, a suitable combination USC is identified using the comparison and the industrial automation component is configured or programmed according to the selected combination USC, as indicated in step 350.
[0058] In accordance with the method, during the measuring M and storing (step 310), the various possible combinations K1, K2, K3 interact with at least one other simulated industrial automation component. In addition, a planned use case for the industrial automation component to be configured or programmed is simulated via the at least one other simulated industrial automation component. Moreover, for each use case, or at least for each class of use cases, the properties at runtime are stored separately in the database and learned separately in the model.
[0059] Thus, while there have been shown, described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods described and the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps that perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.