Cloud computing system, method and computer program

By utilizing a cloud computing system to modify and optimize industrial automation controller configurations and programs, the method addresses the inefficiencies and integration challenges of current systems, achieving reduced downtime and enhanced production efficiency.

JP2025513896AActive Publication Date: 2025-04-30SOFTWARE DEFINED AUTOMATION GMBH
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024560757
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-04-12
Publication Date
2025-04-30
Estimated Expiration
2042-04-12

AI Technical Summary

Technical Problem

Current industrial automation systems face challenges due to strong vendor dependencies, limited interoperability, high costs, and the inability to integrate with modern enterprise software systems, leading to inefficiencies and increased downtime.

Method used

The method involves using a cloud computing system to obtain and modify controller configurations and programs, generating a compilation time representation that allows for remote modification and optimization of industrial automation controllers, enabling integration with enterprise software systems and real-time control.

Benefits of technology

This approach reduces downtime and costs, enhances production efficiency, and allows for seamless integration with enterprise software, enabling fully closed-loop reconfiguration and optimization of industrial automation systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025513896000001_ABST
    Figure 2025513896000001_ABST
Patent Text Reader

Abstract

In some aspects, the present disclosure relates to a method for configuring a controller of an industrial automation system over a network, the method including obtaining, by a cloud computing system, a controller configuration and a controller program, generating, by the cloud computing system, a compile-time representation of the controller enabling modification of the controller program and the controller configuration based on the obtained controller configuration and the obtained controller program, generating, by the cloud computing system, a modified controller program and / or a modified controller configuration using the compile-time representation of the controller, where the controller program defines run-time operation of the controller that controls a subsystem of the industrial automation system, and providing, by the cloud computing system over the network, the modified controller program and / or the modified controller configuration to a controller of the industrial automation system. Further aspects relate to methods for optimizing performance of an industrial automation system, as well as corresponding cloud computing systems and computer programs.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] 1.Technical Field The present disclosure relates to cloud computing systems and related methods and computer programs for configuring and optimizing the performance of industrial automation systems. [Background technology]

[0002] 2.Background Since the invention of the Programmable Logic Controller (PLC) in the late 1960s, large-scale automated production of goods has increased the wealth and productivity of industrialized economies. The overall GDP impact of industrial manufacturing is 14% in G10 countries, and its energy consumption is about 30% of the energy of developed countries. Over the past decades, industrial automation equipment suppliers have developed mostly proprietary technologies, from fieldbuses and input / output (I / O) devices, PLC level to enterprise industrial software systems. Such vertical system integration ensures compatibility within the stack, but it also results in strong dependencies, reducing interoperability across different automation technology platforms, security issues, and high costs. Furthermore, in such platforms, industrial control code editing systems and control code instruction dialects (typically some variant of 1990s standardization attempts such as IEC 61131 / 3) also remain proprietary, resulting in tight coupling of software and hardware in the PLC runtime system. Typically, PLC code editing systems are kept in local windows applications and PLC programming must be primarily performed in close physical proximity to the actual PLC devices. Changing the behavior of an industrial production line is therefore primarily a manual task performed on an individual PC while physically connected to a PLC located inside the production machine cabinet.

[0003] Furthermore, the traditional system architecture of such hardware-centric industrial automation technology platforms does not allow for the integration of production lines into modern enterprise software systems, which typically include microservices-based systems implementing core enterprise functions such as product lifecycle management (PLM), supply chain management (SCM), customer relationship management (CRM), enterprise resource planning (ERP), etc. Although such enterprise core function software systems have already adopted cloud-based services, changing the core functionality of manufacturing, for example via reprogramming / reconfiguring a PLC, still often requires sending an email to the automation engineering department explaining that a modification is required to change the industrial production system.

[0004] Furthermore, the tight coupling of hardware and software in typical industrial controllers has resulted in excessive vendor-specific hardware architectures and the use of application-specific integrated circuits (ASICs), leading to longer lead times for industrial automation equipment and vulnerability to supply chain disruptions. Furthermore, the current answer to deterministic runtime is to use integrated software and hardware in a single PLC, which also results in the highest computational cost in terms of maintenance and availability.

[0005] Therefore, there is a need for further improvements in industrial automation technology. In this regard, U.S. Patent Application Publication No. 2021 / 0356944 relates to a system and method for providing centralized management of a software defined automation (SDA) system. The described SDA system includes a collection of controller nodes and a collection of logically centralized but physically distributed compute nodes.

