Cloud computing system, method and computer program

The cloud-based PLC Twin service addresses interoperability and integration challenges in industrial automation by enabling compile-time modification and closed-loop reconfiguration, enhancing productivity and security through integration with enterprise systems.

JP7721821B2Active Publication Date: 2025-08-12SOFTWARE DEFINED AUTOMATION GMBH
View PDF 4 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Industrial automation systems face interoperability issues, high costs, security vulnerabilities, and inefficiencies due to proprietary technologies and tight hardware-software coupling, limiting integration with modern enterprise software systems and increasing downtime.

Method used

A cloud-based PLC Twin service enables compile-time modification of controller programs and configurations, abstracting PLC control logic for system-wide automated deployment, integrating with enterprise microservices and enabling closed-loop reconfiguration using AI and edge computing for real-time optimization.

Benefits of technology

This approach reduces downtime, costs, and enhances productivity by allowing seamless integration with enterprise systems, improving security, scalability, and flexibility while maintaining real-time performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007721821000001
    Figure 0007721821000001
  • Figure 0007721821000002
    Figure 0007721821000002
  • Figure 0007721821000003
    Figure 0007721821000003
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. Industrial manufacturing's overall GDP impact is 14% in G10 countries, and its energy consumption accounts for approximately 30% of the energy used in developed countries. Over the past few decades, industrial automation equipment suppliers have developed primarily proprietary technologies, from fieldbus and input / output (I / O) devices to enterprise-level industrial software systems. While such vertical system integration ensures compatibility within the stack, it also introduces strong dependencies, reducing interoperability across different automation technology platforms, security issues, and high costs. Furthermore, within 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 between software and hardware in the PLC runtime system. Typically, PLC code editing systems are kept in local windows applications, and PLC programming must primarily be performed in close physical proximity to the actual PLC devices. Therefore, modifying the behavior of an industrial production line is primarily a manual task performed on an individual PC while physically connected to the 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), and enterprise resource planning (ERP). While such enterprise core function software systems have already adopted cloud-based services, changing core manufacturing functions, for example through PLC reprogramming / reconfiguration, still often requires sending an email to the automation engineering department explaining that modifications are required to change the industrial production system.

[0004] Furthermore, the tight coupling of hardware and software in typical industrial controllers leads to excessive vendor-specific hardware architectures and the use of application-specific integrated circuits (ASICs), leading to long 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 incurs the highest computational costs 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 compared to legacy PLCs. Summary of the Invention [Means for solving the problem]

[0007] 3. Overview In a first aspect, the present 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, the compile-time representation of the controller 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 resides inside or outside the cloud computing system.

[0009] For example, PLC project files 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 controller programs.

