Allocating automation functions within an IIoT architecture › wp-content › uploads ›...

24
Advances in Process Automation and Control 2017 12–14 June 2017, Birmingham, UK Allocating automation functions within an IIoT architecture Spiro Control Ltd - Private & confidential

Transcript of   Allocating automation functions within an IIoT architecture › wp-content › uploads ›...

Page 1:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Advances in Process Automation and Control 201712–14 June 2017, Birmingham, UK

Allocating automation functions within an IIoT architecture

Spiro Control Ltd - Private & confidential

Page 2:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Traditional Purdue Reference Architecture IIoT Architecture

Spiro Control Ltd - Private & confidential

Edge computing architecture

Page 3:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Security

• Scalabilityo Flexible ‘plug and play’ design

• Open Standardso Interoperabilityo Portability

• Programmability

• Reliability, Availability, and Serviceability

Client Server Publish Subscribe

Communication Standards

• OPC-UA

• MQTT / AMQP

Programming Standards

• IEC61131-3

• PLCopen

Edge computing architecture

Spiro Control Ltd - Private & confidential

Page 4:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Large scale systems consist of complex networks of interconnected and interacting subsystems

• Examples:• Integrated process plants

• Utility networks (Electrical, Gas, Water)

• Buildings

• There is often significant benefit to be gained through optimisation of the complete system rather than treating it as series of distributed subsystems

• IIoT architectures provide an opportunity to better control larger and more geographically dispersed systems

Using IIoT to control large scale systems

Spiro Control Ltd - Private & confidential

Page 5:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Single centralized MPC

• Global objective function

• Stable for any interacting systems

• Complex & Inflexible

• Pareto optimal

• Benchmark solution

MPCmin V (u1, u2, …)

Centralised control

Spiro Control Ltd - Private & confidential

Page 6:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Each subsystem is controlled by a separate independent MPC

• Each MPC solves a local objective function

• No inter-controller communication

• MPC’s should be large enough to account for strong system interactions

• Not stable for strongly interacting subsystems

• Not globally optimal

MPC 1min V1 (u1)

MPC 3min V3 (u3)

MPC 5min V5 (u5)

MPC 2min V2 (u2)

MPC 4min V4 (u4)

Decentralised control

Spiro Control Ltd - Private & confidential

Page 7:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Each subsystem is controlled by a separate independent MPC

• Each MPC solves a local objective function

• Each MPC shares its move plan with other MPC’s

• A centralised coordinator may be used to coordinate steady state objectives

• MPC’s should be large enough to account for strong system interactions

• Not stable for strongly interacting subsystems

• Nash equilibrium

MPC 1min V1 (u1,u2..)

MPC 3min V3 (u1,u2..)

MPC 5min V5 (u1,u2..)

MPC 2min V2 (u1,u2..)

MPC 4min V4 (u1,u2..)

Centralised Coordinator (SS Optimizer)

Decentralised control with centralised coordinator

Spiro Control Ltd - Private & confidential

Page 8:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Each subsystem is controlled by a separate independent MPC

• All controllers share a common objective function

• Each MPC shares its move plan with other controllers

• Stable for strongly interacting subsystems

• Stability is independent of MPC size and design

• High flexibility

• MPC’s can have different execution frequencies

• Pareto optimal (with sufficient iterations)

MPC 1min V (u1,u2..)

MPC 3min V (u1,u2..)

MPC 5min V (u1,u2..)

MPC 2min V (u1,u2..)

MPC 4min V (u1,u2..)

Message Broker

Cooperative control

Spiro Control Ltd - Private & confidential

Page 9:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Each subsystem is controlled by a separate independent MPC

• All controllers share a common objective function

• Each MPC shares its move plan with other controllers

• Stable for strongly interacting subsystems

• Stability is independent of MPC size and design

• High flexibility

• MPC’s can have different execution frequencies

• Pareto optimal (with sufficient iterations)

MPC 1min V (u1,u2..)

MPC 3min V (u1,u2..)

MPC 5min V (u1,u2..)

MPC 2min V (u1,u2..)