[0006] Furthermore, O. Givehchi, J. Imtiaz, H. Trsek and J. Jasperneite, “Control-as-a-service from the cloud: A case study for using virtualized PLCs,” 10th IEEE Workshop on Factory Communication Systems, 2014, discusses the concept of implementing PLC as a service within a cloud-based infrastructure and the performance of such cloud-based PLCs against legacy PLCs. Summary of the Invention [Means for solving the problem]

[0007] 3. Overview In a first aspect, the disclosure provides a method for configuring a controller of an industrial automation system, the method including obtaining, by a cloud computing system, a controller configuration and a controller program. The method further includes generating, by the cloud computing system, a compile-time representation of the controller based on the obtained controller configuration and the obtained controller program, enabling modification of the controller program and the controller configuration, and generating, by the cloud computing system, a modified controller program and / or a modified controller configuration using the compile-time representation of the controller, the controller program defining runtime operation of the controller that controls a subsystem of the industrial automation system. The modified controller program and / or the modified controller configuration are then provided by the cloud computing system over a network to the controller being configured.

[0008] For example, portions of the controller configuration and / or controller program may be obtained in the cloud computing system from a controller over a network, from a controller configuration file, and / or from a software library or source code repository that is internal or external to the cloud computing system.

[0009] For example, a PLC project file generated via vendor-specific software such as Siemens TIA Portal, Rockwell Studio 5000, Codesys Engineering, etc. may be imported and used to import parts of the controller configuration and / or the controller program.

[0010] Alternatively or additionally, the controller program may also be obtained in the cloud computing system from an integrated development environment (IDE) service hosted by the cloud computing system or connected thereto via a network. Further, the controller configuration may include one or more of controller type and capability information, network configuration of the controller, interface information for electromechanical drives; interface configuration for I / O devices connected to the controller via back-panel integration of an industrial fieldbus system.

[0011] One of the key aspects of the present disclosure is that the above compile-time representation of the industrial automation controller (also referred to synonymously below as PLCT twin service) can reside in the same IT / cloud infrastructure as other enterprise core microservices and software systems.

[0012] As used herein, the term compilation time should be understood to encompass the time during or before the generation of runtime machine code from corresponding source code, as well as the time when source code is generated, e.g., the time required to extract source code from a configuration file or to write the source code via a high-level programming language or system, such as a cloud-based IDE.

[0013] For example, the PLC Twin service enables modification of existing / obtained controller programs (e.g., via a GUI or an IDE connected to an API) at run-time, while or before the corresponding executable is currently running, at compile time, on one or more industrial controllers (e.g., PLCs, virtual PLCs, etc.) of an industrial automation system.

[0014] Thus, aspects of the present disclosure allow for optimizing the runtime of automation systems in terms of response time and computational costs. While the PLC Twin service abstracts key PLC functions across different technology platforms, the execution of real-time sensitive automation control tasks can still take place in close proximity to the industrial assets under control. Based on a secure and non-intrusive connectivity service, the PLC Twin service fully abstracts PLC control logic and enables system-wide automated PLC deployment in minutes.

[0015] As described in more detail below, aspects of the present disclosure enable microservices enterprise architectures beyond the real-time control level to natively interact with industrial automation, which is essentially becoming a set of microservices within the enterprise core stack. Additionally, aspects of the present disclosure enable programmatic APIs to be built on top of control instructions as a key enabler of full-loop system optimization.

[0016] Additionally, aspects of the present disclosure also enable modern CI / CD dev-ops capabilities such as IDE as a service (IDEaaS), PLC code version control, configurable access and security policies, and code integrity monitoring across PLC fleet services.

[0017] As described in further detail below, the modified controller program may then be provided to a compiler service hosted by the cloud computing system (operably connected to or integrated with the PLC twin service) to generate a runtime executable file that may then be provided over a network to one or more hardware-based PLC or virtual PLC services hosted by the edge computing system to control subsystems of the industrial automation system. Such a compilation service may be a cloud computing service external to or integrated into the PLC twin service.

[0018] For example, the compiler service and / or the PLC twin service may be implemented within a configurable virtualization environment, such as a container or microservice, that specifies security access policies and / or system resource utilization parameters, as well as comprises software libraries required for isolated execution by different types of (virtual) cloud computing devices.

