Method and system for seamless migration of a runtime system from a controller device to a digitization platform - Patents.com
The method and system for seamless migration from a controller device to a digital platform address the challenges of costly and inefficient transitions by using knowledge graphs to simulate and offload processing, ensuring continuous industrial control system functionality despite network errors.
Patent Information
- Application Number
- JP2023074449
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-04-29
- Filing Date
- 2023-04-28
- Publication Date
- 2025-01-29
- Estimated Expiration
- 2043-04-28
AI Technical Summary
The transition from a PLC-based platform to a digital platform for industrial control systems is costly and cumbersome due to the need for accurate simulation of controller device behavior and timely real-time input, which can be hindered by network connection errors, leading to downtime and inefficiencies.
A method and system for seamless migration of the runtime system from a controller device to a digital platform using a processing unit that analyzes input-output parameter values, generates knowledge graphs, and simulates input parameters to maintain system functionality despite connection errors, reducing processing load on the controller device.
The system ensures continuous execution of engineering programs by offloading processing to the digital platform, reducing the controller's load and improving processing capacity, while accurately simulating input-output relationships to handle connection errors.
Smart Images

Figure 0007624026000001 
Figure 0007624026000002 
Figure 0007624026000003
Abstract
Description
[Technical field]
[0001] The present invention relates to the field of computer-aided programming engineering, and more particularly to a method and system for seamlessly migrating a runtime system from a controller device to a digitization platform.
[0002] The technical installation, such as an industrial plant, comprises a number of industrial devices controlled by a controller device, such as a programmable logic controller. Examples of the number of industrial devices include, but are not limited to, control valves, motors, pumps, and actuators. The controller device is further configured to receive real-time inputs from a number of sensor devices in the industrial plant. The controller device processes the received real-time inputs to control the number of industrial devices. The received real-time inputs are processed by execution of an engineering program in the controller device.
[0003] With the advent of digitization-based computing technologies, it may be beneficial to execute engineering programs on a digital twin of a controller device hosted in a digitization platform, where the digitization platform receives real-time inputs and controls multiple industrial devices based on the received real-time inputs.
[0004] Executing engineering programs on a digitization platform has several drawbacks. For example, efficient functioning of an industrial plant requires timely input of real-time inputs to the digitization platform. If the real-time inputs are not provided to the digitization platform in a timely manner, the execution of the engineering programs is affected, resulting in downtime. Thus, the presence of connectivity errors in the network connection between multiple sensor devices and the digitization platform may hinder efficient functioning of the industrial plant. Furthermore, if the digitization platform does not accurately simulate the behavior of the controller device, the real-time inputs may be processed inaccurately. In such cases, the functioning of the industrial plant is hindered.
[0005] Furthermore, migrating the runtime of an engineering system from a controller device to a digitization platform can be costly. For example, in order for the digitization platform to accurately simulate behavior, the digitization platform must be generated based on the analysis of a large number of input and output signals of the controller device. As such, generating the digitization platform requires a large amount of time and effort. As a result, attempting to migrate a runtime system from a controller device to a digitization platform can be a time-consuming and labor-intensive process.
[0006] Thus, migrating existing automation systems from a PLC-based platform to a digitalized platform is costly, laborious and difficult.
[0007] In view of the above, there is a need for an efficient and cost-effective method and system for seamless migration of a runtime system from a PLC-based platform to a digitized platform. Accordingly, it is an object of the present invention to provide a method and system for seamless migration of a runtime system from a controller device to a digitized platform.
[0008] The object of the present invention is achieved by a method and a system for seamless migration of a runtime system from a controller device to a digitization platform. Examples of the controller device include a programmable logical controller (PLC) or a microprocessor or a processing unit. The digitization platform includes configurable computing physical and logical resources, e.g., networks, servers, storage, applications, services, etc., and data distributed on a platform, such as a cloud computing platform. The controller device and the digitization platform are configured to execute engineering programs to control multiple industrial devices in a technical facility. Examples of the multiple industrial devices include, but are not limited to, control valves, motors, pumps, robots, lathes, and actuators. Examples of the technical facility include a manufacturing plant, a power generation plant, or a chemical processing plant.
[0009] The engineering program includes a plurality of programming blocks, each of which includes one or more program instructions. In one example, the engineering program is a graphical program including program logic. The engineering program includes a set of programmable instructions or statements corresponding to the program logic. Each programming block of the plurality of programming blocks corresponds to a function block based on an engineering design of the technical equipment. The engineering design may include a plurality of such programming blocks. The controller device is configured to execute the engineering program in a plurality of scan cycles. The controller device and the digitization platform are further communicatively coupled to a plurality of sensor devices and a plurality of human machine interfaces. The plurality of sensor devices include a pressure sensor, a temperature sensor, and a vibration sensor. Examples of the human machine interfaces include, but are not limited to, a keyboard, a mouse, and a touch screen. The plurality of human machine interfaces further include a plurality of client devices, such as a smartphone, a desktop computer, and a tablet computer, networked to the controller device or the digitization platform.
[0010] In a preferred embodiment, the method includes capturing, by the processing unit, a plurality of input-output parameter values transmitted or received by the controller device during a plurality of scan cycles of the execution of the engineering program. The plurality of input-output parameter values includes a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values include parameter values received by the controller device from a plurality of sensor devices and a plurality of human machine interfaces.
[0011] Thus, the captured input-output parameter values include sensor data, user commands, and user inputs. In one example, the input-output parameter values further include information about a plurality of user actions performed by a user on one of a plurality of human machine interfaces connected to the controller device. In another example, the input-output parameter values include a plurality of input parameters received by the controller device from a plurality of sensor devices. The input-output parameter values further include a plurality of output parameter values generated by the controller device in response to receiving the plurality of user actions. The output parameter values include parameter values transmitted by the controller device or the digitization platform to a plurality of industrial devices in the technical installation.
[0012] In a preferred embodiment, the method further comprises analyzing, by a processing unit, the captured plurality of input-output parameter values, the processing unit being configured to identify a plurality of patterns in the plurality of input-output parameter values based on the analysis, and the processing unit being further configured to identify a plurality of relationships between parameter values in the captured plurality of input-output parameter values.
[0013] The method further includes generating, by the processing unit, an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph based on an analysis of the captured input-output parameter values. The input knowledge graph includes information regarding a plurality of relationships between the input parameter values in the captured input-output parameter values. The processing unit is configured to query the input knowledge graph to predict parameter values likely to be received by the controller device during a future scan cycle of execution of the engineering program. The future scan cycle occurs following the plurality of scan cycles in which the input-output parameter values are captured.
[0014] The output knowledge graph includes information regarding a plurality of relationships between a plurality of output parameter values sent by the controller device. The processing unit is configured to query the output knowledge graph to predict a likely output parameter value sent by the controller device in a future scan cycle of the execution of the engineering program at the controller device. The input-output correspondence knowledge graph includes information regarding a relationship between each of the plurality of input parameter values and each of the plurality of output parameter values. The processing unit is configured to query the input-output correspondence knowledge graph to predict a likely output parameter value sent by the controller device for a given input parameter value received by the controller device. The method is further configured to generate an input-output knowledge graph based on the input knowledge graph, the output knowledge graph, and the input-output knowledge graph. In one example, the input-output knowledge graph is a three-dimensional knowledge graph in which the input knowledge graph, the output knowledge graph, and the input-output knowledge graph are represented as orthogonal dimensions in the three-dimensional knowledge graph.
[0015] In a preferred embodiment, the method further includes receiving, by the processing unit, a plurality of network connection parameters associated with a network connection between the plurality of sensor devices and one of the controller device or digitization platform. The plurality of network connection parameters include information associated with network strength, packet count, packet drop data associated with the network connection between the plurality of sensor devices and one of the controller device or digitization platform. The method further includes analyzing, by the processing unit, the plurality of network connection parameters. The method further includes determining, by the processing unit, based on the analysis, that at least one connectivity error exists in the network connection. In one example, the plurality of network connectivity parameters include network strength. In this case, the processing unit is configured to determine whether the network strength is below a predetermined threshold. If it is determined that the network strength is below the predetermined threshold, it is determined that at least one connectivity error exists in the network connection between the plurality of sensor devices / plurality of human-machine interfaces and one of the controller device or digitization platform.
[0016] If it is determined that there is at least one connectivity error in the network connection, the method further includes simulating a first input parameter value based on an analysis of the generated input-output knowledge graph. In one example, the first input parameter value is simulated by the processing unit by querying the input-output knowledge graph. It is noted that the input-output knowledge graph includes information on multiple relationships between multiple input parameter values received by the controller device in multiple scan cycles. Thus, advantageously, the simulation of the first input parameter value takes into account multiple input parameter values received by the controller device in multiple scan cycles. Thus, the simulated first input parameter value is highly likely to be received by the controller device from multiple sensor devices / multiple human-machine interfaces during the execution of the engineering program.
[0017] The processing unit is configured to receive second input parameter values from the plurality of sensor devices when it is determined that the at least one connection error does not exist. The second input parameter values are received via the network connection. Examples of the second input parameter values include sensor data received from the plurality of sensor devices and user inputs received from a human machine interface.
[0018] In a preferred embodiment, the method further comprises determining, by the processing unit, whether information on one of the simulated first input parameter value or the received second input parameter value is present in the input-output knowledge graph. In other words, the processing unit is configured to determine whether the input-output knowledge graph includes information on a plurality of relationships between a plurality of input-output parameter values and the first input parameter value or the second input parameter value. The processing unit is configured to query the input-output knowledge graph to generate at least one output parameter value if the input-output knowledge graph includes information on the first input parameter value or the second input parameter value.
[0019] The at least one output parameter value is a parameter value likely to be generated by the controller device upon receipt and processing of the first or second input parameter value at the controller device. Advantageously, the at least one output parameter value is simulated based on an analysis of a plurality of input-output parameter values received by the controller device during execution of the engineering program. Furthermore, the at least one output parameter value is simulated based on an analysis of information associated with a plurality of relationships between parameter values in the captured plurality of input-output parameter values. Advantageously, the processing unit is thus enabled to accurately simulate the at least one output parameter value. Thus, the generation of the at least one output parameter value is performed in the digitization platform rather than in the controller device.
[0020] Thus, advantageously, the processing power expended for processing the first or second parameter value is taken up by the digitization platform rather than the controller device. This reduces the processing load of the controller device. As a result, the processing power of the controller device is increased. Furthermore, advantageously, the controller device and the digitization platform continue to receive the first or second input parameter value despite the presence of at least one connection error in the network connection. Thus, advantageously, the execution of the engineering program is not stopped even in the presence of at least one connection error in the network connection.
[0021] In a preferred embodiment, the method further includes determining, by the processing unit, whether one of the first input parameter value or the second input parameter value is a critical data item. In one example, based on application of an artificial intelligence model to the first input parameter value and the second input parameter value, one of the first input parameter value or the second input parameter value is determined to be a critical data item. If the first input parameter value or the second input parameter value is determined to be a critical data item, the first input parameter value or the second input parameter value is processed in the controller device.
[0022] If it is determined that information regarding the first parameter value or the second parameter value does not exist in the input-output knowledge graph, the method includes transmitting, by the processing unit, the first parameter value or the second parameter value to a controller device, the controller device configured to process the first parameter value or the second parameter value based on execution of the engineering program, and the controller device configured to generate at least one output parameter value from the first parameter value or the second parameter value via execution of the engineering program.
[0023] In a preferred embodiment, the method further comprises receiving, by the processing unit, from the controller device, the at least one generated output parameter value. The method further comprises transmitting the at least one generated output parameter value to a plurality of industrial devices in the technical installation to control the plurality of industrial devices and operate the technical installation efficiently. Thus, advantageously, the controller device only needs to process parameter values that are not present in the input-output knowledge graph. Thus, the processing load of the controller device is significantly reduced, and most of the parameter value processing is performed in the digitization platform. Thus, the generation of the at least one output parameter value is performed in the digitization platform. Thus, advantageously, the processing capacity expended for processing the first parameter value or the second parameter value is occupied by the digitization platform rather than the controller device. This reduces the processing load of the controller device.
[0024] In a preferred embodiment, the method further includes analyzing the generated at least one output parameter value. Additionally, the method further includes modifying the input-output knowledge graph based on the analysis of the at least one output parameter value, the first input parameter value, and the second input parameter value. The input-output knowledge graph is modified such that relationships between the first input parameter value, the second input parameter value, and the at least one output parameter value are recorded in the input-output knowledge graph.
[0025] Thus, advantageously, when the controller device or the digitization platform receives a parameter value equal to the first input parameter value or the second parameter value in the future, the output parameter value is easily generated by consulting the input-output knowledge graph. This further reduces the processing load of the controller device. Finally, the input-output knowledge graph accumulates information associated with all possible parameter values that may be received by the controller device. In such a case, the digitization platform is enabled to generate multiple output parameter values for all possible combinations of input parameter values received by the controller device. Thus, advantageously, the runtime of the technical equipment is seamlessly transferred from the controller device to the digitization platform.
[0026] In a preferred embodiment, the method further includes analyzing, by the processing unit, a plurality of programming blocks of the engineering program executed by the controller device. The method further includes determining, by the processing unit, a plurality of program execution parameters of the controller device. The plurality of program execution parameters include information regarding the internal functioning of the controller device during execution of the engineering program. For example, the plurality of program execution parameters include run-time information such as information regarding memory fragmentation, scan cycle characteristics, system resource utilization, and memory utilization of the controller device during execution of the engineering program at the controller device. The method further includes determining, by the processing unit, an efficiency of execution of the engineering program by the controller device.
[0027] In a preferred embodiment, the method further includes determining, by the processing unit, one or more programming blocks of the engineering program that impede efficiency of execution of the engineering program. The method further includes selecting, by the processing device, one or more programming blocks to be transformed based on the determined efficiency of execution of the engineering program by the controller device. The method further includes applying, by the processing unit, an artificial intelligence model to the determined one or more programming blocks. The artificial intelligence model is trained to transform the determined one or more programming blocks to optimize efficiency of execution of the engineering program by the controller device. The method further includes transforming, by the processing unit, a plurality of programming blocks based on application of the artificial intelligence model to the engineering program. The method further includes moving, by the processing unit, the plurality of transformed programming blocks to a digitization platform.
[0028] In a preferred embodiment, a method for seamless migration of a runtime system from a controller device to a digitization platform includes receiving, by a processing unit, a first input-output knowledge graph including information on a plurality of relationships between a plurality of input-output parameter values transmitted or received by the controller device. The plurality of input-output parameter values includes a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values include parameter values received by the controller device from a plurality of the plurality of human machine interfaces. The plurality of input parameter values includes sensor data, user commands, and user inputs. In one example, the plurality of input parameter values includes a plurality of user actions performed by a user on the plurality of human machine interfaces. Examples of the plurality of user actions include user commands, user inputs, programming instructions, and user selections input by a user at an input device of the human machine interface. The plurality of output parameter values includes parameter values transmitted by the controller device and the digitization platform to a plurality of industrial devices in a technical installation. The plurality of output parameter values includes control signals transmitted by the controller device based on receiving the plurality of user actions. A user can input a plurality of user actions to perform a task using the executed engineering program. The plurality of user actions are arranged as a workflow. A user is enabled to execute a workflow that includes a set of user actions to perform a task. In one example, the task can be executed using one of a first workflow and a second workflow.
[0029] In a preferred embodiment, the method further includes determining, by the processing unit, whether at least one connectivity error exists in a network connection between the plurality of human machine interfaces and one of the controller device or the digitization platform. The at least one connectivity problem is determined based on an analysis of a plurality of network connection parameters associated with the network connection. The method further includes simulating, by the processing unit, a first input parameter value based on an analysis of the modified input-output knowledge graph if the connectivity error exists. The first input parameter value is a parameter value that is likely to be received from the plurality of human machine interfaces during execution of the engineering program. In one example, the first input parameter value includes information regarding a user action that is likely to be received by the controller device during execution of the engineering program.
[0030] In one example, the method includes receiving, by the processing unit, a second input parameter value from the plurality of sensor devices when it is determined that there is no connectivity error in the network connection between the plurality of human machine interfaces and the controller device. The second input parameter value is at least one of a control signal, a sensor data signal, and a user input from a first user. The method further includes determining, by the processing unit, whether one of the first input parameter value and the second input parameter value exists in the first input-output parameter value. In other words, the method includes determining whether a relationship between one of the first input parameter value and the second input parameter value and any of the plurality of input-output parameter values is recorded in the first input-output knowledge graph. If information regarding at least one of the first input parameter value and the second input parameter value exists in the first input-output knowledge graph, the processing unit is enabled to generate at least one output parameter by simply querying the first input-output knowledge graph. If information regarding one of the first input parameter value or the second input parameter value is not present in the first input-output knowledge graph, the method further includes determining whether information regarding the first input parameter or the second input parameter is present in a second input-output knowledge graph stored in the database.
[0031] In one example, if information regarding the first input parameter value or the second input parameter value is determined to be present in the second input-output knowledge graph, the method further includes determining, by the processing unit, one or more knowledge graph instances in the second input-output knowledge graph, the one or more knowledge graph instances including information regarding the first input parameter value or the second input parameter value, the one or more knowledge graph instances further including information regarding one or more parameter values likely to be received by the controller device in a future scan cycle of execution of the engineering program.
[0032] In a preferred embodiment, the method further comprises: analyzing, by the processing unit, the first input-output knowledge graph to classify portions of the first input-output knowledge graph into active and latent sections. The active section includes information about a first set of parameter values to be processed in a current scan cycle of the execution of the engineering program. The latent section includes information about a second set of parameter values to be processed in a future scan cycle of the execution of the engineering program. The method further comprises mapping, by the processing unit, the one or more received knowledge graph instances to one of the active or latent sections of the first input-output knowledge graph. The method further comprises appending, by the processing unit, the one or more received knowledge graphs to the first input-output knowledge graph based on a set of cognitive rules. Thus, the processing unit is configured to modify the first input-output knowledge graph based on the set of cognitive rules. The set of cognitive rules is a set of rules designed to transfer learning from one knowledge graph to another knowledge graph.
[0033] In another example, the method includes determining, by the processing unit, a first workflow including a first set of user actions for performing a task using an engineering program. In one example, the task is an engineering task performed via an engineering system. In another example, the task is a control task for controlling a plurality of industrial devices in a technical facility. The first set of user actions represents a first way of performing the task. Information associated with the first workflow is present in a first input-output knowledge graph. The information associated with the first workflow includes information regarding a plurality of relationships between the first set of user actions in the first workflow. Furthermore, the first input-output knowledge graph includes information regarding a sequence in which the first set of user actions are performed. The method further includes receiving, by the processing unit, a second workflow including a second set of user actions for performing the same task using the engineering program. The second set of user actions is different from the first set of user actions. In other words, the second set of user actions represents a second way of performing the same task using the engineering program. Information associated with the second workflow is present in a second input-output knowledge graph stored in the database. The second input-output knowledge graph includes information about sequences of user actions in the second workflow and information about individual user actions in the second workflow.
[0034] In a preferred embodiment, the method further includes comparing the first input-output knowledge graph and the second input-output knowledge graph. In one example, the first input-output knowledge graph is compared to the second input-output knowledge graph based on a correlation operation between the two knowledge graphs. The method further includes determining, by the processing unit, a processing efficiency of the first workflow and the second workflow based on the comparison. The processing efficiency of each of the first workflow and the second workflow is a measure of the efficiency with which the respective workflow completes a task. In one example, the processing efficiency of the first workflow and the second workflow is determined by measuring the time it takes to complete a task when each of the first workflow and the second workflow is executed on the digital twin.
[0035] In a preferred embodiment, the method further includes determining, by the processing unit, whether a processing efficiency of the second workflow is higher than a processing efficiency of the first workflow. If the processing efficiency of the second workflow is higher than the processing efficiency of the first workflow, the method further includes determining, by the processing unit, one or more knowledge graph instances in the second input-output knowledge graph corresponding to the second workflow. The method further includes receiving, by the processing unit, the determined one or more knowledge graph instances from the second input-output knowledge graph. The method further includes modifying the first input-output knowledge graph by appending the received one or more knowledge graph instances to the first input-output knowledge graph instance.
[0036] In a preferred embodiment, the method further comprises generating, by the processing unit, at least one output parameter value from the simulated first input parameter value, and transmitting, by the processing unit, the generated at least one output parameter value to at least one device in the technical installation to control the at least one device.
[0037] The object of the invention is also achieved by an engineering system for seamless migration of a runtime system from a controller device to a digitization platform. The engineering system comprises one or more processors and a memory coupled to the processing units. The memory includes a data analysis and acquisition module stored in the form of machine-readable instructions executable by the processor. The data analysis and acquisition module is configured to perform the method described above.
[0038] The object of the invention is also achieved by an industrial environment comprising an engineering system, a technical installation with one or more physical components, and a number of human machine interfaces communicatively coupled to the engineering system and to the technical installation, the engineering system being adapted to perform the method steps as described above.
[0039] The objects of the invention are also achieved by a computer program product having stored thereon machine-readable instructions which, when executed by one or more processors, cause the one or more processors to perform the method steps described above.
[0040] These and other features of the present invention will now be addressed with reference to the accompanying drawings, in which: The illustrated embodiments are intended to illustrate the invention and not to limit it.
[0041] The invention will be further explained below with reference to exemplary embodiments illustrated in the accompanying drawings. [Brief description of the drawings]
[0042] [Figure 1] FIG. 1 is a block diagram of an industrial environment in which a runtime system can be migrated from a controller device to a digitization platform, according to an embodiment of the present invention. [Diagram 2] 2 is a block diagram of an engineering system, such as that shown in FIG. 1, in which an embodiment of the present invention may be implemented. [Diagram 3] FIG. 3 is a block diagram of a data acquisition and analytics model, as shown in FIG. 2, in which an embodiment of the present invention may be implemented. [Figure 4A] 1 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with an embodiment of the present invention. [Figure 4B] 1 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with an embodiment of the present invention. [Figure 4C] 1 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with an embodiment of the present invention. [Figure 4D] 1 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with an embodiment of the present invention. [Figure 4E] 1 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with an embodiment of the present invention. [Figure 5A] 4 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with another embodiment of the present invention. [Figure 5B] 4 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with another embodiment of the present invention. [Figure 5C] 4 is a process flow diagram illustrating an exemplary method for seamlessly migrating a runtime system from a controller device to a digitization platform in accordance with another embodiment of the present invention. [Figure 6]1 is a block diagram illustrating an example implementation of a system that can migrate a runtime system from a controller device to a digitization platform, according to one embodiment of the present invention. [Figure 7] FIG. 2 is a schematic diagram illustrating an input-output knowledge graph including latent and active sections according to an embodiment of the present invention. [Figure 8] FIG. 2 is a schematic diagram illustrating a method for modifying an input-output knowledge graph according to an embodiment of the present invention. [Figure 9] FIG. 2 is a schematic diagram illustrating a method for modifying an input-output knowledge graph using a first cognitive rule according to an embodiment of the present invention. [Figure 10] 1 is a block diagram illustrating an example implementation of a system that can migrate a runtime system from a controller device to a digitization platform, according to one embodiment of the present invention. [Figure 11] FIG. 2 is a schematic diagram illustrating a method for modifying an input-output knowledge graph according to an embodiment of the present invention. [Figure 12] FIG. 2 is a schematic diagram illustrating a method for modifying an input-output knowledge graph using a second cognitive rule according to an embodiment of the present invention. [Figure 13] FIG. 2 is a schematic diagram illustrating a method for modifying an input-output knowledge graph using a third cognitive rule according to an embodiment of the present invention. [Figure 14] FIG. 10 is a schematic diagram illustrating a method for modifying an input-output knowledge graph using a fourth cognitive rule according to an embodiment of the present invention.
[0043] Various embodiments are described with reference to the drawings, in which like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be apparent that such embodiments may be practiced without these specific details.
[0044] FIG. 1 is a block diagram of an industrial environment 100 that can seamlessly migrate a runtime system from a controller device 124 to a digitization platform 110, according to an embodiment of the present invention. In FIG. 1, the industrial environment 100 includes an engineering system 102, a technical facility 106, and a number of human machine interfaces 120A-120N. As used herein, "industrial environment" refers to a processing environment that includes configurable computing physical and logical resources, such as networks, servers, storage devices, applications, services, and data distributed via a platform, such as a cloud computing platform. The industrial environment 100 provides on-demand network access to a shared pool of configurable computing physical and logical resources. The engineering system 102 is communicatively connected to the technical facility 106 via a network connection 104 (such as a local area network (LAN), a wide area network (WAN), Wi-Fi, the Internet, any short-range or wide-area communication, etc.). The engineering system 102 is also connected to a number of human machine interfaces 120A-120N via the network connection 104.
[0045] The engineering system 102 is connected to a number of industrial devices 108A-108N in a technical installation 106 via a network connection 104. The number of industrial devices 108A-108N may include servers, robots, switches, automation devices, programmable logic controllers (PLCs), human machine interfaces (HMIs), motors, valves, pumps, actuators, sensors, and other industrial equipment. The number of industrial devices 108A-108N may be connected to each other or to a number of other components (not shown in FIG. 1) via physical connections. The physical connections may be via wiring between the number of industrial devices 108A-108N. Alternatively, the number of industrial devices 108A-108N may also be connected via non-physical connections (such as the Internet of Things (IOT)) and 5G networks. Although FIG. 1 shows the engineering system 102 connected to one technical installation 106, a person skilled in the art can envision that the engineering system 102 may be connected to a number of technical installations located in different geographical locations via the network connection 104.
[0046] The technical equipment 106 further comprises a plurality of sensor devices 126A-126N. The plurality of sensor devices 126A-126N comprises sensors such as pressure sensors, voltage sensors, temperature sensors, and vibration sensors. The plurality of sensor devices 126A-126N acquire one or more measurements from the technical equipment 106. The one or more measurements include a temperature measurement, an air pressure measurement, and a vibration measurement. The plurality of sensor devices 126A-126N are connected to the controller device 124 via a network connection 104.
[0047] The human machine interfaces 120A-120N may be desktop computers, laptop computers, tablets, smartphones, etc. Each of the human machine interfaces 120A-120N includes an engineering tool 122A-122N for generating and / or editing an engineering program, respectively. The human machine interfaces 120A-120N may access the engineering system 102 to automatically generate the engineering program. The human machine interfaces 120A-120N may access a cloud application (such as providing performance visualization of the industrial devices 108A-108N via a web browser). Throughout this specification, the terms "human machine interface," "client device," and "user device" are used interchangeably. The human machine interfaces 120A-120N are further configured to receive user actions from the users. The user actions include user inputs, user commands, user gestures, programming instructions, and user passwords. A plurality of user actions are input by a plurality of users to perform one or more tasks using the controller device 124 and the plurality of industrial devices 108A-108N.
[0048] It should be noted that the engineering system 102 is connected to a controller device 124. Examples of the controller device 124 include, but are not limited to, a programmable logic controller, a microprocessor, and other processing units. The controller device 124 is configured to execute the engineering program generated by the engineering system 102 for multiple scan cycles. The controller device 124 is configured to receive multiple input parameter values from the multiple sensor devices 126A-126N and the multiple human machine interfaces 120A-120N. The controller device 124 is further configured to transmit multiple output parameter values to the multiple industrial devices 108A-108N and the multiple human machine interfaces.
[0049] The engineering system 102 may be a standalone server deployed in a control station or a remote server on a cloud computing platform. In a preferred embodiment, the engineering system 102 may be a cloud-based engineering system. The engineering system 102 may deliver an application (such as a cloud application) for managing a technical installation 106 comprising a number of industrial devices 108A-108N. The engineering system 102 may comprise a digitization platform 110 (such as a cloud computing platform), a data acquisition and analysis module 112, a server 114 including hardware resources and an operating system (OS), a network interface 116, and a database 118. The digitization platform 110 further comprises an input-output knowledge graph. The input-output knowledge graph comprises information on a number of relationships between a number of parameter values received or transmitted by the controller device 124 during a time interval. The network interface 116 enables communication between the engineering system 102, the technical installation 106, the client devices 120A-120N, the digitization platform 110, and the controller device 124. An interface (such as a cloud interface) (not shown in FIG. 1) may enable engineers at multiple industrial devices 120A-120N to access the controller device 124 and the digitization platform 110 and perform multiple user actions on the controller device 124 and the digitization platform 110.
[0050] The server 114 may include one or more servers with an OS installed. The server 114 may include one or more processors, one or more storage devices, such as a memory unit for storing data and machine-readable instructions, applications and application programming interfaces (APIs), and other peripherals required to provide computing (e.g., cloud computing) functionality. In one example, the digitization platform 110 may be implemented in the server 114. The digitization platform 110 enables functionality such as data reception, data processing, data rendering, and data communication using the hardware resources and OS of the server 114 and delivers using application programming interfaces deployed within the digitization platform 110. The digitization platform 110 may include a combination of dedicated hardware and software built on top of the hardware and OS. In an exemplary embodiment, the digitization platform 110 may accommodate an integrated development environment (IDE) including program editors and compilers that enable users of the multiple human-machine interfaces 120A-120N to generate engineering programs. The digitization platform 110 may further include a data acquisition and analysis module 112 configured to enable seamless migration of a runtime system from the controller device 124 to the digitization platform 110. In one example, the data acquisition and analysis module 112 includes a digital twin of the controller device 124. More details about the data acquisition and analysis module 112 are described in FIG.
[0051] The database 118 stores information about the technical equipment 106 and the plurality of human machine interfaces 120A-120N. The database 118 is, for example, a Structured Query Language (SQL) data store or a Not only SQL (NoSQL) data store. In an exemplary embodiment, the database 118 may be configured as a cloud-based database implemented in the industrial environment 100, with computing resources being delivered as a service via the platform 110. The database 118 is, according to another embodiment of the present invention, a location on a file system directly accessible by the data acquisition and analysis module 112. The database 118 is configured to store engineering project files, engineering programs, object behavior models, parameter values associated with the multiple industrial devices 108A-108N, test results, simulation results, status messages, one or more simulation instances of the multiple industrial devices 108A-108N, graphical programs, program logic, program logic patterns, and engineering object properties, one or more engineering object blocks, relationship information between the multiple industrial devices 108A-108N, requirements, program update messages, and the like.
[0052] Figure 2 is a block diagram of an engineering system 102, such as that shown in Figure 1, in which an embodiment of the present invention may be implemented. In Figure 2, the engineering system 102 includes a processing unit 202, an accessible memory 204, a storage unit 206, a communication interface 208, an input-output unit 210, a network interface 212, and a bus 214.
[0053] Processing unit 202, as used herein, refers to any type of computational circuitry, such as, but not limited to, a microprocessor unit, a microcontroller, a complex instruction set computing microprocessor unit, a reduced instruction set computing microprocessor unit, a very long instruction word microprocessor unit, an explicitly parallel instruction computing microprocessor unit, a graphics processing unit, a digital signal processing unit, or any other type of processing circuitry. Processing unit 202 may also include embedded controllers, such as general purpose or programmable logic devices or arrays, application specific integrated circuits, single chip computers, and the like.
[0054] The memory 204 may be a non-transitory volatile memory and a non-volatile memory. The memory 204 may be coupled for communication with the processing unit 202, such as being a computer-readable storage medium. The processing unit 202 may execute machine-readable instructions and / or source code stored in the memory 204. A variety of machine-readable instructions may be stored in and accessed from the memory 204. The memory 204 may include any suitable element for storing data and machine-readable instructions, such as a read-only memory, a random access memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a hard drive, a removable media drive for handling compact disks, digital video disks, diskettes, magnetic tape cartridges, memory cards, and the like. In this embodiment, the memory 204 includes an integrated development environment (IDE) 216. The IDE 216 may include the data acquisition and analysis module 112 stored in the form of machine-readable instructions in any of the storage media mentioned above, and may be in communication with and executed by the processor 202.
[0055] Upon execution by the processing unit 202, the data acquisition and analysis module 112 causes the processing unit 202 to seamlessly transition the runtime system from the controller device 124 to the digitization platform 110. The runtime system converts the engineering programs stored in the controller device 124 into machine-executable code and ultimately implements the execution of the engineering programs in the controller device 124.
[0056] The engineering program includes a plurality of programming blocks. In one example, the engineering program is a graphical program that includes program logic. The engineering program includes a set of programmable instructions or statements that correspond to the program logic. Each programming block of the plurality of programming blocks corresponds to a functional block based on an engineering design of the technical equipment 106. The engineering design may include a plurality of such programming blocks. The controller device 124 is configured to execute the engineering program over a plurality of scan cycles.
[0057] Upon execution by the processing unit 202, the data acquisition and analysis module 112 causes the processing unit 202 to capture a plurality of input-output parameter values transmitted or received by the controller device 124 during a plurality of scan cycles of the execution of the engineering program. The plurality of input-output parameter values includes a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values include parameter values received by the controller device 124 from a plurality of sensor devices 126A-126N and a plurality of human machine interfaces 120A-120N.
[0058] In one example, the plurality of input-output parameter values further includes information regarding a plurality of user actions performed by a user on an input device connected to the controller device 124. The plurality of input-output parameter values further includes a plurality of output parameter values generated by the controller device 124 in response to receiving the plurality of user actions. The plurality of output parameter values includes parameter values transmitted by the controller device 124 or the digitization platform 110 to the plurality of industrial devices 108A-108N in the technical facility 106.
[0059] Upon execution by the processing unit 202, the data acquisition and analysis module 112 further causes the processing unit 202 to analyze the captured input-output parameter values. The processing unit 202 is configured to identify patterns in the captured input-output parameter values based on the analysis. Additionally, the processing unit 202 is further configured to identify relationships between parameter values in the captured input-output parameter values.
[0060] The data acquisition and analysis module 112 further causes the processing unit 202 to generate an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph based on the analysis of the captured input-output parameter values. The input knowledge graph includes information regarding relationships between the input parameter values in the captured input-output parameter values. In one example, the relationships include a sequence in which each of the input parameter values is received by the controller device 124. The processing unit 202 is configured to query the input knowledge graph to predict parameter values likely to be received by the controller device 124 during a future scan cycle of the execution of the engineering program in the controller device 124. The future scan cycle occurs following the scan cycle in which the input-output parameter values are captured. For example, the processing unit 202 is configured to query the input parameter knowledge graph to determine a next input parameter value likely to be received by the controller device 124 based on the captured input-output parameter values.
[0061] The output knowledge graph includes information regarding relationships between output parameter values sent by the controller device 124. The processing unit 202 is configured to query the output knowledge graph to predict output parameter values likely to be sent by the controller device 124 in future scan cycles of the execution of the engineering program at the controller device 124.
[0062] The input-output correspondence knowledge graph includes information regarding a relationship between each of a plurality of input parameter values and each of a plurality of output parameter values. The processing unit 202 is configured to query the input-output correspondence knowledge graph to predict likely output parameter values that will be transmitted by the controller device 124 for a given input parameter value received by the controller device 124.
[0063] The data acquisition and analysis module 112 further causes the processing unit 202 to generate an input-output knowledge graph based on the input knowledge graph, the output knowledge graph, and the input-output correspondence knowledge graph. In one example, the input-output knowledge graph is a three-dimensional knowledge graph in which the input knowledge graph, the output knowledge graph, and the input-output correspondence knowledge graph are represented as individual dimensions in the three-dimensional knowledge graph.
[0064] In other words, the input-output knowledge graph includes information about a first set of relationships between the plurality of input parameter values received by the controller device 124 from the plurality of sensor devices 126A-126N. The input-output knowledge graph includes information about a second set of relationships between the plurality of output parameter values sent by the controller device 124 to the plurality of industrial devices 108A-108N. The input-output knowledge graph includes information about a third set of relationships between the plurality of input parameter values and the plurality of output parameter values.
[0065] The data acquisition and analysis module 112 further causes the processing unit 202 to receive a plurality of network connection parameters associated with the network connection 104 between the plurality of sensor devices 126A-126N, the plurality of human machine interfaces 120A-120N, and one of the controller device 124 or digitization platform 110. The plurality of network connection parameters include information associated with network strength, packet count, packet drop data associated with the network connection 104 between the plurality of sensor devices 126A-126N and one of the controller device 124 or digitization platform 110.
[0066] The data acquisition and analysis module 112 further causes the processing unit 202 to analyze the plurality of network connection parameters. In one example, the processing unit 202 is configured to analyze the plurality of network connection parameters based on a plurality of predetermined thresholds. For example, the processing unit 202 is configured to determine whether at least one of the plurality of network connection parameters is greater than a particular predetermined threshold of the plurality of predetermined thresholds.
[0067] The data acquisition and analysis module 112 further causes the processing unit 202 to determine whether at least one connectivity error exists in the network connection 104 based on the analysis. In one example, the plurality of network connectivity parameters includes a network strength. In this case, the processing unit 202 is configured to determine whether the network strength is below a predetermined threshold. If it is determined that the network strength is below the predetermined threshold, it is determined that at least one connectivity error exists in the network connection 104 between the plurality of sensor devices 126A-126N / the plurality of human machine interfaces 120A-120N and one of the controller device 124 or the digitization platform 110.
[0068] If it is determined that at least one connectivity error exists in the network connection 104, the data acquisition and analysis module 112 causes the processing unit 202 to simulate a first input parameter value based on an analysis of the generated input-output knowledge graph. The simulated first input parameter value is a parameter value that is likely to be received by the controller device 112 during the duration that at least one connectivity error exists in the network connection.
[0069] In one example, the first input parameter value is simulated by the processing unit 202 by querying the input-output knowledge graph. It is noted that the input-output knowledge graph includes information regarding multiple relationships between multiple input parameter values received by the controller device 124 in multiple scan cycles. Thus, advantageously, the simulation of the first input parameter value takes into account multiple input parameter values received by the controller device 124 in multiple scan cycles. Thus, the simulated first input parameter value is highly likely to be accurate and received from the multiple sensor devices 126A-126N / multiple human machine interfaces 120A-120N during the execution of the engineering program. Furthermore, advantageously, the controller device 124 and the digitization platform 110 continue to receive the input parameter value despite the presence of at least one connection error in the network connection 104. Thus, advantageously, the execution of the engineering program is not stopped.
[0070] If it is determined that the at least one connection error does not exist, the processing unit 202 is configured to receive second input parameter values from the plurality of sensor devices 126A-126N. The second input parameters are received via the network connection 104. Examples of the second input parameter values include sensor data received from the plurality of sensor devices 126A-126N and a plurality of user inputs received from the plurality of human machine interfaces 120A-120N.
[0071] The data acquisition and analysis module 112 further causes the processing unit 202 to determine whether information regarding one of the simulated first input parameter value or the received second input parameter value is present in the input-output knowledge graph. In other words, the processing unit 202 is configured to determine whether the input-output knowledge graph includes information regarding a plurality of relationships between the plurality of input parameter values received by the controller device 124 and the first input parameter value or the second input parameter value.
[0072] If the input-output knowledge graph includes information about the first input parameter value or the second input parameter value, the processing unit 202 is configured to query the input-output knowledge graph to generate at least one output parameter value. The at least one output parameter value is a parameter value that is likely to be generated by the controller device 124 after the first input parameter value or the second input parameter value is processed by the controller device 124. Advantageously, the at least one output parameter value is simulated based on an analysis of a plurality of input-output parameter values received by the controller device during execution of the engineering program. Furthermore, the at least one output parameter is simulated based on an analysis of information associated with a plurality of relationships between parameter values in the captured plurality of input-output parameter values. Thus, advantageously, the processing unit 202 accurately simulates the at least one output parameter value. Thus, the generation of the at least one output parameter value is performed in the digitization platform 110 rather than in the controller device 124. As a result, the processing power expended for processing the first parameter value or the second parameter value is occupied by the digitization platform 110 rather than the controller device 124. This reduces the processing load on the controller device 124. This improves the processing capacity of the controller device 124.
[0073] The data acquisition and analysis module 112 further causes the processing unit 202 to determine whether one of the first input parameter value or the second input parameter value is a critical data item. In one example, based on application of an artificial intelligence model to the first input parameter value and the second input parameter value, one of the first input parameter value or the second input parameter value is determined to be a critical data item. If the first input parameter value or the second input parameter value is determined to be a critical data item, the first input parameter value or the second input parameter value is processed in the controller device 124. In one example, the artificial intelligence model is trained to detect the critical data item based on a training dataset including a plurality of parameter values labeled as critical data items.
[0074] If it is determined that information regarding the first parameter value or the second parameter value does not exist in the input-output knowledge graph, the data acquisition and analysis module 112 further causes the processing unit 202 to send the first parameter value or the second parameter value to the controller device 124. The controller device 124 is configured to process the first parameter value or the second parameter value based on the execution of the engineering program. Furthermore, the controller device 124 is configured to generate at least one output parameter value from the first parameter value or the second parameter value by the execution of the engineering program.
[0075] The data acquisition and analysis module 112 further causes the processing unit 202 to transmit the generated at least one output parameter value from the controller device 124 to the multiple industrial devices 108A-108N. The data acquisition and analysis module 112 further causes the processing unit 202 to control the multiple industrial devices 108A-108N based on the transmitted at least one output parameter value, so as to operate the technical equipment efficiently. Thus, advantageously, the controller device 124 only needs to process parameter values that are not present in the input-output knowledge graph. Thus, the processing load of the controller device 124 is significantly reduced, and most of the processing of the multiple input parameter values is performed by the digitization platform 110. Thus, advantageously, the processing capacity expended for processing the first parameter value or the second parameter value is occupied by the digitization platform 110, not by the controller device 124. This reduces the processing load of the controller device 124.
[0076] The data acquisition and analysis module 112 further causes the processing unit 202 to analyze the generated at least one output parameter value. The data acquisition and analysis module 112 further causes the processing unit 202 to modify the input-output knowledge graph based on the analysis of the at least one output parameter value, the first input parameter value, and the second input parameter value. The input-output knowledge graph is modified such that relationships between the first input parameter value, the second parameter value, and the at least one output parameter value are recorded in the input-output knowledge graph.
[0077] Thus, advantageously, when the controller device 124 or the digitization platform 110 receives a parameter value equal to the first input parameter value or the second parameter value in the future, at least one output parameter value is easily generated by the digitization platform 110 by consulting the input-output knowledge graph. This further reduces the processing load of the controller device 124. Finally, the input-output knowledge graph accumulates information associated with all possible parameter values likely to be received by the controller device 124. In such a case, the digitization platform 110 is enabled to generate multiple output parameter values for all possible combinations of input parameter values received by the controller device 124. Thus, advantageously, the runtime system of the technical facility 106 is seamlessly migrated from the controller device 124 to the digitization platform 110.
[0078] The data acquisition and analysis module 112 further causes the processing unit 202 to analyze a plurality of programming blocks of the engineering program executed by the controller device 124. The data acquisition and analysis module 112 further causes the processing unit 202 to determine a plurality of program execution parameters of the controller device 124. The plurality of program execution parameters include information regarding the internal functioning of the controller device 124 during execution of the engineering program. For example, the plurality of program execution parameters include run-time information such as information regarding memory fragmentation, scan cycle characteristics, system resource utilization, and memory utilization of the controller device 124 during execution of the engineering program at the controller device 124. The data acquisition and analysis module 112 further causes the processing unit 202 to determine the efficiency of execution of the engineering program by the controller device 124.
[0079] The data acquisition and analysis module 112 further causes the processing unit 202 to determine that one or more programming blocks in the engineering program are impeding the efficiency of execution of the engineering program. The data acquisition and analysis module 112 further causes the processing unit 202 to select one or more programming blocks to be transformed based on the determination that the efficiency of execution of the engineering program is impeded due to the one or more programming blocks. The data acquisition and analysis module 112 further causes the processing unit 202 to apply an artificial intelligence model to the selected one or more programming blocks. The artificial intelligence model is trained to transform the determined one or more programming blocks to optimize the efficiency of execution of the engineering program by the controller device 124.
[0080] The data acquisition and analysis module 112 further causes the processing unit 202 to convert the plurality of programming blocks based on application of the artificial intelligence model to the engineering program. The data acquisition and analysis module 112 further causes the processing unit 202 to transfer the converted plurality of programming blocks to the digitization platform 110.
[0081] In another embodiment, the data acquisition and analysis module 112 causes the processing unit 202 to receive a first input-output knowledge graph including information regarding a plurality of relationships between a plurality of input-output parameter values transmitted or received by the controller device 124. The plurality of input-output parameter values includes a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values include parameter values received by the controller device 124 from the plurality of sensor devices 126A-126N and the plurality of human machine interfaces 120A-120N. The plurality of input parameter values include sensor data, programming instructions, user commands, and user inputs. In one example, the plurality of input parameter values include a plurality of user actions performed by a user on the plurality of human machine interfaces 120A-120N. Examples of the plurality of user actions include user commands, user inputs, and user selections entered by a user at an input device of the plurality of human machine interfaces 120A-120N. The plurality of output parameter values includes parameter values transmitted by the controller device 124 and the digitization platform 110 to the plurality of industrial devices 108A-108N in the technical facility 106. The plurality of output parameter values includes control signals transmitted by the controller device 124 based on receiving the plurality of user actions. A user can input the plurality of user actions to perform a task using the executed engineering program. The plurality of user actions are arranged as a workflow. A user is enabled to execute a workflow including a set of user actions to perform a task. In an example, one of the first workflow and the second workflow can be used to perform the same task.
[0082] The data acquisition and analysis module 112 causes the processing unit 202 to determine a first workflow including a first set of user actions for performing a task using an engineering program. In one example, the task is an engineering task performed via the engineering system 102. In another example, the task is a control task for controlling a plurality of industrial devices 108A-108N in the technical facility 106. Information associated with the first workflow is present in a first input-output knowledge graph. The information associated with the first workflow includes information regarding a plurality of relationships between the first set of user actions in the first workflow. Furthermore, the first input-output knowledge graph includes information regarding a sequence in which the first set of user actions are performed by the user.
[0083] The data acquisition and analysis module 112 further causes the processing unit 202 to receive a second workflow including a second set of user actions for performing the same task using the engineering program. The second set of user actions is different from the first set of user actions. Information associated with the second workflow is present in a second input-output knowledge graph stored in the database. The second input-output knowledge graph includes information regarding a sequence of user actions in the second workflow and information regarding each individual user action in the second workflow.
[0084] The data acquisition and analysis module 112 causes the processing unit 202 to compare the first input-output knowledge graph with the second input-output knowledge graph. In one example, the first input-output knowledge graph is compared with the second input-output knowledge graph based on a correlation operation between the two knowledge graphs.
[0085] The data acquisition and analysis module 112 causes the processing unit 202 to determine a processing efficiency of the first workflow and the second workflow based on the correlation operation. In one example, the processing efficiency of the first workflow and the second workflow is determined by executing the first workflow and the second workflow on a digital twin of the controller device 124 and calculating the time it takes to perform a task using each of the first workflow and the second workflow. The processing efficiency of each of the first workflow and the second workflow is a measure of the efficiency with which the respective workflow completes a task.
[0086] The data acquisition and analysis module 112 causes the processing unit 202 to determine whether the processing efficiency of the second workflow is higher than the processing efficiency of the first workflow. If the processing efficiency of the second workflow is higher than the processing efficiency of the first workflow, the data acquisition and analysis module 112 causes the processing unit 202 to determine one or more knowledge graph instances in the second input-output knowledge graph that correspond to the second workflow.
[0087] The data acquisition and analysis module 112 causes the processing unit 202 to receive the determined one or more knowledge graph instances from the second input-output knowledge graph. The data acquisition and analysis module 112 causes the processing unit 202 to determine whether at least one connectivity error exists in the network connection 104 between the plurality of sensor devices 126A-126N and one of the controller device 124 or the digitization platform 110. The at least one connectivity problem is determined based on an analysis of a plurality of network connection parameters associated with the network connection 104.
[0088] If the data acquisition and analysis module 112 determines that at least one connectivity error exists, it causes the processing unit 202 to simulate a first input parameter value based on an analysis of the modified input-output knowledge graph. The first input parameter value is a parameter value that is likely to be received from the plurality of sensor devices 126A-126N during execution of the engineering program. In one example, the first input parameter value includes information regarding a user action that is likely to be received by the controller device 124 during execution of the engineering program.
[0089] The data acquisition and analysis module 112 causes the processing unit 202 to receive second input parameter values from the plurality of sensor devices 126A-126N when it is determined that the at least one connectivity error does not exist in the network connection 104. The second input parameter value is at least one of a control signal, a sensor data signal, and a user input from a first user.
[0090] The data acquisition and analysis module 112 causes the processing unit 202 to determine whether one of the first input parameter value or the second input parameter value exists in the first input-output parameter value. The data acquisition and analysis module 112 causes the processing unit 202 to determine whether a relationship between one of the first input parameter value and the second input parameter value and any of the multiple input-output parameter values is recorded in the first input-output knowledge graph. If information about at least one of the first input parameter value and the second input parameter value exists in the first input-output knowledge graph, the data acquisition and analysis module 112 causes the processing unit 202 to generate at least one output parameter by simply querying the first input-output knowledge graph. If information about one of the first input parameter value or the second input parameter value is not present in the first input-output knowledge graph, the data acquisition and analysis module 112 causes the processing unit 202 to determine whether information about the first input parameter or the second input parameter is present in a second input-output knowledge graph stored in the database 114.
[0091] If it is determined that information regarding the first input parameter value or the second input parameter value is present in the second input-output knowledge graph, the data acquisition and analysis module 112 causes the processing unit 202 to select one or more knowledge graph instances in the second input-output knowledge graph. The one or more knowledge graph instances include information regarding the first input parameter value or the second input parameter value. The one or more knowledge graph instances further include information regarding one or more parameter values that are likely to be received by the controller device 124 in a future scan cycle of the execution of the engineering program.
[0092] The data acquisition and analysis module 112 causes the processing unit 202 to analyze the first input-output knowledge graph to classify portions of the first input-output knowledge graph into active and latent sections. The active section includes information about a first set of parameter values to be processed in a current scan cycle of the execution of the engineering program. The latent section includes information about a second set of parameter values to be processed in a future scan cycle of the execution of the engineering program.
[0093] The data acquisition and analysis module 112 causes the processing unit 202 to map the one or more received knowledge graph instances to one of the active or latent sections of the first input-output knowledge graph. The data acquisition and analysis module 112 causes the processing unit 202 to modify the one or more received knowledge graphs into the first input-output knowledge graph based on a set of cognitive rules.
[0094] The data acquisition and analysis module 112 causes the processing unit 202 to generate at least one output parameter value from the simulated first input parameter value. The data acquisition and analysis module 112 causes the processing unit 202 to transmit the generated at least one output parameter value to at least one device in the technical installation for controlling the at least one device.
[0095] The communication interface 208 is configured to establish communication sessions between the plurality of human machine interfaces 120A-120N, the engineering system 102, and the controller device 124. The communication interface 208 enables one or more engineering applications executing on the plurality of human machine interfaces 120A-120N to import / export engineering programs to the controller device 124. In one embodiment, the communication interface 208 interacts with interfaces in the plurality of human machine interfaces 120A-120N to enable an engineer to access an engineering program associated with an engineering project file and perform one or more actions on the engineering program stored in the engineering system 102.
[0096] The input-output unit 210 may include input devices capable of receiving one or more input signals, such as user commands for processing an engineering project file, a keypad, a touch-sensitive display, a camera (such as a camera for receiving gesture-based input), and the like. The input / output unit 210 may also be a display unit for displaying a graphical user interface that visualizes a behavioral model associated with a modified engineering program and also displays status information associated with each set of actions performed on the graphical user interface. The set of actions may include running a given test, downloading, compiling, and deploying a graphic program. The bus 214 serves as an interconnect between the processor 202, the memory 204, and the input-output unit 210.
[0097] The network interface 212 may be configured to handle network connectivity, bandwidth, and network traffic between the engineering system 102, the plurality of human machine interfaces 120A-120N, and the technical equipment 106.
[0098] Those skilled in the art will appreciate that the hardware depicted in Figure 2 may vary for a particular implementation. For example, other peripheral devices, such as optical disk drives, local area networks (LANs), wide area networks (WANs), wireless (e.g., Wi-Fi) adapters, graphics adapters, disk controllers, and input / output (I / O) adapters may be used in addition to or in place of the hardware depicted. The depicted example is provided for purposes of explanation only and is not intended to imply architectural limitations with respect to the present disclosure.
[0099] Those skilled in the art will appreciate that for simplicity and clarity, the complete structure and operation of every data processing system suitable for use with the present disclosure has not been shown or described herein. Instead, only that portion of the engineering system 102 that is unique to or necessary for an understanding of the present disclosure is shown and described. The remainder of the configuration and operation of the engineering system 102 may conform to any of a variety of current implementations and practices known in the art.
[0100] Figure 3 is a block diagram of data analysis and acquisition 112 as shown in Figure 2 in which an embodiment of the present invention may be implemented. In Figure 3, data analysis and acquisition 112 includes a request handler module 302, a digital twin generation module 304, an analysis module 306, a modification module 308, an engineering object database 310, a validation module 312, and a deployment module 314. Figure 3 will be described in conjunction with Figures 1 and 2.
[0101] The request handler module 302 is configured to receive a request to initiate migration of the runtime system from the controller device 124 to the digitization platform 110 in the technical facility 106. For example, the request is received from one of the one or more users external to the industrial environment 100 over the network. In an alternative embodiment, the request is received from one or more human machine interfaces 120A-120N over the network. The request handler module 302 is further configured to retrieve a plurality of input-output parameter values received or transmitted by the controller device 124.
[0102] The digital twin generation module 304 is configured to analyze the plurality of input-output parameter values captured from the controller device 124. The digital twin generation module 304 is configured to generate an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph. The digital twin generation module 304 is further configured to generate the input-output knowledge graph.
[0103] The analysis module 306 is configured to analyze the plurality of network connection parameters to predict the presence of at least a connectivity error in the network connection 104. The analysis module 306 is further configured to detect whether the simulated first input parameter value or the received second parameter value is present in the input-output knowledge graph.
[0104] The modification module 308 is configured to modify the input-output knowledge graph by appending one or more knowledge graph instances to the input-output knowledge graph based on the set of cognitive rules. The modification module 308 is further configured to transform a plurality of programming blocks in the engineering program based on application of the artificial intelligence model to the plurality of programming blocks of the engineering program.
[0105] The engineering object database 310 is configured to generate an engineering object library including the generated object behavior model, information about the plurality of industrial devices 108A-108N, physical connections between the plurality of industrial devices 108A-108N, and a plurality of threshold parameter values associated with the plurality of industrial devices 108A-108N and the physical connections. The engineering object database 310 is configured to continually update the engineering object library with updated versions of the engineering program.
[0106] The validation module 312 is configured to validate the engineering program executed by the controller device 124. The validation module 312 is configured to simulate the execution of the engineering program by the controller device 124 of the technical facility 106 in the simulation environment by executing the engineering program on a digital twin of the controller device 124.
[0107] The deployment module 314 is configured to transfer the execution of the engineering program from the controller device 124 to the digitization platform 110 in real time.
[0108] Figures 4A-4E are process flow diagrams illustrating an exemplary method 400 for seamlessly migrating a runtime system from a controller device 124 to a digitization platform 110, in accordance with one embodiment of the present invention. Figures 4A-4E are described in conjunction with Figures 1-3.
[0109] At step 402, input-output parameter values transmitted or received by the controller device 124 during multiple scan cycles of the execution of the engineering program are captured by the processing unit 202. Examples of the input parameter values include parameter values received by the controller device 124 from the multiple sensor devices 126A-126N and the multiple human machine interfaces 120A-120N.
[0110] In step 404, the captured input-output parameter values are analyzed by the processing unit 202. The processing unit 202 is configured to identify patterns in the input-output parameter values based on the analysis. Additionally, the processing unit 202 is further configured to identify relationships between parameter values in the captured input-output parameter values.
[0111] In step 406, an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph are generated by the processing unit 202 based on an analysis of the captured input-output parameter values. The input knowledge graph includes information about relationships between the input parameter values in the captured input-output parameter values. In one example, the relationships include a sequence in which each of the input parameter values was received by the controller device 124.
[0112] At step 408, the input knowledge graph is queried by the processing unit 202 to predict parameter values likely to be received by the controller device 124 during a future scan cycle of the execution of the engineering program at the controller device 124. The future scan cycle occurs following a number of scan cycles in which a number of input-output parameter values are captured by the processing unit 202. For example, the processing unit 202 is configured to query the input parameter knowledge graph to determine a next input parameter value likely to be received by the controller device 124 based on the captured number of input-output parameter values.
[0113] The output knowledge graph includes information regarding relationships between output parameter values sent by the controller device 124. The processing unit 202 is configured to query the output knowledge graph to predict output parameter values likely to be sent by the controller device 124 in future scan cycles of the execution of the engineering program at the controller device 124.
[0114] The input-output correspondence knowledge graph includes information regarding a relationship between each of a plurality of input parameter values and each of a plurality of output parameter values. The processing unit 202 is configured to query the input-output correspondence knowledge graph to predict likely output parameter values that will be transmitted by the controller device 124 for a given input parameter value received by the controller device 124.
[0115] In step 410, an input-output knowledge graph is generated by the processing unit 202 based on the input knowledge graph, the output knowledge graph, and the input-output knowledge graph. In one example, the input-output knowledge graph is a three-dimensional knowledge graph in which the input knowledge graph, the output knowledge graph, and the input-output knowledge graph are represented as individual dimensions in the three-dimensional knowledge graph. In other words, the input-output knowledge graph includes information about a first set of relationships between a plurality of input parameter values received by the controller device 124 from the plurality of sensor devices 126A-126N. The input-output knowledge graph includes information about a second set of relationships between a plurality of output parameter values sent by the controller device 124 to the plurality of industrial devices 108A-108N. The input-output knowledge graph includes information about a third set of relationships between a plurality of input parameter values and a plurality of output parameter values.
[0116] At step 412, a number of network connection parameters associated with the network connection 104 between the number of sensor devices 126A-126N and one of the controller device 124 or digitization platform 110 are received by the processing unit 202. The number of network connection parameters include information associated with network strength, packet count, packet drop data related to the network connection 104 between the number of sensor devices 126A-126N and one of the controller device 124 or digitization platform 110.
[0117] At step 414, the plurality of network connection parameters are analyzed by the processing unit 202. In one example, the processing unit 202 is configured to analyze the plurality of network connection parameters based on a plurality of predefined thresholds. For example, the processing unit 202 is configured to determine whether at least one of the plurality of network connection parameters is greater than a particular predefined threshold of the plurality of predefined thresholds.
[0118] In step 416, the processing unit 202 determines, based on the analysis, whether at least one connectivity error exists in the network connection 104. For example, if the plurality of network connectivity parameters includes a network strength, the processing unit 202 is configured to determine whether the network strength is below a predefined threshold. If it is determined that the network strength is below a predefined threshold, it is determined that at least one connectivity error exists in the network connection 104 between the plurality of sensor devices 126A-126N / the plurality of human machine interfaces 120A-120N and one of the controller device 124 or the digitization platform 110.
[0119] If at step 418 it is determined that at least one connectivity error exists in the network connection 104, a first input parameter value is simulated by the processing unit 202 based on an analysis of the generated input-output knowledge graph. The simulated first input parameter value is a parameter value that is likely to be received by the controller device 124 during the duration that the at least one connectivity error exists in the network connection 104.
[0120] In one example, the first input parameter value is simulated by the processing unit 202 by querying the input-output knowledge graph. It is noted that the input-output knowledge graph includes information regarding multiple relationships between multiple input parameter values received by the controller device 124 in multiple scan cycles. Thus, advantageously, the simulation of the first input parameter value takes into account multiple input parameter values received by the controller device 124 in multiple scan cycles. Thus, the simulated first input parameter value is highly likely to be accurate and received from the multiple sensor devices 126A-126N / multiple human machine interfaces 120A-120N during the execution of the engineering program. Furthermore, advantageously, the controller device 124 and the digitization platform 110 continue to receive the input parameter value despite the presence of at least one connection error in the network connection 104. Thus, advantageously, the execution of the engineering program is not stopped.
[0121] If at step 420 it is determined that there is no at least one connection error, second input parameter values are received by the processing unit 202 from the plurality of sensor devices 126A-126N. The second input parameter values are received via the network connection 104. Examples of the second input parameter values include sensor data received from the plurality of sensor devices 126A-126N and a plurality of user inputs received from the plurality of human machine interfaces 120A-120N.
[0122] In step 422, the processing unit 202 determines whether information about one of the simulated first input parameter value or the received second input parameter value is present in the input-output knowledge graph. In other words, the processing unit 202 is configured to determine whether the input-output knowledge graph includes information about multiple relationships between the multiple input parameter values received by the controller device 124 and the first input parameter value or the second input parameter value.
[0123] If it is determined in step 424 that the input-output knowledge graph includes information regarding the first input parameter value or the second input parameter value, the processing unit 202 is configured to query the input-output knowledge graph to generate at least one output parameter value. The at least one output parameter value is a parameter value that is likely to be generated by the controller device 124 after the first input parameter value or the second input parameter value is processed by the controller device 124. Advantageously, the at least one output parameter value is simulated based on an analysis of a plurality of input-output parameter values received by the controller device 124 during the execution of the engineering program. Furthermore, the at least one output parameter is simulated based on an analysis of information associated with a plurality of relationships between parameter values in the captured plurality of input-output parameter values. Thus, advantageously, the processing unit 202 is enabled to accurately simulate the at least one output parameter value. Thus, the generation of the at least one output parameter value is performed in the digitization platform 110 and not by the controller device 124. Thus, advantageously, the processing power expended for processing the first parameter value or the second parameter value is accounted for by the digitizing platform 110 rather than the controller device 124. This reduces the processing load on the controller device 124. As a result, the processing power of the controller device 124 is increased.
[0124] In step 426, the processing unit 202 determines whether one of the first input parameter value or the second input parameter value is a critical data item. In one example, based on application of an artificial intelligence model to the first input parameter value and the second input parameter value, one of the first input parameter value or the second input parameter value is determined to be a critical data item. If the first input parameter value or the second input parameter value is determined to be a critical data item, the first input parameter value or the second input parameter value is processed in the controller device 124. In one example, the artificial intelligence model is trained to detect the critical data item based on a training dataset including a plurality of critical data items.
[0125] At step 428, the processing unit 202 determines that no information about the first parameter value or the second parameter value exists in the input-output knowledge graph. In such a case, the first parameter value or the second parameter value is sent by the processing unit 202 to the controller device 124. The controller device 124 is configured to process the first parameter value or the second parameter value based on the execution of the engineering program. Furthermore, the controller device 124 is configured to generate at least one output parameter value from the first parameter value or the second parameter value by the execution of the engineering program.
[0126] At step 430, the generated at least one output parameter is transmitted by the processing unit 202 from the controller device 124 to the plurality of industrial devices 108A-108N.
[0127] In step 432, the plurality of industrial devices 108A-108N are controlled by the processing unit 202 based on the transmitted at least one output parameter. Thus, the technical installation 106 is operated efficiently. Thus, advantageously, the controller device 124 only needs to process parameter values that are not present in the input-output knowledge graph. Thus, the processing load of the controller device 124 is significantly reduced, and most of the parameter value processing is performed by the digitization platform 110. Thus, advantageously, the processing capacity expended for processing the first parameter value or the second parameter value is occupied by the digitization platform 110 and not by the controller device 124. This reduces the processing load of the controller device 124.
[0128] In step 434, the generated at least one output parameter value is analyzed by the processing unit 202. In step 436, the input-output knowledge graph is modified by the processing unit 202 based on the analysis of the at least one output parameter value, the first input parameter value, and the second input parameter value. The input-output knowledge graph is modified such that relationships between the first input parameter value, the second input parameter value, and the at least one output parameter value are recorded in the input-output knowledge graph.
[0129] Thus, advantageously, when the controller device 124 or the digitization platform 110 receives a parameter value equal to the first input parameter value or the second parameter value in the future, the output parameter value is easily generated by consulting the input-output knowledge graph. This further reduces the processing load of the controller device 124. Finally, the input-output knowledge graph accumulates information associated with all possible parameter values likely to be received by the controller device 124. In this case, the digitization platform 110 is enabled to generate multiple output parameter values for all possible combinations of input parameter values received by the controller device 124. Thus, advantageously, the runtime of the technical equipment 106 is seamlessly transferred from the controller device 124 to the digitization platform 110.
[0130] At step 436, the programming blocks of the engineering program executed by the controller device 124 are analyzed by the processing unit 202. The data acquisition and analysis module 112 further causes the processing unit 202 to determine a plurality of program execution parameters of the controller device 124. The plurality of program execution parameters include information regarding the internal functioning of the controller device 124 during execution of the engineering program. For example, the plurality of program execution parameters include run-time information such as information regarding memory fragmentation, scan cycle characteristics, system resource utilization, and memory utilization of the controller device during execution of the engineering program at the controller device. Further, the processing unit 202 determines an efficiency of execution of the engineering program by the controller device 124 based on the plurality of program execution parameters.
[0131] At step 438, one or more programming blocks of the engineering program are determined by the processing unit 202 to be impeding the efficiency of execution of the engineering program. At step 440, the one or more programming blocks to be transformed are selected by the processing unit 202 based on the determined efficiency of execution of the engineering program by the controller device. At step 442, an artificial intelligence model is applied by the processing unit 202 to the selected one or more programming blocks. The artificial intelligence model is trained to transform the determined one or more programming blocks to optimize the efficiency of execution of the engineering program by the controller device 124.
[0132] In step 444, the plurality of programming blocks is transformed by the processing unit 202 based on application of the artificial intelligence model to the engineering program. The data acquisition and analysis module 112 further causes the processing unit 202 to transfer the transformed plurality of programming blocks to the digitization platform 110.
[0133] 5A-5C are process flow diagrams illustrating an exemplary method 500 for seamlessly migrating a runtime system from a controller device 124 to a digitization platform 110 in accordance with one embodiment of the present invention.
[0134] In step 502, a first input-output knowledge graph including information about relationships between input-output parameter values sent or received by the controller device 124 is retrieved by the processing unit 202. The input-output parameter values include input parameter values and output parameter values. Examples of the input parameter values include parameter values received by the controller device 124 from the human machine interfaces 120A-120N. The input parameter values include sensor data, user commands, and user inputs.
[0135] In one example, the input parameter values include user actions performed by users on the human machine interfaces 120A-120N. Examples of user actions include user commands, user inputs, and user selections entered by users at input devices of the human machine interfaces 120A-120N. The output parameter values include parameter values sent by the controller device 124 and the digitization platform 110 to the industrial devices 108A-108N in the technical facility 106.
[0136] The output parameter values include a control signal transmitted by the controller device 124 based on receiving the user actions. A user can input the user actions to perform a task using the executed engineering program. The user actions are arranged as a workflow. A user can execute a workflow including a set of user actions to perform a task. In an example, the task can be executed using one of a first workflow and a second workflow.
[0137] In step 504, the processing unit 202 determines a first workflow including a first set of user actions for performing a task using an engineering program. In one example, the task is an engineering task performed via the engineering system 100. In another example, the task is a control task for controlling a plurality of industrial devices 108A-108N in the technical facility 106. Information associated with the first workflow is present in a first input-output knowledge graph. The information associated with the first workflow includes information regarding a plurality of relationships between the first set of user actions in the first workflow. For example, the information regarding the plurality of relationships includes information regarding a sequence in which each of the first set of user actions is performed.
[0138] In step 506, a second workflow is received by the processing unit 202, the second workflow including a second set of user actions for performing the same task using the engineering program. The second set of user actions is different from the first set of user actions. Information associated with the second workflow is in a second input-output knowledge graph stored in the database. The second input-output knowledge graph includes information about sequences of user actions in the second workflow and information about individual user actions in the second workflow.
[0139] In step 508, the first input-output knowledge graph is compared with the second input-output knowledge graph by the processing unit 202. In one example, the first input-output knowledge graph is compared with the second input-output knowledge graph based on a correlation operation between the two knowledge graphs.
[0140] At step 510, a processing efficiency of the first workflow and the second workflow is determined by the processing unit 202 based on the comparison. In one example, the processing efficiency of the first workflow and the second workflow is determined by executing the first workflow and the second workflow on a digital twin of the controller device 124. The processing efficiency of each of the first workflow and the second workflow is a measure of the efficiency with which the respective workflow completes a task.
[0141] In step 512, it is determined whether the processing efficiency of the second workflow is higher than the processing efficiency of the first workflow. If the processing efficiency of the second workflow is higher than the processing efficiency of the first workflow, the processing unit 202 is configured to determine one or more knowledge graph instances in the second input-output knowledge graph that correspond to the second workflow.
[0142] At step 514, the determined one or more knowledge graph instances are received by the processing unit 202 from the second input-output knowledge graph. At step 516, the processing unit 202 determines whether at least one connectivity error exists in the network connection 104 between the plurality of sensor devices 126A-126N and one of the controller device 124 or the digitization platform 110. The at least one connectivity problem is determined based on an analysis of a plurality of network connection parameters associated with the network connection 104.
[0143] If it is determined in step 518 that a connectivity error exists, a first input parameter value is generated by the processing unit 202 based on an analysis of the modified input-output knowledge graph. The first input parameter value is a parameter value that is likely to be received from the plurality of sensor devices 126A-126N during execution of the engineering program. In one example, the first input parameter value includes information regarding a user action that is likely to be received by the controller device 124 during execution of the engineering program.
[0144] If, at step 520, it is determined that a connectivity error does not exist in the network connection 104, a second input parameter value is received by the processing unit 202 from the plurality of sensor devices 126A-126N. The second input parameter value is at least one of a control signal, a sensor data signal, and a user input from a first user.
[0145] In step 522, the processing unit 202 determines whether one of the first input parameter value or the second input parameter value is present in the first input-output parameter value. In step 524, the processing unit 202 determines whether a relationship between one of the first input parameter value and the second input parameter value and any of the multiple input-output parameter values is recorded in the first input-output knowledge graph. If information on at least one of the first input parameter value and the second input parameter value is present in the first input-output knowledge graph, the processing unit 202 is configured to generate at least one output parameter by simply querying the first input-output knowledge graph. If information on one of the first input parameter value or the second input parameter value is not present in the first input-output knowledge graph, the processing unit 202 is configured to determine whether information on the first input parameter value or the second input parameter value is present in a second input-output knowledge graph stored in the database.
[0146] If, in step 526, it is determined that information regarding the first input parameter value or the second input parameter value is present in the second input-output knowledge graph, one or more knowledge graph instances in the second input-output knowledge graph are selected by the processing unit 202. The selected one or more knowledge graph instances include information regarding the first input parameter value or the second input parameter value. The one or more knowledge graph instances further include information regarding one or more parameter values that are likely to be received by the controller device 124 in a future scan cycle of the execution of the engineering program.
[0147] In step 528, the first input-output knowledge graph is analyzed by the processing unit 202 to classify portions of the first input-output knowledge graph into active and latent sections. The active section includes information about a first set of parameter values to be processed in a current scan cycle of the execution of the engineering program. The latent section includes information about a second set of parameter values to be processed in a future scan cycle of the execution of the engineering program.
[0148] In step 530, the received one or more knowledge graph instances are mapped to one of the active or latent sections of the first input-output knowledge graph by the processing unit 202. Furthermore, the received one or more knowledge graph instances are added to the first input-output knowledge graph by the processing unit 202 based on a set of cognitive rules.
[0149] In step 532, at least one output parameter value is generated by the processing unit 202 from the simulated first input parameter value. The data acquisition and analysis module 112 causes the processing unit 202 to transmit the generated at least one output parameter value to at least one device in the technical installation 106 for controlling the at least one device.
[0150] FIG. 6 illustrates an exemplary diagram of the operation of a system for migrating a runtime system from a controller device 124 to a digitization platform 110 in a technical facility 106, according to one embodiment of the present invention.
[0151] The technical installation 106 comprises a number of industrial devices 108A-108N and a number of sensor devices 126A-126N connected to a controller device 124 and a digitization platform 110 via a network connection 104. The controller device 124 executes an engineering program which, when executed by the controller device 124, causes the controller device 124 to control the number of industrial devices 108A-108N to efficiently run the technical installation 106. The phase of operation of the controller device 124 during which the engineering program is being executed by the controller device 124 is referred to as the runtime system.
[0152] In one example, the controller device 124 is configured to receive a plurality of sensor signals from a plurality of sensor devices 126A-126N. Examples of the plurality of sensor signals include, but are not limited to, a pressure signal, a temperature signal, and an optical signal. During runtime of the engineering program in the controller device 124, the controller device 124 is configured to provide the received plurality of sensor signals as inputs to the engineering program. The controller device 124 is further configured to generate a plurality of output signals for controlling the plurality of industrial devices 108A-108N. The plurality of output signals are generated based on the processed plurality of sensor signals.
[0153] The processing unit 202 is configured to capture a plurality of sensor signals received from the plurality of sensor devices 126A-126N by the controller device 124. The processing unit 202 is further configured to capture a plurality of output signals sent by the controller device 124 to the plurality of industrial devices 108A-108N.
[0154] The processing unit 202 is further configured to analyze the plurality of sensor signals and the plurality of output signals to determine a plurality of relationships between each signal in the plurality of sensor signals and the plurality of output signals. For example, the processing unit 202 is configured to determine a first set of relationships between signals in the plurality of sensor signals and a second set of relationships between signals in the plurality of output signals. The processing unit 202 is further configured to determine a third set of relationships between the plurality of sensor signals and the plurality of output signals.
[0155] The processing unit 202 is further configured to generate an input knowledge graph from a first set of relationships between signals in the plurality of sensor signals. The processing unit 202 is further configured to generate an output knowledge graph from a second set of relationships between signals in the plurality of output signals. The processing unit 202 is further configured to generate an input-output correspondence knowledge graph based on a third set of relationships between the plurality of sensor signals and the plurality of output signals.
[0156] By querying the input knowledge graph, the processing unit 202 is configured to predict sensor signals likely to be received by the controller device 124 in a given time interval. By querying the output knowledge graph, the processing unit 202 is enabled to predict output signals likely to be transmitted by the controller device 124 in a given time interval. By querying the input-output correspondence knowledge graph, the processing unit 202 is enabled to predict output signals likely to be transmitted by the controller device 124 when the controller device 124 receives a particular sensor signal. The processing unit 202 is configured to combine the input knowledge graph, the output knowledge graph, and the input-output correspondence knowledge graph to generate an input-output knowledge graph.
[0157] The processing unit 202 is configured to determine whether at least one connectivity error exists in the network connection 104. If at least one connectivity error exists, real-time reception of the plurality of sensor signals at the controller device 124 may be interrupted. In such a scenario, the processing unit 202 is configured to query the input knowledge graph to determine a first sensor signal likely to be received by the controller device 124 during a time interval in which at least one connectivity error exists in the network connection 104. Thus, advantageously, when the controller device 124 is unable to receive the plurality of sensor signals from the plurality of sensor devices 126A-126N, the processing unit 202 generates a first sensor signal likely to be received from the plurality of sensor devices 126A-126N.
[0158] If it is determined that at least one connectivity error does not exist in the network connection 104, at least one of the controller device 124 or the processing unit 202 is configured to receive a second sensor signal from the plurality of sensor devices 126A-126N.
[0159] The processing unit 202 is further configured to determine whether information about at least one of the first sensor signal or the second sensor signal is present in the input-output knowledge graph. In other words, the processing unit 202 determines whether querying the input-output knowledge graph enables the processing unit 202 to generate an output signal corresponding to at least one of the first sensor signal or the second sensor signal.
[0160] If information about at least one of the first sensor signal or the second sensor signal is not present in the input-output knowledge graph, the processing unit 202 determines whether information about at least one of the first sensor signal or the second sensor signal is present in an external input-output knowledge graph. In one example, the external input-output knowledge graph may be stored in a database 114 that is external to the technical facility 106.
[0161] If information about at least one of the first sensor signal or the second sensor signal is present in the external input-output knowledge graph, the processing unit 202 is configured to determine one or more knowledge graph instances in the external input-output knowledge graph, the determined one or more knowledge graph instances including information about at least one of the first sensor signal or the second sensor signal.
[0162] The processing unit 202 is further configured to modify the input-output knowledge graph by appending one or more knowledge graph instances to the input-output knowledge graph based on the set of cognitive rules. The modification of the input-output knowledge graph will be described in detail with reference to Figures 7 to 14.
[0163] To revise the input-output knowledge graph, the processing unit 202 is configured to analyze the input-output knowledge graph to determine active and latent sections of the input-output knowledge graph. Referring to FIG. 7, FIG. 7 illustrates an input-output knowledge graph 700. The input-output knowledge graph includes a plurality of nodes 702. FIG. 7 further illustrates a portion 702A of the plurality of portions of the input-output knowledge graph. The portion 702A includes information about a first set of sensor signals of the plurality of sensor signals received by the controller device 124. The processing unit 202 is configured to classify the plurality of nodes of the portion 702A into an active section 704 and a latent section 706. The active section includes information about one or more sensor signals that are likely to be received by the controller device 124 during execution of the engineering program. The latent section includes information about one or more sensor signals that are unlikely to be received during execution of the engineering program by the controller device 124. The active section 704 includes a first set 710 of nodes. The potential section 706 includes a second set of nodes 708 .
[0164] In another example, the active section 704 includes information associated with sensor signals currently needed by the controller device 124 to smoothly execute the engineering program and efficiently run the technical equipment 106. The potential section 706 includes information associated with sensor signals that will be needed by the controller device 124 at a later time to smoothly execute the engineering program and efficiently run the technical equipment 106.
[0165] With reference to Figure 8, Figure 8 illustrates a knowledge graph instance 802 from an external input-output knowledge graph added to the input-output knowledge graph 700. With reference to Figure 9, Figure 9 illustrates a knowledge graph instance 802 being added to the input-output knowledge graph 700 based on a set of cognitive rules. Examples of a set of cognitive rules include, but are not limited to, a "learn instantly" rule, a "learn all the time" rule, and a "forget to learn" rule.
[0166] Referring to FIG. 9, FIG. 9 illustrates a knowledge graph instance 802 being added to the input-output knowledge graph 700 based on the "instant learning rules" of the set of cognitive rules.
[0167] According to the “instant learning rules”, one or more knowledge graph instances 802 are added to the active section 704 of the input-output knowledge graph. Thus, information regarding at least one of the first sensor signal and the second sensor signal is added and included in the input-output knowledge graph 700.
[0168] 6, the input-output knowledge graph is modified to include information derived from the external input-output knowledge graph. Thus, advantageously, the digitization platform 110 not only learns from the multiple sensor signals received by the controller device 124, but also from the knowledge graph stored in the external database.
[0169] The processing unit 202 is further configured to query the modified input-output knowledge graph to generate an output signal based on at least one of the first sensor signal or the second sensor signal. The processing unit 202 is further configured to transmit the generated output signal to the plurality of industrial devices 108A-108N to control the plurality of industrial devices 108A-108N. Thus, advantageously, the digitization platform 110 is configured to generate output signals for all sensor signals covered in the input-output knowledge graph 700 and the external input-output knowledge graph.
[0170] If information about at least one of the first sensor signal or the second sensor signal exists in the external input-output knowledge graph, the processing unit 202 is configured to send at least the first sensor signal or the second sensor signal to the controller device 124 for processing. The controller device 124 is configured to generate an output signal. The processing unit 202 is further configured to send the generated output signal to the multiple industrial devices 108A-108N to control the multiple industrial devices 108A-108N. Furthermore, the output signal generated by the controller device 124 is analyzed by the processing unit 202. Furthermore, the input-output knowledge graph is modified based on the analysis.
[0171] Thus, advantageously, the input-output knowledge graph is modified to include information on the first or second sensor signal and the output signal. Thus, advantageously, if information on the first or second sensor signal is not present in the input-output knowledge graph or the external input-output knowledge graph, the processing unit 202 is configured to modify the input-output knowledge graph to include information on the first or second sensor signal.
[0172] Thus, ultimately, the input-output knowledge graph accumulates information about all possible combinations of multiple sensor signals that are likely to be received by the controller device 124. As a result, the run time of the engineering program is fully shifted from the controller device 124 to the digitization platform 110.
[0173] FIG. 10 illustrates an exemplary diagram of the operation of a system for migrating a runtime system from a controller device 124 to a digitization platform 110 in a technical facility 106, according to one embodiment of the present invention.
[0174] The technical equipment 106 comprises a number of industrial devices 108A-108N and a number of human machine interfaces (HMIs) 120A-120N connected to a controller device 124 and a digitization platform 110 via a network connection 104. The controller device 124 executes an engineering program. The engineering program includes a number of programming instructions that, when executed by the controller device 124, cause the controller device to control the number of industrial devices 108A-108N to efficiently run the technical equipment 106. The controller device 124 is configured to receive a number of user inputs from a user via the number of HMIs 120A-120N. The number of user inputs includes user commands, user gestures, and other forms of user input.
[0175] In one example, the plurality of user inputs includes a set of programming instructions. In such a scenario, the plurality of programming instructions in the engineering program are replaced with the set of programming instructions received from the user.
[0176] In another example, the plurality of user inputs includes a first set of user actions performed by a user on the plurality of HMIs 120A-120N to control the plurality of industrial devices 108A-108N.
[0177] The controller device 124 is further configured to generate a plurality of output signals for controlling the plurality of industrial devices 108A-108N. The plurality of output signals are generated based on the processed plurality of user inputs.
[0178] The processing unit 202 is configured to capture a plurality of user inputs received by the controller device 124 from the plurality of HMIs 120A-120N. The processing unit 202 is further configured to capture a plurality of output signals transmitted by the controller device 124 to the plurality of industrial devices 108A-108N based on receipt of the plurality of user inputs at the controller device 124.
[0179] The processing unit 202 is further configured to analyze the plurality of user inputs and the plurality of output signals to determine a plurality of relationships between each of the plurality of user inputs and the plurality of output signals. For example, the processing unit 202 is configured to determine a first set of relationships between the plurality of user inputs and a second set of relationships between the plurality of output signals. The processing unit 202 is further configured to determine a third set of relationships between the plurality of user inputs and the plurality of output signals.
[0180] The processing unit 202 is further configured to generate an input knowledge graph from a first set of relationships between the plurality of user inputs. The processing unit 202 is further configured to generate an output knowledge graph from a second set of relationships between signals in the plurality of output signals. The processing unit 202 is further configured to generate an input-output correspondence knowledge graph based on a third set of relationships between the plurality of user inputs and the plurality of output signals.
[0181] Querying the input knowledge graph enables the processing unit 202 to predict user inputs likely to be received by the controller device 124 in a given time interval. Querying the output knowledge graph enables the processing unit 202 to predict output signals likely to be transmitted by the controller device 124 in a given time interval. Querying the input-output correspondence knowledge graph enables the processing unit 202 to predict output signals likely to be transmitted by the controller device 124 when the controller device 124 receives a particular user input. The processing unit 202 is configured to combine the input knowledge graph, the output knowledge graph, and the input-output correspondence knowledge graph to generate an input-output knowledge graph.
[0182] The processing unit 202 is configured to determine whether at least one connectivity error exists in the network connection 104. If at least one connectivity error exists, real-time reception of the plurality of user inputs at the controller device 124 may be interrupted. In such a scenario, the processing unit 202 is configured to query the input knowledge graph to determine a first user input likely to be received by the controller device 124 during a time interval in which at least one connectivity error exists in the network connection 104. Thus, advantageously, when the controller device 124 is unable to receive the plurality of user inputs from the plurality of human machine interfaces 120A-120N, the processing unit 202 generates a first user input likely to be received from the plurality of HMIs 120A-120N.
[0183] If it is determined that at least one connectivity error is not present in the network connection 104, at least one of the controller device 124 or the processing unit 202 is configured to receive a second user input from the multiple HMIs 120A-120N.
[0184] The processing unit 202 is further configured to determine whether information regarding at least one of the first user input or the second user input is present in the input-output knowledge graph. In other words, the processing unit 202 determines whether querying the input-output knowledge graph enables the processing unit 202 to generate an output signal corresponding to at least one of the first user input or the second user input.
[0185] If information about at least one of the first user input or the second user input is not present in the input-output knowledge graph, the processing unit 202 determines whether information about at least one of the first user input or the second user input is present in an external input-output knowledge graph. In one example, the external input-output knowledge graph may be stored in a database that is external to the technical facility 106.
[0186] If information about at least one of the first user input or the second user input is present in the external input-output knowledge graph, the processing unit 202 is configured to determine one or more knowledge graph instances in the external input-output knowledge graph, the determined one or more knowledge graph instances including information about at least one of the first user input or the second user input.
[0187] The processing unit 202 is further configured to modify the input-output knowledge graph by appending one or more knowledge graph instances to the input-output knowledge graph based on the set of cognitive rules. Thus, advantageously, the modified input-output knowledge graph includes information on a plurality of relationships between the first user input and the second user input and the captured plurality of user inputs and the captured plurality of output signals. The modification of the input-output knowledge graph will be described in detail with reference to Figures 11 to 14.
[0188] To modify the input-output knowledge graph, the processing unit 202 is configured to analyze the input-output knowledge graph 700 to determine active sections 704 and latent sections 706 of the input-output knowledge graph 700.
[0189] If the user inputs are programming instructions entered by a user, the active section contains information needed by the controller device 124 to perform one or more tasks using an engineering program, and the latent section contains information needed by the controller device 124 at a later point in time during the execution of the controller device 124.
[0190] Referring to Figure 11, Figure 11 illustrates a knowledge graph instance 802 from an external input-output knowledge graph added to the input-output knowledge graph 700. Referring to Figure 12, Figure 12 illustrates a knowledge graph instance 802 being added to the input-output knowledge graph 700 based on a set of cognitive rules.
[0191] Referring to FIG. 12, FIG. 12 illustrates a knowledge graph instance 802 being added to the input-output knowledge graph 700 based on the "unlearn" rule of the set of cognitive rules.
[0192] According to the "unlearn" rule, a set of nodes (C1, C2, and C3) is first removed from the input-output knowledge graph 700. Furthermore, one or more knowledge instances 802 are added in place of the set of nodes (C1, C2, and C3). Thus, information about at least one of the first user input and the second user input is added and included in the input-output knowledge graph 700.
[0193] 13, which illustrates an additional knowledge graph instance 804 from the external input-output knowledge graph that has been added to the modified input-output knowledge graph 700. The additional knowledge graph 804 includes further information regarding the first user input and the second user input.
[0194] Referring to FIG. 14, FIG. 14 illustrates a knowledge graph instance 802 being added to the input-output knowledge graph 700 based on a set of cognitive rules.
[0195] Referring to FIG. 14, FIG. 14 illustrates a knowledge graph instance 802 being added to the input-output knowledge graph 700 based on a "learn later" rule of the set of cognitive rules.
[0196] According to the “learn later” rule, one or more knowledge graph instances 802 are first moved from the latent section 706 of the input-output knowledge graph 700 to the active section 704. Furthermore, one or more additional knowledge instances 804 are added to the one or more knowledge graph instances 802 of the input-output knowledge graph 700.
[0197] 10, the input-output knowledge graph is modified to include information derived from the external input-output knowledge graph. Thus, advantageously, the digitization platform 110 not only learns from multiple user inputs received by the controller device 124, but also from one or more knowledge graphs stored in an external database.
[0198] The processing unit 202 is further configured to query the modified input-output knowledge graph to generate an output signal based on at least one of the first user input or the second user input. The processing unit 202 is further configured to transmit the generated output signal to the plurality of industrial devices 108A-108N to control the plurality of industrial devices 108A-108N. Thus, advantageously, the digitization platform 110 is configured to generate an output signal for every user input covered in the input-output knowledge graph 700 and the external input-output knowledge graph.
[0199] If information regarding at least one of the first user input or the second user input does not exist in the external input-output knowledge graph, the processing unit 202 is configured to send at least the first sensor signal or the second sensor signal to the controller device 124 for processing. The controller device 124 is configured to generate an output signal. The processing unit 202 is further configured to send the generated output signal to the multiple industrial devices 108A-108N to control the multiple industrial devices 108A-108N. Furthermore, the output signal generated by the controller device 124 is analyzed by the processing unit 202. Furthermore, the input-output knowledge graph is modified based on the analysis.
[0200] Thus, advantageously, the input-output knowledge graph is modified to include information on the first or second sensor signal and the output signal. Thus, advantageously, if information on the first or second user input is not present in the input-output knowledge graph or the external input-output knowledge graph, the processing unit 202 is configured to modify the input-output knowledge graph to include information on the first or second user input.
[0201] Thus, ultimately, the input-output knowledge graph accumulates information about all possible combinations of multiple user inputs that are likely to be received by the controller device 124. As a result, the run time of the engineering program is fully shifted from the controller device 124 to the digitization platform 110.
[0202] The present invention may take the form of a computer program product including program modules accessible from a computer usable or computer readable medium that stores program code for use by or in connection with one or more computers, processors, or instruction execution systems. For purposes of this description, a computer usable or computer readable medium may be any apparatus that can contain, store, communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. The medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device), or may be a propagation medium within and of itself, as no signal carrier is included in the definition of a physical computer readable medium, including semiconductor or solid state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read only memory (ROM), compact disk read only memory (CD-ROM), compact disk read / write, and rigid magnetic and optical disks such as DVDs. Both the processor and the program code for implementing aspects of the present technology may be centralized or distributed (or a combination thereof), as known to those skilled in the art.
[0203] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Those skilled in the art who consider this disclosure will be able to make many modifications and variations without departing from the scope of the various embodiments of the present invention described herein. Therefore, the scope of the present invention is indicated by the following claims, not by the foregoing description. All changes, modifications and variations that are within the meaning and equivalents of the claims are deemed to be within their scope. All advantageous embodiments claimed in the method claims are also applicable to the system / apparatus claims.
Claims
1. A method for seamless migration of a runtime system from a controller device (124) to a digitization platform (110), the method comprising: capturing, by a processing unit (202), a plurality of input-output parameter values transmitted or received by said controller device (124) during execution of an engineering program; generating, by the processing unit (202), an input-output knowledge graph including information regarding a plurality of relationships between parameter values in the captured plurality of input-output parameter values; determining, by the processing unit (202), whether at least one connectivity error exists in a network connection (104) between a plurality of sensor devices (126A-126N) and one of the controller device (124) or the digitization platform (110); if it is determined that the connectivity error exists, simulating, by the processing unit (202), a first input parameter value based on an analysis of the generated input-output knowledge graph, the first input parameter value being a parameter value received by the controller device (124) from the plurality of sensor devices (126A-126N) during execution of the engineering program; generating, by the processing unit (202), at least one output parameter value from one of the simulated first input parameter values or second input parameter values received from a plurality of sensor devices (126A-126N); transmitting said at least one generated output parameter value by said processing unit (202) to a plurality of industrial devices (108A-108N) in a technical installation (106) to control said plurality of industrial devices (108A-108N); Including, Generating the at least one output parameter value comprises: determining, by the processing unit (202), whether information about one of the first input parameter value or the second input parameter value is present in the input-output knowledge graph; generating, by the processing unit (202), the at least one output parameter value in the digitization platform (110) based on an analysis of the input-output knowledge graph if it is determined that information about one of the first input parameter value or the second input parameter value is present in the input-output knowledge graph; generating, by the processing unit (202), the at least one output parameter value at the controller device (124) based on execution of the engineering program at the controller device (124) if information regarding one of the first input parameter value or the second input parameter value does not exist in the input-output knowledge graph; A method comprising:
2. The method comprises: determining, by the processing unit (202), a relationship between the at least one output parameter value and the plurality of input-output parameter values; modifying, by the processing unit (202), the input-output knowledge graph based on the at least one output parameter value based on the determined relationship; The method of claim 1 , further comprising:
3. Generating the input-output knowledge graph includes: analyzing the captured input-output parameter values by the processing unit (202); generating an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph, the input knowledge graph includes information associated with a plurality of relationships between a plurality of input parameter values in the plurality of captured input-output parameter values; the output knowledge graph includes information associated with relationships between output parameter values in the captured input-output parameter values; The input-output correspondence knowledge graph includes information associated with a plurality of relationships between the plurality of input parameter values and the plurality of output parameter values in the plurality of input-output parameter values captured. And, generating, by the processing unit (202), the input-output knowledge graph based on the generated input knowledge graph, the output knowledge graph, and the input-output correspondence knowledge graph; The method of claim 1 , comprising:
4. The method comprises: analyzing, by the processing unit (202), a plurality of programming blocks of the engineering program to be executed by the controller device (124); determining, by the processing unit (202), a plurality of program execution parameters of the controller device (124), the plurality of program execution parameters including information regarding an internal functioning of the controller device (124) during execution of the engineering program; determining, by the processing unit (202), an efficiency of the engineering program executed by the controller device (124) based on an analysis of the plurality of program execution parameters; transforming, by the processing unit (202), the plurality of programming blocks based on application of an artificial intelligence model to the engineering program, the artificial intelligence model being trained to transform the plurality of programming blocks; and transferring, by the processing unit (202), the plurality of converted programming blocks to the digitization platform (110); The method of claim 3, further comprising:
5. Generating the at least one output parameter value from one of the first input parameter values or the second input parameter values includes: determining, by the processing unit (202), whether one of the first input parameter value or the second input parameter value is a critical data item, wherein the one of the first input parameter value or the second input parameter value is determined to be the critical data item based on application of an artificial intelligence model to the first input parameter value or the second input parameter value; generating, by the processing unit (202), the at least one output parameter value at the controller device (124) based on execution of the engineering program at the controller device (124); The method of claim 1 , comprising:
6. Determining whether at least one connectivity error exists in the network connection (104) comprises: receiving, by the processing unit (202), a plurality of network connection parameters associated with the network connection between the plurality of sensor devices (126A-126N) and one of the controller device (124) or the digitization platform (110); analyzing, by the processing unit (202), the plurality of network connection parameters; determining, by the processing unit (202), based on the analysis, whether the at least one connectivity error exists within the network connection (104); The method of claim 1 , comprising:
7. A method for seamless migration of a runtime system from a controller device (124) to a digitization platform (110), the method comprising: receiving, by a processing unit (202), a first input-output knowledge graph including information regarding a plurality of relationships between a plurality of input-output parameter values sent or received by a controller device (124); receiving, by the processing unit (202), one or more knowledge graph instances that include information regarding one or more parameter values received by the controller device (124) during execution of an engineering program; modifying, by the processing unit (202), the first input-output knowledge graph by appending the one or more received knowledge graph instances to the first input-output knowledge graph based on a set of cognitive rules; determining, by the processing unit (202), whether at least one connectivity error exists in a network connection (104) between a plurality of human machine interfaces (120A-120N) and one of the controller device (124) or the digitization platform (110); simulating, by the processing unit (202), a first input parameter value based on an analysis of the modified input-output knowledge graph if the connectivity error is determined to exist, the first input parameter value being a parameter value received from the plurality of human machine interfaces (120A-120N) during execution of the engineering program; generating, by the processing unit (202), at least one output parameter value from the simulated first input parameter values; transmitting said at least one generated output parameter value by said processing unit (202) to a plurality of industrial devices (108A-108N) in a technical installation (106) to control said plurality of industrial devices (108A-108N); A method comprising:
8. the plurality of input-output parameter values comprising a first set of user inputs received by the controller device (124) via the plurality of human machine interfaces; The one or more received knowledge graph instances including information regarding the one or more user inputs received by the controller device (124) during execution of the engineering program, determining, by the processing unit (202), a first workflow comprising the first set of user inputs, wherein information associated with the first workflow is present in the first input-output knowledge graph; receiving, by the processing unit (202), a second workflow including a second set of user inputs, where information associated with the second workflow is present in a second input-output knowledge graph; comparing, by the processing unit (202), the first input-output knowledge graph with the second input-output knowledge graph; determining, by the processing unit (202), a processing efficiency of the first workflow and the second workflow based on the comparison, the processing efficiency of each of the first workflow and the second workflow being a measure of an efficiency with which the respective workflow completes an engineering task using the engineering program; determining, by the processing unit (202), whether a processing efficiency of the second workflow is higher than a processing efficiency of the first workflow; receiving, by the processing unit (202), the one or more knowledge graph instances from the second input-output knowledge graph if the second workflow is determined to have a higher processing efficiency; The method of claim 7, comprising:
9. Receiving the one or more knowledge graph instances includes: receiving, by the processing unit (202), second input parameter values from the plurality of human machine interfaces if it is determined that the connectivity error does not exist; determining, by the processing unit (202), whether information about one of the first input parameter value or the second input parameter value is present in the first input-output knowledge graph; receiving, by the processing unit (202), a second input-output knowledge graph if it is determined that information regarding one of the first input parameter value or the second input parameter value is not present in the first input-output knowledge graph, the second input-output knowledge graph including information regarding one of the first input parameter value or the second input parameter value; determining, by the processing unit (202), the one or more knowledge graph instances in the second input-output knowledge graph, the one or more knowledge graph instances including information associated with the first input parameter value or the second input parameter value; receiving, by the processing unit (202), the one or more determined knowledge graph instances from the second input-output knowledge graph; The method of claim 7, comprising:
10. Modifying the first input-output knowledge graph by appending the one or more received knowledge graph instances includes: analyzing, by the processing unit, the first input-output knowledge graph to classify portions of the first input-output knowledge graph into active sections and latent sections; mapping, by the processing unit, the one or more received knowledge graph instances to one of the active sections or the latent sections of the first input-output knowledge graph; modifying, by the processing unit, the one or more received knowledge graphs into the first input-output knowledge graph based on the set of cognitive rules; The method of claim 8 or 9, comprising:
11. An engineering system (102) for seamless migration of a runtime system from a controller device (124) to a digitization platform (110), the engineering system (102) comprising: A processing unit (202); a memory (204) coupled to the processing unit (202); The memory includes a data acquisition and analysis module (112) stored in the form of machine-readable instructions executable by one or more processors, the data acquisition and analysis module (112) being configured to perform the method according to any one of claims 1 to 9. An engineering system (102).
12. An industrial environment (100), comprising: The engineering system (102) of claim 11, A technical installation (106) including one or more physical components; a plurality of human machine interfaces (120A-120N) communicatively coupled to the engineering system (102) via a network (104); Equipped with Industrial environment (100).
13. A computer program product having stored thereon machine-readable instructions which, when executed by a processing unit (202), cause a processor to perform a method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Process control with digital twins
JP2020177672A
Network connectivity determination based on passive analysis of connection-oriented path information
US20070177524A1
Autonomous reconfigurable virtual sensing system for cyber-attack neutralization
US20190230106A1
A method for determining a sensor configuration
WO2021028322A1
Controller virtualization device and control system
WO2022085651A1