Remote control of distributed manufacturing automation system

By employing network virtualization and containerization technologies in a distributed manufacturing automation system, and creating an overlay network and application manager, the challenges of manufacturing task execution and monitoring are addressed, enabling global optimization and secure manufacturing process control, and improving the system's flexibility and efficiency.

CN120883159APending Publication Date: 2025-10-31BASF SE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480016156.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-03
Filing Date
2024-02-27
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

In distributed manufacturing automation systems, the execution and monitoring of manufacturing tasks present challenges due to their distributed nature, making it difficult to achieve global optimization and effective control.

Method used

By employing network virtualization and application managers, overlay networks and containerized application components are created. Overlay networks are created in distributed manufacturing automation systems through application managers, spanning multiple levels of the automation pyramid. Deployment and management are carried out using container platforms such as Kubernetes or Docker, enabling centralized control of manufacturing tasks.

Benefits of technology

Centralized control and network virtualization improve the execution of manufacturing tasks, provide globally optimized and secure manufacturing process control, and enhance the system's flexibility and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120883159A_ABST
    Figure CN120883159A_ABST
Patent Text Reader

Abstract

The present subject matter relates to a method comprising creating, in a distributed manufacturing automation system (100, 200), overlay networks (300, 400, 500, 600) having nodes, where each of the overlay networks (300, 400, 500, 600) spans one or more levels (101, 113, 115, 117) of an automation pyramid, where the nodes represent system resources of a network (130, 133, 135, 137) of the system (100, 200). An application may be created for performing a manufacturing task. Applications may be partitioned into application components according to predefined functionality and information streams, where the application components belong to one or more levels (101, 113, 115, 117) of the automation pyramid. One or more overlay networks (300, 400, 500, 600) that enable execution of the application components may be selected. A connection to the selected overlay network (300, 400, 500, 600) may be established. The application components may be deployed in the selected overlay networks (300, 400, 500, 600) using the established connections. The application may be used to plan and / or control manufacturing in the distributed manufacturing automation system (100, 200).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various example embodiments relate to automation systems, and more specifically to an apparatus and method for controlling a distributed manufacturing automation system. Background Technology

[0002] In the digitalization of process industries and manufacturing, the automation pyramid is a commonly used system architecture. It can serve as a reference model for enterprise architecture. As an attempt to build systems involved in manufacturing processes and applicable to all industries, including chemical processes and discrete manufacturing, this architecture is used for various purposes, such as providing IT security. Summary of the Invention

[0003] An example embodiment provides a method for controlling a distributed manufacturing automation system configured according to an automation pyramid, the distributed manufacturing automation system including firewalls between networks and levels of the automation pyramid, wherein each network is associated with a level of the automation pyramid, the automation pyramid indicating predefined functions of these networks and information flow between levels of the automation pyramid; the method includes: providing an application manager configured to remotely connect to the distributed manufacturing automation system; the application manager creating overlay networks with nodes in the distributed manufacturing automation system, wherein each of these overlay networks spans one or more levels of the automation pyramid, wherein the nodes represent system resources of these networks; the application manager creating an application for performing manufacturing tasks; the application manager dividing the application into application components according to these predefined functions and information flow, wherein these application components belong to one or more levels of the automation pyramid; the application manager selecting one or more overlay networks that enable the execution of these application components; the application manager establishing connections to the selected overlay networks; the application manager deploying the application components in the selected overlay networks using the established connections; and the application manager using the application to plan and / or control manufacturing in the distributed manufacturing automation system.

[0004] An example embodiment provides a computer program product including a computer-readable storage medium having computer-readable program code embodied therein, the computer-readable program code being configured to implement the methods described in the foregoing embodiments.

[0005] An example embodiment provides a distributed manufacturing automation system configured according to an automation pyramid. The distributed manufacturing automation system includes firewalls between networks and levels of the automation pyramid, wherein each network is associated with a level of the automation pyramid, which indicates predefined functions of these networks and information flows between levels of the automation pyramid. The distributed manufacturing automation system includes an application manager configured to: create overlay networks with nodes in the distributed manufacturing automation system, wherein each overlay network spans one or more levels of the automation pyramid, and wherein these nodes represent system resources of these networks; create an application for performing manufacturing tasks; divide the application into application components according to these predefined activities and information flows, wherein these application components belong to one or more levels of the automation pyramid; select one or more overlay networks that enable the execution of these application components; establish connections to the selected overlay networks; deploy the application components in the selected overlay networks using the established connections; and use the application to plan and / or control manufacturing in the distributed manufacturing automation system.

[0006] A computer program product can be a computer program. A computer program product can also refer to any one or more storage media (also referred to as "media") collectively included in one or more storage devices, which collectively include machine-readable code corresponding to instructions and / or data for performing the computer operations specified in the claims of the computer program product. A "storage device" can be any tangible means capable of holding and storing instructions for use by a computer processor. Attached Figure Description

[0007] These accompanying drawings are included to provide a further understanding of the examples, and are incorporated in and form part of this specification. In the drawings:

[0008] Figure 1 A distributed manufacturing automation system based on examples from this topic is described;

[0009] Figure 2 A distributed manufacturing automation system based on examples from this topic is described;

[0010] Figure 3 An example of an overlay network based on this topic is depicted;

[0011] Figure 4 An example of an overlay network based on this topic is depicted;

[0012] Figure 5An example of an overlay network based on this topic is depicted;

[0013] Figure 6 An example of an overlay network based on this topic is depicted;

[0014] Figure 7 This is a flowchart illustrating a method for controlling a distributed manufacturing automation system, based on examples from this topic;

[0015] Figure 8 This is a flowchart illustrating a method for deploying an application in a distributed manufacturing automation system, based on examples from this topic;

[0016] Figure 9 This is a flowchart illustrating a method for deploying an application in a distributed manufacturing automation system, based on examples from this topic;

[0017] Figure 10 This is a computer system based on the example in this topic. Detailed Implementation

[0018] In the following description, specific details (such as particular architectures, interfaces, technologies, etc.) are illustrated for purposes of explanation and not limitation in order to provide a thorough understanding of the examples. However, it will be apparent to those skilled in the art that the disclosed subject matter can be practiced in other illustrative examples that deviate from these specific details. In some cases, detailed descriptions of well-known apparatuses and / or methods have been omitted to avoid unnecessary ambiguity in the description.

[0019] In the context of manufacturing, automation can refer to the automation of manufacturing processes using devices such as sensors, actuators, robots, and computers. For example, a manufacturing process can refer to the steps of a method for preparing a composition. A manufacturing process can be the production of biochemicals or chemicals (such as solvents, amines, resins, adhesives, electronic-grade chemicals, industrial gases, basic petrochemicals, and inorganic chemicals). A manufacturing process can involve manufacturing facilities such as equipment, raw materials, machinery, tools, and plants. A manufacturing process can have one or more attributes (referred to herein as manufacturing attributes). Examples of manufacturing attributes may include temperature, pressure, process time, the melting point of a substance, the flexural strength of steel, the resistance of an electrical conductor, etc. A manufacturing process can have one or more parameters (referred to herein as manufacturing parameters) that can control the manufacturing process. Examples of manufacturing parameters may include mixing rate, temperature, etc. Automation and control of manufacturing processes can be achieved by acquiring process data, analyzing the process data, and automatically adjusting manufacturing parameters based on that analysis. Process data may include values ​​of one or more manufacturing attributes of the manufacturing process. Different types of control can be provided depending on the type of process data acquired and / or analysis and / or the type of manufacturing parameters being controlled. For example, one type of control might check attribute values ​​against thresholds and adjust one or more manufacturing parameters accordingly. Another type of control might perform a more complex (time-consuming) analysis of manufacturing attributes to adjust one or more manufacturing parameters. Different types of control can have different control time ranges; for example, control can be real-time or non-real-time. Each type of control over a manufacturing process can have a corresponding time range within which control over the manufacturing process may have to be performed.