MPC 4min V (u1,u2..)

Message Broker

Cooperative control

Spiro Control Ltd - Private & confidential

Page 10:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Consider a simple plant with two subsystems:

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 =

𝑖=1

𝑁−11

2[𝑥𝑖 , 𝑢𝑖]𝑖

𝑇𝐻𝑖[𝑥𝑖 , 𝑢𝑖]𝑖 + 𝑓𝑖𝑇[𝑥𝑖 , 𝑢𝑖]𝑖 + [𝑥𝑖 , 𝑢𝑖]𝑁

𝑇𝐻𝑁[𝑥𝑖 , 𝑢𝑖]𝑁

𝑃𝑖[𝑥𝑖 , 𝑢𝑖] ≤ 𝑏𝑖𝑥𝑖+1 = 𝐴𝑥𝑖 + 𝐵1𝑢𝑖 + 𝐵2𝑢2

𝑇ℎ𝑖𝑠 𝑐𝑎𝑛 𝑏𝑒 𝑠𝑜𝑙𝑣𝑒𝑑 𝑏𝑦 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑛𝑔 𝑜𝑣𝑒𝑟 𝑡ℎ𝑒 𝑓𝑜𝑙𝑙𝑜𝑤𝑖𝑛𝑔 𝑠𝑡𝑒𝑝𝑠:

Step 1. 𝑆𝑒𝑡 𝑢2 = 𝑢2𝑝

: min𝑢1

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 → 𝑢1∗, 𝑢2

𝑝

Step 2. 𝑆𝑒𝑡 𝑢1 = 𝑢1𝑝

: min𝑢2

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 → 𝑢2∗ , 𝑢1

𝑝

𝑢i𝑝+1

= 𝛼 𝑢i𝑝

+ (1 − α) 𝑢i∗

MPC 1

MPC 2

U2*U1*

Step 3:

𝑝 = 𝑝 + 1

Cooperative Model Predictive Control

Spiro Control Ltd - Private & confidential

Page 11:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

MPC1𝐼𝑛𝑖𝑡𝑖𝑙𝑖𝑠𝑒 𝑚𝑜𝑣𝑒 𝑝𝑙𝑎𝑛 𝑢1

0

MPC2𝐼𝑛𝑖𝑡𝑖𝑙𝑖𝑠𝑒 𝑚𝑜𝑣𝑒 𝑝𝑙𝑎𝑛 𝑢2

0

Cooperative Model Predictive Control

Spiro Control Ltd - Private & confidential

Page 12:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

𝑢1∗, 𝑢2

𝑝

MPC1𝑆𝑒𝑡 𝑢2 = 𝑢2

0

min𝑢1

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 → 𝑢1∗, 𝑢2

0

MPC2

𝑢20

Cooperative Model Predictive Control

Spiro Control Ltd - Private & confidential

Page 13:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

𝑢2∗ , 𝑢1

𝑝

𝑢1∗, 𝑢2

𝑝

MPC21. 𝑆𝑒𝑡 𝑢1 = 𝑢1

0

2. min𝑢2

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 → 𝑢2∗ , 𝑢1

0

MPC1

𝑢10

Spiro Control Ltd - Private & confidential

Cooperative Model Predictive Control

Page 14:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

𝑢10, 𝑢2

𝑢1∗, 𝑢2

0

𝑢i𝑝+1

= 𝛼 𝑢i𝑝

+ (1 − α) 𝑢i∗

MPC1𝑢11 = 𝛼 𝑢1

0 + (1 − α) 𝑢1∗

MPC2𝑢21 = 𝛼 𝑢2

0 + (1 − α) 𝑢2∗

Cooperative Model Predictive Control

Spiro Control Ltd - Private & confidential

Page 15:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

𝑢1∗, 𝑢2

𝑝

(𝑢1𝑝, 𝑢2

𝑝)

MPC1𝑆𝑒𝑡 𝑢2 = 𝑢2

1

min𝑢1

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 → 𝑢1∗, 𝑢2

1

MPC2

𝑢21

Spiro Control Ltd - Private & confidential