[0019] Once the controller program and configuration parameters are represented via such PLC Twin services, the controller code and / or configuration parameters can be programmatically adapted using programming interfaces such as Application Programming Interfaces (APIs) via other enterprise software systems such as PLM, SCM, CRM, ERP, analytics, AI, etc., and / or via graphical user interfaces displayed on terminal devices and connected to cloud computing systems via a network. In this way, PLC Twin services form the basis for cloud-based automation of automation engineering.

[0020] Thus, some aspects may further include receiving, in the cloud computing system, via a programming interface (e.g., an API), programming and configuration instructions for modifying the controller program and / or the controller configuration, and generating, using the compile-time representation, a modified controller program and / or a modified controller configuration based on the received instructions.

[0021] For example, programming and configuration instructions may be received via an API from a second cloud computing system, and the programming and configuration instructions may be configured to change the controller program and / or the controller configuration based on product lifecycle management (PLM) requirements, manufacturing execution requirements, customer relationship management (CRM) requirements, supply chain management (SCM) requirements, and / or enterprise resource planning (ERP) requirements.

[0022] In some implementations, the obtained controller program and / or programming and configuration instructions may also be generated using an IDE service, preferably containerized and hosted by a cloud computing system.

[0023] Thus, certain aspects of the present disclosure enable the integration of setup and reconfiguration of industrial automation systems into existing cloud-based enterprise software systems, resulting in less downtime, reduced costs, and increased production.

[0024] Additionally, in some implementations, the compile-time representation of the controller may include or use a persistence layer that holds the controller configuration and control instruction elements of the controller program, with each individual element represented as a separate control logic object.

[0025] In some implementations, individual elements of the persistence layer may be individually configurable based on programming and configuration instructions received via a programming interface.

[0026] In essence, the persistence layer can act as a single source of truth (e.g., via a cloud-based data storage module providing code version control capabilities) for all control code used by the controllers (e.g., PLCs, virtual PLCs, etc.) of an industrial automation system, which enables a number of advantages. For example, a key security advantage is the full backup capability of an entire production line or an entire factory in the event of, for example, a security incident (e.g., a STUXnet-type incident) at the control layer. Using such a persistence layer or similar persistence capabilities further improves debugging and system maintenance via a system-wide, technology-agnostic code version control capability.

[0027] Some embodiments may further include receiving, at the cloud computing system, over a network, sensor data associated with a subsystem of the industrial automation system controlled by the controller, and generating, by the cloud computing system, programming and configuration instructions for modifying the controller program and / or the controller configuration based on analyzing the received sensor data.

[0028] In this manner, the present disclosure enables full closed-loop reconfiguration of industrial automation systems in a technology- and vendor-independent manner, thereby providing a technological foundation for self-optimizing production systems.

[0029] Such closed-loop reconfiguration of an industrial automation system works most efficiently and safely by using compile-time representations of the involved controllers, as described above, although other implementations are contemplated and covered by this disclosure. Thus, the present disclosure also provides a method for reconfiguring a controller of an industrial automation system, the method including receiving, at a cloud computing system, over a network, sensor data associated with a subsystem of the industrial automation system controlled by the controller, generating, by the cloud computing system, a modified controller program and a modified controller configuration based on analyzing the received sensor data, and providing, by the cloud computing system, over the network, the modified controller program and the modified controller configuration to a controller of the industrial automation system, where the controller program defines a runtime operation of the controller.

[0030] Some implementations may further include deriving, by the cloud computing system, quality metrics related to operation of the subsystems controlled by the controller based on the received sensor data; comparing, by the cloud computing system, the quality metrics to operational requirements of the industrial automation system (e.g., overall system output requirements, frequency of product defects, etc.); and generating, by the cloud computing system, programming and configuration instructions based on the comparison of the quality metrics to the operational requirements.

[0031] For example, the cloud computing system may use a trained neural network or other such device to assess / classify product quality based on received image sensor data and compare the frequency or percentage of products manufactured with poor quality to operational requirements received from other enterprise software systems (e.g., less than 5% product defects). Based on this comparison, the cloud computing system may generate programming and configuration instructions and provide them to a compile-time representation of one or more controllers to modify the runtime behavior of the controllers to reduce product defects.

[0032] For example, the cloud computing software may also be configured to determine probable causes and / or appropriate controller program modifications to meet operational requirements based on the received sensor data.

[0033] In some implementations, the controller may be a virtual controller implemented by edge computing software executed by an edge computing system operatively connected to the cloud computing system and the industrial automation system. In such implementations, the controller configuration may specify a virtualization environment for executing the edge computing software that implements the virtual controller and may include a network configuration of physical I / O devices connected to subsystems of the industrial automation system that are controlled by the virtual controller.