[0020] Control of manufacturing processes can be advantageously performed by distributed manufacturing automation systems. Distributed manufacturing automation systems can include decentralized manufacturing facilities and various devices, which may be distributed across multiple systems located in different places. Distributed manufacturing automation systems can be implemented according to functional models to enable different types of control over the manufacturing process. The functional model can define the functions of individual devices, how data is exchanged and formatted within the distributed manufacturing automation system, and how devices are interconnected within the system. In one example, the functional model could be the ISA-95 functional model. The functional model can be, for example, a hierarchical pyramid model.

[0021] Configuring a distributed manufacturing automation system as an automation pyramid means that the distributed manufacturing automation system is implemented according to a functional model, which is a hierarchical pyramid model. The hierarchical pyramid model and the automation pyramid are used interchangeably in this paper. A hierarchical pyramid model can define multiple sets of functions to achieve specific types of control over the manufacturing process. These functions can be performed by one or more devices within the distributed manufacturing automation system. The hierarchical pyramid model can further define the information flow within the distributed manufacturing automation system that implements these multiple sets of functions. For example, the functional model can describe the hierarchical arrangement of devices in the distributed manufacturing automation system according to field level, control level, supervisory level, and information level. The field level can be the lowest level, which may include field devices such as sensors and actuators. Field devices can be configured to transmit process data of the manufacturing process to the next higher level for monitoring and analysis. For example, sensors can convert real-time manufacturing attributes such as temperature and pressure into sensor data. Sensor data can be further transmitted to controllers for analysis of real-time attributes. Actuators can convert electrical signals from the controllers into mechanical means to control the manufacturing process. The control level can consist of various controllers, such as programmable logic controllers (PLCs), which can acquire manufacturing attributes from various sensors. The controller can drive actuators based on processed sensor data and control technology. The supervisory level can consist of monitoring devices capable of intervention, monitoring various manufacturing attributes, setting production targets, archiving historical data, and configuring machine start-up and shutdown. The information level manages the entire distributed manufacturing automation system. Tasks at this level can include production planning, customer and market analysis, order and sales management, etc.

[0022] Resources in a distributed manufacturing automation system can be advantageously utilized by organizing these resources within a network (referred to herein as a physical network). A physical network can be a set of nodes (also referred to herein as physical nodes) that communicate with each other via interconnection using common communication protocols. A physical node can be any device in the distributed manufacturing automation system that possesses computing power. A physical node can be, for example, a computer, field device, server, or network hardware. In another example, a physical node can be a virtual machine (VM) that uses the physical resources of the underlying system. A physical node can represent system resources of the distributed manufacturing automation system; for example, a physical node can be defined by the number of CPU cores belonging to or allocated to the node, memory capacity, and local file system size.

[0023] Physical networks can be provided in a hierarchical structure according to a hierarchical pyramid model. For example, each level of an automation pyramid can include a network of one or more physical nodes belonging to that level. The physical nodes of each physical network can be configured to perform some type of control over the manufacturing process. Depending on the level of the automation pyramid to which the physical network belongs, it can be a public network or a private network. For example, the highest level of the automation pyramid can be a public network, and lower levels can be private networks. A private network is one where communication between devices outside and inside the private network is controlled by access rules such as firewall rules. A public network is one where each device in the public network is publicly available.

[0024] Therefore, this topic provides a network architecture for a distributed manufacturing automation system that enables optimal control of the manufacturing process. One or more manufacturing tasks can be used to control the manufacturing process. A manufacturing task can control the manufacturing process according to one or more types of control. For example, a manufacturing task can implement real-time control and / or offline control. A manufacturing task refers to a set of processing steps that enable the execution of one or more types of control over the manufacturing process. A step can be a unit of computation. The steps of a manufacturing task may or may not be dependent. For example, a step of a manufacturing task may depend on the completion of other steps prior to its execution. The step can run one or more programs or scripts on the corresponding node to perform a function. Due to the inherently distributed nature of manufacturing tasks in a distributed manufacturing automation system, the execution and monitoring of manufacturing tasks can be challenging. This topic addresses this problem through centralized control of manufacturing tasks. Centralized control can identify and achieve globally optimized conditions for the entire task execution from a single point. This can improve the execution of manufacturing tasks. In particular, an application manager is provided. The application manager can, for example, be a computer system. The application manager can remotely connect to the distributed manufacturing automation system. The application manager can control the manufacturing tasks at the distributed manufacturing automation system.

[0025] By abstracting physical resources (such as physical networks) to isolate manufacturing tasks from physical infrastructure, the execution of manufacturing tasks can be further improved. This topic utilizes network virtualization for this purpose. Network virtualization enables the decoupling of virtual network configurations and topologies from the underlying physical networks. Network virtualization allows for the dynamic provisioning of network segments to resilient computing environments. Network virtualization can be used to run multiple separate, discrete virtualized network layers on top of a single physical network. In particular, the application manager can create multiple overlay networks. Each of one or more of the created overlay networks can be a logical computer network overlaid on one or more physical networks of a distributed manufacturing automation system. Alternatively or concurrently, two or more of the created overlay networks can be overlaid on a single physical network. Each of the created overlay networks can span one or more levels of an automation pyramid. This can be advantageous because it provides a unified view of the different levels of the automation pyramid. Overlay networks can include nodes, referred to herein as overlay nodes. Each overlay network can be associated with a corresponding mapping. Mappings can establish connections between overlay networks and physical networks. In particular, mappings can indicate the associated physical node for each overlay node. For example, one or more overlay nodes can be associated with a physical node. Mapping can further indicate one or more associated links in the underlying physical network for each link in the overlay network. For example, direct communication in the overlay network can be achieved by routing information along certain paths in the underlying physical network. The overlay network can be configured according to an overlay network protocol to enable communication between application components in overlay nodes connected to the overlay network. The overlay network protocol can, for example, encapsulate network packets containing data and identity information of the communicating application components within external packets of the underlying physical network. This encapsulation can be transparent to the physical network. That is, the physical network can process the external packets because these external packets do not have any additional encapsulation data.

