Copyright © 2012 Bart Huyck et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
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.