[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 configuration files or to write 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 compile time, at runtime, while or before the corresponding executable is currently running, on one or more industrial controllers (e.g., PLCs, virtual PLCs, etc.) of an industrial automation system.

[0014] Thus, aspects of the present disclosure enable the optimization of automation system runtime in terms of response time and computational cost. While the PLC Twin service abstracts key PLC functions across different technology platforms, the execution of real-time-sensitive automation control tasks can still occur in close proximity to the industrial assets under control. Based on secure, non-intrusive connectivity services, the PLC Twin service fully abstracts PLC control logic, enabling 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 building programmatic APIs 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, compiler services and / or PLC twin services 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, and that includes the software libraries required for isolated execution by different types of (virtual) cloud computing devices.

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

[0020] Accordingly, 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 using the compile-time representation to generate the modified controller program and / or the 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 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, some aspects of the present disclosure enable the integration of industrial automation system setup and reconfiguration into existing cloud-based enterprise software systems, resulting in reduced 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 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 that provides 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 benefits. For example, a key security benefit is the ability to fully back up an entire production line or entire factory in the event of 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 system-wide, technology-agnostic code version control capabilities.

[0027] Some embodiments may further include receiving, at the cloud computing system, via 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 way, the present disclosure enables full closed-loop reconfiguration of industrial automation systems in a technology- and vendor-independent manner, thereby providing a technical 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. Accordingly, this disclosure also provides a method for reconfiguring a controller of an industrial automation system, the method including receiving, at a cloud computing system, via 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, via the network, the modified controller program and the modified controller configuration to the controller of the industrial automation system, wherein the controller program defines the runtime behavior of the controller.

[0030] Some implementations may further include: deriving, by the cloud computing system, quality metrics related to the 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 technology 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 the PLC twin service and / or compiler service.

[0036] Thus, aspects of the present disclosure enable the (re)configuration of complex industrial control systems using a combination of hardware-based and virtual controllers from a uniform cloud-based interface that treats different types, models, and implementations of industrial control equipment on an equal footing. In this way, the key benefits 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 where necessary. As described above, such an integrated hybrid industrial automation control system can easily interface with other core enterprise software systems, resulting in significant improvements in productivity, product customization capabilities, and reduced downtime for 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 communicating 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 a data structure in a memory subsystem 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 a data structure 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 explanation 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. [Figure 2] FIG. 1 is a functional block diagram of an implementation of a cloud computing system according to some aspects of the present disclosure. [Figure 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. [Figure 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 INVENTION

[0049] 5. Description of Exemplary Embodiments Some exemplary embodiments of the present disclosure are described in more detail below with reference to exemplary processes and computing systems. Of course, the computing systems 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, special-purpose hardware (e.g., circuits for training neural network models and / or circuits for executing the 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 specific 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 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 other exemplary embodiments. Specifically, those skilled in the art will understand that features, components, processing steps, and / or functional elements of one exemplary embodiment can be combined with technically compatible features, processing steps, components, and / or functional elements of any other exemplary embodiment of the present disclosure, as long as the combination is 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, compute 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 present 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 devices 134 (e.g., one or more edge computing nodes running edge computing software), which 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 the 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 over 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 in accordance with certain aspects of the present 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 configured over network 120 (e.g., together or separately). As also noted 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. Furthermore, individual elements of persistence layer 212 may be individually configurable based on programming and configuration instructions received over 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 controller programs and / or controller configurations maintained by persistence layer 212 as described above, and for generating modified controller programs and / or modified controller configurations 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 is then 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 can 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, compiler service 220 and / or PLC twin service 210 may be implemented in / via a configurable virtualization environment such as a container or microservices that, among other things, specifies security access policies and / or system resource utilization parameters, and includes the software libraries necessary for isolated execution of each service by different types of (virtual) cloud computing devices.

[0062] As noted 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, FIG. 3 also illustrates an industrial automation system 130 that includes an edge computing system 310 operatively connected to a 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 edge computing software implementing the virtual controller 314, as well as the network configuration of physical I / O devices 332 connected to the subsystems 138 of the industrial automation system 130 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, preprocess, and forward sensor data over 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 to support or enable the operation of the persistence layer used by the compile-time representation 210, for example.

[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, which 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. Specifically, 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] 4 illustrates an example method for configuring a controller of an industrial automation system over a network (see FIGS. 1-3). The process begins at step 410, where a cloud computing system obtains 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 obtained controller configuration and the obtained controller program (e.g., via a programming interface or GUI-based IDE), which allows for modification of the controller program and the controller configuration. Next, 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 runtime 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 an industrial automation system, wherein the controller program defines runtime behavior 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 behavior 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) 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 (540) performance of the industrial automation system based on the estimated performance change by the cloud computing system.

[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: The cloud computing system obtains (410) a controller configuration and a controller program; and the cloud computing system generating (420) a compile-time representation (210) of the controller based on the obtained controller configuration and the obtained controller program, the compile-time representation (210) of the controller enabling modification of the controller program and the controller configuration at compile time, the compile-time including the time before or during generating runtime machine code from corresponding source code for the controller, and the time during generating the source code by extracting the source code from a configuration file or writing the source code via a programming language or a cloud-based source code development environment, the method further comprising: The cloud computing system includes generating (430) a modified controller program and a modified controller configuration using the compile-time representation (210) of the controller, the controller program defining runtime behavior of the controller that controls a subsystem of the industrial automation system, the method further comprising: providing (440) the modified controller program and the modified controller configuration to the controller of the industrial automation system via the network by the cloud computing system; the obtained controller configuration further includes one or more of controller type and capability information, a network configuration of the controller, interface information for an electromechanical drive, and an interface configuration for an I / O device connected to the controller via back-panel integration of an industrial Fieldbus system; 1. A method according to claim 1, wherein the compile-time representation (210) of the controller includes a persistence layer (212) that holds controller configuration and control instruction elements of a controller program, each of the control elements being represented as a separate control logic object, and each element of the persistence layer (212) being individually configurable based on programming and configuration instructions received via a programming interface (250).

2. 2. The method of claim 1, wherein portions of the controller configuration and / or 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 located inside or outside 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 the 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 claim 1 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. receiving, in the cloud computing system, via the network, sensor data related to a subsystem of the industrial automation system controlled by the controller; generating the programming and configuration instructions for modifying the controller program and / or the controller configuration based on analyzing the received sensor data by the cloud computing system; The method of claim 4 or 5, further comprising:

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

8. the cloud computing system classifying 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 the operational requirements based on the received sensor data; The method of claim 7 further comprising:

9. 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 acquired controller configuration specifies a virtualization environment for executing the edge computing software that implements the virtual controller, and includes a network configuration of physical I / O devices connected to a subsystem of the industrial automation system that is controlled by the virtual controller, and the method preferably further comprises:

10. The method of claim 1, further comprising: the cloud computing system instantiating, via the network, the virtual controller on a host machine of the edge computing system managed by a real-time hypervisor.

10. The method of claim 9 , further comprising receiving, at the cloud computing system, monitoring data from the edge computing system that characterizes performance of the virtual controller.

11. The method of claim 1 , further comprising generating the obtained controller program and / or the programming and configuration instructions using an integrated development environment of the cloud computing system.

12. 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 providing 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; 10. 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 performing the method of claim 1.

13. 10. A computer program product comprising instructions for performing the method of claim 1 when executed by a cloud computing system.

14. A first cloud computing system according to claim 12; 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:

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