[0026] According to this topic, overlay networks can be advantageously used to perform manufacturing tasks. For example, an application manager can create applications for performing manufacturing tasks. Applications may include computer programs. For example, the application manager may prompt a user for the computer program of the application. Upon receiving the computer program, the application manager can use the received computer program to create the application, for example, by creating specific files for the application, adding dependencies, etc. Alternatively, the application manager can receive a request to perform a manufacturing task, wherein the request includes the computer program of the application. The application manager can use the computer program received in the request to create the application. Applications can be divided into application components based on predefined functions and information flows of the distributed manufacturing automation system. For example, each application component can perform at least one step of a manufacturing task to implement a specific function. For example, if the manufacturing task involves more than one level of an automation pyramid, the application may include at least one component for each level. Execution of each application component may require means to implement the functionality of the application component at a specific pyramid level, and may further require a minimum set of resources in said means. Resources may include, for example, CPU resources, memory resources, storage resources, and specific software configurations (e.g., specific operating system, specific libraries, specific kernel version, etc.). Based on the requirements of each application component, the application manager can select one or more appropriate overlay networks to enable the execution of the application component. The application manager can assign the application component to the appropriate overlay node in one of the selected overlay networks that meets the requirements of the application component. For example, one or more application components can be assigned to overlay nodes for execution. This assignment can result in a set of overlay nodes in one of the selected overlay networks that can be used to run manufacturing tasks. Therefore, the application manager can deploy the application component in one of the selected overlay networks based on the assignment. After deployment, the application can be used by the application manager to control the manufacturing process in a distributed manufacturing automation system. The execution of the application can generate one or more values ​​for manufacturing parameters of the manufacturing process. These values ​​of the manufacturing parameters can be provided by the application manager or the application component, allowing the manufacturing process to be controlled using these values. For example, the values ​​of the manufacturing parameters can be provided to one or more devices at the field level, allowing these devices to control the manufacturing process based on these values.

[0027] This topic can further improve application deployment and, consequently, the execution of manufacturing tasks by combining network virtualization with another level of virtualization. In practice, applications may be developed in specific environments with specific libraries, kernel versions, etc. However, this specific environment may not be met or provided at each level of a distributed manufacturing automation system. To address this, an application manager can containerize applications to provide application components as containers. That is, the application manager can containerize application components into appropriate containers that already have the necessary dependencies. Containerization can be packaging the software code of an application component, along with only the operating system (OS) libraries and dependencies required to run the code, to create a single lightweight executable that is a container that can run consistently on any infrastructure. Containerization can allow for faster and more secure creation and deployment of applications. This can be further advantageous because, regardless of the device on which the containers run, they can always have the same libraries, the same configuration, and can run exactly the same way as on the developer's machine. This can be further advantageous because, in the case of a manufacturing system, the devices involved at different levels may have different capabilities. The overlay network can serve as an intermediate layer between the containers and the underlying network devices.

[0028] In one example, the application manager will containerize the application only if the selected overlay network covers a selected level of the distributed manufacturing automation system. For example, the selected level could be a user-defined level. For instance, if the selected overlay network covers a monitoring level, the device at this level (the monitoring device) might not have sufficient resources to provide all possible dependencies for the application components. Therefore, containerization can be advantageously used to execute application components within the monitoring device.

[0029] For example, container platforms such as Kubernetes or Docker can be used to create containers. Container platforms can create clusters of physical nodes to implement container execution. One or more overlay networks can be layered on top of an existing cluster. For example, each overlay network can be provided with a cluster to run containerized application components. Each cluster includes a container orchestrator. The container manager can connect to the container orchestrator of the clusters in the selected overlay network. Deployment of application components can be performed by creating a configuration file that includes the application's configuration parameters and controlling the container orchestrator to apply the configuration to the deployment.

[0030] An example deployment method can be provided as follows: Users can submit a request to deploy an application to the application manager. For example, the application manager can provide an interface such as a web interface, offering options for selecting and specifying application parameters. The application manager can allow users to select rules to distribute containers across overlay nodes. This can increase cluster utilization and throughput. The application manager can determine if the overlay network is capable of executing the application. The overlay network can be an overlay network stacked on top of an existing cluster. The application manager can receive the available nodes across the entire overlay network. Based on the application's requirements, the application manager can select appropriate overlay nodes for the overlay network. The application manager can communicate with the cluster's orchestrator to deploy the application's containers on the selected overlay nodes. The application manager can start the orchestrator to reserve (block) the amount of resources allocated to containers in each participating overlay node. Afterward, the application manager can initiate or start the execution of the application.

[0031] The created application can support declarative configurability, allowing individual components to be configured declaratively. This can be advantageous because desired properties can be specified in advance, and the application manager can autonomously construct appropriate configurations by interpreting these specifications. This avoids configuring application components through, for example, direct interaction with a graphical user interface. Declarative configuration can be particularly useful for describing and managing deployments in a structured manner. For example, the application manager can deploy application components by creating configuration files that include the application's configuration parameters and can control the selected overlay network to apply the configuration. Configuration parameters can be provided, for example, as the desired configuration for deploying application components. For instance, application developers can declaratively specify how application components should be deployed by specifying values ​​for configuration parameters (e.g., minimum and maximum number of available nodes, instance size, etc.). This makes the deployment declarative.

[0032] In one example, configuration parameters may include software-defined network parameters. These software-defined network parameters may include firewall parameters for communication between application components over the firewall. This allows for control over the security level of data transferred between application components.

[0033] In one example, configuration parameters could include CPU usage parameters. For instance, this could allow setting the maximum CPU usage for each component of an application or for each group of components within an application.

[0034] In one example, configuration parameters could include memory usage parameters. For instance, this could allow setting the amount of memory to be used by each component of the application or each group of components within the application.

[0035] The application manager can configure application components to communicate according to a secure communication protocol to perform manufacturing tasks. This enables secure control over the manufacturing process and prevents attacks, tampering, and loss of confidentiality from adversaries. In one example, the secure communication protocol can only be used for communication when the application's communication components belong to different levels of the automation pyramid. Alternatively, secure communication protocols can be used when communication involves application components belonging to a public network. This example allows for the creation of secure communication routes between application components. Secure communication protocols can include software-defined network configuration changes or application configuration changes to establish secure connectivity directly between application components based on a client-server model, or to establish secure connectivity between decoupled application components by utilizing an intermediate message broker. This topic provides flexible implementations of secure communication protocols using alternative implementations. A secure communication protocol instructs each application component of an application to communicate with another application component using: direct communication based on a client-server model; or indirect communication through an intermediate module that translates messages from the messaging protocol of that application component to another messaging protocol of the other application component; or communication through a firewall based on predefined firewall parameters. In a client-server model, one application component acts as the client, and another application component acts as the server. For example, the server component can provide functionality or services to the client component, which in turn initiates a request for such services. This model can be secure because requests and responses are only accepted if they originate from either of the involved components. This can be achieved by modifying the application configuration so that the client-server model can be implemented securely. Indirect communication through an intermediate module can be protected, for example, by enabling checkpointing at the intermediate module. The intermediate module can be, for example, a message broker. A message broker can be a computer program module that translates messages from the sender's formal messaging protocol to the receiver's formal messaging protocol. The functionality of the intermediate module can be configured through the application configuration.

[0036] To further protect control over the manufacturing process, the application manager can create secure zones within a selected overlay network. A secure zone comprises a subset of overlay nodes within the selected network that enable the application to execute. These overlay nodes are configured with specific communication and usage rules that are enforced only by the deployed application. Secure zones allow applications to be separated from other applications, enabling multiple users to securely share resources.

[0037] Network separation can be used to define and isolate security zones. It can be accomplished solely based on software-defined networking. This ensures that application components can be deployed seamlessly along with the required network communication routes. Dependencies on physical firewalls, which may not be automatically managed, can be implemented manually. For example, network separation is best integrated into a network stack (such as the Kubernetes network stack) for both intra-cluster and cross-cluster communication.

[0038] Figure 1 A distributed manufacturing automation system based on examples of this topic is described.

[0039] like Figure 1 As instructed, the distributed manufacturing automation system 100 is configured according to a hierarchical pyramid model. The hierarchical pyramid model can be the ISA-95 pyramid model. With this configuration, different unit groups are connected via corresponding networks, and data communication between the manufacturing facility and unit groups is performed using specific connections according to predefined data flows.

