Towards online model predictive control on a programmable logic controller: practical considerations. (English) Zbl 1264.93146

Summary: 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.


93C55 Discrete-time control/observation systems
93B40 Computational methods in systems theory (MSC2010)
Full Text: DOI


[1] S. J. Qin and T. A. Badgwell, “A survey of industrial model predictive control technology,” Control Engineering Practice, vol. 11, no. 7, pp. 733-764, 2003.
[2] U. Mathur, R. D. Rounding, D. R. Webb, and R. J. Conroy, “Use model-predictive control to improve distillation operations,” Chemical Engineering Progress, vol. 104, no. 1, pp. 35-41, 2008.
[3] J. Maciejowski, Predictive Control with Constraints, Pearson Education Limited, 2002. · Zbl 0978.93002
[4] Y. Wang and S. Boyd, “Fast model predictive control using online optimization,” IEEE Transactions on Control Systems Technology, vol. 18, no. 2, pp. 267-278, 2010.
[5] L. Van den Broeck, M. Diehl, and J. Swevers, “A model predictive control approach for time optimal point-to-point motion control,” Mechatronics, vol. 21, no. 7, pp. 1203-1212, 2011.
[6] N. Giorgetti, G. Ripaccioli, A. Bemporad, I. V. Kolmanovsky, and D. Hrovat, “Hybrid model predictive control of direct injection stratified charge engines,” IEEE/ASME Transactions on Mechatronics, vol. 11, no. 5, pp. 499-506, 2006.
[7] A. Bemporad, M. Morari, V. Dua, and E. N. Pistikopoulos, “The explicit linear quadratic regulator for constrained systems,” Automatica, vol. 38, no. 1, pp. 3-20, 2002. · Zbl 0999.93018
[8] P. Tøndel, T. A. Johansen, and A. Bemporad, “An algorithm for multi-parametric quadratic programming and explicit MPC solutions,” Automatica, vol. 39, no. 3, pp. 489-497, 2003. · Zbl 1019.93019
[9] G. Pannocchia, J. B. Rawlings, and S. J. Wright, “Fast, large-scale model predictive control by partial enumeration,” Automatica, vol. 43, no. 5, pp. 852-860, 2007. · Zbl 1117.93303
[10] J. R. Wright, “The debate over which PLC programming language is the state-of-the-art,” Journal of Industrial Technology, vol. 15, no. 4, pp. 2-5, 2006.
[11] G. Valencia-Palomo and J. A. Rossiter, “Efficient suboptimal parametric solutions to predictive control for PLC applications,” Control Engineering Practice, vol. 19, no. 7, pp. 732-743, 2011.
[12] M. Kvasnica, I. Rauová, and M. Fikar, “Automatic code generation for real-time implementation of model predictive control,” in Proceedings of IEEE International Symposium on Computer-Aided Control System Design (CACSD ’10), pp. 993-998, September 2010.
[13] C. Hildreth, “A quadratic programming procedure,” Naval Research Logistics Quarterly, vol. 4, pp. 79-85, 1957.
[14] H. J. Ferreau, H. G. Bock, and M. Diehl, “An online active set strategy to overcome the limitations of explicit MPC,” International Journal of Robust and Nonlinear Control, vol. 18, no. 8, pp. 816-830, 2008. · Zbl 1284.93100
[15] T. Soderstrom and P. Stoica, System Identification, Prentice-Hall, London, UK, 1989. · Zbl 0695.93108
[16] P. Van Overschee and B. De Moor, Subspace Identification for Linear Systems: Theory, Implementation, Applications, Kluwer Academic, 1996. · Zbl 0888.93001
[17] L. Ljung, System Identification: Theory for the User, Prentice Hall, Upper Saddle River, NJ, USA, 2nd edition, 1999. · Zbl 0949.93509
[18] C. S. Burrus, R. A. Gopinath, and H. Guo, Introduction to Wavelets and Wavelet Transforms, Prentice-Hall, 1998.
[19] J. A. Suykens, T. Van Gestel, J. De Brabanter, B. De Moor, and J. Vandewalle, Least Squares Support Vector Machines, World Scientific, Singapore, 2002. · Zbl 1017.93004
[20] E. F. Camacho and C. Bordons, Model Predictive Control, Springer, 2003. · Zbl 1080.93001
[21] L. Wang, Model Predictive Control System Design and Implementation Using MATLAB, Springer, London, UK, 2009. · Zbl 1200.93003
[22] J. Mattingley and S. Boyd, “CVXGEN: a code generator for embedded convex optimization,” Optimization and Engineering, vol. 13, no. 1, pp. 1-27, 2012. · Zbl 1293.65095
[23] D. G. Luenberger, Optimization by Vector Space Methods, John Wiley & Sons, New York, NY, USA, 1969. · Zbl 0176.12701
[24] L. Ljung, System Identification Toolbox Users Guide, The MathWorks, Natick, Mass, USA, 2009.
[25] B. Huyck, F. Logist, J. De Brabanter, J. Van Impe, and B. De Moor, “Constrained model predictive control on a programmable automation system exploiting code generation: practical considerations,” in Proceedings of the 18th World Congress of the International Federation of Automatic Control, pp. 12207-12212, Milano, Italy, 2011.
[26] A. N. Iusem and A. R. De Pierro, “On the convergence properties of Hildreth’s quadratic programming algorithm,” Mathematical Programming, vol. 47, no. 1, pp. 37-51, 1990. · Zbl 0712.90054
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.