Abstract— This paper describes the design and implementation of a model-based predictive control strategy based on a commercial, high performance industrial controller, which hardware includes a FPGA device. The implemented algorithm is the result of a combination of conventional processor software and FPGA embedded software in a distributed fashion, to achieve lower computational time compared with conventional processor software only approach. The high computational load required by the predictive control strategy is performed into the FPGA, which acts as an accelerator of the conventional processor. All software is developed using a high-level graphics language, yielding a significant reduction on implementation times. The paper includes a numerical example which verifies the controller performance. Keywords— Distributed algorithms, Electronic equipment, Field programmable gate arrays, Floating point arithmetic, Predictive control, Quadratic programming. I. INTRODUCCIÓN L CONTROL predictivo basado en modelo o mejor conocido simplemente como control predictivo (MPC por sus siglas en ingles), es una de las teorías de control avanzado que más ha sido estudiada exhaustivamente por la comunidad de investigadores en las últimas décadas. La razón se puede atribuir al hecho de que permite incluir de manera sistemática, las restricciones de las variables del sistema durante el cálculo de la ley de control. Todos los procesos reales están sujetos a restricciones, las válvulas de control, por ejemplo, están limitadas por las posiciones de totalmente abiertas o cerradas, y por la velocidad de respuesta. Razones de seguridad, medioambientales, económicas o los propios alcances de los medidores, causan límites físicos en las variables de proceso. Desafortunadamente el MPC requiere un elevado poder computacional ya que se debe resolver en cada tiempo de muestreo, un problema de optimización cuadrático con restricciones lineales para el estado actual del sistema. La ley de control o señal de control para cada instante de muestreo, se obtiene de la minimización de un criterio de desempeño que generalmente penaliza la magnitud de la entrada o señal de control y la diferencia entre la señal de referencia y la salida predicha del sistema ([1], [2], [3]). El control obtenido permite que el sistema siga una determinada entrada de referencia sin M. Torre, Universidad Simón Bolívar, Caracas, Venezuela, mtorre@usb.ve E. Granado, Universidad Simón Bolívar, Caracas, Venezuela. granado@usb.ve violar las restricciones del sistema. Aunque la solución que se obtiene representa una secuencia de señales de control para una determinada condición inicial, solamente el primer elemento de la serie es aplicado al sistema desechando el resto de los valores. En el siguiente instante de muestreo, se resuelve nuevamente el problema de minimización para una nueva condición inicial. Para esto, se usan nuevos valores medidos del sistema. A pesar de que en la actualidad existen algoritmos eficientes para la resolución de esta clase de problemas en tiempos razonables [4], la utilización de este tipo de controladores predictivos a nivel industrial, está limitada por la disponibilidad de equipos cuya capacidad de procesamiento permita la ejecución en línea de los algoritmos utilizados por la estrategia MPC en tiempos razonables. Por esta razón, estos controladores se usan principalmente en procesos de dinámica lenta como los que se encuentran en la industria de procesos químicos. Existen dos metodologías adecuadas que permiten abordar el problema MPC de manera práctica. Una de ellas consiste en resolver el problema de optimización fuera de línea, y en tiempo real hacer la búsqueda del valor de control en una tabla ([5], [6], [7]). La otra, que demanda mayor poder computacional, consiste en resolver en cada período de muestreo el problema MPC. Ésta será la metodología abordada en este trabajo motivado a la elevada capacidad de procesamiento del controlador industrial que será utilizado. El desarrollo tecnológico que han alcanzado los arreglos de compuertas programables (FPGA por sus siglas en inglés), que los han hecho más poderosos en velocidad y capacidad [8], ha permitido el uso de estos dispositivos en el diseño de controladores predictivos embebidos. Trabajos recientes como [9], [10], [11], han mostrado que la implementación en hardware del MPC permite expandir el uso de este tipo de controladores en aplicaciones de dinámica rápida donde usualmente no podían ser utilizados. La contribución del presente trabajo se encuentra enmarcada en el diseño e implementación de la estrategia predictiva utilizando un controlador industrial de uso comercial que tiene incorporado un FPGA en su hardware. II. IMPLEMENTACIÓN DEL CONTROLADOR Un FPGA es un dispositivo semiconductor que contiene un arreglo bidimensional de bloques lógicos cuya interconexión puede ser programable a nivel de hardware por el usuario. Así, M. Torre and E. Granado Design and Implementation of a Predictive Control Strategy Based on an Industrial Controller E 638 IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 5, SEPTEMBER 2011