[0040] The distributed manufacturing automation system 100 is organized according to different levels 101, 113, 115, and 117 of a hierarchical pyramid model. Level 101 includes field devices 103.1 to 103.N. Field devices 103.1 to 103.N may include sensors, instruments, motor drives, industrial robots, vision cameras, actuators, or other such field devices. Field devices 103.1 to 103.N can be used to monitor and / or control one or more manufacturing processes. Field devices 103.1 to 103.N can be configured to transmit manufacturing process data to Level 113. Field devices 103.1 to 103.N can be used to control one or more manufacturing processes. To this end, field devices 103.1 to 103.N can be configured to generate and / or collect process data related to the control of the manufacturing processes. Field devices 103.1 to 103.N can be configured to transmit process data to devices at other levels. For example, manufacturing parameters of the manufacturing process can be controlled via actuators based on analysis. A manufacturing process can refer to the steps of a method for preparing a composition in a manufacturing batch. A manufacturing process can include, for example, joining processes and / or shearing and / or molding and / or machining processes. A manufacturing process can have one or more configurable manufacturing parameters, such as mixing rate, temperature, etc. Different types of control over the manufacturing process can be used. Each type of control over the manufacturing process can include analytical steps for analyzing one or more manufacturing properties of the manufacturing process, and control steps for adjusting one or more manufacturing parameters of the manufacturing process based on the analysis. Manufacturing properties of the manufacturing process can include, for example, duration, temperature, pressure, speed, quantity, etc. Analytical steps can include monitoring and / or processing process data of the manufacturing process. Different types of control can differ, for example, in the type of analysis performed and / or the time frame required for control; for example, it may be necessary to control one or more manufacturing parameters of the manufacturing process in real time to meet desired performance. Each type of control over the manufacturing process may require specific input data. Input data can include values ​​of one or more manufacturing properties, which can be obtained directly from the acquired process data or after preprocessing of the process data. Additionally, each type of control over the manufacturing process may have different processing resource requirements.

[0041] Level 2 113 includes automation devices 113.1 to 113.N. Automation devices 113.1 to 113.N may include CNC machine tools, PLCs, etc. Automation devices 113.1 to 113.N can receive data, including manufacturing attributes, from various sensors and can drive actuators based on processed sensor signals and programs or control technologies. Field devices 103.1 to 103.N, together with automation devices 113.1 to 113.N, can form an automation system. Examples of automation systems may include batch control systems, continuous control systems, or discrete control systems. Level 3 115 includes monitoring devices 115.1 to 115.N. Monitoring devices 115.1 to 115.N facilitate intervention functions, monitor various manufacturing attributes, set production targets, archive history, and set machine start-up and shutdown, etc. For example, monitoring devices 115.1 to 115.N may include DCS devices or SCADA devices. Level 4 117 includes planning and analysis devices (PA devices) 117.1 to 117.N. The planning and analysis devices 117.1 to 117.N can be configured to perform production planning, customer and market analysis, order and sales, machine learning, etc.

[0042] Devices within each level of the distributed manufacturing automation system 100 can be interconnected via a corresponding network suitable for transmitting data using standard protocols. For example, field devices 103.1 to 103.N can be interconnected via network 130. Automation devices 113.1 to 113.N can be interconnected via network 133. Monitoring devices 115.1 to 115.N can be interconnected via network 135. Planning and analysis devices 117.1 to 117.N can be interconnected via network 137.

[0043] Field devices 103.1 to 103.N can communicate with automation devices 113.1 to 113.N via connection 141. Connection 141 can be an analog connection, a fieldbus-based connection, or an Ethernet-based connection. Automation devices 113.1 to 113.N can communicate with monitoring devices 115.1 to 115.N via connection 143. Connection 143 can be an Ethernet-based connection. Monitoring devices 115.1 to 115.N can communicate with planning and analysis devices 117.1 to 117.N via connection 145. Connection 145 can be an Ethernet-based connection. Each of connections 141, 143, and 145 can be equipped with a firewall that controls data communication through the corresponding connection.

[0044] The devices in the distributed manufacturing automation system 100 can collaborate according to this hierarchical pyramid model to perform different types of control over the manufacturing process. For example, using system 100, the operations department of a chemical company can monitor its production quality and proactively address product quality issues by automatically generating feedback to the automation system.

[0045] The devices in the distributed manufacturing automation system 100 can be remotely controlled by an application manager 150. The application manager 150 can be configured to connect to each device in the distributed manufacturing automation system 100 via a connection. This connection may include, for example, a network connection. The application manager 150 can, for example, deploy one or more manufacturing tasks in the distributed manufacturing automation system 100 and control the execution of these manufacturing tasks. (Reference) Figures 3 to 6 An example implementation of the manufacturing task is described.

[0046] Application Manager 150 can be referred to as the management plane. A multi-level management and user management model can be used to secure Application Manager 150. For example, administrators process and approve critical developer requests, granting developers permissions to deploy certain application components and communication privileges. Once appropriate permissions and roles are assigned, development teams dedicated to specific use cases can use Application Manager to manage all configuration changes end-to-end with minimal dependence on other teams or administrators. Application Manager 150 can use one or more software tools to remotely manage workloads, such as those on a Kubernetes cluster. Such software tools can include SUSE RANCHER or AZURE ARC tools.

[0047] Application Manager 150 can be configured to: perform initial deployment or installation of application components; upgrade, downgrade, or uninstall one or more application components; test and propagate configuration changes across multiple application components; and create secure communication paths between application components. This can include (software-defined) network configuration changes or application configuration changes to establish connectivity between components directly based on a client-server model, or to establish connectivity between decoupled components by leveraging an intermediate message broker. Application Manager 150 can be further configured to monitor and therefore automatically or manually take action to detect and resolve error states. This can also include tracking communication between application components to identify bottlenecks.

[0048] Figure 2 A distributed manufacturing automation system based on examples of this topic is described.

[0049] like Figure 2As instructed, the distributed manufacturing automation system 200 is configured according to a hierarchical pyramid model. The hierarchical pyramid model can be the ISA-95 pyramid model. With this configuration, different unit groups are connected via corresponding networks, and data communication between manufacturing facilities and unit groups is performed using specific connections according to predefined data flows.

[0050] The distributed manufacturing automation system 200 is organized according to different levels 201, 213, 215, 217A, and 217B of a hierarchical pyramid model. Level 1 201 includes field devices 203.1 to 203.N. Field devices 203.1 to 203.N may include sensors, instruments, motor drivers, industrial robots, vision cameras, actuators, or other such field devices. Field devices 203.1 to 203.N can be used to monitor and / or control one or more manufacturing processes. Field devices 203.1 to 203.N can be configured to generate and / or collect process data related to the control of the manufacturing processes. Field devices 203.1 to 203.N can be configured to transmit manufacturing process data to Level 2 213. Level 213 includes automation devices 213.1 to 213.N. Automation devices 213.1 to 213.N may include CNC machines, PLCs, etc. Automation devices 213.1 to 213.N can receive data, including manufacturing attributes, from various sensors and can drive actuators based on processed sensor signals and programs or control techniques. Level 3 215 includes monitoring devices 215.1 to 215.N. Monitoring devices 215.1 to 215.N facilitate intervention functions, monitor various manufacturing attributes, set production targets, archive historical data, and set machine start-up and shutdown, etc. For example, monitoring devices 215.1 to 215.N may include DCS devices or SCADA devices. Levels 4 217A and 5 217B include planning and analysis devices 217.1 to 217.N. Planning and analysis devices 217.1 to 217.N can be configured to perform production planning, customer and market analysis, order and sales, machine learning, etc. Figure 1 Compared to the existing system, a portion of the planning and analysis units 217.M+1 to 217.N can be implemented in a cloud platform to utilize cloud-based applications and services. The cloud platform can be provided, for example, by a cloud provider as a Platform as a Service (PaaS). Therefore, subgroups 217.1 to 217.M of PA units 215 can be implemented as a local data center using network 237A, while the remaining subgroups 217.M+1 to 217.N can be implemented in the cloud platform using network 237B. Units in the cloud platform can be configured to communicate via the Internet 247 to exchange data with other units in system 200. Units in the local data center and units in the cloud platform can collaborate to perform different types of control over the manufacturing process.