Cooperative Model Predictive Control

Page 16:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

𝑢1𝑝, 𝑢2

𝑢1∗, 𝑢2

𝑝

(𝑢1𝑝, 𝑢2

𝑝)MPC2

𝑆𝑒𝑡 𝑢1 = 𝑢11

min𝑢2

𝑉 𝑥1 0 , 𝑥2 0 , 𝑢1, 𝑢2 → 𝑢2∗ , 𝑢1

1

MPC1

𝑢11

Cooperative Model Predictive Control

Spiro Control Ltd - Private & confidential

Page 17:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

𝑢2∗ , 𝑢1

𝑝

𝑢1∗, 𝑢2

𝑝

𝑢i𝑝+1

= 𝛼 𝑢i𝑝

+ (1 − α) 𝑢i∗

MPC1𝑢12 = 𝛼 𝑢1

1 + (1 − α) 𝑢1∗

MPC2𝑢22 = 𝛼 𝑢2

1 + (1 − α) 𝑢2∗

Spiro Control Ltd - Private & confidential

Cooperative Model Predictive Control

Page 18:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Cost

u2

u1

• Iterating to convergence gives optimal plant-wide control

• Early termination of the optimization gives stable, suboptimal plant-wide control

• Stability can be proved using sub-optimal MPC theory

Iteration

u 4

Cooperative Model Predictive Control

Spiro Control Ltd - Private & confidential

Page 19:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Flare

XB

XD

Spiro Control Ltd - Private & confidential

LV control of distillation column

Page 20:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Cost Performance loss (%)

Centralized MPC 75.8 0

Cooperative MPC (10 iterates) 76.1 0.388

Cooperative MPC (1 iterate) 87.5 15.4

Non-cooperative MPC 382 404

Decentralized MPC 364 380

Rawlings and Stewart 2010

LV control of distillation column

Spiro Control Ltd - Private & confidential

Page 21:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

IIoT (Message Broker)

Ethylene Plant C2 Feed = f(Gas Plant Demethaniser Duty)

min𝑑𝑒𝑚𝑒𝑡ℎ

𝑉 𝐺𝑎𝑠 𝑃𝑙𝑎𝑛𝑡, 𝑁𝐺𝐿 𝑃𝑙𝑎𝑛𝑡, 𝐸𝑡ℎ𝑦𝑙𝑒𝑛𝑒 𝑃𝑙𝑎𝑛𝑡

100 km

DemethaniserDebutaniser

Deethaniser

Condensate

Flare

Gas Plant NGL Plant Ethylene Plant

FI

Ethylene Plant Ethane Feed

Page 22:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• Eliminates the requirement for a central optimiser or coordinator

• Can incorporate mixed dynamics

• Expandable and flexible -> plug and play design

• Stability is independent of the strength of process interactions or of individual controller design

• Systems can be geographically dispersed

• Suited to distributed hardware with limited processing capacity (such as embedded systems and edge devices)

• Ideally suited to an IIoT architecture

Advantages of Distributed Cooperative Control

Spiro Control Ltd - Private & confidential

Page 23:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

• J.B. Rawlings and D.Q.Mayne, “Model Predictive Control: Theory and Design,” Nob Hill Publishing, 2013.

• Stewart, Venkat, Rawlings, Wright and Pannocchia, “Cooperative distributed model predictive control,” Systems & Control Letters 59 (2010) 460-469.

• Christofides, Scattolini, Muñoz de la Peña and Liu, “Distributed model predictive control: A tutorial review and future research directions,” Computers & Chemical Engineering, Volume 51, April 2013.

• Shaoyuan Li and Yi Zheng, "Distributed Model Predictive Control for Plant-Wide Systems," Wiley, 2015.

Spiro Control Ltd - Private & confidential

References

Page 24:   Allocating automation functions within an IIoT architecture › wp-content › uploads › Spiro...Allocating automation functions within an IIoT architecture Spiro Control Ltd

Get in touch

Spiro Control Ltd - Private & confidential

+44-(0)1244-568-941

[email protected]

Linkedin/SprioControl

@SpiroControl