IP Library Granted Patent US 11,635,980
Granted Patent B2
US 11,635,980 · App. 16/577,053 · Granted Apr 25, 2023

Modular process control system

Inventors: Mark J. Nixon (Round Rock, TX); Anthony Amaro, Jr. (Cedar Park, TX)
Assignee: FISHER-ROSEMOUNT SYSTEMS, INC.
G06F9/45558G06F8/63G06F9/505G06F9/541G06F2009/4557G06F2009/45591
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,635,980
App. No.
16/577,053
Granted
Apr 25, 2023
Kind
B2
Abstract

In one aspect, a micro-service control architecture provides a modular, flexible platform for designing, diagnosing, updating and/or expanding process control systems. Each service is containerized to provide portability and isolation from other components of the process control system. In another aspect, a function block diagram includes a “shadow” block that acts as an interface to an external, custom calculation engine, thereby enabling the custom calculation engine to operate synchronously with respect to other function blocks of the function block diagram.

Claims (100)

1. A method of implementing a modular control system architecture, the method comprising:

deploying a plurality of containerized, independently-executable control system services configured to execute different functions associated with a process control system that implements a physical process in a field environment of a process plant, each of the plurality of control system services providing a respective interface that defines interactivity with other control system services, wherein the respective interfaces of the plurality of control system services are respective application programming interfaces (APIs), and wherein all interdependencies between the plurality of control system services are marginalized to the respective APIs of the plurality of control system services;

controlling, monitoring and/or analyzing the physical process, at least in part by exchanging messages between the plurality of control system services via a service message bus, the exchanged messages conforming to the respective interfaces of the plurality of control system services; and

implementing a decentralized discovery procedure, at least in part by:

for each service of the plurality of control system services, notifying, by a respective physical device that hosts the service, all other services of the plurality of control system services that the service is available.

2. The method of claim 1 , wherein deploying the plurality of control system services includes deploying each of the plurality of control system services as an instance of a Docker image.

3. The method of claim 1 , wherein deploying the plurality of control system services includes deploying each of the plurality of control system services as an instance of an LXD image.

4. The method of claim 1 , wherein deploying the plurality of control system services includes deploying each of the plurality of control system services as a Windows container.

5. The method of claim 1 , wherein deploying the plurality of control system services includes deploying each of the plurality of control system services as a BSD jail or a chroot jail.

6. The method of claim 1 , wherein deploying the plurality of control system services includes deploying each of the plurality of control system services as a virtual machine.

7. The method of claim 1 , comprising implementing a centralized discovery procedure, at least in part by:

maintaining, by at least one physical device of the process control system, a registry that records each control system service added to the process control system; and

notifying, by the at least one physical device, each of the plurality of control system services when a new control system service is added to the registry.

8. The method of claim 1 , wherein each service of the plurality of control system services is associated with a different database containing information specific to the service.

9. The method of claim 1 , wherein deploying the plurality of control system services includes deploying a database service that provides other control system services with access to a shared database.

10. The method of claim 1 , wherein exchanging the messages between the plurality of control system services via the service message bus includes exchanging the messages using a service message router of the process control system.

11. The method of claim 10 , comprising:

exchanging additional messages between (i) at least one of the plurality of control system services and (ii) at least one control system service deployed in another process control system, wherein exchanging the additional messages includes exchanging the additional messages using the service message router of the process control system and a service message router of the other process control system.

12. The method of claim 10 , wherein:

deploying the plurality of control system services includes encapsulating a first service of the plurality of control system services within a second service of the plurality of control system services, at least in part by creating an instance of the service message router within the second service.

13. The method of claim 1 , wherein:

the process control system includes a plurality of physical devices; and

deploying the plurality of control system services includes, for each service of the plurality of control system services, creating an instance of an image corresponding to the service at a respective one of the plurality of physical devices.

14. The method of claim 13 , wherein each physical device hosting one of the plurality of control system services implements a respective service host entity that manages redundancy lifecycle of the control system service hosted by the physical device.

15. The method of claim 1 , wherein the process control system includes a plurality of physical devices, and wherein the method comprises:

migrating a first service of the plurality of control system services from a first device of the plurality of physical devices to a second device of the plurality of control system services, at least in part by creating an instance of an image corresponding to the first service at the second device.

16. The method of claim 1 , wherein the process control system includes a plurality of physical devices, and wherein deploying the plurality of control system services includes:

creating a plurality of instances corresponding to a first service of the plurality of control system services at respective devices of the plurality of physical devices.

17. The method of claim 16 , wherein controlling, monitoring and/or analyzing the physical process includes:

implementing, collectively by the respective devices, the first service in parallel, in a load-balanced manner.

