Content uploaded by Morelva Saeteros
Author content
All content in this area was uploaded by Morelva Saeteros on Sep 04, 2019
Content may be subject to copyright.
978-1-5386-6820-7/18/$31.00 ©2018 IEEE
Abstract—In this paper we present novel procedures for
deploying closed-loop controllers, to be employed in industrial
processes, using free software. Using C++ and Framework for
Distributed Industrial Automation and Control (4DIAC)
software we implemented a Proportional-Integral-Derivative
(PID) control, under IEC-61499 standard which focusses on the
portability, interoperability, reuse and configuration of
applications. In our research we use as tested the FESTO’s
MPS® PA module, which offers a flexible set of industrial
sensors, and a Raspberry Pi board. Results show the effective
performance and reduced cost an IEC-61499 PID may have
and the possibilities it offers for deploying
smart-control-systems.
Index Terms— PID, Standard IEC-61499, 4DIAC.
I. INTRODUCTION
ste artículo busca ampliar los conocimientos y
aplicaciones de control que se pueden realizar utilizando
la norma IEC-61499 en la implementación de sistemas
industriales, gracias a la utilización de sistemas embebidos,
mejorando así, el mercado industrial competitivo. Los
controladores PID son los más utilizados a nivel industrial
por lo que sería importante tener nuevas alternativas para
implementarlo.
IEC61499 es un estándar de automatización para sistemas
industriales distribuidos con objetivos de portabilidad,
interoperabilidad, reciclaje y reconfiguración de aplicaciones
de automatización [1]. Este estándar utiliza un enfoque de
bloque de función (FB) en red, con flujos de datos entre FB y
un orden de coordinación de operaciones a través de un
método de enlace "eventos" [2]. Esto permite la creación de
bloques compuestos y la implementación de nuevos bloques
de función. El estándar separa el flujo de datos y el flujo de
eventos dentro de una aplicación para permitir un diseño
óptimo de utilización de recursos y el control distribuido de
una red de equipos [2]. La norma busca la interoperabilidad
entre equipos de diferentes marcas y fabricantes que soporten
un mismo lenguaje de programación.
Las funciones de estos sistemas se realizan por
componentes de software dispersos a los diferentes nodos de
la arquitectura distribuida, capaces de ser llamados tantas
Gustavo Caiza, Morelva Saeteros y Carlos Pillajo son miembros del
Grupo de Investigación en Electrónica, Control y Automatización (GIECA),
Universidad Politécnica Salesiana (UPS), Quito, Ecuador (e-mail:
gcaiza@ups.edu.ec)
Germán Arévalo es miembro del Grupo de Investigación en Electrónica y
Telemática (GIETEC), Universidad Politécnica Salesiana (UPS), Quito,
Ecuador.
veces como sea necesario. Por lo tanto, para el desarrollo del
software de estos sistemas, existe la necesidad de modelar los
lenguajes de programación, de manera que, soporten
estructuras de componentes modulares y entornos en el
tiempo de ejecución distribuidos a los diferentes nodos. Para
cubrir esta necesidad, la norma IEC-61499 propone este
lenguaje de modelado y programación. Las actuales
herramientas y marcos de desarrollo ofrecen herramientas
para editar los modelos, generar código en lenguajes como
Java, C / C++ o entornos de ensamblaje y tiempo de
ejecución para el código [3].
En el presente artículo se implementa un controlador PID
para el control de nivel bajo norma IEC-61499, para lo cual
se diseñan nuevos bloques de función utilizando el software
4DIAC para manejar las entradas y salidas de los sensores y
actuadores analógicos y digitales. El proceso es controlado
mediante la tarjeta raspberry PI 3B, en la cual se ejecuta en
runtime FORTE bajo sistema operativo LINUX,
posteriormente el sistema fue probado en la estación MPS®
PA Compact Workstation, que es una planta en la que se
puede implementar procesos industriales reales, debido a sus
componentes y fabricación. Se implementa el control bajo el
estándar IEC-61499 para aprovechar las características y
ventajas que ofrece, de esta manera minimizar los costos de
implementación y brindar funciones de control y supervisión
reconfigurable.
El artículo está organizado de la siguiente manera: En la
sección II se describe los conceptos básicos del estándar
IEC-61499, controlador PID y MPS PA, en la sección III se
muestra el diseño e implementación, en la sección IV se
presenta los resultados de la simulación e implementación y
finalmente la sección V proporciona las conclusiones sobre
el trabajo.
II. MATERIALES Y MÉTODOS
A. Estándar IEC-61499
El estándar se basa en bloques de funciones que reúnen los
requisitos para interconectar los componentes representados
y sus funcionalidades y son la unidad fundamental de la
norma; Un FB define un componente y se asocia a menudo
con los conceptos de objeto o unidad de software, esto
significa que puede ser manipulado como una entidad [4]. Se
describe de manera complementaria por;
- Una especificación textual en la que los algoritmos
contenidos se describen en cualquiera de los lenguajes
especificados por IEC 61131-3 [4].
Development of an IEC-61499 PID Control for
Industrial Processes Applications
Gustavo Caiza, Morelva Saeteros, Carlos Pillajo, Germán Arévalo
E
- Una especificación gráfica compuesta por un diagrama
de control de ejecución (ECC), que permite definir la
conexión entre la ocurrencia de eventos y algoritmos, y una
declaración de interfaz externa, lo que facilita la
visualización de eventos y datos de entrada / salida [4]. Los
eventos pueden ser vistos como pulsos o mensajes
transitorios, mientras que las variables son datos persistentes
[5].
En la figura 1 se muestra la representación gráfica de un
FB del estándar IEC-61499 que implementa un determinado
proceso.
Fig. 1. Bloque de función IEC-61499.
Los FB son considerados como componentes de software
a IEC 61499. Los algoritmos contenidos, así como el ECC
sólo se permite acceder a los datos internos o de interfaz [1],
[6].
Los tipos de comunicación propuestos implican
controladores y aplicaciones de fábrica de gestión, y pueden
caracterizarse por: latencia, modo de ejecución,
confiabilidad y cantidad de datos transferidos. Teniendo en
cuenta esta perspectiva, se identifican los siguientes [7].
a) Control de aplicaciones: La comunicación se realiza entre
los controladores o dentro de un controlador y está
relacionada con el funcionamiento del sistema [7].
b) Control de procesos: Implica la interacción entre
controladores y sensores / actuadores. Se requiere
confiabilidad y un modelo cíclico. La latencia depende del
proceso a controlar, aunque tendrá que cumplir con las
restricciones en tiempo real [7].
c) Comandos de proceso: La comunicación se realiza entre
los controladores o dentro del mismo. Se requiere
confiabilidad y un modelo impulsado por eventos [7], [8].
d) Sincronización de procesos: Se requiere confiabilidad y un
modelo basado en eventos, donde la latencia puede ser
similar al caso de control de aplicaciones.
e) Interfaz Hombre Máquina (HMI): Implica controladores y
operadores. La comunicación puede ser controlada
cíclicamente o controlada por evento [7], [8].
f) Gestión de datos de aplicación: Pequeñas cantidades de
datos se envían cíclicamente, por lo general, bases de datos
[7].
B. Controlador PID
Actualmente, el controlador PID es ampliamente utilizado en
la investigación y las industrias [10]. Consiste en un tipo de
acciones de control proporcional, integral y derivativo. Estos
tipos de controladores se llaman controladores
convencionales y ampliamente utilizados en los sistemas de
control industriales [11]. El controlador PID se puede
expresar de la siguiente manera [12]:
(1)
(2)
Donde son; ganancia proporcional, integral y
derivativa del controlador, respectivamente; es
la constante de tiempo de integración; es la
constante de tiempo derivativo; es un parámetro
de diseño. La función de transferencia del controlador PID es
[12].
(3)
El diseño del controlador PID es crítico para obtener la
constante proporcional, Kp, la constante integral, Ki y la
constante derivativa, Kd más óptima. Este método se llama
ajuste de los parámetros del controlador PID [10].
C. MPS Compact Workstation PA
El Sistema Didáctico de Aprendizaje de FESTO para la
Automatización está diseñado para implementar procesos
reales de automatización y control. Como se puede observar
en la ilustración, el hardware consiste en componentes
industriales didácticamente adecuados, posee tanques,
sensores analógicos, digitales, y actuadores [13]. En este
artículo se van a emplear únicamente los elementos descritos
en la figura 2. El diseño de los sensores y actuadores de
válvulas permite el uso de controladores continuos (por
ejemplo, P, I, PI, PID) y discontinuos (por ejemplo,
controladores de dos puntos) [15].
Fig. 2. Esquema del Sistema de control de nivel.
D. Software
El entorno 4DIAC-IDE es un software propio de estándar
IECC-61499, se ha utilizado para crear un conjunto de FBs
que envuelven las operaciones de entrada y salida.
FORTE es el entorno de ejecución complementario para el
editor de bloques de funciones 4DIAC-IDE y el generador de
código. Todos los eventos externos y generados se ponen en
cola en un búfer de eventos FIFO y son consumidos por los
respectivos bloques de función de una manera secuencial.
[16].
III. IMPLEMENTACIÓN
Para realizar la implementación del controlador PID bajo
norma IEC-61499, se realiza tal como se aprecia en la figura
3. La programación de la aplicación se realiza en el software
4DIAC en una computadora personal (PC) con sistema
operativo Windows, dicha PC se comunica mediante cable
Ethernet a la tarjeta raspberry Pi en la cual se ejecuta el
runtime FORTE bajo sistema LINUX, finalmente se realiza
la etapa de acoplamiento para la tarjeta raspberry Pi con los
sensores y actuadores de la planta.
Fig. 3. Implementación del proceso
Para realizar implementar el sistema se requieren entradas
y salidas analógicas para el control de sensores y actuadores
analógicos, se debe tener en cuenta que la tarjeta raspberry pi
3B no tiene entradas analógicas, por esta razón se utiliza un
ADC (Analog-to-Digital Converter) externo. En este
proyecto se empleó el integrado MCP3008 que es un ADC
de 10 bits y cuenta con ocho canales analógicos y se conecta
a la tarjeta mediante comunicación SPI (Serial Peripheral
Interface).
En la figura 4 se muestra un diagrama de bloques que
describe de manera rápida como se efectuó la
implementación del controlador PID. La implementación se
realiza con la tarjeta raspberry Pi, la misma que mediante
comunicación SPI lee la variable del sensor por medio del
ADC, posteriormente se realimenta y calcula el algoritmo de
control PID, el cual envía la salida de control PWM
(Pulse-Width Modulation) a la bomba para controlar el nivel
del módulo MPS PA Compact Workstation.
Fig. 4. Diagrama de bloques del esquema de control PID
A. Identificación del Sistema
Para realizar el control de nivel se procede con la
identificación de sistema para lo cual se toman los datos y
posteriormente utilizando el software Matlab y su
herramienta “Identification toolbox”, la cual permite obtener
un modelo matemático aproximado de la planta. Para la
obtención de la función de transferencia se toman los datos
en lazo abierto obteniendo la respuesta que se muestra en la
figura 5.
Fig. 5. Respuesta experimental y función de transferencia
El modelo obtenido se aproxima con un 96.77% al modelo
real, cuya función de transferencia es de primer grado ya que
el sistema no presenta oscilaciones, por lo que, no requiere
mayor grado y es la que se muestra a continuación.
Con la función de transferencia obtenida se realiza la
simulación que permite obtener los parámetros Kp, Ki, Kd
mediante el software Matlab.
B. Desarrollo de los Bloques de Función
Primero, se crean nuevos bloques de función en el software
4DIAC para el proceso, se crean tres FBs para el control de
sensores, actuadores y control del proceso respectivamente.
En dichos bloques, se configura el flujo de eventos y datos
tanto para entrada como para salida. En la figura 6 se muestra
un ejemplo de un bloque de función creado para controlar y
configurar los parámetros del controlador PID diseñado, la
configuración general del bloque se detalla a continuación:
- INIT (Event). Recibe los datos entre los bloques de
función de manera cíclica con un tiempo de 100ms.
- REQ (Event). Ejecuta las librerías utilizadas para la
programación del controlador.
- INITO (Event). Envía los datos de manera cíclica al
siguiente bloque de función.
- SET_POINT (DINT). Permite ingresar el nivel de Set
Point deseado por el usuario.
- Kp (DINT). Sirve para asignar de manera externa el
parámetro Kp, para el controlador PID.
- Ki (DINT). Asigna el parámetro Ki.
- Kd (DINT). Asigna el parámetro Kd.
- VALUE (DINT). Recibe el estado del sensor de nivel
obtenido de la planta para realizar el control PID.
- OUT (DINT). Envía los datos al actuador luego de
realizar el algoritmo programado.
Fig. 6. Bloque de Función PID
La arquitectura diseñada en el software 4DIAC para el
control del proceso se muestra en la figura 7, en que se enlaza
los bloques de función previamente diseñados para el control
de la aplicación, permitiendo visualizar en tiempo real el
estado de las variables que interactúan en el sistema. El
proceso consiste en realizar un control en lazo cerrado para
el nivel del módulo MPS PA, describiendo a continuación los
bloques utilizados en la arquitectura:
- START: Permite enviar los eventos a la entrada INIT de
los bloques de función de manera continua para inicializar el
proceso.
- E_CYCLE: Envía los eventos de manera cíclica y
permite inicializar las librerías utilizadas en la programación
de los FBs.
- SENSOR: Realiza la adquisición de datos del sensor con
un tiempo de 100ms, para enviar al bloque PID.
- PID: Realiza el algoritmo de control PID, para el control
de nivel y envía el valor para el funcionamiento del actuador.
- ACTUADOR: Recibe los datos del controlador y envía
una señal PWM al actuador que varía según el error que
tenga el sistema.
Fig. 7. Arquitectura del controlador PID bajo norma IEC-61499
IV. RESULTADOS
Una vez obtenida la función de transferencia del proceso,
se realiza la simulación del controlador PID usando el
software Matlab y la herramienta pidtool. En la figura 8 se
muestra el comportamiento del controlador PID simulado
ante una función escalón, misma que presenta un
sobreimpulso de 4%, tiempo de subida de 30s y tiempo de
establecimiento 120s. El controlador fue simulado y probado
bajo diferentes niveles de Set Point.
Fig. 8. Curva PID obtenida en la simulación
Al realizar la simulación con la función de transferencia
de la planta, se obtiene los parámetros Kp, Ki, Kd del
controlador PID, estos parámetros obtenidos se configuran
en los FBs. Una vez realizada la simulación se procede a
implementar el controlador en la planta. La programación del
algoritmo se efectúa en lenguaje C++ y es ejecutada en el
runtime Forte, los parámetros Kp, Ki, Kd y la asignación de
pines de los sensores y actuadores para la tarjeta son
ingresados desde el bloque de función en el 4DIAC como lo
muestra la figura 8, ésta representa una ventaja para tener una
mayor flexibilidad y poder reconfigurar algún parámetro o
pin si fuese necesario.
Las entradas de eventos pueden activar los algoritmos
internos de un FB. Un evento que llega a la entrada de un FB
se activará para leer las entradas de datos relacionadas con
este evento, calculando algunos datos, y escribiéndolos en las
salidas de datos apropiadas. Las salidas pueden desencadenar
otros FBs que resultan poseer un comportamiento similar.
Una vez programado y diseñada la arquitectura se procede
a cargar y ejecutar el runtime en la tarjeta raspberry Pi y se
prueba el funcionamiento para cualquier nivel de set point,
en la figura 9 se prueba el sistema para un set point de 3,
apreciando el comportamiento que tiene la planta con
respecto a la señal de entrada.
050 100 150 200 250 300 350 400
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (seconds)
Amplitude
Transfer Function
PID
Fig. 9. Controlador PID implementado bajo norma IEC-61499
En la figura 9 se observa el comportamiento del
controlador implementado bajo norma IEC-61499 y se
observa que presenta un sobreimpulso de 6%, tiempo de
subida de 40s y tiempo de establecimiento 170s.
Al implementar en controlador fueron notorias las
ventajas que presenta el sistema al utilizar la norma
IEC-614499, otorgando nuevas opciones para realizar el
control y automatización de procesos.
V. CONCLUSIONES
En este trabajo se presentó el desarrollo de un controlador
PID programado en lenguaje C++ para el control de un
proceso bajo el estándar IEC-61499, apreciando los alcances
que puede tener la norma en aplicaciones industriales. Al
realizar la implementación se observa que los FBs se pueden
controlar de manera jerárquica mediante eventos para la
lectura de datos del ADC o salida PWM, esto permite
mejorar los tiempos de ejecución.
Los resultados de la implementación mostraron que se
puede realizar el control de procesos mediante algoritmos
inteligentes utilizando la norma IEC-61499, permitiendo así,
tener nuevas alternativas para la implementación de procesos
a nivel industrial, reducir los costos y utilizar software
independiente del hardware utilizado, creando así sistemas
reconfigurables y escalables.
El software 4DIAC permite visualizar el estado del
proceso en tiempo real y cambiar los parámetros Kp, Ki, Kd
del controlador PID de manera externa desde el bloque de
función sin necesidad de parar el proceso. Además el
runtime FORTE puede ser escrito en varios lenguajes ya que
es una herramienta de software libre y se puede ejecutar en
diferentes dispositivos que soporten el estándar bajo sistemas
operativos Windows o Linux.
REFERENCIAS
[1] B. Glatz, F. Cleary, M. Horauer, H. Schuster, y P. Balog,
«Complementing testing of IEC61499 function blocks with
model-checking», MESA 2016 - 12th IEEE/ASME Int. Conf. Mechatron.
Embed. Syst. Appl. - Conf. Proc., 2016.
[2] M. Van Der Linde, «Using IEC61499 to achieve smart grid automation
through interconnected distribution reclosers», Proc. 2016 Australas. Univ.
Power Eng. Conf. AUPEC 2016, 2016.
[3] G. Hassapis, «Component-based engineering of distributed control and
automation software», 2015 IEEE Jordan Conf. Appl. Electr. Eng. Comput.
Technol. AEECT 2015, 2015.
[4] M. Trejo-Hernandez y E. Lopez-Mellado, «Specification of
manufacturing systems controllers using the standard IEC61499», 23rd Int.
Conf. Electron. Commun. Comput. CONIELECOMP 2013, pp. 179-184,
2013.
[5] R. Sinha, V. Vyatkin, Z. Salcic, y H. J. Park, «Competitors or Cousins?
Studying the parallels between distributed programming languages SystemJ
and IEC61499», 19th IEEE Int. Conf. Emerg. Technol. Fact. Autom. ETFA
2014, 2014.
[6] R. Hametner, I. Hegny, y A. Zoitl, «A unit-test framework for
event-driven control components modeled in IEC 61499», 19th IEEE Int.
Conf. Emerg. Technol. Fact. Autom. ETFA 2014, 2014.
[7] C. Catalan, F. Serna, A. Blesa, J. M. Rams, y J. M. Colom,
«Communication types for manufacturing systems. A proposal to
distributed control system based on IEC 61499», IEEE Int. Conf. Autom.
Sci. Eng., pp. 767-772, 2011.
[8] C. Catalán, F. Serna, A. Blesa, y J. M. Rams, «IEC 61499 execution
model based on life cycle of function blocks», Proc. 15th IEEE Int. Conf.
Emerg. Technol. Fact. Autom. ETFA 2010, 2010.
[9] F. Serna, C. Cataln, A. Blesa, y J. M. Rams, «Design patterns for
Failure Management in IEC 61499 Function Blocks.», 15th IEEE Conf.
Emerg. Technol. Fact. Autom., pp. 1-7, 2010.
[10] M. A. Fadil, N. A. Jalil, y I. Z. Mat Darus, «Intelligent PID controller
using iterative learning algorithm for active vibration controller of flexible
beam», 2013 IEEE Symp. Comput. Informatics, n.o 4, pp. 80-85, 2013.
[11] A. Kumar, «Automatic Genera ation Control in Power Plant using PID ,
PSS and Fuzzy-PID controlle», IEEE Trans. Power Syst., 2014.
[12] K. Kawamura y. Ishida, «Approach to new model recovery anti-windup
scheme with PID controller», Proc. - AIMS 2015, 3rd Int. Conf. Artif. Intell.
Model. Simul., pp. 208-212, 2016.
[13] D. Sendrescu, M. Roman, y D. Selisteanu, «Interactive teaching system
for simulation and control of electropneumatic and electrohydraulic
systems», Proc. 24th Int. Conf. Eur. Assoc. Educ. Electr. Inf. Eng. EAEEIE
2013, pp. 151-156, 2013.
[14] A. Koszewnik, «Fractional order controller to control pump in FESTO
MPS ® PA Compact Workstation», pp. 364-367, 2016.
[15] Festo, «“MPS® PA Compact Workstation with level, flow rate,
pressure and temperature controlled systems”», 2017. [En línea]. Disponible
en:
http://www.festo-didactic.com/int-en/learning-systems/process-automation/
compact-workstation/mps-pa-compact-workstation-with-level,flow-rate,pre
ssure-and-temperature-controlled-systems.htm?fbid=aW50LmVuLjU1Ny4
xNy4xOC44ODIuNDM3Ng.
[16] L. H. Yoong, P. S. Roop, Z. E. Bhatti, y M. M. Y. Kuo, «Model-driven
design using IEC 61499: A synchronous approach for embedded and
automation systems», Model. Des. Using IEC 61499 A Synchronous
Approach Embed. Autom. Syst., pp. 1-194, 2015.
050 100 150 200 250
2
2.2
2.4
2.6
2.8
3
3.2
3.4
time(s)
Level
PID-Level
PID - Level
SetPoint