[0051] Devices within each level of the distributed manufacturing automation system 200 can be interconnected via a corresponding network suitable for transmitting data using standard protocols. For example, field devices 203.1 to 203.N can be interconnected via network 230. Automation devices 213.1 to 213.N can be interconnected via network 233. Monitoring devices 215.1 to 215.N can be interconnected via network 235. Planning and analysis devices 217.1 to 217.M can be interconnected via network 237A. Planning and analysis devices 217.M+1 to 217.N can be interconnected via network 237B.

[0052] Field devices 203.1 to 203.N can communicate with automation devices 213.1 to 213.N via connection 241. Connection 241 can be an analog connection, a fieldbus-based connection, or an Ethernet-based connection. Automation devices 213.1 to 213.N can communicate with monitoring devices 215.1 to 215.N via connection 243. Connection 243 can be an Ethernet-based connection. Monitoring devices 215.1 to 215.N can communicate with planning and analysis devices 217.1 to 217.M via connection 245. Connection 245 can be an Ethernet-based connection. Planning and analysis devices 217.1 to 217.M can communicate with planning and analysis devices 217.M+1 to 217.N via connection 247. Connection 247 can be an Internet connection. Each of connections 241, 243, 245, and 247 can be equipped with a firewall that controls data communication through the corresponding connection.

[0053] The devices in the distributed manufacturing automation system 200 can collaborate according to this hierarchical model to perform different types of control over the manufacturing process. For example, using system 200, the operations department of a chemical company can monitor its production quality and proactively address product quality issues by automatically generating feedback to the automation system.

[0054] The devices in the distributed manufacturing automation system 200 can be remotely controlled by an application manager 250. The application manager 250 can be configured to connect to each device in the distributed manufacturing automation system 200 via a connection. This connection may include, for example, a network connection. The application manager 250 can, for example, deploy one or more manufacturing tasks in the distributed manufacturing automation system 200 and control the execution of these manufacturing tasks. (Reference) Figures 3 to 6 An example implementation of the manufacturing task is described.

[0055] In one example implementation, Figure 2 The system can be further configured with the Namur Open Architecture (NOA). The application manager 250 can access the NOA and control its operation.

[0056] Application Manager 250 can be referred to as the management plane. A multi-level management and user management model can be used to secure Application Manager 250. For example, administrators process and approve critical developer requests, granting developers permissions to deploy certain application components and communication privileges. Once appropriate permissions and roles are assigned, development teams dedicated to specific use cases can use Application Manager to manage all configuration changes end-to-end with minimal dependence on other teams or administrators. Application Manager 150 can use one or more software tools to remotely manage workloads, such as those on a Kubernetes cluster. Such software tools can include SUSE RANCHER tools or Azure ARC tools.

[0057] Application Manager 250 can be configured to: perform initial deployment or installation of application components; upgrade, downgrade, or uninstall one or more application components; test and propagate configuration changes across multiple application components; and create secure communication paths between application components. This can include (software-defined) network configuration changes or application configuration changes to establish connectivity between components directly based on a client-server model, or to establish connectivity between decoupled components by leveraging an intermediate message broker. Application Manager 250 can be further configured to monitor and therefore automatically or manually take action to detect and resolve error states. This can also include tracking communication between application components to identify bottlenecks.

[0058] Figure 3 An example overlay network based on this topic is depicted.

[0059] The coverage network 300 can be, for example, by Figure 1 The application manager 150 selects from the created overlay network for deploying and executing applications. The overlay network 300 can be... Figure 1 A software-defined subnet on top of physical network 137. In other words, the underlying physical network associated with overlay network 300 is physical network 137.

[0060] Overlay network 300 can be configured according to an overlay network protocol to enable communication between application containers in overlay nodes connected to overlay network 300. The overlay network protocol can be, for example, the VXLAN protocol.

[0061] Overlay network 300 may include overlay nodes 301 to 305. Only five overlay nodes are shown; however, more or fewer overlay nodes may be used according to this topic. Application manager 150 may use mappings to establish connections between overlay network 300 and physical network 137. Specifically, the mapping may indicate an associated physical node for each overlay node. The mapping may further indicate one or more associated links in the underlying physical network for each link in the overlay network. Mappings between nodes are indicated by dashed lines. Figure 3 As indicated, the same planning and analysis unit 117.N can be allocated to two overlay nodes 303 and 304. Each of overlay nodes 301, 302, and 305 is assigned to a different planning and analysis unit at level 117 of the distributed manufacturing automation system 100.

[0062] Overlay network 300 can be used to deploy containers for applications based on this topic. This application enables the execution of a manufacturing task referred to as Task 1. This manufacturing task can be performed, for example, at the information level of the automation pyramid. For instance, the manufacturing task may include steps for preprocessing data, analyzing the preprocessed data, and determining manufacturing parameters based on the analysis. These manufacturing parameters can be used to control the manufacturing process.

[0063] Applications can be containerized into containers by the application manager 150. In one example, a container platform such as DOCKER or KUBERNETES can be used to create containers. Containers can be defined, for example, according to the Cloud Native Computing Standard (CNCF) to support structured declarative configurability (e.g., via text files).

[0064] Each container can, for example, be configured to perform a corresponding step in a manufacturing task. For instance, an application can be containerized into five containers by the application manager 150, these containers being referred to as: cont 1 任务1 、cont 2 任务1 、cont 3 任务1 、cont 4 任务1 and cont 5 任务1 The number of containers in the quantity of five is provided for illustrative purposes only and is not a limitation. For example, containers Preprocessing steps can be performed in the container cont 2 任务1 、cont 3 任务1 and Analysis steps can be performed, and the container Steps can be performed to determine manufacturing parameters and provide these parameters to achieve control over the manufacturing process. The application manager 150 can deploy containers in the overlay nodes of the overlay network 300, such that each of the overlay nodes 301 to 305 can include a container of the application. The overlay network 300 can allow the containers of the application to communicate with each other. In particular, the overlay network can enable, for example, containers... Able to send preprocessed data to containers and This allows these containers to perform analysis steps. Containers and For example, analysis results can be transferred to a container. Make the container It can perform steps to determine manufacturing parameters based on the analysis results.

[0065] Figure 4 An example overlay network based on this topic is depicted.

[0066] The coverage network 400 can be, for example, by Figure 1 The application manager 150 selects from the created overlay network for deploying and executing applications. The overlay network 400 can be... Figure 1 The software-defined subnets are built on top of physical networks 135 and 137. In other words, the underlying physical networks associated with overlay network 400 are physical networks 135 and 137.