18. The method of claim 16 , wherein controlling, monitoring and/or analyzing the physical process includes:

implementing the first service at a first device of the respective devices; and

in response to a failure of the first device, implementing the first service at a second device of the respective devices.

19. The method of claim 1 , wherein exchanging the messages between the plurality of control system services via the service message bus includes exchanging the messages via one or more communication networks associated with one or more respective communication protocols, and wherein the messages conform to a service-based control protocol that is independent of the one or more respective communication protocols.

20. The method of claim 19 , wherein the one or more communication networks include a wireless communication network.

21. The method of claim 1 , wherein the plurality of control system services includes two or more services selected from the group consisting of:

a control logic service;

a control execution service;

a control communication service; and

a control configuration service.

22. The method of claim 21 , wherein the plurality of control system services includes one or more services selected from the group consisting of:

an operator console service;

an alarm management service;

an event management service;

a diagnostic service;

a remote access service;

an edge gateway service;

an input/output service;

a data historian service;

an external and/or peripheral input/output translation service;

a key performance indication service;

a data monitoring service;

a machine learning service;

an artificial intelligence (AI) service;

a message pass-through service; and

a safety logic service.

23. The method of claim 21 , wherein:

the plurality of control system services includes the control logic service; and

deploying the plurality of control system services includes (i) obtaining an image of the control logic service from a third party via an Internet link, and (ii) creating an instance of the image of the control logic service at a physical device of the process control system.

24. A process control system comprising:

a plurality of physical devices, including one or more field devices configured to perform physical operations within a physical process in a field environment of a process plant, wherein the physical process is implemented by the process control system; and

one or more communication networks that communicatively couple at least some of the plurality of physical devices to each other and support a service message bus,

wherein

one or more devices of the plurality of physical devices collectively host a plurality of containerized, independently-executable control system services configured to execute different functions associated with the process control system, each of the plurality of control system services providing a respective interface that defines interactivity with other control system services, wherein the respective interfaces of the plurality of control system services are respective application programming interfaces (APIs), and wherein all interdependencies between the plurality of control system services are marginalized to the respective APIs of the plurality of control system services,

the process control system controls, monitors and/or analyzes the physical process the physical process at least in part by the plurality of control system services exchanging messages via the service message bus, the exchanged messages conforming to the respective interfaces of the plurality of control system services, and

for each service of the plurality of control system services, the respective device that hosts the service notifies all other services of the plurality of control system services that the service is available.

25. The process control system of claim 24 , wherein each of the plurality of control system services is an instance of a Docker image or an instance of an LXD image.

26. The process control system of claim 24 , wherein deploying the plurality of control system services includes deploying each of the plurality of control system services as a Windows container, a BSD jail, a chroot jail, or a virtual machine.

27. The process control system of claim 24 , wherein:

at least one device of the plurality of physical devices hosts a registry that records each control system service added to the process control system; and

the at least one device notifies each of the plurality of control system services when a new control system service is added to the registry.

28. The process control system of claim 24 , comprising:

for each service of the plurality of control system services, a respective memory associated with the respective device that hosts the service, wherein the respective memory stores a database containing information specific to the service.

29. The process control system of claim 24 , wherein the plurality of control system services includes a database service that provides other control system services with access to a shared database.

30. The process control system of claim 24 , wherein:

one of the plurality of physical devices implements a service message router; and

the plurality of control system services exchange the messages via the service message bus using the service message router.

31. The process control system of claim 24 , wherein each physical device hosting one of the plurality of control system services implements a respective service host entity that manages redundancy lifecycle of the control system service hosted by the physical device.

32. The process control system of claim 24 , wherein the one or more communication networks include a wireless communication network.

33. The process control system of claim 24 , wherein the plurality of control system services includes two or more services selected from the group consisting of:

a control logic service;

a control execution service;

a control communication service; and

a control configuration service.

34. The process control system of claim 33 , wherein the plurality of control system services includes one or more services selected from the group consisting of:

an operator console service;

an alarm management service;

an event management service;

a diagnostic service;

a remote access service;

an edge gateway service;

an input/output service;

a data historian service;

an external and/or peripheral input/output translation service;

a key performance indication service;

a data monitoring service;

a machine learning service;

an artificial intelligence (AI) service;

a message pass-through service; and

a safety logic service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2019
From: NIXON, MARK J.; AMARO, ANTHONY, JR.
To: FISHER-ROSEMOUNT SYSTEMS, INC.
Reel/Frame 051340/0787 →
Continuity (1)
Related Publication 20210089354A1 · Mar 25, 2021
Cited By (1)
US 12,197,192