[0034] In some implementations, the virtual controller may be instantiated by a cloud computing system over a network on a host machine of an edge computing system managed by a real-time hypervisor using a compile-time representation of the virtual controller.

[0035] To improve security, scalability, and edge computing resource efficiency, the code implementing such a virtual PLC may also be containerized as described above for PLC twin services and / or compiler services.

[0036] Thus, aspects of the present disclosure allow for the (re)configuration of complex industrial control systems using a combination of hardware-based and virtual controllers from a uniform cloud-based interface that handles different types, models, and implementations of industrial control equipment on an equal footing. In this way, the key advantages of cloud computing, edge computing, and hardware-based PLCs can be synergistically integrated into a single hybrid industrial automation control system with significantly improved security, scalability, and flexibility while maintaining real-time and deterministic behavior when required. As discussed above, such an integrated hybrid industrial automation control system can be easily interfaced with other core enterprise software systems, resulting in significant increases in productivity, product customization capabilities, and reduced downtime of manufacturing facilities.

[0037] Some implementations may further include receiving, at the cloud computing system, monitoring data from the edge computing system that characterizes performance of the virtual controller. Similar to the sensor data received by the cloud computing system, such monitoring data may be used to optimize performance of the industrial automation system, as described above.

[0038] In a further aspect, the present disclosure also provides a cloud computing system for configuring a controller of an industrial automation system, the cloud computing system comprising one or more cloud computing nodes, each providing processing, memory and networking resources for execution of cloud computing software, the cloud computing nodes configured to receive and transmit data to and from the controller, and optionally from one or more sensors monitoring the industrial automation system, over a network, the one or more cloud computing nodes configured to execute the cloud computing software to configure the controller, over the network, by performing one of the methods described above and below.

[0039] In a further aspect, the present disclosure also provides a computer program comprising instructions for performing one of the methods discussed above and below when executed by such a cloud computing system.

[0040] Thus, as described above, the present disclosure also provides a distributed industrial automation control system comprising a first cloud computing system as described above, one or more controllers connected to the cloud computing system via a network, and a second cloud computing system that communicates with the first cloud computing system via an API.

[0041] In a further aspect, the present disclosure provides a method for optimizing performance of an industrial automation system, the method including generating, by a cloud computing system (e.g., by using a PLC twin service as described above), a modified controller program and / or a modified controller configuration for a controller that controls a subsystem of the industrial automation system, the controller program defining a runtime operation of the controller. The method further includes providing, by the cloud computing system over a network, the modified controller program and / or the modified controller configuration to the controller to modify the runtime operation of the controller, receiving, at the cloud computing system over the network, sensor data for the industrial automation system, estimating, by the cloud computing system, a performance change of the industrial automation system caused by the modified runtime operation of the controller based on the received sensor data, and optimizing, by the cloud computing system, the performance of the industrial automation system based on the estimated performance change.

[0042] In some implementations, optimizing the performance of the industrial automation system may include one or more of storing in a memory subsystem a data structure correlating modifications to the controller program and / or controller configuration with estimated performance changes, deriving subsequent modifications to the controller program and / or controller configuration based on the estimated performance changes, and comparing the estimated performance changes to predictions derived from a computational model of the industrial automation system.

[0043] For example, by storing such data structures correlating modifications to controller programs and / or controller configurations with estimated performance changes, one may generate training sets of labeled examples, preferably across many different industrial automation systems, that can be used as input for modern machine learning paradigms such as reinforcement learning.

[0044] For example, deriving subsequent modifications to the controller program and / or controller configuration may be based on a stochastic search algorithm or reinforcement learning.

[0045] Some implementations may include training a deep reinforcement learning neural network model based at least in part on a training set including stored correlations between controller program and / or controller configuration modifications and estimated performance changes, optionally, the training set obtained from a plurality of different industrial automation systems.

[0046] In this manner, the present disclosure provides autonomous AI-based optimization of complex industrial automation systems that may include multiple different controller technologies, types, and models.

[0047] 4. Brief description of the drawings Various aspects and implementation details of the disclosure are described in more detail below with reference to the accompanying drawings, which show: [Brief description of the drawings]

