Gateway system with contextualized process plant knowledge repository
A gateway system securely delivers and exposes data generated by and/or related to a process plant for consumption by external systems, and includes an edge-facing component that receives process plant-related data from a process plant via a field-facing component of the system. The received data may comport with an exposable data type system utilizing a syntax known to the external systems. The edge-facing component stores the received data in a data lake, and mines the data lake to thereby discover relationships between stored data points. Indications of the received data and the discovered interrelationships are stored in a contextualized process plant knowledge repository, such as a graph database, that is accessible to the external systems and other systems and applications via one or more access mechanisms, which may include utilities, services, servers, and/or applications. Some of the access mechanisms allow external applications to be installed at the edge-facing component.
1 . A method for external devices to securely interact with a process control system of a process plant, the method comprising:
receiving, by a gateway system of the process control system during runtime of an industrial process being controlled by the process control system, process content data generated by the process control system, and storing the received process content data in a data lake;
storing, by the gateway system and in a knowledge repository, both (i) the process content data from the data lake and (ii) context data, determined by mining the process content data in the knowledge repository to discover relationships between different process content data points in the knowledge repository, indicative of the relationships between the process content data, the knowledge repository being implemented as a connected domain wherein mined process content data from the data lake corresponds to connected domain nodes in the knowledge repository and discovered relationships between at least two points of mined process content data corresponds to connected domain connectors between connected domain nodes in the knowledge repository;
obtaining a data set from the knowledge repository responsive to a query, of the knowledge repository, for at least some of the process content data generated by the process control system; and
providing, by the gateway system, the data set to an external application executing on one or more computing devices external to cybersecurity barriers of the process control system.
2 . The method of claim 1 , wherein the gateway system includes an edge-facing component and a field-facing component, and the process content data is received at the edge-facing component from the field-facing component along with a collection of exposable data types, the exposable data types are different than and determined based on one or more field configurations of the process plant.
3 . The method of claim 2 , wherein the collection of exposable data types includes at least one of: a float data type, a float with status data type, a signed integer type, an unsigned integer type, a mode data type, an enumeration data type, or a function block data type.
4 . The method of claim 2 , wherein the process content data includes publications of the process content data that are published by the field-facing component and subscribed to by the edge-facing component.
5 . The method of claim 2 , wherein the knowledge repository stores transformations of the process content data in accordance with the collection of exposable data types.
6 . The method of claim 5 , further comprising:
storing the transformations of the process content data in a data lake; and
mining the data lake to discover the relationships between the transformations of the process content data.
7 . The method of claim 1 , wherein providing the data set to the external application includes providing the data set to at least one of:
a user interface application executing on a computing device of an operator of the process control system or the process plant; or
an enterprise application executing on one or more remote computing devices, the enterprise application provided by an enterprise associated with the process control system.
8 . A gateway system for securely delivering, from a process plant, knowledge related to the process plant for consumption by one or more external applications and/or systems, the gateway system comprising:
a knowledge repository storing, as a connected domain, both (i) process content data related to an industrial process, the process content data obtained from a data lake, and (ii) context data, determined by mining the process content data stored in the knowledge repository to discover relationships between different process content data points in the knowledge repository, indicative of the relationships between the process content data, wherein mined process content data from the data lake corresponds to connected domain nodes in the knowledge repository and discovered relationships between at least two points of mined process content data corresponds to connected domain connectors between connected domain nodes in the knowledge repository;
an edge-facing component that is communicatively connected to the knowledge repository and a field-facing component of the gateway system, the field-facing component communicatively connected to the process plant executing an industrial process, and the edge-facing component including one or more processors, and one or more non-transitory memories, and the one or more non-transitory memories including instructions that, when executed by the one or more processors, cause the edge-facing component to:
obtain a data set responsive to a query of the knowledge repository; and
provide the data set to an external application executing on one or more computing devices external to cybersecurity barriers of the process plant.
9 . The gateway system of claim 8 , wherein the process content data is received at the edge-facing component from the field-facing component along with a collection of exposable data types.
10 . A process control system with context-based search capability, the process control system comprising:
a plurality of field devices operating to produce a product;
a process controller executing, using inputs received from the plurality of field devices, a plurality of control modules, the control modules generating control outputs to cause the field devices to produce the product, which control outputs are transmitted by the controller to the plurality of field devices;
a data lake receiving data from at least the process controller, the received data including at least configuration data of the process control system, the inputs received from the plurality of field devices and the control outputs transmitted by the controller;
a contextual knowledge miner configured to discover relationships among at least two data points stored in the data lake;
a contextual knowledge repository configured to store, as a graph database, both the discovered relationships and contents of the data lake, wherein the contents of the data lake correspond to nodes of the graph database and the discovered relationships correspond to connectors of the graph database; and
a search engine configured to receive a search query and to use at least the contextual knowledge repository to generate a search result in response to the search query.
11 . The process control system according to claim 10 , wherein the data lake receives the data from the process controller through a data diode, the data diode being a unidirectional data diode configured to prevent any flow of both signaling and payload data from the data lake side of the data diode to the process controller side of the data diode.
12 . The process control system according to claim 10 , wherein the contextual knowledge repository is exposable to one or more external, data-consuming systems.
13 . The process control system according to claim 10 , wherein the contextual knowledge miner modifies and updates the contextual knowledge repository.
14 . The process control system according to claim 10 , wherein the data lake, the contextual knowledge miner, and the contextual knowledge repository are disposed in an edge gateway.
15 . The process control system according to claim 10 , further comprising one or more mechanisms to access the discovered relationships stored in contextual knowledge repository, the one or more mechanisms comprising at least one of:
one or more application programming interfaces (APIs);
one or more queuing services;
one or more data transfer services;
one or more query engines;
one or more containers;
one or more streaming services;
one or more run-time services;
one or more request/response access mechanisms;
one or more publish/subscribe access mechanisms;
one or more event-driven access mechanisms;
a data lake replication mechanism; or
a contextual process plant knowledge repository replication mechanism.
16 . The process control system according to claim 10 , wherein the contextual knowledge repository stores transformations of the received data in accordance with a collection of exposable data types.
17 . The process control system according to claim 10 , further comprising an exposable data type system defining names, mappings, conversions, groupings, value assignments, and/or other arrangements of process plant-related or field data types into the exposable data types so that process plant-related data content may be utilized and understood by external, data-consuming systems.
18 . The method according to claim 1 , wherein:
a connected domain node of the knowledge repository corresponds to a name or a label of the process content data stored in the data lake; and
one or more properties stored at the connected domain node include respective one or more parameters, values, or states corresponding to the name or label.
19 . The gateway system of claim 8 , wherein:
a connected domain node of the knowledge repository corresponds to a name or a label of the process content data stored in the data lake; and
one or more properties stored at the connected domain node include respective one or more parameters, values, or states corresponding to the name or label.
20 . The process control system according to claim 10 , wherein:
a connected domain node of the knowledge repository corresponds to a name or a label of the process content data stored in the data lake; and
one or more properties stored at the connected domain node include respective one or more parameters, values, or states corresponding to the name or label.