A method and system for seamless transition of a runtime system from a controller device to a digitalization platform is provided. The method further includes simulating, by the processing unit, when a connectivity error is determined to present, a second input parameter value based on an analysis of the generated input-output knowledge graph. The second input parameter value is a parameter value to be received from the plurality of sensor devices during execution of the engineering program. The method further includes transmitting, by the processing unit, the generated at least one output parameter value to a plurality of industrial devices in the technical installation, to control the at least the plurality of industrial devices.
Legal claims defining the scope of protection, as filed with the USPTO.
capturing, by a processing unit, a plurality of input-output parameter values which are transmitted or received by the controller device during an execution of an engineering program; generating, by the processing unit, an input-output knowledge graph comprising information about a plurality of relationships between parameter values in the captured plurality of input-output parameter values; determining, by the processing unit, whether at least one connectivity error is present in a network connection between a plurality of sensor devices and one of the controller device or the digitalization platform; simulating, by the processing unit, when the connectivity error is determined to present, a first input parameter value based on an analysis of the generated input-output knowledge graph, wherein the first input parameter value is a parameter value to be received by the controller device, from the plurality of sensor devices during execution of the engineering program; generating, by the processing unit, at least one output parameter value from one of the simulated first input parameter value or a second input parameter value received from a plurality of sensor devices; and transmitting, by the processing unit, the generated at least one output parameter value to a plurality of industrial devices in the technical installation, to control the plurality of industrial devices. . A method of seamless transition of a runtime system from a controller device to a digitalization platform, the method comprising:
claim 1 determining, by the processing unit, a relationship between the at least one output parameter value and the plurality of input-output parameter values; and modifying, by the processing unit, the input-output knowledge graph based on the at least one output parameter value based on the determined relationship. . The method according to, further comprising:
claim 2 determining, by the processing unit, 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 when information about one of the first input parameter value or the second input parameter value is determined to be present in the input-output knowledge graph, the at least one output parameter value in the digitalization platform based on an analysis of the input-output knowledge graph; and generating, by the processing unit when information about one of the first input parameter value or the second input parameter value is absent in the input-output knowledge graph, the at least one output parameter value in the controller device based on execution of the engineering program in the controller device. . The method according to, wherein generating the at least one output parameter value comprises:
claim 3 analyzing, by the processing unit, the captured plurality of input-output parameter values; the input knowledge graph comprises information associated with a plurality of relationships between a plurality of input parameter values in the captured plurality of input-output parameter values, the output knowledge graph comprises information associated with a plurality of relationships between a plurality of output parameter values in the captured plurality of input-output parameter values, and the input-output correspondence knowledge graph comprises information associated with a plurality of relationships between the plurality of input parameter values and the plurality of output parameter values in the captured plurality of input-output parameter values; and generating an input knowledge graph, an output knowledge graph and an input-output correspondence knowledge graph, wherein: generating, by the processing unit, 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 according to, wherein generating the input-output knowledge graph comprises:
claim 4 analyzing, by the processing unit, a plurality of programming blocks of the engineering program executed by the controller device; determining, by the processing unit, a plurality of program execution parameters of the controller device, wherein the plurality of program execution parameters comprise information about internal functioning of the controller device during execution of the engineering program; determining, by the processing unit, an efficiency of the engineering program executed the controller device based on an analysis of the plurality of program execution parameters; transforming, by the processing unit, the plurality of programming blocks based on an application of an artificial intelligence model on the engineering program, wherein the artificial intelligence model is trained to transform the plurality of programming blocks; and moving, by the processing unit, the transformed plurality of programming blocks to the digitalization platform. . The method according to, further comprising:
claim 1 determining, by the processing unit, whether one of the first input parameter value or the second input parameter value is a critical data item, wherein one of the first input parameter value or the second input parameter value is determined to be the critical data item based on an application of the artificial intelligence model on the first input parameter value or the second input parameter value; and generating, by the processing unit the at least one output parameter value in the controller device based on execution of the engineering program in the controller device. . The method according to, wherein generating the at least one output parameter value from one of the first input parameter value or the second input parameter value comprises:
claim 1 receiving, by the processing unit, a plurality of network connection parameters associated with the network connection between the plurality of sensor devices and one of the controller device or the digitalization platform; analyzing, by the processing unit, the plurality of network connection parameters; and determining, by the processing unit, whether the at least one connectivity error is present in the network connection based on the analysis. . The method according to, wherein determining whether at least one connectivity error is present in the network connection comprises:
receiving, by the processing unit, a first input-output knowledge graph comprising information about a plurality of relationships between a plurality of input-output parameter values which are transmitted or received by a controller device; receiving, by the processing unit, one or more knowledge graph instances comprising information about one or more parameter values to be received by the controller device during execution of the engineering program; modifying, by the processing unit, the first input-output knowledge graph by appending the received one or more knowledge graph instances into the first input-output knowledge graph based on a set of cognitive rules; determining, by the processing unit, whether at least one connectivity error is present in a network connection between a plurality of human machine interfaces and one of the controller device or the digitalization platform; simulating, by the processing unit when the connectivity error is determined to present, a first input parameter value based on an analysis of the modified input-output knowledge graph, wherein the first input parameter value is a parameter value to be received from the plurality of human machine interfaces during execution of the engineering program; 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 a plurality of industrial devices in the technical installation, to control the plurality of industrial devices. . A method of seamless transition of a runtime system from a controller device to a digitalization platform, the method comprising:
claim 8 wherein the plurality of input-output parameter values comprises a first set of user inputs received by the controller device via the plurality of human machine interfaces, and determining, by the processing unit, 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, a second workflow comprising a second set of user inputs, wherein information associated with the second workflow is present in a second input-output knowledge graph; comparing, by the processing unit, the first input-output knowledge graph with the second input-output knowledge graph; determining, by the processing unit, a process efficiency of the first workflow and the second workflow based on the comparison, wherein the process efficiency of each of the first and second workflows is an indicator of efficiency with which a respective workflow completes an engineering task using the engineering program; determining, by the processing unit, whether the process efficiency of the second workflow is greater than the process efficiency of the first workflow; and receiving, by the processing unit, when the process efficiency of the second workflow is determined to be greater, the one or more knowledge graph instances from the second input-output knowledge graph. wherein the received one or more knowledge graph instances comprising information about the one or more user inputs to be received by the controller device during execution of the engineering program, comprises: . The method according to,
claim 8 receiving, by the processing unit, when the connectivity error is determined to absent, a second input parameter value from the plurality of human machine interfaces; determining, by the processing unit, 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, when the information about one of the first input parameter value or the second input parameter value is determined to be absent in the first input-output knowledge graph, a second input-output knowledge graph, wherein the second input-output knowledge graph comprises information about one of the first input parameter value or the second input parameter value; determining, by the processing unit, the one or more knowledge graph instances within the second input-output knowledge graph, which comprises information associated with the first input parameter value or the second input parameter value; receiving, by the processing unit, the determined one or more knowledge graph instances from the second input-output knowledge graph. . The method according to, wherein receiving the one or more knowledge graph instances comprises:
claim 9 analyzing, by the processing unit, the first input-output knowledge graph to categorize a plurality of portions of the first input-output knowledge graph into an active section and a latent section; mapping, by the processing unit, the received one or more knowledge graph instances into one of the active section or the latent section of the first input-output knowledge graph; and modifying, by the processing unit, the received one or more knowledge graphs into the first input-output knowledge graph based on the set of cognitive rules. . The method according to, wherein modifying the first input-output knowledge graph by appending the received one or more knowledge graph instances comprises:
a processing unit; and capture a plurality of input-output parameter values which are transmitted or received by the controller device during an execution of an engineering program; generate an input-output knowledge graph comprising information about a plurality of relationships between parameter values in the captured plurality of input-output parameter values; determine whether at least one connectivity error is present in a network connection between a plurality of sensor devices and one of the controller device or the digitalization platform; simulate when the connectivity error is determined to present, a first input parameter value based on an analysis of the generated input-output knowledge graph, wherein the first input parameter value is a parameter value to be received by the controller device, from the plurality of sensor devices during execution of the engineering program; generate at least one output parameter value from one of the simulated first input parameter value or a second input parameter value received from a plurality of sensor devices; and transmit the generated at least one output parameter value to a plurality of industrial devices in the technical installation, to control the plurality of industrial devices. a memory coupled to the processing unit, wherein the memory comprises a data acquisition and analytics module stored in the form of machine-readable instructions executable by the one or more processor(s), wherein the data acquisition and analytics module is configured to: . An engineering system for seamless transition of a runtime system from a controller device to a digitalization platform, wherein the engineering system comprises:
capturing, by a processing unit, a plurality of input-output parameter values which are transmitted or received by the controller device during an execution of an engineering program; generating, by the processing unit, an input-output knowledge graph comprising information about a plurality of relationships between parameter values in the captured plurality of input-output parameter values; determining, by the processing unit, whether at least one connectivity error is present in a network connection between a plurality of sensor devices and one of the controller device or the digitalization platform; simulating, by the processing unit, when the connectivity error is determined to present, a first input parameter value based on an analysis of the generated input-output knowledge graph, wherein the first input parameter value is a parameter value to be received by the controller device, from the plurality of sensor devices during execution of the engineering program; generating, by the processing unit, at least one output parameter value from one of the simulated first input parameter value or a second input parameter value received from a plurality of sensor devices; and transmitting, by the processing unit, the generated at least one output parameter value to a plurality of industrial devices in the technical installation, to control the plurality of industrial devices. . A computer-program product, having machine-readable instructions stored therein, that when executed by a processing unit, cause the processors to perform a method comprising:
Complete technical specification and implementation details from the patent document.
This application claims priority to EP Application No. 22170746.6, having a filing date of Apr. 29, 2022, the entire contents of which are hereby incorporated by reference.
The following relates to a field of engineering of computer assisted programming, and more particularly relates to a method and system for seamlessly transitioning a runtime system from a controller device to a digitalization platform.
A technical installation such as an industrial plant comprises plurality of industrial devices which are controlled by a controller device such as a programmable logical controller. Examples of the plurality of industrial devices includes but is not limited to, control valves, motors, pumps, and actuators. The controller device is further configured to receive real-time inputs from a plurality of sensor devices in the industrial plant. The controller device processes the received real-time inputs to control the plurality of industrial devices. The received real-time inputs are processed by execution of an engineering program in the controller device.
With the advent of digitalization based computing technologies, it may be beneficial to run the engineering program in a digital twin of the controller device, which is hosted in a digitalization platform. In such a case, the digitalization platform receives the real-time inputs and controls the plurality of industrial devices based on the received real-time inputs.
Running the engineering programs in the digitalization platform has several disadvantages. For example, efficient functioning of the industrial plant requires timely input of the real-time inputs into the digitalization platform. If the real-time inputs are not fed into the digitalization platform timely, the execution of the engineering program shall be affected, resulting in downtime. Thus, presence of connectivity errors in a network connection between the plurality of sensor devices and the digitalization platform, could hamper efficient functioning of the industrial plant. Furthermore, if the digitlaization platform does not accurately simulate a behaviour of the controller device, the real-time inputs may be processed incorrectly. In such a case, functioning of the industrial plant is hampered.
Furthermore, transitioning a runtime of an engineering system from the controller device to the digitalization platform may be expensive. For example: in order for the digitalization platform to accurately simulate the behaviour, the digitalization platform has to be generated based on an analysis of a vast number of input signals and output signals of the controller device. Thus, generation of the digitalization platform takes a gigantic amount of time and effort. As a result, an attempt to transition a runtime system from the controller device to the digitalization platform may be a time and labour intensive process.
Thus, it is expensive, laboursome, and difficult to transition an existing automation system from the PLC based platform to the digitalization platform.
An aspect relates to an efficient and cost effective method and system for seamlessly transitioning a runtime system from a PLC based platform to a digitalization platform. Therefore, it is an aspect of the present invention to provide a method and system for seamless transition of a runtime system from a controller device to a digitalization platform.
The aspect of the invention is achieved by a method and system for seamlessly transitioning a runtime system from a controller device to a digitalization platform. Examples of the controller device comprises a programmable logical controller (PLC) or a microprocessor or a processing unit. The digitalization platform comprises configurable computing physical and logical resources, for example, networks, servers, storage, applications, services, etc., and data distributed over a platform, such as cloud computing platform. The controller device and the digitalization platform is configured to execute an engineering program to control a plurality of industrial devices in a technical installation. Examples of the plurality of industrial devices include, but is not limited to control valves, motors, pumps, robots, lathes and actuators. Examples of the technical installation includes a manufacturing plant, a power plant, or a chemical processing plant.
The engineering program comprises a plurality of programming blocks, each of which comprises one or more programmatic instructions. In one example, the engineering program is a graphical program comprising a program logic. The engineering program comprises 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 under an engineering design of the technical installation. The engineering design may comprise several such programming blocks. The controller device is configured to execute the engineering program in a plurality of scan cycles. The controller device and the digitalization platform is further communicatively coupled to a plurality of sensor devices and a plurality of human machine interfaces. The plurality of sensor devices comprises a pressure sensor, a temperature sensor and a vibration sensor. Examples of the human machine interfaces includes, but is not limited to keyboards, mouses, and touchscreens. The plurality of human machine interfaces further comprise a plurality of client devices such as a smartphone, a desktop computer, and a tablet computer which are network connected to the controller device or the digitalization platform.
In an embodiment, the method comprises 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 comprises a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values comprises parameter values received by the controller device from a plurality of sensor devices and a plurality of human machine interfaces.
Thus, the captured plurality of input-output parameter values comprises sensor data, user commands, and user inputs. In one example, the plurality of input-output parameter values further comprises information about a plurality of user actions that a user has performed on a human machine interface of the plurality of human machine interfaces connected to the controller device. In another example, the plurality of input-output parameter values comprises a plurality of input parameters received by the controller device, from the plurality of sensor devices. The plurality of input-output parameter values further comprises the plurality of output parameter values generated by the controller device, in response to reception of the plurality of user actions. The plurality of output parameter values comprises parameter values transmitted by the controller device or the digitalization platform into the plurality of industrial devices in the technical installation.
In an embodiment, the method further comprises analyzing, by the processing unit, the captured plurality of input-output parameter values. The processing unit is configured to identify a plurality of patterns in the plurality of input-output parameter values based on the analysis. Furthermore, the processing unit is further configured to identify a plurality of relationships between parameter values in the captured plurality of input-output parameter values.
In an embodiment, the method further comprises generating, by the processing unit, an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph based on the analysis of the captured plurality of input-output parameter values. The input knowledge graph comprises information about the plurality of relationships between the plurality of input parameter values in the captured plurality of input-output parameter values. The processing unit is configured to query the input knowledge graph to predict parameter values which are likely to be received by the controller device during a future scan cycle of the execution of the engineering program. The future scan cycle occurs subsequent to the plurality of scan cycles in which the plurality of input-output parameter values are captured.
The output knowledge graph comprises information about the plurality of relationships between the plurality of output parameter values which are transmitted by the controller device. The processing unit is configured to query the output knowledge graph to predict output parameter values which are likely to be transmitted by the controller device at the future scan cycle of execution of the engineering program in the controller device. The input-output correspondence knowledge graph comprises information about relationships between the 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 an output parameter value which is likely to be transmitted by the controller device for a given input parameter value received by the controller device. In an embodiment, 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.
In an embodiment, the method further comprises 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 the digitalization platform. The plurality of network connection parameters comprises 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 the digitalization platform. In an embodiment, the method further comprises analyzing, by the processing unit, the plurality of network connection parameters. In an embodiment, the method further comprises determining, by the processing unit, the at least one connectivity error is present in the network connection based on the analysis. In one example, the plurality of network connectivity parameters comprises a network strength. In such a case, the processing unit is configured to determine whether the network strength drops below a predefined threshold. In a case where the network strength is determined to drop below the predefined threshold, the at least one connectivity error is determined to be present in the network connection between the plurality of sensor devices/the plurality of human machine interfaces and one of the controller device or the digitalization platform.
In a case where the at least one connectivity error is determined to be present in the network connection, the method further comprises 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 has been noted that the input-output knowledge graph comprises information about the plurality of relationships between the plurality of input parameter values received by the controller device in the plurality of scan cycles. Thus, simulation of the first input parameter value, takes into account of the plurality of input parameter values received by the controller device in the plurality of scan cycles. Thus, the simulated first input parameter value is very likely to be received by the controller device from the plurality of sensor devices/the plurality of human machine interfaces during execution of the engineering program.
In a case where the at least one connection error is determined to be absent, the processing unit is configured to receive a second input parameter value from the plurality of sensor devices. The second input parameter value is received via the network connection. Examples of the second input parameter value comprises sensor data received from the plurality of sensor devices and a plurality of user inputs received from a human machine interface.
In an embodiment, the method further comprises determining, by the processing unit, 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 is configured to determine whether the input-output knowledge graph comprises information about the plurality of relationships between the plurality of input-output parameter values and the first input parameter value or the second input parameter value. In a case where the input-output knowledge graph comprises information about the 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.
The at least one output parameter value is the parameter value which is likely to be generated by the controller device, upon reception and processing of the first input parameter value or the second input parameter value in the controller device. The at least one output parameter value is simulated based on analysis the 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 the plurality of relationships between parameter values in the captured plurality of input-output parameter values. Thus, the processing unit is enabled to accurately simulate the at least one output parameter value with accuracy. Thus, generation of the at least one output parameter value is performed in the digitalization platform rather than the controller device.
Thus, processing power spent for processing the first parameter value or the second parameter value is taken up by the digitalization platform, rather than the controller device. Thus, a processing load of the controller device is reduced. As a result, a processing capacity of the controller device is increased. Furthermore, the controller device and the digitalization platform continues receiving the first input parameter value or the second input parameter value despite a presence of the at least one connection error in the network connection. Thus, execution of the engineering program is not halted even if at least one connection error is present in the network connection.
In an embodiment, the method further comprises 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, one of the first input parameter value or the second input parameter value is determined to be the critical data item based on an application of an artificial intelligence model on the first input parameter value and the second input parameter value. In a case where it is determined that the first parameter value or the second parameter value is a critical data item, the first input parameter value or the second input parameter value is processed in the controller device.
In a case where it is determined that information about the first parameter value or the second parameter value is absent in the input-output knowledge graph, the method comprises transmitting, by the processing unit, the first parameter value or the second parameter value to the controller device. The controller device is configured to process the first parameter value or the second parameter value based on the execution of the engineering program. Further, the controller device is configured to generate the at least one output parameter value from the first parameter value or the second parameter value by the execution of the engineering program.
In an embodiment, the method further comprises receiving, by the processing unit, the generated at least one output parameter value from the controller device. In an embodiment, the method further comprises transmitting the generated at least one output parameter value to the plurality of industrial devices in the technical installation to control the plurality of industrial devices and run the technical installation efficiently. Thus, the controller device only has to process those parameter values which are not present in the input-output knowledge graph. Thus, processing load of the controller device is reduced significantly and majority of parameter value processing occurs in the digitalization platform. Thus, generation of the at least one output parameter value is performed in the digitalization platform. Thus, processing power spent for processing the first parameter value or the second parameter value is taken up by the digitalization platform, rather than the controller device. Thus, a processing load of the controller device is reduced.
In an embodiment, the method further comprises analyzing the generated at least one output parameter value. In an embodiment, the method further comprises 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 a relationship between the first input parameter value, the second parameter value and the at least one output parameter value is recorded in the input-output knowledge graph.
Thus, in a case where the controller device or the digitalization platform receives a parameter value equal to the first input parameter value or the second parameter value in the future, an output parameter value is readily generated by querying the input-output knowledge graph. Thus, the processing load of the controller device is further reduced. Eventually, the input-output knowledge graph accumulates information associated with all possible parameter values which can be received by the controller device. In such a case, the digitalization platform will be enabled to generate a plurality of output parameter value for all possible combinations of input parameter values received by the controller device. Thus, a runtime of the technical installation is seamless transitioned from the controller device into the digitalization platform.
In an embodiment, the method further comprises analyzing, by the processing unit, a plurality of programming blocks of the engineering program executed by the controller device. In an embodiment, the method further comprises determining, by the processing unit, a plurality of program execution parameters of the controller device. The plurality of program execution parameters comprise information about internal functioning of the controller device during execution of the engineering program. For example, the plurality of program execution parameters comprises runtime information such as information about memory fragmentation, scan cycle nature, system resource utilization, and memory utilization of the controller device during the execution of the engineering program in the controller device. In an embodiment, the method further comprises determining, by the processing unit, an efficiency of execution of the engineering program by the controller device.
In an embodiment, the method further comprises determining, by the processing unit, one or more programming blocks of the engineering program, which hamper effciency of the execution of the engineering program. In an embodiment, the method further comprises selecting, by the processing device, the one or more programming blocks to be transformed based on the determined efficiency of execution of the engineering program by the controller device. In an embodiment, the method further comprises applying, by the processing unit, an artificial intelligence model on the determined one or more programming block. 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. In an embodiment, the method further comprises transforming, by the processing unit, the plurality of programming blocks based on the application of the artificial intelligence model on the engineering program. In an embodiment, the method further comprises moving, by the processing unit, the transformed plurality of programming blocks to the digitalization platform.
In an embodiment, a method of seamless transition of a runtime system from a controller device to a digitalization platform comprises receiving, by the processing unit, a first input-output knowledge graph comprising information about a plurality of relationships between a plurality of input-output parameter values which are transmitted or received by a controller device. The plurality of input-output parameter values comprises a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values comprises parameter values received by the controller device from a plurality of a plurality of human machine interfaces. The pluralty of input parameter values comprises sensor data, user commands, and user inputs. In one example, the plurality of input parameter values comprises a plurality of user actions performed by a user on the plurality of human machine interfaces. Examples of the plurality of user actions comprises user commands, user inputs, programming instructions and user selections input by the user in an input device of the human machine interface. The plurality of output parameter values comprises parameter values transmitted by the controller device and the digitalization platform into the plurality of industrial devices in the technical installation. The plurality of output parameter values comprises control signals transmitted by the controller device based on the reception of the plurality of user actions. The user may input the plurality of user actions to perform a task using the executed engineering program. The plurality of user actions are arranged as workflows. The user is enabled to execute a workflow comprising a set of user actions to perform the task. In one example, the task can be performed using one of a first workflow and a second workflow.
In an embodiment, the method further comprises determining, by the processing unit, whether at least one connectivity error is present in a network connection between a plurality of human machine interfaces and one of the controller device or the digitalization platform. The at least one connectivity issue is determined based on an analysis of a plurality of network connection parameters associated with the network connection. In an embodiment, the method further comprises simulating, by the processing unit, when the connectivity error is determined to present, 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 which 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 comprises information about a user action which is likely to be received by the controller device during execution of the engineering program.
In an example, the method comprises receiving, by the processing unit, when it is determined that the connectivity error is absent in the network connection between the plurality of human machine interfaces and the controller device, a second input parameter value from the plurality of sensor devices. The second input parameter value is at least one of a control signal, a sensor data signal, and a user input from the first user. In an embodiment, the method further comprises determining, by the processing unit, whether one of the first and the second input parameter value is present in the first input output parameter value. In other words, the method comprises determining whether a relationship between one of the first and the second input parameter value with any of the plurality of input-output parameter values is recorded in the first input-output knowledge graph. If the information about at least one of the first and the second input parameter value is present in the first input-output knowledge graph, the processing unit is enabled to generate the at least one output parameter by simply querying the first input-output knowledge graph. In a case where the information about one of the first or the second input parameter value is absent in the first input-output knowledge graph, the method further comprises determining whether the information about the first or the second input parameter is present in a second input-output knowledge graph stored in the database.
In one example, in a case where it is determined that the information about the first or the second input parameter value is present in the second input-output knowledge graph, the method further comprises determining, by the processing unit, one or more knowledge graph instances within the second input-output knowledge graph. The one or more knowledge graph instances comprises information about the first or the second input parameter value. The one or more knowledge graph instances further comprises information about one or more parameter values which are likely to be received by the controller device, in a future scan cycle of execution of the engineering program.
In an embodiment, the method further comprises analyzing, by the processing unit, the first input-output knowledge graph to categorize a plurality of portions of the first input-output knowledge graph into an active section and a latent section. The active section comprises information about a first set of parameter values which are to be processed in a current scan cycle of execution of the engineering program. The latent section comprises information about a second set of parameter values which are to be processed in a future scan cycle of execution of the engineering program. In an embodiment, the method further comprises mapping, by the processing unit, the received one or more knowledge graph instances into one of the active section or the latent section of the first input-output knowledge graph. In an embodiment, the method further comprises appending, by the processing unit, the received one or more knowledge graphs into 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 are a set of rules designed to transfer earnings from one knowledge graph to another.
In another example, the method comprises determining, by the processing unit, the first workflow comprising a first set of user actions to perform a task using the engineering program. In one example, the task is an engineering task which is performed via an engineering system. In another example, the task is a control task to control the plurality of industrial devices in the technical installation. The first set of user actions represents a first method of performing the task. The information associated with the first workflow is present in the first input-output knowledge graph. The information associated with the first workflow comprises information about a plurality of relationships between the first set of user actions in the first workflow. Furthermore, the first input-output knowledge graph comprises information about a sequence in which the first set of user actions are executed. In an embodiment, the method further comprises receiving, by the processing unit, a second workflow comprising a second set of user actions to perform 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 method of performing the same task using the engineering program. The information associated with the second workflow is present in a second input-output knowledge graph which is stored in a database. The second input-output knowledge graph comprises information about a sequence of user actions in the second workflow and also information about individual user actions in the second workflow.
In an embodiment, the method further comprises comparing 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. In an embodiment, the method further comprises determining, by the processing unit, a process efficiency of the first workflow and the second workflow based on the comparison. The process efficiency of each of the first and second workflows is an indicator of efficiency with which a respective workflow completes the task. In one example, the process efficiency of the first workflow and the second workflow is determined by measuring a time taken for task completion, when each of the first workflow and the second workflow are executed in the digital twin.
In an embodiment, the method further comprises determining, by the processing unit, whether the process efficiency of the second workflow is greater than the process efficiency of the first workflow. In a case where the process efficiency of the second workflow is greater than that of the first workflow, the method further comprises determining, by the processing unit, one or more knowledge graph instances in the second input-output knowledge graph which correspond to the second workflow. In an embodiment, the method further comprises receiving, by the processing unit, the determined one or more knowledge graph instances from the second input-output knowledge graph. In an embodiment, the method further comprises modifying the first input-output knowledge graph by appending the received one or more knowledge graph instances into the first input-output knowledge graph instances.
In an embodiment, the method further comprises generating, by the processing unit, at least one output parameter value from the simulated first input parameter value. In an embodiment, the method further comprises 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.
The aspect of embodiments of the present invention are also achieved by an engineering system for seamless transition of runtime system from controller device to a digitalization platform. The engineering system comprises one or more processor(s) and a memory coupled to the processing unit. The memory comprises data analytics and acquisition module stored in the form of machine-readable instructions executable by the processor. The data analytics and acquisition module is configured for performing the method as described above.
The aspect of embodiments of the present invention are also achieved by an industrial environment. The industrial environment comprising an engineering system, a technical installation comprising one or more physical components and a plurality of human machine interfaces communicatively coupled to the engineering system and the technical installation. The engineering system is configured to perform the above described method steps.
The aspect of embodiments of the present invention are also achieved by a computer-program product having machine-readable instructions stored therein, that when executed by one or more processor(s), cause the one or more processor(s) to perform method steps as described above.
The above-mentioned and other features of embodiments of the invention will now be addressed with reference to the accompanying drawings of embodiments of the present invention. The illustrated embodiments are intended to illustrate, but not limit the invention.
Various embodiments are described with reference to the drawings, wherein like reference numerals are used to refer the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for the purpose of explanation, numerous specific details are set forth in order to provide thorough understanding of one or more embodiments. It may be evident that such embodiments may be practiced without these specific details.
1 FIG. 1 FIG. 100 124 110 100 102 106 120 100 102 106 104 102 120 104 is a block diagram of an industrial environmentcapable of seamlessly transitioning a runtime system from a controller deviceto a digitalization platform, according to an embodiment of the present invention. In, the industrial environmentincludes an engineering system, a technical installationand plurality of human machine interfacesA-N. As used herein, “industrial environment” refers to a processing environment comprising configurable computing physical and logical resources, for example, networks, servers, storage, applications, services, etc., and data distributed over a platform, such as cloud computing platform. The industrial environmentprovides on-demand network access to a shared pool of the configurable computing physical and logical resources. The engineering systemis communicatively connected to the technical installationvia a network connection(such as Local Area Network (LAN), Wide Area Network (WAN), Wi-Fi, Internet, any short range or wide range communication). The engineering systemis also connected to the plurality of human machine interfacesA-N via the network connection.
102 108 106 104 108 108 108 108 102 106 102 104 1 FIG. 1 FIG. The engineering systemis connected to a plurality of industrial devicesA-N in the technical installationvia the network connection. The the plurality of industrial devicesA-N may include servers, robots, switches, automation devices, programmable logic controllers (PLC)s, human machine interfaces (HMIs), motors, valves, pumps, actuators, sensors and other industrial equipment(s). The plurality of industrial devicesA-N may be connected to each other or several other components (not shown in) via physical connections. The physical connections may be through wiring between the plurality of industrial devicesA-N. Alternatively, the plurality of industrial devicesA-N may also be connected via non-physical connections (such as Internet of Things (IOT)) and 5G networks. Although,illustrates the engineering systemconnected to one technical installation, one skilled in the art can envision that the engineering systemcan be connected to several technical installations located at different geographical locations via the network connection.
106 126 126 126 106 126 124 104 The technical installationfurther comprises a plurality of sensor devicesA-N. The plurality of sensor devicesA-N comprises sensors such as a pressure sensor, a voltage sensor, a temperature sensor, and a vibration sensor. The plurality of sensor devicesA-N take one or more measurements from the technical installation. The one or more measurements comprises a temperature measurement, a pressure measurement, and a vibration measutrment. The plurality of sensor devicesA-N are connected to a controller devicevia the network connection.
120 120 122 120 102 120 108 120 124 108 The plurality of human machine interfacesA-N may be a desktop computer, laptop computer, tablet, smart phone and the like. Each of the plurality of human machine interfacesA-N is provided with an engineering toolA-N for generating and/or editing engineering programs respectively. The plurality of human machine interfacesA-N can access the engineering systemfor automatically generating engineering programs. The plurality of human machine interfacesA-N can access cloud applications (such as providing performance visualization of the plurality of industrial devicesA-N via a web browser). Throughout the specification, the terms “human machine interface”, “client device” and “user device” are used interchangeably. The plurality of human machine interfacesA-N are further configured to receive a plurality of user actions from a plurality of users. The plurality of user actions comprises user inputs, user commands, user gestures, programming instructions, and user passwords. The plurality of user actions are entered by the plurality of users to perform one or more tasks using the controller deviceand the plurality of industrial devicesA-N.
102 124 124 124 102 124 126 120 124 108 It is noted that the engineering systemis connected to the controller device. Examples of the controller devicecomprises, but is not limited to programmable logic controllers, microprocessors, and other processing units. The controller deviceis configured to execute the engineering program generated by the engineering system, in a plurality of scan cycles. The controller deviceis configured to receive a plurality of input parameter values from the plurality of sensor devicesA-N and the plurality of human machine interfacesA-N. The controller deviceis further configured to transmit a plurality of output parameter values to the plurality of industrial devicesA-N and the plurality of human machine interfaces.
102 102 102 106 108 102 110 112 114 116 118 110 124 116 102 106 120 110 124 120 124 110 124 110 1 FIG. The engineering systemmay be a standalone server deployed at a control station or may be a remote server on a cloud computing platform. In an embodiment, the engineering systemmay be a cloud-based engineering system. The engineering systemis capable of delivering applications (such as cloud applications) for managing a technical installationcomprising plurality of industrial devicesA-N. The engineering systemmay comprise a digitalization platform(such as a cloud computing platform), a data acquisition and analytics module, a serverincluding hardware resources and an operating system (OS), a network interfaceand a database. The digitalization platformfurther comprises an input-output knowledge graph. The input-output knowledge graph comprises information about a plurality of relationships between a plurality of parameter values either received or transmitted by the controller deviceduring a time interval. The network interfaceenables communication between the engineering system, the technical installation, the client device(s)A-N, the digitalization platformand the controller device. The interface (such as cloud interface)(not shown in) may allow the engineers at the plurality of industrial devicesA-N to access the controller deviceand the digitalization platformand execute a plurality of user actions on the controller deviceand the digitalization platform.
114 114 110 114 110 114 110 110 120 110 112 124 110 112 124 112 3 FIG. The servermay include one or more servers on which the OS is installed. The serversmay comprise one or more processors, one or more storage devices, such as, memory units, for storing data and machine-readable instructions for example, applications and application programming interfaces (APIs), and other peripherals required for providing computing (such as cloud computing) functionality. In one example, the digitalization platformmay be implemented in the server. The digitalization platformenables functionalities such as data reception, data processing, data rendering, data communication, etc. using the hardware resources and the OS of the serversand delivers the aforementioned services using the application programming interfaces deployed therein. The digitalization platformmay comprise a combination of dedicated hardware and software built on top of the hardware and the OS. In an exemplary embodiment, the digitalization platformmay correspond to an Integrated Development Environment (IDE) comprising program editors and compilers which allow the users of the plurality of human machine interfacesA-N to generate engineering programs. The digitalization platformmay further comprise the data acquisition and analytics moduleconfigured for enabling seamless transition of a runtime system from the controller deviceto the digitalization platform. In one example, the data acquisition and analytics modulecomprises a digital twin of the controller device. Details of the data acquisition and analytics moduleis explained in.
118 106 120 118 118 100 110 118 112 118 108 108 108 The databasestores the information relating to the technical installationand the the plurality of human machine interfacesA-N. The databaseis, for example, a structured query language (SQL) data store or a not only SQL (NoSQL) data store. In an exemplary embodiment, the databasemay be configured as cloud-based database implemented in the industrial environment, where computing resources are delivered as a service over the platform. The database, according to another embodiment of the present invention, is a location on a file system directly accessible by the data acquisition and analytics module. The databaseis configured to store engineering project files, engineering programs, object behavior model, parameter values associated with the plurality of industrial devicesA-N, test results, simulation results, status messages, one or more simulation instances, graphical programs, program logics, program logic patterns, of the plurality of industrial devicesA-N and engineering object properties, one or more engineering object blocks, relationship information between the plurality of industrial devicesA-N, requirements, program update messages and the like.
2 FIG. 1 FIG. 2 FIG. 102 102 202 204 206 208 210 212 214 is a block diagram of an engineering system, such as those shown in, in which an embodiment of the present invention can be implemented. In, the engineering systemincludes a processing unit, an accessible memory, a storage unit, a communication interface, an input-output unit, a network interfaceand a bus.
202 202 The processing unit, as used herein, means any type of computational circuit, such as, but not limited to, a microprocessor unit, microcontroller, complex instruction set computing microprocessor unit, reduced instruction set computing microprocessor unit, very long instruction word microprocessor unit, explicitly parallel instruction computing microprocessor unit, graphics processing unit, digital signal processing unit, or any other type of processing circuit. The processing unitmay also include embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, and the like.
204 204 202 202 204 204 204 204 216 216 112 202 The memorymay be non-transitory volatile memory and non-volatile memory. The memorymay be coupled for communication with the processing unit, such as being a computer-readable storage medium. The processing unitmay execute machine-readable instructions and/or source code stored in the memory. A variety of machine-readable instructions may be stored in and accessed from the memory. The memorymay include any suitable elements for storing data and machine-readable instructions, such as read only memory, random access memory, erasable programmable read only memory, 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 the present embodiment, the memoryincludes an integrated development environment (IDE). The IDEincludes the data acquisition and analytics modulestored in the form of machine-readable instructions on any of the above-mentioned storage media and may be in communication with and executed by the processor(s).
202 112 202 124 110 124 124 When executed by the processing unit, the data acquisition and analytics modulecauses the processing unitto seamlessly transition a runtime system from the controller deviceto the digitalization platform. The runtime system translates an engineering program stored in the controller deviceinto machine executable code, and ultimately implements an execution of the engineering program in the controller device.
106 124 The engineering program comprises a plurality of programming blocks. In one example, the engineering program is a graphical program comprising a program logic. The engineering program comprises 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 under an engineering design of the technical installation. The engineering design may comprise several such programming blocks. The controller deviceis configured to execute the engineering program in a plurality of scan cycles.
202 112 202 124 124 126 120 When executed by the processing unit, the data acquisition and analytics modulecauses the processing unitto capture a plurality of input-output parameter values transmitted or received by the controller deviceduring a plurality of scan cycles of the execution of the engineering program. The plurality of input-output parameter values comprises a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values comprises parameter values received by the controller devicefrom the plurality of sensor devicesA-N and the plurality of human machine interfacesA-N.
124 124 124 110 126 106 In one example, the plurality of input-output parameter values further comprises information about a plurality of user actions that a user has performed on an input device connected to the controller device. The plurality of input-output parameter values further comprises the plurality of output parameter values generated by the controller device, in response to reception of the plurality of user actions. The plurality of output parameter values comprises parameter values transmitted by the controller deviceor the digitalization platforminto the plurality of industrial devicesA-N in the technical installation.
202 112 202 202 202 When executed by the processing unit, the data acquisition and analytics modulefurther causes the processing unitto analyze the captured plurality of input-output parameter values. The processing unitis configured to identify a plurality of patterns in the plurality of input-output parameter values based on the analysis. Furthermore, the processing unitis further configured to identify a plurality of relationships between parameter values in the captured plurality of input-output parameter values.
112 202 124 202 124 124 202 124 The data acquisition and analytics modulefurther causes the processing unitto generate an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph based on the analysis of the captured plurality of input-output parameter values. The input knowledge graph comprises information about a plurality of relationships between the plurality of input parameter values in the captured plurality of input-output parameter values. In one example, the plurality of relationships includes a sequence in which each of the plurality of input parameter values are received by the controller device. The processing unitis configured to query the input knowledge graph to predict parameter values which are likely to be received by the controller deviceduring a future scan cycle of the execution of the engineering program in the controller device. The future scan cycle occurs subsequent to the plurality of scan cycles in which the plurality of input-output parameter values are captured. For example, the processing unitis configured to query the input parameter knowledge graph to determine a next input parameter value which is likely to be received by the controller device, based on the captured input output parameter values.
124 202 124 124 The output knowledge graph comprises information about the plurality of relationships between the plurality of output parameter values which are transmitted by the controller device. The processing unitis configured to query the output knowledge graph to predict output parameter values which are likely to be transmitted by the controller deviceat the future scan cycle of execution of the engineering program in the controller device.
202 124 124 The input output correspondence knowledge graph comprises information about relationships between the each of the plurality of input parameter values and each of the plurality of output parameter values. The processing unitis configured to query the input-output correspondence knowledge graph to predict an output parameter value which is likely to be transmitted by the controller devicefor a given input parameter value received by the controller device.
112 202 The data acquisition and analytics modulefurther causes the processing unitto 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.
124 126 124 108 In other words, the input-output knowledge graph comprises information about a first set of relationships between the plurality of input parameter values received by the controller device, from the plurality of sensor devicesA-N. The input-output knowledge graph comprises information about a second set of relationships between the plurality of output parameter values transmitted by the controller deviceto the plurality of industrial deviceA-N. The input-output knowledge graph comprises information about a third set of relationships between the plurality of input parameter values and the plurality of output parameter values.
112 202 104 126 120 124 110 104 126 124 110 The data acquisition and analytics modulefurther causes the processing unitto receive a plurality of network connection parameters associated with the network connectionbetween the plurality of sensor devicesA-N, the plurality of human machine interfacesA-N, and one of the controller deviceor the digitalization platform. The plurality of network connection parameters comprises information associated with network strength, packet count, packet drop data, associated with the network connectionbetween the plurality of sensor devicesA-N and one of the controller deviceor the digitalization platform.
112 202 202 202 The data acquisition and analytics modulefurther causes the processing unitto analyze the plurality of network connection parameters. In one example, the processing unitis configured to analyse the plurality of network connection parameters based on a plurality of predefined thresholds. For example, the processing unitis configured to determine whether the at least one of the plurality of network connection parameters is greater than a specific predefined threshold of the plurality of predefined thresholds.
112 202 104 202 104 126 120 124 110 The data acquisition and analytics modulefurther causes the processing unitto determine whether the at least one connectivity error is present in the network connectionbased on the analysis. In one example, the plurality of network connectivity parameters comprises a network strength. In such a case, the processing unitis configured to determine whether the network strength drops below a predefined threshold. In a case where the network strength is determined to drop below the predefined threshold, the at least one connectivity error is determined to be present in the network connectionbetween the plurality of sensor devicesA-N/the plurality of human machine interfacesA-N and one of the controller deviceor the digitalization platform.
104 112 202 112 In a case where the at least one connectivity error is determined to be present in the network connection, the data acquisition and analytics modulecauses the processing unitto simulate a first input parameter value based on an analysis of the generated input-output knowledge graph. The simulated first input parameter values is a parameter value which is likely to be received by the controller devcieduring a duration in which the at least one connectivity error is present in the network connection.
202 124 124 126 120 124 110 104 In one example, the first input parameter value is simulated by the processing unitby querying the input-output knowledge graph. It has been noted that the input-output knowledge graph comprises information about the plurality of relationships between the plurality of input parameter values received by the controller devicein the plurality of scan cycles. Thus, simulation of the first input parameter value, takes into account of the plurality of input parameter values received by the controller devicein the plurality of scan cycles. Thus, the simulated first input parameter value is accurate and is very likely to be received from the plurality of sensor devicesA-N/the plurality of human machine interfacesA-N during execution of the engineering program. Furthermore, the controller deviceand the digitalization platformcontinues receiving input parameter values despite a presence of the at least one connection error in the network connection. Thus, execution of the engineering program is not halted.
202 126 104 126 120 In a case where the at least one connection error is determined to be absent, the processing unitis configured to receive a second input parameter value from the plurality of sensor devicesA-N. The second input parameter is received via the network connection. Examples of the second input parameter value comprises sensor data received from the plurality of sensor devicesA-N and a plurality of user inputs received from the plurality of human machine interfacesA-N.
112 202 202 124 The data acquisition and analytics modulefurther causes the processing unitto determine 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 unitis configured to determine whether the input-output knowledge graph comprises information about the plurality of relationships between the plurality of input parameter values received by the controller deviceand the first input parameter value or the second input parameter value.
202 124 124 202 110 124 110 124 124 124 In a case where the input-output knowledge graph comprises information about the the first input parameter value or the second input parameter value, the processing unitis configured to query the input-output knowledge graph to generate at least one output parameter value. The at least one output parameter value is the parameter value which is likely to be generated by the controller device, after the first input parameter value or the second input parameter value are processed by the controller device. The at least one output parameter value is simulated based on analysis of the 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 the plurality of relationships between parameter values in the captured plurality of input-output parameter values. Thus, the processing unitsimulates the at least one output parameter value with accuracy. Thus, generation of the at least one output parameter value is performed in the digitalization platformrather than by the controller device. As a result, a processing power spent for processing the first parameter value or the second parameter value is taken up by the digitalization platform, rather than the controller device. Thus, a processing load of the controller deviceis reduced. Hence, a processing capacity of the controller deviceis increased.
112 202 124 The data acquisition and analytics modulefurther causes the processing unitto determine whether one of the first input parameter value or the second input parameter value is a critical data item. In one example, one of the first input parameter value or the second input parameter value is determined to be the critical data item based on an application of an artificial intelligence model on the first input parameter value and the second input parameter value. In a case where it is determined that the first parameter value or the second parameter value is a critical data item, the first input parameter value or the second input parameter value is processed in the controller device. In one example, the artificial intelligence model is trained to detect the critical data item based on a training data set comprising a plurality of parameter values which are labelled as critical data items.
112 202 124 124 124 In a case where it is determined that information about the first parameter value or the second parameter value is absent in the input-output knowledge graph, the data acquisition and analytics modulefurther causes the processing unitto transmit the first parameter value or the second parameter value to the controller device. The controller deviceis configured to process the first parameter value or the second parameter value based on the execution of the engineering program. Further, the controller deviceis configured to generate the at least one output parameter value from the first parameter value or the second parameter value by the execution of the engineering program.
112 202 124 108 112 202 108 124 124 110 110 124 124 The data acquisition and analytics modulefurther causes the processing unitto transmit the generated at least one output parameter value from the controller device, to the plurality of industrial devicesA-N. The data acquisition and analytics modulefurther causes the processing unitto control the plurality of industrial devicesA-N based on the transmitted at least one output parameter value and run the technical installation efficiently. Thus, the controller deviceonly has to process those parameter values which are not present in the input-output knowledge graph. Thus, processing load of the controller deviceis reduced significantly and a major portion of processing of the plurality of input parameter values occurs in the digitalization platform. Thus, processing power spent for processing the first parameter value or the second parameter value is taken up by the digitalization platform, rather than the controller device. Thus, a processing load of the controller deviceis reduced.
112 202 112 202 The data acquisition and analytics modulefurther causes the processing unitto analyze the generated at least one output parameter value. The data acquisition and analytics modulefurther causes the processing unitto 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 a relationship between the first input parameter value, the second parameter value and the at least one output parameter value is recorded in the input-output knowledge graph.
124 110 110 124 124 110 124 106 124 110 Thus, in a case where the controller deviceor the digitalization platformreceives a parameter value equal to the first input parameter value or the second parameter value in the future, the at least one output parameter value is readily generated by the digitalization platformby querying the input-output knowledge graph. Thus, the processing load of the controller deviceis further reduced. Eventually, the input-output knowledge graph accumulates information associated with all possible parameter values which is likely to be received by the controller device. In such a case, the digitalization platformwill be enabled to generate a plurality of output parameter values for all possible combinations of input parameter values received by the controller device. Thus, a runtime system of the technical installationis seamless transitioned from the controller deviceinto the digitalization platform.
112 202 124 112 202 124 124 124 124 112 202 124 The data acquisition and analytics modulefurther causes the processing unitto analyze a plurality of programming blocks of the engineering program executed by the controller device. The data acquisition and analytics modulefurther causes the processing unitto determine a plurality of program execution parameters of the controller device. The plurality of program execution parameters comprise information about internal functioning of the controller deviceduring execution of the engineering program. For example, the plurality of program execution parameters comprises runtime information such as information about memory fragmentation, scan cycle nature, system resource utilization, and memory utilization of the controller deviceduring the execution of the engineering program in the controller device. The data acquisition and analytics modulefurther causes the processing unitto determine an efficiency of execution of the engineering program by the controller device.
112 202 112 202 112 202 124 The data acquisition and analytics modulefurther causes the processing unitto determine that one or more programming blocks in the engineering program are hampering the efficiency of the execution of the engineering program. The data acquisition and analytics modulefurther causes the processing unitto select the one or more programming blocks to be transformed based on the determination that the efficiency of execution of the engineering program is hampered because of the one or more programming blocks. The data acquisition and analytics modulefurther causes the processing unitto apply an artificial intelligence model on 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.
112 202 112 202 110 The data acquisition and analytics modulefurther causes the processing unitto transform the plurality of programming blocks based on the application of the artificial intelligence model on the engineering program. The data acquisition and analytics modulefurther causes the processing unitto migrate the transformed plurality of programming blocks to the digitalization platform.
112 202 124 124 126 120 120 120 124 110 108 106 124 In another embodiment, the data acquisition and analytics modulecauses the processing unitto receive a first input-output knowledge graph comprising information about a plurality of relationships between the plurality of input-output parameter values which are transmitted or received by the controller device. The plurality of input-output parameter values comprises a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values comprises parameter values received by the controller devicefrom the plurality of sensor devicesA-N and the plurality of human machine interfacesA-N. The plurality of input parameter values comprises sensor data, programming instructions, user commands, and user inputs. In one example, the plurality of input parameter values comprises a plurality of user actions performed by a user on the plurality of human machine interfacesA-N. Examples of the plurality of user actions comprises user commands, user inputs and user selections input by the user in an input device of the plurality of human machine interfacesA-N. The plurality of output parameter values comprises parameter values transmitted by the controller deviceand the digitalization platforminto the plurality of industrial devicesA-N in the technical installation. The plurality of output parameter values comprises control signals transmitted by the controller devicebased on the reception of the plurality of user actions. The user may input the plurality of user actions to perform a task using the executed engineering program. The plurality of user actions are arranged as workflows. The user is enabled to execute a workflow comprising a set of user actions to perform the task. In one example, the same task can be performed using one of a first workflow and a second workflow.
112 202 102 108 106 The data acquisition and analytics modulecauses the processing unitto determine the first workflow comprising a first set of user actions to perform a task using the engineering program. In one example, the task is an engineering task which is performed via the engineering system. In another example, the task is a control task to control the plurality of industrial devicesA-N in the technical installation. The information associated with the first workflow is present in the first input-output knowledge graph. The information associated with the first workflow comprises information about a plurality of relationships between the first set of user actions in the first workflow. Furthermore, the first input-output knowledge graph comprises information about a sequence in which the first set of user actions are executed by the user.
112 202 The data acquisition and analytics modulefurther causes the processing unitto receive a second workflow comprising a second set of user actions to perform the same task using the engineering program. The second set of user actions is different from the first set of user actions. The information associated with the second workflow is present in a second input-output knowledge graph which is stored in a database. The second input-output knowledge graph comprises information about a sequence of user actions in the second workflow and also information about individual user actions in the second workflow.
112 202 The data acquisition and analytics modulecauses the processing unitto 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.
112 202 124 The data acquisition and analytics modulecauses the processing unitto determine a process efficiency of the first workflow and the second workflow based on the correlation operation. In one example, the process efficiency of the first workflow and the second workflow is determined by executing the first and second workflow on a digital twin of the controller deviceand calculating time taken to perform the task using each of the first and the second workflows. The process efficiency of each of the first and second workflow is an indicator of efficiency with which a respective workflow completes the task.
112 202 112 202 The data acquisition and analytics modulecauses the processing unitto determine whether the process efficiency of the second workflow is greater than the process efficiency of the first workflow. In a case where the process efficiency of the second workflow is greater than that of the first workflow, the data acquisition and analytics modulecauses the processing unitto determine one or more knowledge graph instances in the second input-output knowledge graph which correspond to the second workflow.
112 202 112 202 104 126 124 110 104 The data acquisition and analytics modulecauses the processing unitto receive the determined one or more knowledge graph instances from the second input-output knowledge graph. The data acquisition and analytics modulecauses the processing unitto determine whether at least one connectivity error is present in the network connectionbetween the plurality of sensor devicesA-N and one of the controller deviceor the digitalization platform. The at least one connectivity issue is determined based on an analysis of a plurality of network connection parameters associated with the network connection.
112 202 126 124 The data acquisition and analytics modulecauses the processing unitto simulate, when the at least one connectivity error is determined to present, 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 which is likely to be received from the plurality of sensor devicesA-N during execution of the engineering program. In one example, the first input parameter value comprises information about a user action which is likely to be received by the controller devicevduring execution of the engineering program.
112 202 104 126 The data acquisition and analytics modulecauses the processing unitto receive, when it is determined that the at least one connectivity error is absent in the network connection, a second input parameter value from the plurality of sensor devicesA-N. The second input parameter value is at least one of a control signal, a sensor data signal, and a user input from the first user.
112 202 112 202 112 202 112 202 114 The data acquisition and analytics modulecauses the processing unitto determine whether one of the first or the second input parameter value is present in the first input output parameter value. The data acquisition and analytics modulecauses the processing unitto determine whether a relationship between one of the first and the second input parameter value with any of the plurality of input-output parameter values is recorded in the first input-output knowledge graph. If the information about at least one of the first and the second input parameter value is present in the first input-output knowledge graph, The data acquisition and analytics modulecauses the processing unitto generate the at least one output parameter by simply querying the first input-output knowledge graph. In a case where the information about one of the first or the second input parameter value is absent in the first input-output knowledge graph, the data acquisition and analytics modulecauses the processing unitto determine whether the information about the first or the second input parameter is present in a second input-output knowledge graph stored in the database.
112 202 124 In a case where it is determined that the information about the first or the second input parameter value is present in the second input-output knowledge graph, the data acquisition and analytics modulecauses the processing unitto select one or more knowledge graph instances within the second input-output knowledge graph. The one or more knowledge graph instances comprises information about the first or the second input parameter value. The one or more knowledge graph instances further comprises information about one or more parameter values which are likely to be received by the controller device, in a future scan cycle of execution of the engineering program.
112 202 The data acquisition and analytics modulecauses the processing unitto analyze the first input-output knowledge graph to categorize a plurality of portions of the first input-output knowledge graph into an active section and a latent section. The active section comprises information about a first set of parameter values which are to be processed in a current scan cycle of execution of the engineering program. The latent section comprises information about a second set of parameter values which are to be processed in a future scan cycle of execution of the engineering program.
112 202 112 202 The data acquisition and analytics modulecauses the processing unitto map the received one or more knowledge graph instances into one of the active section or the latent section of the first input-output knowledge graph. The data acquisition and analytics modulecauses the processing unitto modify the received one or more knowledge graphs into the first input-output knowledge graph based on a set of cognitive rules.
112 202 112 202 The data acquisition and analytics modulecauses the processing unitto generate at least one output parameter value from the simulated first input parameter value. The data acquisition and analytics modulecauses the processing unitto transmit the generated at least one output parameter value to at least one device in the technical installation, to control the at least one device.
208 120 102 124 208 120 124 208 120 102 The communication interfaceis configured for establishing communication sessions between the plurality of human machine interfacesA-N, the engineering system, and the controller device. The communication interfaceallows the one or more engineering applications running on the plurality of human machine interfacesA-N to import/export engineering programs into the controller device. In an embodiment, the communication interfaceinteracts with the interface at the plurality of human machine interfacesA-N for allowing the engineers to access the engineering programs associated with an engineering project file and perform one or more actions on the engineering programs stored in the engineering system.
210 210 214 202 204 210 The input-output unitmay include input devices a keypad, touch-sensitive display, camera (such as a camera receiving gesture-based inputs), etc. capable of receiving one or more input signals, such as user commands to process engineering project file. Also, the input-output unitmay be a display unit for displaying a graphical user interface which visualizes the behavior model associated with the modified engineering programs and also displays the status information associated with each set of actions performed on the graphical user interface. The set of actions may include execution of predefined tests, download, compile and deploy of graphical programs. The busacts as interconnect between the processor, the memory, and the input-output unit.
212 102 120 106 The network interfacemay be configured to handle network connectivity, bandwidth and network traffic between the engineering system, plurality of human machine interfacesA-N and the technical installation.
2 FIG. Those of ordinary skilled in the art will appreciate that the hardware depicted inmay vary for particular implementations. For example, other peripheral devices such as an optical disk drive and the like, Local Area Network (LAN), Wide Area Network (WAN), Wireless (e.g., Wi-Fi) adapter, graphics adapter, disk controller, input/output (I/O) adapter also may be used in addition or in place of the hardware depicted. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.
102 102 Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of an engineering systemas is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of the engineering systemmay conform to any of the various current implementation and practices known in the art.
3 FIG. 2 FIG. 3 FIG. 3 FIG. 1 FIG. 2 FIG. 112 112 302 304 306 308 310 312 314 is a block diagram of the data analytics and acquisition, such as those shown in, in which an embodiment of the present invention can be implemented. In, the data analytics and acquisitioncomprises a request handler module, a digital twin generation module, an analysis module, a modifier module, an engineering object database, a validation moduleand a deployment module.is explained in conjunction withand.
302 124 110 106 100 120 302 124 The request handler moduleis configured for receiving the request to initiate transition of a runtime system from the controller deviceto the digitalization platformin the technical installation. For example, the request is received from one of the one or more users external to the industrial environmentvia a network. In alternative embodiment, the request is received from the one or the plurality of human machine interfacesA-N via the network. The request handler moduleis further configured to capture the plurality of input-output parameter values received or transmitted by the controller device.
304 124 304 304 The digital twin generation moduleis configured for analyzing the plurality of input-output parameter values captured from the controller device. The digital twin generation moduleis configured to generate the input knowledge graph, the output knowledge graph and the input output correspondence knowledge graph. The digital twin generation moduleis further configured to generate the input-output knowledge graph.
306 104 306 The analysis moduleis configured for analyzing the plurality of network connection parameters to predict a presence of the at least connectivity error in the network connection. The analysis moduleis 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.
308 308 The modifier moduleis configured for modifying the input-output knowledge graph by appending the one or more knowledge graph instances to the input-output knowledge graph based on the set of cognitive rules. The modifier moduleis further configured to transform the plurality of programming blocks in the engineering program based on the application of the artifical intelligence model on the plurality of programming blocks of the engineering program.
310 108 108 108 310 The engineering object databaseis configured for generating an engineering object library comprising generated object behavior models, information about the plurality of industrial devicesA-N, physical connections between the plurality of industrial devicesA-N, and a plurality of threshold parameter values associated with the plurality of industrial devicesA-N and the physical connections. The engineering object databaseis configured for continuously updating the engineering object library with updated versions of the engineering programs.
312 312 124 106 124 The validation moduleis configured to validate the engineering program which is executed by the controller device. The validation moduleis configured to simulate execution of the engineering program by the controller deviceof the technical installationin a simulation environment by executing the engineering program on a digital twin of the controller device.
314 124 110 The deployment moduleis configured for transitioning execution of the engineering program in real-time from the controller deviceto the digitalization platform.
4 FIG.A-E 4 FIG.A-E 1 3 FIG.to 400 124 110 is a process flowchart illustrating an exemplary methodof seamlessly transitioning a runtime system from the controller deviceto the digitalization platform, according to an embodiment of the present invention.is explained in conjunction with.
402 124 202 124 126 120 At step, a plurality of input-output parameter values transmitted or received by the controller deviceduring a plurality of scan cycles of the execution of the engineering program are captured by the processing unit. Examples of the plurality of input parameter values comprises parameter values received by the controller devicefrom the plurality of sensor devicesA-N and the plurality of human machine interfacesA-N.
404 202 202 202 At step, the captured plurality of input-output parameter values are analyzed by the processing unit. The processing unitis configured to identify a plurality of patterns in the plurality of input-output parameter values based on the analysis. Furthermore, the processing unitis further configured to identify a plurality of relationships between parameter values in the captured plurality of input-output parameter values.
406 202 124 At step, an input knowledge graph, an output knowledge graph, and an input-output correspondence knowledge graph are generated by the processing unitbased on the analysis of the captured plurality of input-output parameter values. The input knowledge graph comprises information about a plurality of relationships between the plurality of input parameter values in the captured plurality of input-output parameter values. In one example, the plurality of relationships includes a sequence in which each of the plurality of input parameter values are received by the controller device.
408 202 124 124 202 202 124 At step, the input knowledge graph is queried by the processing unitto predict parameter values which are likely to be received by the controller deviceduring a future scan cycle of the execution of the engineering program in the controller device. The future scan cycle occurs subsequent to the plurality of scan cycles in which the plurality of input-output parameter values are captured by the processing unit. For example, the processing unitis configured to query the input parameter knowledge graph to determine a next input parameter value which is likely to be received by the controller device, based on the captured plurality of input output parameter values.
124 202 124 124 The output knowledge graph comprises information about the plurality of relationships between the plurality of output parameter values which are transmitted by the controller device. The processing unitis configured to query the output knowledge graph to predict output parameter values which are likely to be transmitted by the controller deviceat the future scan cycle of execution of the engineering program in the controller device.
202 124 124 The input output correspondence knowledge graph comprises information about relationships between the each of the plurality of input parameter values and each of the plurality of output parameter values. The processing unitis configured to query the input output correspondence knowledge graph to predict an output parameter value which is likely to be transmitted by the controller devicefor a given input parameter value received by the controller device.
410 202 At step, an input-output knowledge graph is generated by the processing unitbased on the input knowledge graph, the output knowledge graph, and the input-output knowledge graph.
124 126 124 108 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 comprises information about a first set of relationships between the plurality of input parameter values received by the controller device, from the plurality of sensor devicesA-N. The input-output knowledge graph comprises information about a second set of relationships between the plurality of output parameter values transmitted by the controller deviceto the plurality of industrial deviceA-N. The input-output knowledge graph comprises information about a third set of relationships between the plurality of input parameter values and the plurality of output parameter values.
412 104 126 124 110 202 104 126 124 110 At step, a plurality of network connection parameters associated with the network connectionbetween the plurality of sensor devicesA-N and one of the controller deviceor the digitalization platform, is received by the processing unit. The plurality of network connection parameters comprises information associated with network strength, packet count, packet drop data, associated with the network connectionbetween the plurality of sensor devicesA-N and one of the controller deviceor the digitalization platform.
414 202 202 202 At step, the plurality of network connection parameters are analyzed by the processing unit. In one example, the processing unitis configured to analyse the plurality of network connection parameters based on a plurality of predefined thresholds. For example, the processing unitis configured to determine whether the at least one of the plurality of network connection parameters is greater than a specific predefined threshold of the plurality of predefined thresholds.
416 202 104 202 104 126 120 124 110 At step, it is determined by the processing unitwhether the at least one connectivity error is present in the network connectionbased on the analysis. For example, in a case where the plurality of network connectivity parameters comprises a network strength, the processing unitis configured to determine whether the network strength drops below a predefined threshold. In a case where the network strength is determined to drop below the predefined threshold, the at least one connectivity error is determined to be present in the network connectionbetween the plurality of sensor devicesA-N/the plurality of human machine interfacesA-N and one of the controller deviceor the digitalization platform.
418 104 202 124 104 At step, in a case where the at least one connectivity error is determined to be present in the network connection, a first input parameter value is simulated by the processing unitbased on an analysis of the generated input-output knowledge graph. The simulated first input parameter values is a parameter value which is likely to be received by the controller deviceduring a duration in which the at least one connectivity error is present in the network connection.
202 124 124 126 120 124 110 104 In one example, the first input parameter value is simulated by the processing unitby querying the input-output knowledge graph. It has been noted that the input-output knowledge graph comprises information about the plurality of relationships between the plurality of input parameter values received by the controller devicein the plurality of scan cycles. Thus, simulation of the first input parameter value, takes into account of the plurality of input parameter values received by the controller devicein the plurality of scan cycles. Thus, the simulated first input parameter value is accurate and is very likely to be received from the plurality of sensor devicesA-N/the plurality of human machine interfacesA-N during execution of the engineering program. Furthermore, the controller deviceand the digitalization platformcontinues receiving input parameter values despite a presence of the at least one connection error in the network connection. Thus, execution of the engineering program is not halted.
420 202 126 104 126 120 At step, in a case where the at least one connection error is determined to be absent, a second input parameter value is received by the processing unitfrom the plurality of sensor devicesA-N. The second input parameter value is received via the network connection. Examples of the second input parameter value comprises sensor data received from the plurality of sensor devicesA-N and a plurality of user inputs received from the plurality of human machine interfacesA-N.
422 202 202 124 At step, it is determined by the processing unitwhether 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 unitis configured to determine whether the input-output knowledge graph comprises information about the plurality of relationships between the plurality of input parameter values received by the controller deviceand the first input parameter value or the second input parameter value.
424 202 124 124 124 202 110 124 110 124 124 124 At step, in a case where the input-output knowledge graph is determined to comprise information about the the first input parameter value or the second input parameter value, the processing unitis configured to query the input-output knowledge graph to generate at least one output parameter value. The at least one output parameter value is the parameter value which is likely to be generated by the controller device, after the first input parameter value or the second input parameter value are processed the controller device. The at least one output parameter value is simulated based on analysis the plurality of input-output parameter values received by the controller deviceduring execution of the engineering program. Furthermore, the at least one output parameter is simulated based on an analysis of information associated with the plurality of relationships between parameter values in the captured plurality of input-output parameter values. Thus, the processing unitis enabled to simulate the at least one output parameter value with accuracy. Thus, generation of the at least one output parameter value is performed in the digitalization platformrather than by the controller device. Thus, processing power spent for processing the first parameter value or the second parameter value is taken up by the digitalization platform, rather than the controller device. Thus, a processing load of the controller deviceis reduced. As a result, a processing capacity of the controller deviceis increased.
426 202 124 At step, it is determined by the processing unitwhether one of the first input parameter value or the second input parameter value is a critical data item. In one example, one of the first input parameter value or the second input parameter value is determined to be the critical data item based on an application of an artificial intelligence model on the first input parameter value and the second input parameter value. In a case where it is determined that the first parameter value or the second parameter value is a critical data item, the first input parameter value or the second input parameter value is processed in the controller device. In one example, the artificial intelligence model is trained to detect the critical data item based on a training data set comprising a plurality of critical data items.
428 202 202 124 124 124 At step, it is determined by the processing unitthat information about the first parameter value or the second parameter value is absent in the input-output knowledge graph. In such a case, the first parameter value or the second parameter value is transmitted by the processing unitto the controller device. The controller deviceis configured to process the first parameter value or the second parameter value based on the execution of the engineering program. Further, the controller deviceis configured to generate the at least one output parameter value from the first parameter value or the second parameter value by the execution of the engineering program.
430 202 124 108 At step, the generated at least one output parameter is transmitted by the processing unitfrom the controller device, to the plurality of industrial devicesA-N.
432 108 202 106 124 124 110 110 124 124 At step, the plurality of industrial devicesA-N are controlled by the processing unitbased on the transmitted at least one output parameter. Thus, the technical installationis run efficiently. Thus, the controller deviceonly has to process those parameter values which are not present in the input-output knowledge graph. Thus, processing load of the controller deviceis reduced significantly and majority of parameter value processing occurs in the digitalization platform. Thus, processing power spent for processing the first parameter value or the second parameter value is taken up by the digitalization platform, rather than the controller device. Thus, a processing load of the controller deviceis reduced.
434 202 436 202 At step, the generated at least one output parameter value is analyzed by the processing unit. At step, the input-output knowledge graph is modified by the processing unitbased 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 a relationship between the first input parameter value, the second parameter value and the at least one output parameter value is recorded in the input-output knowledge graph.
124 110 124 124 110 124 106 124 110 Thus, in a case where the controller deviceor the digitalization platformreceives a parameter value equal to the first input parameter value or the second parameter value in the future, an output parameter value is readily generated by querying the input-output knowledge graph. Thus, the processing load of the controller deviceis further reduced. Eventually, the input-output knowledge graph accumulates information associated with all possible parameter values which is likely to be received by the controller device. In such a case, the digitalization platformwill be enabled to generate a plurality of output parameter values for all possible combinations of input parameter values received by the controller device. Thus, a runtime of the technical installationis seamless transitioned from the controller deviceinto the digitalization platform.
436 124 202 112 202 124 124 124 202 At step, a plurality of programming blocks of the engineering program executed by the controller device, is analyzed by the processing unit. The data acquisition and analytics modulefurther causes the processing unitto determine a plurality of program execution parameters of the controller device. The plurality of program execution parameters comprise information about internal functioning of the controller deviceduring execution of the engineering program. For example, the plurality of program execution parameters comprises runtime information such as information about memory fragmentation, scan cycle nature, system resource utilization, and memory utilization of the controller device during the execution of the engineering program in the controller device. Further, an efficiency of execution of the engineering program by the controller deviceis determined by the processing unitbased on the plurality of program execution parameters.
438 202 202 440 202 442 202 124 At step, one or more programming blocks of the engineering program, are determined by the processing unitto be hampering efficiency of the execution of the engineering program, are determined by the processing unit. At step, the one or more programming blocks to be transformed are selected based on the processing unitbased on the determined efficiency of execution of the engineering program by the controller device. At step, the artificial intelligence model is applied by the processing uniton 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.
444 202 112 202 110 At step, the plurality of programming blocks are transformed by the processing unitbased on the application of the artificial intelligence model on the engineering program. The data acquisition and analytics modulefurther causes the processing unitto migrate the transformed plurality of programming blocks to the digitalization platform.
5 FIG.A-E 400 124 110 is a process flowchart illustrating an exemplary methodof seamlessly transitioning a runtime system from the controller deviceto the digitalization platform, according to an embodiment of the present invention.
502 124 202 124 122 At step, a first input-output knowledge graph comprising information about a plurality of relationships between a plurality of input-output parameter values which are transmitted or received by the controller device, are captured by the processing unit. The plurality of input-output parameter values comprises a plurality of input parameter values and a plurality of output parameter values. Examples of the plurality of input parameter values comprises parameter values received by the controller devicefrom the plurality of human machine interfacesA-N. The plurality of input parameter values comprises sensor data, user commands, and user inputs.
122 122 124 110 108 106 In one example, the plurality of input parameter values comprises a plurality of user actions performed by a user on the plurality of human machine interfacesA-N. Examples of the plurality of user actions comprises user commands, user inputs and user selections input by the user in an input device of the plurality of human machine interfacesA-N. The plurality of output parameter values comprises parameter values transmitted by the controller deviceand the digitalization platforminto the plurality of industrial devicesA-N in the technical installation.
124 The plurality of output parameter values comprises control signals transmitted by the controller devicebased on the reception of the plurality of user actions. The user may input the plurality of user actions to perform a task using the executed engineering program. The plurality of user actions are arranged as workflows. The user is enabled to execute a workflow comprising a set of user actions to perform the task. In one example, the task can be performed using one of a first workflow and a second workflow.
504 202 100 108 106 At step, the first workflow comprising a first set of user actions to perform a task using the engineering program is determined by the processing unit. In one example, the task is an engineering task which is performed via the engineering system. In another example, the task is a control task to control the plurality of industrial devicesA-N in the technical installation. The information associated with the first workflow is present in the first input-output knowledge graph. The information associated with the first workflow comprises information about a plurality of relationships between the first set of user actions in the first workflow. For example, the information about the plurality of relationships comprises information about a sequence in which each of the first set of user actions are executed.
506 202 At step, a second workflow comprising a second set of user actions to perform the same task using the engineering program is received by the processing unit. The second set of user actions is different from the first set of user actions. The information associated with the second workflow is present in a second input-output knowledge graph which is stored in a database. The second input-output knowledge graph comprises information about a sequence of user actions in the second workflow and also information about individual user actions in the second workflow.
508 202 At step, the first input-output knowledge graph is compared by the processing unitwith 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.
510 202 124 At step, a process efficiency of the first workflow and the second workflow is determined by the processing unitbased on the comparison. In one example, the process efficiency of the first workflow and the second workflow is determined by executing the first and second workflow on a digital twin of the controller device. The process efficiency of each of the first and second workflows is an indicator of efficiency with which a respective workflow completes the task.
512 202 At step, it is determined whether the process efficiency of the second workflow is greater than the process efficiency of the first workflow. In a case where the process efficiency of the second workflow is greater than that of the first workflow, the processing unitis configured to determine one or more knowledge graph instances in the second input-output knowledge graph which correspond to the second workflow.
514 202 516 202 104 126 124 110 104 At step, the determined one or more knowledge graph instances are received by the processing unitfrom the second input-output knowledge graph. At step, it is determined by the processing unitwhether at least one connectivity error is present in the network connectionbetween the plurality of sensor devicesA-N and one of the controller deviceor the digitalization platform. The at least one connectivity issue is determined based on an analysis of a plurality of network connection parameters associated with the network connection.
518 202 126 124 At step, if the connectivity error is determined to present, a first input parameter value is generated by the processing unitbased on an analysis of the modified input-output knowledge graph. The first input parameter value is a parameter value which is likely to be received from the plurality of sensor devicesA-N during execution of the engineering program. In one example, the first input parameter value comprises information about a user action which is likely to be received by the controller deviceduring execution of the engineering program.
520 104 202 126 At step, when it is determined that the connectivity error is absent in the network connection, a second input parameter value is received by the processing unitfrom the plurality of sensor devicesA-N. The second input parameter value is at least one of a control signal, a sensor data signal, and a user input from the first user.
522 202 524 202 202 202 At step, it is determined by the processing unitwhether one of the first or the second input parameter value is present in the first input output parameter value. At step, it is determined by the processing unitwhether a relationship between one of the first and the second input parameter value with any of the plurality of input-output parameter values is recorded in the first input-output knowledge graph. If the information about at least one of the first and the second input parameter value is present in the first input-output knowledge graph, the processing unitis configured to generate the at least one output parameter by simply querying the first input-output knowledge graph. In a case where the information about one of the first or the second input parameter value is absent in the first input-output knowledge graph, the processing unitis configured to determine whether the information about the first or the second input parameter is present in a second input-output knowledge graph stored in the database.
526 202 124 At step, in a case where it is determined that the information about the first or the second input parameter value is present in the second input-output knowledge graph, one or more knowledge graph instances within the second input-output knowledge graph are selected by the processing unit. The selected one or more knowledge graph instances comprises information about the first or the second input parameter value. The one or more knowledge graph instances further comprises information about one or more parameter values which are likely to be received by the controller device, in a future scan cycle of execution of the engineering program.
528 202 At step, the first input-output knowledge graph is analyzed by the processing unitto categorize a plurality of portions of the first input-output knowledge graph into an active section and a latent section. The active section comprises information about a first set of parameter values which are to be processed in a current scan cycle of execution of the engineering program. The latent section comprises information about a second set of parameter values which are to be processed in a future scan cycle of execution of the engineering program.
530 202 202 At step, the received one or more knowledge graph instances are mapped by the processing unitinto one of the active section or the latent section of the first input-output knowledge graph. Further, the received one or more knowledge graph instances are appended into the first input-output knowledge graph by the processing unitbased on a set of cognitive rules.
532 202 112 202 106 At step, at least one output parameter value is generated by the processing unitfrom the simulated first input parameter value. The data acquisition and analytics modulecauses the processing unitto transmit the generated at least one output parameter value to at least one device in the technical installation, to control the at least one device.
6 FIG. 124 110 106 illustrates an exemplary illustration of working of a system for transitioning a runtime system from a controller deviceto a digitalization platformin a technical installation, according to an embodiment of the present invention.
106 108 126 124 110 104 124 124 124 108 106 124 124 The technical installationcomprises a plurality of industrial devicesA-N and a plurality of sensor devicesA-N which are connected to the controller deviceand the digitalization platform, via the network connection. The controller deviceexecutes an engineering program. The engineering program comprises a plurality of programming instructions, which when executed by the controller device, causes the controller deviceto control the plurality of industrial devicesA-N to run the technical installationefficiently. A phase of operation of the controller device, in which the engineering program is being executed by the controller deviceis called a runtime system.
124 126 124 124 124 108 In one example, the controller deviceis configured to receive a plurality of sensor signals from the plurality of sensor devicesA-N. Examples of the plurality of sensor signals include, but is not limited to a pressure signal, a temperature signal and a light signal. During runtime of the engineering program in the controller device, the controller deviceis configured to feed the received plurality of sensor signals as input into the engineering program. The controller deviceis further configured to generate a plurality of output signals to control the plurality of industrial devicesA-N. The plurality of output signals are generated based on the processed plurality of sensor signals.
202 124 126 202 124 108 The processing unitis configured to capture the plurality of sensor signals received by the controller devicefrom the plurality of sensor devicesA-N. The processing unitis further configured to capture the plurality of output signals transmitted by the controller deviceto the plurality of industrial devicesA-N.
202 202 202 The processing unitis 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 unitis 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 unitis further configured to determine a third set of relationships between the plurality of sensor signals and the plurality of output signals.
202 202 202 The processing unitis further configured to generate an input knowledge graph from the first set of relationships between signals in the plurality of sensor signals. The processing unitis further configured to generate an output knowledge graph from the second set of relationships between signals in the plurality of output signals. The processing unitis further configured to generate an input output correspondence knowledge graph based on the third set of relationships between the plurality of sensor signals and the plurality of output signals.
202 124 202 124 202 124 124 202 By querying the input knowledge graph, the processing unitis configured to predict a sensor signal which is likely to be received by the controller devicein a given time interval. By querying the output knowledge graph, the processing unitis enabled to predict an output signal which is likely to be transmitted by the controller devicein the given time interval. By querying the input output correspondence knowledge graph, the processing unitis enabled to predict the output signal which is likely to be transmitted by the controller devicewhen the controller devicereceives a specific sensor signal. The processing unitis 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.
202 104 124 202 124 104 124 126 202 126 The processing unitis configured to determine whether at least one connectivity error is present in the network connection. In a case where the at least one connectivity error is present, real time reception of the plurality of sensor signals at the controller devicemay be interrupted. In such a scenario, the processing unitis configured to query the input knowledge graph to determine a first sensor signal which is likely to be received by the controller deviceduring a time interval in which the at least one connnectivity error is present in the network connection. Thus, in a case where the controller deviceis unable to receive the plurality of sensor signals from the plurality of sensor devicesA-N, the processing unitgenerates the first sensor signal which is likely to be received from the plurality of sensor devicesA-N.
104 124 202 126 In a case where the at least one connectivity error is determined to be absent in the network connection, at least one of the controller deviceor the processing unitis configured to receive a second sensor signal from the plurality of sensor devicesA-N.
202 202 202 The processing unitis further configured to determine whether information about at least one of the first or the second sensor signal is present in the input-output knowledge graph. In other words, the processing unitdetermines whether the processing unitis enabled to generate an output signal corresponding to at least one of the first or the second sensor signal, by querying the input-output knowledge graph.
202 114 106 In a case where the information about at least one of the first or the second sensor signal is absent in the input-output knowledge graph, the processing unitdetermines whether the information about at least one of the first 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 the databasewhich is external to the technical installation.
202 In a case where the information about at least one of the first or the second sensor signal is present in the external input-output knowledge graph, the processing unitis configured to determine one or more knowledge graph instances, in the external input-output knowledge graph. The determined one or more knowledge graph instances comprises information about at least one of the first or the second sensor signal.
202 7 14 FIG.to The processing unitis further configured to modify the input-output knowledge graph by appending the one or more knowledge graph instances to the input-output knowledge graph based on a set of cognitive rules. The modification of the input-output knowledge graph is explained in detail with reference to.
202 700 702 702 702 124 202 702 704 706 124 124 704 710 706 708 7 FIG. 7 FIG. 7 FIG. To modify the input-output knowledge graph, the processing unitis configured to analyze the input-output knowledge graph to determine an active section and a latent section of the input-output knowledge graph. Referring to,illustrates the input-output knowledge graph. In the input-output knowledge graph comprises a plurality of nodes.further illustrates a portionA of a plurality of portions of the input-output knowledge graph. The portionA comprises information about a first set of sensor signals of the plurality of sensor signals received by the controller device. The processing unitis configured to classify a plurality of nodes of the portionA into an active sectionand a latent section. The active section comprises information about one or more sensor signals which is likely to be received by the controller deviceduring execution of the engineering program. The latent section comprises information about one or more sensor signals which is not likely to be received during the execution of the engineering program by the controller device. The active sectioncomprises a first set of nodes. The latent sectioncomprises a second set of nodes.
704 124 106 706 124 106 In another example, the active sectioncomprises information associated with sensor signals which are currently required by the controller deviceto smoothly execute the engineering program and run the technical installationefficiently. The latent sectioncomprises information associated with sensor signals which are required by the controller deviceat a later point in time to smoothly execute the engineering program and run the technical installationefficiently.
8 FIG. 8 FIG. 9 FIG. 9 FIG. 802 700 802 700 Referring to,illustrates a knowledge graph instancefrom the external input-output knowledge graph added into the input-output knowledge graph. Referring to,illustrates the knowledge graph instancebeing appended into the input-output knowledge graphbased on the set of cognitive rules. Examples of the set of cognitive rules includes, but is not limited to a “learn immediately” rule, an “always learn rule”, and a “forget to learn” rule.
9 FIG. 9 FIG. 802 700 Referring to, theillustrates the knowledge graph instancebeing appended to the input-output knowledge graphbased on the “learn immediately rule” of the set of cognitive rules.
802 704 700 In accordance with the “learn immediately rule”, the one or more knowledge graph instancesare appended to the active sectionof the input-output knowledge graph. Thus, information about at least one of the first sensor signal and the second sensor signal are appended and included in the input-output knowledge graph.
6 FIG. 110 124 Referring back to, the input-output knowledge graph is modified to include information which is derived from the external input-output knowledge graph. Thus, the digitalization platformnot only learns from the plurality of sensor signals received by the controller device, but also from knowledge graphs stored in external databases.
202 202 108 108 110 700 The processing unitis 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 unitis further configured to transmit the generated output signal to the plurality of industrial devicesA-N, to control the plurality of industrial devicesA-N. Thus, the digitalization platformis configured to generate output signals for all sensor signals which are covered in the input-output knowledge graphand the external input-output knowledge graph.
202 124 124 202 108 108 124 202 In a case where the information about at least one of the first or the second sensor signal is present in the external input-output knowledge graph, the processing unitis configured to transmit at least the first or the second sensor signal to the controller devicefor processing. The controller deviceis configured to generate the output signal. The processing unitis further configured to transmit the generated output signal to the plurality of industrial devicesA-N, to control the plurality of industrial devicesA-N. Furthermore, the output signal generated by the controller deviceis analyzed by the processing unit. Furthermore, the input-output knowledge graph is modified based on the analysis.
202 Thus, the input-output knowledge graph is modified to include information about the first or the second sensor signal, and the output signal. Thus, in a case where information about the first or the second sensor signal is absent in the input-output knowledge graph or the external input-output knowledge graph, the processing unitis configured to modify the input-output knowledge graph to include information about the first or the second sensor signal.
124 124 110 Thus, eventually, the input-output knowledge graph accumulates information about all possible combinations of the plurality of sensor signals which is likely to be received by the controller device. As a result, the runtime of the engineering program is completely transitioned from the controller deviceto the digitalization platform.
10 FIG. 124 110 106 illustrates an exemplary illustration of working of a system for transitioning a runtime system from a controller deviceto a digitalization platformin a technical installation, according to an embodiment of the present invention.
106 108 120 124 110 104 124 124 108 106 124 120 The technical installationcomprises a plurality of industrial devicesA-N and a plurality of human machine interfaces (HMI)A-N which are connected to the controller deviceand the digitalization platform, via the network connection. The controller deviceexecutes an engineering program. The engineering program comprises a plurality of programming instructions, which when executed by the controller device, causes the controller device to control the plurality of industrial devicesA-N to run the technical installationefficiently. The controller deviceis configured to receive a plurality of user inputs from a user via the plurality of hmisA-N. The plurality of user inputs comprises user commands, user gestures, and other forms of user inputs.
In one example, the plurality of user inputs comprises a set of programming instructions. In such a scenario, the plurality of programing instructions in the engineering program is replaced with the set of programming instructions received from the user.
120 108 In another example, the plurality of user inputs comprises a first set of user actions, performed by the user, on the plurlaity of hmisA-N, to control the plurality of industrial devicesA-N.
124 108 The controller deviceis further configured to generate a plurality of output signals to control the plurality of industrial devicesA-N. The plurality of output signals are generated based on the processed plurality of user inputs.
202 124 120 202 124 108 124 The processing unitis configured to capture the plurality of user inputs received by the controller devicefrom the plurality of hmisA-N. The processing unitis further configured to capture the plurality of output signals transmitted by the controller deviceto the plurality of industrial devicesA-N, based on the reception of the plurality of user inputs at the controller device.
202 202 202 The processing unitis 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 unitis 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 unitis further configured to determine a third set of relationships between the plurality of user inputs and the plurality of output signals.
202 202 202 The processing unitis further configured to generate an input knowledge graph from the first set of relationships between the plurality of user inputs. The processing unitis further configured to generate an output knowledge graph from the second set of relationships between signals in the plurality of output signals. The processing unitis further configured to generate an input output correspondence knowledge graph based on the third set of relationships between the plurality of user inputs and the plurality of output signals.
202 124 202 124 202 124 124 202 By querying the input knowledge graph, the processing unitis enabled to predict a user input which is likely to be received by the controller devicein a given time interval. By querying the output knowledge graph, the processing unitis enabled to predict an output signal which is likely to be transmitted by the controller devicein the given time interval. By querying the input output correspondence knowledge graph, the processing unitis enabled to predict the output signal which is likely to be transmitted by the controller devicewhen the controller devicereceives a specific user input. The processing unitis 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.
202 104 124 202 124 104 124 120 202 120 The processing unitis configured to determine whether at least one connectivity error is present in the network connection. In a case where the at least one connectivity error is present, real time reception of the plurality of user inputs at the controller devicemay be interrupted. In such a scenario, the processing unitis configured to query the input knowledge graph to determine a first user input which is likely to be received by the controller deviceduring a time interval in which the at least one connnectivity error is present in the network connection. Thus, in a case where the controller deviceis unable to receive the plurality of user inputs from the plurality of human machine interfacesA-N, the processing unitgenerates the first user input which is likely to be received from the plurality of hmisA-N.
104 124 202 120 In a case where the at least one connectivity error is determined to be absent in the network connection, at least one of the controller deviceor the processing unitis configured to receive a second user input from the plurality of hmisA-N.
202 202 202 The processing unitis further configured to determine whether information about at least one of the first or the second user input is present in the input-output knowledge graph. In other words, the processing unitdetermines whether the processing unitis enabled to generate an output signal corresponding to at least one of the first or the second user input, by querying the input-output knowledge graph.
202 106 In a case where the information about at least one of the first or the second user input is absent in the input-output knowledge graph, the processing unitdetermines whether the information about at least one of the first 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 which is external to the technical installation.
202 In a case where the information about at least one of the first or the second user input is present in the external input-output knowledge graph, the processing unitis configured to determine one or more knowledge graph instances, in the external input-output knowledge graph. The determined one or more knowledge graph instances comprises information about at least one of the first or the second user input.
202 11 14 FIG.to The processing unitis further configured to modify the input-output knowledge graph by appending the one or more knowledge graph instances to the input-output knowledge graph based on a set of cognitive rules. Thus, the modified input-output knowledge graph comprises information about a plurality of relationships of the first and the second user input, with the captured plurality of user inputs and the captured plurality of output signals. The modification of the input-output knowledge graph is explained in detail with reference to.
202 700 704 706 700 To modify the input-output knowledge graph, the processing unitis configured to analyze the input-output knowledge graphto determine the active sectionand the latent sectionof the input-output knowledge graph.
124 124 124 In a case where the plurality of user inputs are programming instructions entered by the user, the active section comprises information which is required by the controller deviceto execute one or more tasks using the engineering program. The latent section comprises information which is required by the controller deviceat a later point in time during the execution of the controller device.
11 FIG. 11 FIG. 12 FIG. 12 FIG. 802 700 802 700 Referring to,illustrates a knowledge graph instancefrom the external input-output knowledge graph added into the input-output knowledge graph. Referring to,illustrates the knowledge graph instancebeing appended into the input-output knowledge graphbased on the set of cognitive rules.
12 FIG. 12 FIG. 802 700 Referring to, theillustrates the knowledge graph instancebeing appended to the input-output knowledge graphbased on the “forget to learn” rule of the set of cognitive rules.
1 2 3 700 802 1 2 3 700 In accordance with the “forget to learn” rule, a set of nodes (C, C, and C) are first removed from the input-output knowledge graph. Furthermore, the one or more knowledge instancesare appended in place of the set of nodes (C, C, and C). Thus, information about at least one of the first user input and the second user input are appended and included in the input-output knowledge graph.
13 FIG. 13 FIG. 804 700 804 Referring to,illustrates an additional knowledge graph instancefrom the external input-output knowledge graph added into the modified input-output knowledge graph. The additional knowledge graphcomprises further information about the first user input and the second user input.
14 FIG. 14 FIG. 802 700 Referring to,illustrates the knowledge graph instancebeing appended into the input-output knowledge graphbased on the set of cognitive rules.
25 802 700 14 FIG. 14 FIG. Referring to, theillustrates the knowledge graph instancebeing appended to the input-output knowledge graphbased on the “learn later” rule of the set of cognitive rules.
802 706 704 700 804 802 700 In accordance with the “learn later” rule, the one or more knowledge graph instanceaare first moved from the latent sectionto the active sectionof the input-output knowledge graph. Furthermore, the additional one or more knowledge instancesare appended to the one or more knowledge graph instancesof the input-output knowledge graph.
10 FIG. 110 124 Referring back to, the input-output knowledge graph is modified to include information which is derived from the external input-output knowledge graph. Thus, the digitalization platformnot only learns from the plurality of user input received by the controller device, but also from the one or more knowledge graphs stored in external databases.
202 202 108 108 110 700 The processing unitis 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 unitis further configured to transmit the generated output signal to the plurality of industrial devicesA-N, to control the plurality of industrial devicesA-N. Thus, the digitalization platformis configured to generate output signals for all user input which are covered in the input-output knowledge graphand the external input-output knowledge graph.
202 124 124 202 108 108 124 202 In a case where the information about at least one of the first or the second user input is absent in the external input-output knowledge graph, the processing unitis configured to transmit at least the first or the second sensor signal to the controller devicefor processing. The controller deviceis configured to generate the output signal. The processing unitis further configured to transmit the generated output signal to the plurality of industrial devicesA-N, to control the plurality of industrial devicesA-N. Furthermore, the output signal generated by the controller deviceis analyzed by the processing unit. Furthermore, the input-output knowledge graph is modified based on the analysis.
202 Thus, the input-output knowledge graph is modified to include information about the first or the second sensor signal, and the output signal. Thus, in a case where information about the first or the second user input is absent in the input-output knowledge graph or the external input-output knowledge graph, the processing unitis configured to modify the input-output knowledge graph to include information about the first or the second user input.
124 124 110 Thus, eventually, the input-output knowledge graph accumulates information about all possible combinations of the plurality of user inputs which is likely to be received by the controller device. As a result, the runtime of the engineering program is completely transitioned from the controller deviceto the digitalization platform.
Embodiments of the present invention can take a form of a computer program product (non-transitory computer readable storage medium having instructions, which when executed by a processor, perform actions) comprising program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processors, or instruction execution system. For the purpose of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation mediums in and of themselves as signal carriers are not included in the definition of physical computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, random access memory (RAM), a read only memory (ROM), a rigid magnetic disk and optical disk such as compact disk read-only memory (CD-ROM), compact disk read/write, and DVD. Both processors and program code for implementing each aspect of the technology can be centralized or distributed (or a combination thereof) as known to those skilled in the conventional art.
Although the present invention has been disclosed in the form of embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.
For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 17, 2023
June 16, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.