[0048] [Figure 1] FIG. 1 is a functional block diagram of a cloud computing system for configuring an industrial controller according to some aspects of the present disclosure. [Diagram 2] FIG. 1 is a functional block diagram of an implementation of a cloud computing system according to some aspects of the present disclosure. [Diagram 3] FIG. 1 is a functional block diagram of an implementation of a cloud computing system adapted to enable closed-loop (re)configuration of an industrial automation system in accordance with certain aspects of the present disclosure. [Figure 4] FIG. 1 is a process diagram illustrating a method for configuring a controller of an industrial automation system according to some aspects of the present disclosure. [Diagram 5] FIG. 1 is a process diagram illustrating a method for optimizing performance of an industrial automation system according to some aspects of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0049] 5. Description of Exemplary Embodiments In the following, some exemplary embodiments of the present disclosure will be described in more detail with reference to exemplary processes and computing systems. Of course, the computing system provided by the present disclosure may use standard hardware components (e.g., cloud computing nodes or servers connect to each other via conventional wired or wireless network technologies). In some implementations, application-specific hardware (e.g., circuits for training neural network models and / or circuits for executing trained models, etc.) may also be used. Furthermore, such computing systems are configured to execute software instructions (e.g., retrieved from co-located or remote non-transitory memory circuits) to perform the computer-implemented methods described in the previous section.

[0050] Although certain feature combinations are described in the following paragraphs with respect to exemplary embodiments of the present disclosure, it should be understood that not all features of the described embodiments need to be present to realize the present disclosure as defined by the subject matter of the claims. The disclosed embodiments may be modified by combining specific features of one exemplary embodiment with one or more technically and functionally compatible features of another exemplary embodiment. In particular, those skilled in the art will understand that features, components, process steps and / or functional elements of one exemplary embodiment may be combined with technically compatible features, process steps, components and / or functional elements of any other exemplary embodiment of the present disclosure, as long as they are covered by the specification provided by the appended claims.

[0051] Furthermore, various embodiments described herein may be implemented in hardware, software, or a combination thereof. For example, various components, elements, subsystems, modules, etc. of the systems disclosed herein may be implemented via application-specific software running on general-purpose data and signal processing equipment such as servers, computing nodes, CPUs, DSPs and / or systems-on-chips, SOCs, or similar components, or any combination thereof. Some implementations also use application-specific hardware components such as application-specific integrated circuits (ASICs) and / or field programmable gate arrays (FPGAs), and / or similar components, and / or any combination thereof.

[0052] For example, the various computing (sub)systems described herein may be implemented, at least in part, on general-purpose data processing equipment, such as cloud and / or edge computing servers.

[0053] 1 illustrates a functional block diagram illustrating the system architecture, functionality, and operation of a cloud computing system 110 according to one aspect of the disclosure. As described above in Section 3 "Overview," cloud computing system 110 may include one or more cloud compute nodes 112, each providing (e.g., virtualized) processing resources 114, memory resources 116, and networking resources 118 for cloud-based distributed execution of cloud computing software (not shown).

[0054] The cloud computing node 112 is configured to receive and transmit data over a network 120 (e.g., an IP-based network such as the Internet) to and from a controller 132 of the industrial automation system 130, and optionally to and from one or more sensors (not shown) that monitor the operation of the industrial automation system 130. The industrial automation system 130 may also include (or be connected to) edge computing equipment 134 (e.g., one or more edge computing nodes running edge computing software) that may be configured to host a virtualized, preferably containerized, virtual industrial controller, as described in section 3 above. The industrial automation system 130 may also include a hardware-based industrial controller 132, such as a PLC.

[0055] The virtual and hardware-based controllers of the industrial automation system 130 may be connected to actuators 138 and sensors (not shown) of the industrial automation system 130 via real-time capable industrial automation network technology 136. As also discussed above in Section 3, the cloud computing nodes 112 are configured to configure the controllers of the industrial automation system 130 via the network 120 by executing cloud computing software to perform the methods described above and below with reference to FIG.

[0056] FIG. 2 illustrates a functional block diagram illustrating further aspects of the system architecture, functionality, and operation of cloud computing system 110 according to some aspects of the disclosure. In particular, FIG. 2 illustrates important aspects of the software architecture of cloud computing system 110. As described in section 3 above, cloud computing system 110 is configured to generate and operate one or more compile-time representations 210 for each controller 132 (e.g., together or as separate examples) configured via network 120. Also as described above, in some implementations, compile-time representation 210 may include or use persistence layer 212 and programming interface layer 214. Persistence layer 212 may be configured to hold controller configuration and controller program control instruction elements, with individual control elements represented as separate control logic objects. Additionally, individual elements of persistence layer 212 may be individually configurable based on programming and configuration instructions received via programming interface 250 via programming interface layer 214.