[0067] Overlay network 400 can be configured according to an overlay network protocol to enable communication between application containers in overlay nodes connected to overlay network 400. The overlay network protocol can be, for example, the VXLAN protocol.

[0068] Overlay network 400 may include overlay nodes 401 to 405. Only five overlay nodes are shown; however, more or fewer overlay nodes may be used according to this topic. Application manager 150 can use mappings to establish connections between overlay network 400 and physical networks 135 and 137. Specifically, the mapping may indicate the associated physical node for each overlay node. The mapping may further indicate one or more associated links in the underlying physical network for each link in the overlay network. Mappings between nodes are indicated by dashed lines. Figure 4 As indicated, resources for monitoring devices 115.N and 115.2 can be allocated to the two coverage nodes 403 and 404, respectively. Each of the coverage nodes 401, 402, and 405 is assigned to a corresponding different planning and analysis device at level 117 of the distributed manufacturing automation system 100.

[0069] Overlay network 400 can be used to deploy containers for applications based on this topic. This application enables the execution of a manufacturing task referred to as a second task (Task 2). This manufacturing task can be executed, for example, at both the information and supervisory levels of the automation pyramid. For instance, the manufacturing task may include monitoring steps that monitor specific manufacturing properties of the manufacturing process, and if the behavior of the manufacturing property changes from a reference behavior, the monitoring steps can trigger specific analyses at the information level. Therefore, upon receiving a trigger from the monitoring steps, analysis steps can be executed at the information level. The manufacturing task may further include steps that determine manufacturing parameters of the manufacturing process based on the analysis. These manufacturing parameters can be used to control the manufacturing process.

[0070] Applications can be containerized by the application manager 150. In one example, a container platform such as the DOCKER platform or the KUBERNETES platform can be used to create the container. Containers can be defined, for example, according to the CNCF to support structured declarative configurability (e.g., via text files).

[0071] Each container can, for example, be configured to perform a corresponding step in a manufacturing task. For instance, an application can be containerized into five containers by the application manager 150, and these containers are referred to as: and The number of containers in the quantity of five is provided for illustrative purposes only and is not a limitation. For example, containers and Monitoring steps can be performed on the container. and Analysis steps can be performed, and the container Steps can be performed to determine manufacturing parameters and provide these parameters to achieve control over the manufacturing process. Application manager 150 can deploy containers in overlay network 400, such that each of overlay nodes 401 to 405 can include a container of an application. Overlay network 400 can allow application containers to communicate with each other. Specifically, the overlay network can enable, for example, containers... and Able to send analysis triggers to containers and This allows these containers to perform analysis steps. Containers and For example, analysis results can be transferred to a container. Make the container It can perform steps to determine manufacturing parameters based on the analysis results.

[0072] Figure 5 An example overlay network based on this topic is depicted.

[0073] The coverage network 500 can be, for example, by Figure 2 The application manager 250 selects from the created overlay network for deploying and executing applications. The overlay network 500 can be... Figure 2 Software-defined subnets above physical networks 237A and 237B. In other words, the underlying physical networks associated with overlay network 500 are physical networks 237A and 237B.

[0074] Overlay network 500 can be configured according to an overlay network protocol to enable communication between application containers in overlay nodes connected to overlay network 500. The overlay network protocol can be, for example, the VXLAN protocol.

[0075] Overlay network 500 may include overlay nodes 501 to 505. Only five overlay nodes are shown; however, more or fewer overlay nodes may be used according to this topic. Application manager 250 can use mappings to establish connections between overlay network 500 and physical networks 237A and 237B. Specifically, the mapping may indicate the associated physical node for each overlay node. The mapping may further indicate one or more associated links in the underlying physical network for each link in the overlay network. Mappings between nodes are indicated by dashed lines. Figure 5 As indicated, resources for planning and analysis devices 217.M and 217.2 can be allocated to the two coverage nodes 503 and 504, respectively. Each of the coverage nodes 501, 502, and 505 is assigned to a different planning and analysis device at level 217B of the distributed manufacturing automation system 100.

[0076] Overlay network 500 can be used to deploy containers for applications based on this topic. This application enables the execution of a manufacturing task referred to as Task 3. This manufacturing task can be performed at the information level, for example, using a local network and a cloud platform. For example, the manufacturing task may include analytical steps for training a machine learning algorithm in the cloud platform to predict optimal manufacturing parameters based on input manufacturing attributes. The manufacturing task may further include analytical steps for inferring a trained machine learning model using current process data to determine manufacturing parameters for the manufacturing process. The manufacturing task may further include steps for providing predicted manufacturing parameters for controlling the manufacturing process.

[0077] Applications can be containerized by the application manager 250. In one example, a container platform such as the DOCKER platform or the KUBERNETES platform can be used to create the container. Containers can be defined, for example, according to the CNCF to support structured declarative configurability (e.g., via text files).

[0078] Each container can, for example, be configured to perform a corresponding step of a manufacturing task. For instance, an application can be containerized into four containers by the application manager 250, these containers being referred to as: and The number of containers in the quantity of four is provided for illustrative purposes only and is not a limitation. For example, containers and Training steps can be performed, container Reasoning steps can be performed, and the container Steps can be performed to provide manufacturing parameters to achieve control over the manufacturing process. Application manager 250 can deploy containers in overlay network 500, such that each of overlay nodes 301 to 304 can include a container of an application. Overlay network 500 can allow application containers to communicate with each other. In particular, the overlay network can enable, for example, containers... and Able to send trained models to containers This allows the container to perform analysis steps. (Container) For example, predicted manufacturing parameters can be transmitted to the container. Make the container The steps that provide manufacturing parameters can be performed.

[0079] Communication between containers can be secured by using secure communication protocols in accordance with this topic. This can be particularly advantageous because the overlay network is layered on top of the public cloud network.

[0080] Figure 6 An example overlay network based on this topic is depicted.

[0081] The 600A and 600B coverage networks can be, for example, by Figure 1 The application manager 150 selects from the created overlay networks for deploying and executing applications. Overlay networks 600A and 600B can be in... Figure 1 A software-defined subnet on top of physical network 137. In other words, the underlying physical network associated with these two overlay networks 600A and 600B is physical network 137.

[0082] Overlay networks 600A and 600B can be configured according to an overlay network protocol to enable communication between application containers in overlay nodes connected to overlay networks 600A and 600B. The overlay network protocol can be, for example, the VXLAN protocol.

[0083] Overlay network 600A may include overlay nodes 601 to 603. Only three overlay nodes are shown; however, more or fewer overlay nodes may be used according to this topic. Overlay network 600A may include overlay nodes 604 to 605. Only two overlay nodes are shown; however, more overlay nodes may be used according to this topic. Application manager 150 can use mappings to establish connections between overlay networks 600A and 600B and physical network 137. In particular, the mapping may indicate the associated physical node for each overlay node. The mapping may further indicate one or more associated links in the underlying physical network for each link in the overlay network. Mappings between nodes are indicated by dashed lines. Figure 6 The indicated coverage nodes 601 to 605 are each assigned to a different planning and analysis device at level 117 of the distributed manufacturing automation system 100.

[0084] Overlay networks 600A and 600B can be used to deploy containers for applications based on this topic. This application enables the execution of a manufacturing task referred to as Task 4. This manufacturing task can be performed, for example, at the information level of the automation pyramid. For instance, the manufacturing task may include a data preprocessing step, a step of analyzing the preprocessed data, and a step of determining manufacturing parameters based on the analysis. These manufacturing parameters can be used to control the manufacturing process.

