Towards Online Model Predictive Control on a Programmable Logic Controller: Practical Considerations

Bart Huyck, Hans Joachim Ferreau, Moritz Diehl, Jos De Brabanter, Jan Van Impe, Bart De Moor, Filip Logist

Mathematical Problems in Engineering · 2012 · 89 citations · 15 references

DOIFull text

Open access

Concepts

TL;DR

Embedded controllers are increasingly powerful, making model predictive control attractive for such devices. The study investigates online MPC on both programmable automation controllers and programmable logic controllers by solving an optimization problem at each step. The authors evaluated three quadratic‑program solvers—Hildreth, qpOASES, and CVXGEN—on a small‑scale air‑heating multi‑input single‑output system implemented on PAC and PLC hardware. CVXGEN proved unsuitable for PLCs, while Hildreth and qpOASES successfully controlled the heating system; although both performed similarly, qpOASES required more computation time, and for larger problems Hildreth may become too slow, so Hildreth was chosen as the preferred solver for this PLC‑based heating application.

Abstract

Given the growing computational power of embedded controllers, the use of model predictive control (MPC) strategies on this type of devices becomes more and more attractive. This paper investigates the use of online MPC, in which at each step, an optimization problem is solved, on both a programmable automation controller (PAC) and a programmable logic controller (PLC). Three different optimization routines to solve the quadratic program were investigated with respect to their applicability on these devices. To this end, an air heating setup was built and selected as a small‐scale multi‐input single‐output system. It turns out that the code generator (CVXGEN) is not suited for the PLC as the required programming language is not available and the programming concept with preallocated memory consumes too much memory. The Hildreth and qpOASES algorithms successfully controlled the setup running on the PLC hardware. Both algorithms perform similarly, although it takes more time to calculate a solution for qpOASES. However, if the problem size increases, it is expected that the high number of required iterations when the constraints are hit will cause the Hildreth algorithm to exceed the necessary time to present a solution. For this small heating problem under test, the Hildreth algorithm is selected as most useful on a PLC.

References

15