[0057] For example, cloud computing system 110 may be configured to receive, via programming interface 250, programming and configuration instructions for modifying a controller program and / or a controller configuration maintained by persistence layer 212 as described above, and for generating a modified controller program and / or a modified controller configuration based on the received instructions.

[0058] For example, the programming and configuration instructions 242 may be received via the API 250 from a second cloud computing system 240, such as a PLM, manufacturing execution, CRM, SCM, or ERP system.

[0059] The cloud computing system 110 may further be configured to host an integrated development environment (IDE) service 230 that may provide controller program instructions 232 (e.g., in the form of blocks of control logic elements) and / or controller configurations as described above.

[0060] As described above, the modified controller program may then be provided to a compiler service 220 hosted by the cloud computing system 110 (operably connected to or integrated with the PLC twin service 210) to generate a runtime executable file that may then be provided over the network 120 to one or more hardware-based PLCs 132 or virtual PLC services 132 hosted by the edge computing system (see FIGS. 1 and 3) to control subsystems 138 (e.g., sensors and / or actuators) of the industrial automation system 130. Such a compiler service 220 may be implemented as a cloud computing service external to or integrated into the PLC twin service 210. The compiler service 220 may also comprise several different compiler modules 222, 224 for compiling different types of (e.g., vendor-specific) controller program types.

[0061] For example, the compiler service 220 and / or the PLC twin service 210 may be implemented in / via a configurable virtualization environment, such as containers or microservices, that specifies, among other things, security access policies and / or system resource utilization parameters, as well as providing the software libraries necessary for isolated execution of each service by different types of (virtual) cloud computing devices.

[0062] As mentioned above, the cloud computing system shown in FIG. 2 is therefore configured to perform various methods for configuring an industrial controller as described above with reference to FIG. 4 below.

[0063] 3 illustrates a functional block diagram illustrating further aspects of the system architecture, functionality, and operation of cloud computing system 110 in accordance with further aspects of the present disclosure. In particular, FIG. 3 illustrates important aspects of the software architecture of cloud computing system 110 configured to enable full closed-loop controller (re)configuration, as described in more detail in Section 3 above.

[0064] 2, Figure 3 also illustrates an industrial automation system 130 that includes an edge computing system 310 operatively connected to the cloud computing system 110, for example, via a network 120. The edge computing system 310 may include a controller management service / module 312 and may be configured to run edge computing software to implement / host a virtual controller 314 (e.g., a virtual PLC).

[0065] In such a configuration, the controller configuration obtained and used to generate the corresponding compile-time representation 210 may also specify a virtualization environment for executing the edge computing software implementing the virtual controller 314, as well as the network configuration of the physical I / O devices 332 connected to the subsystems 138 of the industrial automation system 130 that are controlled by the virtual controller 314.

[0066] For example, the cloud computing system 110 via the controller management service / module 312 may be configured to instantiate a virtual controller 314 over the network 120 on a host machine of the edge computing system 310 managed by a real-time hypervisor to enable deterministic real-time control of the corresponding subsystem 138.

[0067] The edge computing system 310 may also include / host a sensor management service / module 316 configured to receive, pre-process, and forward sensor data via the network 120 to the cloud computing system 110, as described above in Section 3.

[0068] In particular, the cloud computing system 110 may be configured to receive sensor data via the network 120 related to the subsystems 138 of the industrial automation system 130 controlled by the controllers 132, 314, and, based on analyzing the received sensor data, generate programming and configuration instructions (e.g., to the IDE 230 via an API) for modifying the controller program and / or controller configuration.

[0069] The received sensor data may be stored in the data storage module 350 of the cloud computing system 110, which may also be used, for example, to support or enable the operation of the persistence layer used by the compile-time representation 210.

[0070] The cloud computing system may also host a sensor data processing and presentation service 360 ​​that may perform certain sensor data analysis steps as described above.

[0071] For example, such a sensor data processing and display service 360 ​​may be configured to derive quality metrics related to the operation of the subsystems 138 controlled by the controllers 132, 314 based on the received sensor data, compare the quality metrics to operational requirements of the industrial automation system 130, and generate programming and configuration instructions (e.g., directly or via an API to the IDE service 230) based on the comparison of the quality metrics to the operational requirements, as described in more detail in Section 3 above.