[0085] Applications can be containerized by the application manager 150. In one example, a container platform such as the DOCKER platform or the KUBERNETES platform can be used to create the container. Containers can be defined, for example, according to the CNCF to support structured declarative configurability (e.g., via text files).

[0086] Each container can, for example, be configured to perform a corresponding step in a manufacturing task. For instance, an application can be containerized into five containers by the application manager 150, and these containers are referred to as: and The number of containers in the quantity of five is provided for illustrative purposes only and is not a limitation. For example, containers Preprocessing steps can be performed on the container. and Analysis steps can be performed, and the container It can perform steps to determine manufacturing parameters and provide these parameters to achieve control over the manufacturing process. The application manager 150 can control containers... and Deployed in the 600B overlay network and containers and Deployed in overlay network 600A, each of overlay nodes 601 to 605 can include a container of an application. Overlay networks 600A and 600B allow application containers to communicate with each other within the overlay network and with each other. In particular, overlay networks 600A and 600B enable, for example, containers Able to send preprocessed data to containers and This allows these containers to perform analysis steps. Containers and For example, analysis results can be transferred to a container. Make the container It can perform steps to determine manufacturing parameters based on the analysis results.

[0087] Figure 7 This is a flowchart illustrating a method for controlling a distributed manufacturing automation system, based on examples from this topic. For illustrative purposes, Figure 7 The method can be used in the previous Figure 1 or Figure 2 The systems shown in the document are implemented, but are not limited to these implementation methods. Figure 7 The method can be performed, for example, by application manager 150 or 250.

[0088] In step 701, the application manager can create overlay networks with overlay nodes in the distributed manufacturing automation system. Each of these overlay networks spans one or more levels of the automation pyramid. Overlay nodes can represent system resources of the physical network. In step 703, the application manager can create applications for performing manufacturing tasks.

[0089] In one example, step 701 can be performed before step 703. This can speed up the process because the overlay network can be prepared for the application to be deployed. In another example, step 701 can be performed after or in parallel with step 703. This can save resources required for the overlay network that might otherwise be created but not used. Furthermore, parallel processing can accelerate the process.

[0090] In step 705, the application manager can divide the application into application components based on predefined functions and information flows. These application components belong to one or more levels of the automation pyramid.

[0091] In one example, step 705 can be a component of step 703; that is, the application can be created to include containers. This can be advantageous because it saves processing resources used to perform separate steps. Step 705 can be performed after step 703. This can be advantageous where the application can be reused to create another set of containers from the application.

[0092] In step 707, the application manager can select one or more overlay networks that enable the execution of application components. In step 709, the application manager can establish one or more connections to the selected one or more overlay networks.

[0093] In step 711, the application manager can use the established connection to deploy application components in one of the selected overlay networks. In step 713, the application manager can use the deployed application to plan and / or control manufacturing in the distributed manufacturing automation system. For example, the application manager can begin executing the deployed application, the result of which may enable control of the manufacturing process.

[0094] In one example, method steps 701 to 713 can be executed automatically, for instance, upon receiving a request to perform a manufacturing task. This request may include application code.

[0095] In one example method, steps 703 to 713 can be repeated for each additional manufacturing task. In this case, different manufacturing tasks can use (reuse) the same created overlay network. In another example method, steps 701 to 713 can be repeated for each additional manufacturing task. In this case, the overlay network can be recreated for each manufacturing task. This can be advantageous when the underlying physical network changes over time.

[0096] Figure 8 This is a flowchart illustrating a method for deploying an application in a distributed manufacturing automation system, based on examples from this topic. Figure 8 The method provides Figure 7 An example implementation of the deployment steps. For illustrative purposes, Figure 8 The method can be used in the previous Figure 1 or Figure 2 The systems shown in the document are implemented, but are not limited to these implementation methods. Figure 8 The method can be performed, for example, by application manager 150 or 250.

[0097] In step 801, the application manager can create a configuration file that includes the application's configuration parameters. In step 803, the application manager can control the selected overlay network to apply the configuration.

[0098] The created application can support declarative configurability, allowing individual components to be configured declaratively. This can be advantageous because expected properties can be specified in advance, and the application manager can autonomously construct appropriate configurations by interpreting these specifications. This avoids configuring application components through, for example, direct interaction with a graphical user interface. Declarative configuration can be particularly useful for describing and managing deployments in a structured manner.

[0099] Figure 9 This is a flowchart illustrating a method for deploying an application in a distributed manufacturing automation system, based on examples from this topic. For illustrative purposes, Figure 9 The method can be used in the previous Figure 1 or Figure 2 The systems shown in the document are implemented, but are not limited to these implementation methods. Figure 9 The method can be performed, for example, by application manager 150 or 250.

[0100] Overlay networks can be stacked on top of corresponding clusters of physical nodes.

[0101] In step 901, the application manager can containerize the application into containers. In step 903, the application can provide an associated cluster for running the containerized application for each overlay network, such that each cluster includes a container orchestrator. In step 905, the application manager can establish a connection with the container orchestrator of the cluster in the selected overlay network where the application is to be deployed. In step 907, the application manager can create a configuration file that includes the application's configuration parameters. In step 909, the application manager can control the container orchestrator to apply the configuration.

[0102] In one example Figure 9 The method can be executed in response to determining that at least one of the selected overlay networks used for deploying the application covers a specific level of the automation pyramid. That is, containerization can be advantageously used for this specific level. This specific level could, for example, be a level of supervision where the monitoring device may not have sufficient resources to provide all possible dependencies required for the execution of application components.

[0103] Figure 10This refers to a general-purpose computerized system suitable for implementing at least a portion of the method steps described in this disclosure. Application manager 150 or 250 may, for example, include computer system 1000. Components of computer system 1000 may include, but are not limited to, one or more processors or processing units 1003, storage system 1011, memory system 1005, and a bus 1007 coupling various system components including memory system 1005 to processor 1003. Memory system 1005 may include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM)). Note that memory system 1005 may have a distributed architecture, wherein various components are located remotely from each other but are accessible by processor 1003.

[0104] The software in memory system 1005 may include one or more individual programs, each of which includes an ordered list of executable instructions for implementing logical functions, particularly those involved in embodiments of the invention. The software in memory system 1005 should also typically include a suitable operating system (OS) 1022. OS 1022 essentially controls the execution of other computer programs, such as possibly controlling the software 1027 used to implement the methods described herein.

[0105] The computer system 1000 can also communicate with one or more external devices (such as a keyboard, pointing device, display, etc.); one or more devices that enable a user to interact with the computer system; and / or any device that enables the computer system 1000 to communicate with one or more other computing systems (e.g., a network card, modem, etc.). This communication can occur via I / O interfaces (multiple) 1019. Furthermore, the computer system 1000 can also communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the internet), via a network adapter 1009 that may include a wireless and / or mobile network adapter. As depicted, the network adapter 1009 communicates with other components of the computer system 1000 via a bus 1007.

[0106] As will be understood by those skilled in the art, aspects of the present invention can be embodied as devices, methods, computer programs, or computer program products. Therefore, aspects of the present invention can take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or combined software and hardware embodiments generally referred to herein as “circuit,” “module,” or “system.” Furthermore, aspects of the present invention can also take the form of computer program products embodied in one or more computer-readable media having computer-executable code embodied thereon. A computer program includes computer-executable code or “program instructions.”