[0072] Cloud computing system 110 may further comprise / host artificial intelligence (AI) module / service 370 that may be operatively connected (e.g., via API 390) to data storage module 350 and / or additional cloud-based software systems 242, 344, 346, as described above. Additionally, AI service 370 may interface with experiment engine 380 hosted by cloud computing system 110, which may in turn interface with PLC twin service 210 (e.g., directly or via an API to IDE service 230).

[0073] In this manner, the cloud computing system 110 may be configured for AI-based automated optimization of the industrial automation system 130, as described in more detail above. In particular, the cloud computing system 110 may be configured to execute a method for optimizing performance of an industrial automation system, as disclosed herein and with reference to FIG.

[0074] FIG. 4 illustrates an example of a method for configuring a controller of an industrial automation system over a network (see FIGS. 1-3). The process begins at step 410, where the cloud computing system retrieves a controller configuration and a controller program. In step 420, the cloud computing system generates a compile-time representation of the controller based on the retrieved controller configuration and the retrieved controller program, which allows for modification of the controller program and the controller configuration (e.g., via a programming interface or GUI-based IDE). Then, in step 430, the compile-time representation of the controller is used to generate a modified controller program and / or a modified controller configuration, where the controller program defines the run-time behavior of the controller that controls a subsystem of the industrial automation system (as described in more detail in section 3 above and with reference to FIGS. 1-3).

[0075] Thereafter, the cloud computing system provides the modified controller program and / or the modified controller configuration to the controller of the industrial automation system over the network in step 440. Further implementations of such methods are described in detail in Section 3 above.

[0076] According to another aspect of the present disclosure, FIG. 5 illustrates a method for optimizing performance of an industrial automation system, including the following steps.

[0077] Generating (510), by a cloud computing system (see Figures 1-3 for implementation details), a modified controller program and / or a modified controller configuration for a controller that controls a subsystem of the industrial automation system, the controller program defining a runtime operation of the controller, and providing (520), by the cloud computing system over a network, the modified controller program and / or the modified controller configuration to the controller to modify the runtime operation of the controller.

[0078] The illustrated method further includes receiving (530) sensor data for the industrial automation system at the cloud computing system via a network, estimating (540) a performance change of the industrial automation system caused by the modified runtime operation of the controller based on the received sensor data, by the cloud computing system, and optimizing (540) performance of the industrial automation system based on the estimated performance change.

[0079] Further implementations of such methods are described in more detail in Section 3 above.

Claims

1. 1. A method for configuring a controller of an industrial automation system over a network, the method comprising: Obtaining a controller configuration and a controller program by a cloud computing system; generating, by the cloud computing system, a compile-time representation of the controller based on the obtained controller configuration and the obtained controller program, the representation enabling modification of the controller program and the controller configuration; generating, by the cloud computing system, a modified controller program and / or a modified controller configuration using the compile-time representation of the controller, the controller program defining run-time operation of the controller that controls a subsystem of the industrial automation system; providing the modified controller program and / or the modified controller configuration to the controller of the industrial automation system by the cloud computing system over the network; A method comprising:

2. 2. The method of claim 1 , wherein the controller configuration and / or portions of the controller program are obtained in the cloud computing system from the controller, from a controller configuration file, and / or from a software library or source code repository that is internal or external to the cloud computing system.

3. The method of claim 1 or 2, wherein the controller program is obtained in the cloud computing system from an integrated development environment service hosted by the cloud computing system.

4. receiving, at the cloud computing system, via a programming interface, programming and configuration instructions for modifying the obtained controller program and / or the obtained controller configuration; generating the modified controller program and / or the modified controller configuration based on the received instructions; The method of any one of claims 1 to 3, further comprising:

5. 5. The method of claim 4, wherein the programming interface is an application programming interface (API), the programming and configuration instructions are received from a second cloud computing system via the API, and the programming and configuration instructions are configured to modify the controller program and / or the controller configuration based on product lifecycle management (PLM) requirements, manufacturing execution requirements, customer relationship management (CRM) requirements, supply chain management (SCM) requirements, and / or enterprise resource planning (ERP) requirements.

6. A method according to any preceding claim, wherein the compile-time representation of the controller includes a persistence layer that holds controller configuration and control instruction elements of a controller program, each of said control elements being represented as a separate control logic object.

7. The method of claim 6 , wherein the individual elements of the persistence layer are individually configurable based on the programming and configuration instructions received via the programming interface.

8. receiving, in the cloud computing system, via the network, sensor data associated with a subsystem of the industrial automation system controlled by the controller; generating, by the cloud computing system, the programming and configuration instructions for modifying the controller program and / or the controller configuration based on analyzing the received sensor data; The method of any one of claims 4 to 7, further comprising:

9. deriving, by the cloud computing system, quality metrics associated with operation of the subsystems controlled by the controller based on the received sensor data; comparing, by the cloud computing system, the quality metrics with operational requirements of the industrial automation system; generating, by the cloud computing system, the programming and configuration instructions based on the comparison of the quality metrics to the operational requirements; The method of claim 8 , further comprising:

10. classifying, by the cloud computing system, a product quality based on the received sensor data; Comparing the frequency or rate of product defects to operational requirements; and / or determining probable causes and / or appropriate controller program modifications to meet said operational requirements based on said received sensor data; The method of claim 9 further comprising:

11. 11. The method of claim 1, wherein the obtained controller configuration further comprises one or more of controller type and capability information, a network configuration of the controller, interface information for electromechanical drives, and interface configurations for I / O devices connected to the controller via back-panel integration of an industrial Fieldbus system.

12. the controller is a virtual controller implemented by edge computing software executed by an edge computing system operatively connected to the cloud computing system and the industrial automation system; The method according to any one of claims 1 to 11, wherein the acquired controller configuration specifies a virtualization environment for executing the edge computing software implementing the virtual controller and includes a network configuration of physical I / O devices connected to subsystems of the industrial automation system controlled by the virtual controller.

13. 13. The method of claim 12, further comprising instantiating the virtual controller on a host machine of the edge computing system managed by a real-time hypervisor by the cloud computing system over the network.

14. The method of claim 12 or 13, further comprising receiving, at the cloud computing system, monitoring data from the edge computing system characterizing a performance of the virtual controller.

15. The method of any of claims 1 to 14, further comprising generating the obtained controller program and / or the programming and configuration instructions using an integrated development environment of the cloud computing system.

16. 1. A cloud computing system for configuring one or more controllers of an industrial automation system, the cloud computing system comprising: One or more cloud compute nodes, each of which provides processing, memory and networking resources for the execution of cloud computing software. Equipped with the cloud computing nodes are configured to receive and transmit data over a network to and from the controller of the industrial automation system, and optionally from one or more sensors monitoring the industrial automation system; 16. A cloud computing system, wherein the one or more cloud computing nodes are configured to execute cloud computing software to configure the controller over the network by executing the method of any one of claims 1 to 15.

17. A computer program comprising instructions for carrying out the method according to any of claims 1 to 15, when executed by a cloud computing system.

18. A first cloud computing system according to claim 16; one or more controllers of an industrial automation system connected to the first cloud computing system via a network; a second cloud computing system in communication with the first cloud computing system via a programming interface; A distributed industrial automation control system comprising:

19. 1. A method for optimizing performance of an industrial automation system, the method comprising: generating, by a cloud computing system, a modified controller program and / or a modified controller configuration for a controller that controls a subsystem of the industrial automation system, the controller program defining a runtime operation of the controller; providing the modified controller program and / or the modified controller configuration to the controller by the cloud computing system over a network to modify the runtime operation of the controller; receiving sensor data for the industrial automation system at the cloud computing system via the network; estimating, by the cloud computing system, a performance change of the industrial automation system caused by the modified runtime operation of the controller based on the received sensor data; optimizing, by the cloud computing system, performance of the industrial automation system based on the estimated performance change; A method comprising:

20. Optimizing performance of the industrial automation system, storing in a memory subsystem a data structure correlating the modifications of the controller program and / or the controller configuration with the estimated performance changes; deriving subsequent modifications to the controller program and / or the controller configuration based on the performance changes; and Comparing the estimated performance change with predictions derived from a computational model of the industrial automation system.

20. The method of claim 19, comprising one or more of:

21. The method of claim 19 , wherein deriving the subsequent modifications of the controller program and / or the controller configuration is based on a stochastic search algorithm or reinforcement learning.

22. 22. The method of any of claims 19 to 21, further comprising training a deep reinforcement learning neural network model based at least in part on a training set comprising stored correlations between modifications to a controller program and / or the controller configuration and the estimated performance changes, optionally the training set being obtained from a plurality of different industrial automation systems.

Citation Information

Patent Citations

  • Method for engineering and simulating an automation system by means of digital twins

    CN113661455A

  • Automatic interfacing of platform independent computer software into program code for a platform dependent functions

    DE102004012315A1

  • Method and system for generating control programs in a cloud computing environment

    EP3734379A1

  • Control program creation assisting tool and control program creating method

    JP2020086638A