[0107] Any combination of one or more computer-readable media may be used. A computer-readable medium may be a computer-readable storage medium. As used herein, 'computer-readable storage medium' encompasses any tangible storage medium capable of storing instructions executable by a processor of a computing device. Such a computer-readable storage medium may be referred to as a computer-readable non-transitory storage medium. Such a computer-readable storage medium may also be referred to as a tangible computer-readable medium. In some embodiments, a computer-readable storage medium may also be capable of storing data accessible by a processor of a computing device.

[0108] 'Computer memory' or 'memory' is an example of a computer-readable storage medium. Computer memory is any memory that can be directly accessed by a processor. 'Computer storage device' or 'storage device' is another example of a computer-readable storage medium. A computer storage device is any non-volatile computer-readable storage medium. In some embodiments, a computer storage device may also be computer memory, and vice versa.

[0109] As used herein, 'processor' encompasses an electronic component capable of executing programs or machine-executable instructions or computer-executable code. References to computing devices that include 'processor' should be interpreted as potentially containing more than one processor or processing core. A processor can be, for example, a multi-core processor. A processor can also refer to a collection of processors within a single computer system or distributed across multiple computer systems. The term computing device should also be interpreted as potentially referring to a collection or network of computing devices, each including one or more processors. Computer-executable code can be executed by multiple processors that may reside within the same computing device or even be distributed across multiple computing devices.

[0110] Computer executable code may include machine-executable instructions or a program that causes a processor to execute one aspect of the invention. Computer executable code for performing the operations of the aspects of the invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Java, Smalltalk, C++, etc.) and conventional procedural programming languages ​​(such as the "C" programming language or similar programming languages), and compiled into machine-executable instructions. In some cases, computer executable code may be in the form of a high-level language or in a pre-compiled form, and may be used in conjunction with an interpreter that generates machine-executable instructions on the spot.

[0111] Typically, program instructions can be executed on one or several processors. In the case of multiple processors, they can be distributed across several different entities. Each processor can execute the portion of the instructions specific to that entity. Therefore, when referring to a system or process involving multiple entities, a computer program or program instructions are understood to be suitable for execution by a processor associated with or related to the respective entity.

Claims

1. A method for controlling a distributed manufacturing automation system (100, 200) configured according to an automation pyramid, the distributed manufacturing automation system (100, 200) including a network (130, 133, 135, 137) and a firewall between the levels of the automation pyramid, wherein, Each network is associated with a level (101, 113, 115, 117) of the automation pyramid, which indicates the predefined functions of these networks and the information flow between levels of the automation pyramid; the method includes: An application manager (150, 250) is provided, which is configured to remotely connect to the distributed manufacturing automation system (100, 200); The application manager (150, 250) creates (701) overlay networks (300, 400, 500, 600) with nodes in the distributed manufacturing automation system (100, 200), wherein each of these overlay networks spans one or more levels of the automation pyramid, and wherein these nodes represent system resources of these networks; An application (703) created by the application manager (150, 250) to perform manufacturing tasks; The application manager (150, 250) divides (705) the application into application components based on these predefined functions and information flows, wherein these application components belong to one or more levels (101, 113, 115, 117) of the automation pyramid. The application manager selects (707) one or more overlay networks that enable the execution of these application components; A connection (709) is established by the application manager (150, 250) to the selected overlay network (300, 400, 500, 600); The application manager (150, 250) uses the established connection to deploy (711) these application components in the selected overlay networks (300, 400, 500, 600); The application manager (150, 250) uses (713) the application to plan and / or control the manufacturing process in the distributed manufacturing automation system (100, 200).

2. The method as described in claim 1, wherein, Deploying these application components includes: Create (801) a configuration file that includes the application's configuration parameters; and Control (803) these selected overlay networks to apply the configuration.

3. The method of claim 2, wherein the configuration parameters include: Software-defined network parameters, memory usage parameters, and CPU usage parameters.

4. The method of claim 3, wherein the software-defined network parameters include firewall parameters of the firewalls for communication between the application components through the firewalls.

5. The method as described in any one of the preceding claims, comprising: Create secure zones within these selected overlay networks. These secure zones comprise a subset of nodes in these selected overlay networks that enable the execution of the application. The nodes in these secure zones are configured with specific communication rules and specific usage rules that are enforced only by the deployed application.

6. The method as described in any one of the preceding claims, further comprising: Configure the application components to communicate according to a secure communication protocol in order to perform the manufacturing task.

7. The method of claim 6, wherein, This communication protocol instructs each application component to communicate with another application component using the following: Based on direct communication using the client-server model; or Through indirect communication via an intermediate module, the intermediate module transforms messages from the messaging protocol of one application component to another messaging protocol of the other application component; or Communication through the firewall based on predefined firewall parameters.

8. The method as described in any of the preceding claims further includes re-establishing a connection with these selected overlay networks to control the execution of the application or updating the application, wherein updating the application includes updating one or more application components of the application and / or uninstalling one or more application components of the application.

9. The method as described in any one of the preceding claims, further comprising: Containerize (901) the application, thereby providing these application components as a container; Provide (903) a cluster for running containerized applications for each overlay network, the clusters including container orchestrators, wherein the connections are established with the container orchestrators in the clusters of the selected overlay networks (905); The deployment of these application components includes: Create (907) a configuration file that includes the application's configuration parameters; and Control (909) these container orchestrators to apply configurations.

10. The method as described in any of the preceding claims, wherein, These functions include different types of functions, such that each network (130, 133, 135, 137) is configured to perform a specific type of function, wherein the information flow indicates the inputs and outputs of each network (130, 133, 135, 137) and the temporal order in which the inputs and outputs of these networks (130, 133, 135, 137) are provided.

11. The method as described in any of the preceding claims, wherein the functions include real-time functions and non-real-time functions.

12. The method as described in any of the preceding claims, wherein, These application components belong to multiple levels of the automation pyramid, where the selected overlay networks span one or more of these multiple levels.

13. A computer program product comprising a computer-readable storage medium having computer-readable program code embodied therein, the computer-readable program code being configured to perform the method as described in any of the preceding claims.

14. A distributed manufacturing automation system (100, 200) configured according to an automation pyramid, the distributed manufacturing automation system (100, 200) including firewalls between networks (130, 133, 135, 137) and levels (101, 113, 115, 117) of the automation pyramid, wherein, Each network is associated with a level of the automation pyramid, which indicates the predefined functions of these networks and the information flow between levels of the automation pyramid; the distributed manufacturing automation system (100, 200) includes an application manager (150, 250), which is configured to: In the distributed manufacturing automation system (100, 200), create overlay networks (300, 400, 500, 600) with nodes, where each overlay network spans one or more levels of the automation pyramid, and where the nodes represent the system resources of these networks (130, 133, 135, 137). Create an application for performing manufacturing tasks; The application is divided into application components based on these predefined activities and information flows, where these application components belong to one or more levels (101, 113, 115, 117) of the automation pyramid. Select one or more overlay networks (300, 400, 500, 600) that enable the execution of these application components; Establish connections to these selected overlay networks (300, 400, 500, 600); Use the established connections to deploy these application components across the selected overlay networks (300, 400, 500, 600); Use this application to plan and / or control the manufacturing processes in the distributed manufacturing automation system (100, 200).

15. The system of claim 14, wherein, This manufacturing process is used to produce chemicals or biochemicals.