Implementation of a
control system to regulate the speed and position of industrials motors using the
OPC communication protocol
Hernando González-Acevedo 1a, Ólmer Giovanny Villamizar-Galvis 1b
1Grupo de investigación de Control y Mecatrónica, programa de Ingeniería Mecatrónica, Universidad Autónoma de Bucaramanga, Colombia. Correos electrónicos: a hgonzalez7@unab.edu.co b, b ovillamizar10@unab.edu.co
El articulo presenta la implementación del protocolo de comunicación OPC (Object Linking and Embedding for Process Control) entre el software matemático Matlab y la plataforma de programación gráfica LabView, para enlazarlos con dos controladores lógicos programables (PLC): Siemens S7-300 y Allen Bradley ControlLogix 5566, y una estación de trabajo Festo. En cada programa se implementaron tres técnicas de control (PID, lógica difusa y LQG), para regular la velocidad de un motor AC acoplado a un generador DC y controlar la posición de un servomotor industrial, marca Rockwell. Se analiza el tiempo de respuesta que se obtiene con cada enlace de comunicación, así como las ventajas de la comunicación OPC y de cada software.
Palabras clave: control PID; controlador difuso; control LQG; protocolo OPC.
The article presents
the implementation of the OPC communication protocol (Object Linking and
Embedding for Process Control) between the mathematical software Matlab and the graphics programming platform LabView to link them with two Programmable Logic Cntrollers (PLC): Siemens S7-300 and Allen Bradley ControlLogix 5566 and to a workstation Festo.
In each program, three control techniques (PID, fuzzy logic and LQG) were
implemented to regulate the speed of an AC motor coupled with a DC generator
and to control the position of an industrial servomotor, Rockwell. The response
time obtained with each communication link was analyzed, as well as the
advantages of OPC communication and each software.
Keywords: OPC protocol; PID controller; LQG controller;
fuzzy controller.
Al conjunto de métodos, sistemas y
herramientas que posibilitan el intercambio de información entre diferentes
componentes industriales se los conoce como protocolos de comunicaciones
industrial. Entre estos protocolos, uno de los más conocidos es el OPC (Object Linking and Embedding for Process
Control), el cual funciona como un servidor de enlace entre diferentes softwares
para la transmisión de datos entre sí. La comunicación por OPC es una
herramienta en la cual diferentes equipos con protocolos de comunicaciones
distintos puedan realizar una transmisión de datos, como se observa
en la figura 1. La comunicación OPC se realiza a través de una arquitectura
cliente-servidor. El servidor OPC es la fuente de datos (como un dispositivo hardware
a nivel de planta), y cualquier aplicación basada en OPC puede acceder a
ese servidor para leer/escribir cualquier variable que ofrezca el servidor [1].
Una de las funciones de la comunicación por
OPC actualmente es la solución al problema de interacción entre softwares
y autómatas programables. En el estado del arte se han presentado trabajos,
como el referenciado en [2], en el cual se realiza la implementación de un
sistema de control en cascada y se valida los resultados de un controlador PID,
utilizando dos métodos diferentes para la adquisición de datos (Sistema SCADA,
PLCOPC), comparando la facilidad en el manejo de datos que otorga cada
dispositivo. En [3] se establece una comunicación entre el software
Matlab y un PLC S7-300 para el monitoreo remoto de un tanque de medición de
nivel; su enfoque principal es demostrar cómo se realizó detalladamente la
conexión de estos dos sistemas, la configuración del hardware y del
servidor OPC, y además dar un ejemplo de la programación. En [4] se observa una
relación directa entre el software LabView y
un PLC Allen Bradley Micrologix 1200C, comparando la
ventaja de conectar el PLC a la red de área local y conectarlo por servidor
OPC. El artículo se distribuye de la siguiente forma:
en la primera sección se describe la configuración de la comunicación OPC y
cada dispositivo de la red; en la segunda sección, el modelo matemático y el
diseño de cada uno de los controladores; y en la tercera sección, se establecen
las interfaces HMI creadas y se compararan los resultados obtenidos aplicando
cada estrategia de control en los dos softwares de programación, Matlab
y Labview. Se reconoce la estación de trabajo (PC)
como el dispositivo, el cual recibe los datos de los PLC por medio de un
servidor OPC, para realizar de forma simultánea el control de velocidad de un
motor AC y el control de posición de un servomotor. Además, la estación de
trabajo se comunica con la MPS de Festo. En la figura
2 se detalla el esquema que se implementó para comunicar el computador con los
dispositivos industriales. En los dos programas se encuentran las tres
estrategias de control que se analizaron en el artículo, y el usuario puede
seleccionar en tiempo real con el cual desea operar cada proceso. En este
esquema se observan tres subgrupos, los cuales corresponden a los siguientes
sistemas: -
Control de velocidad. En este caso se utiliza un PLC
S7300 de la marca Siemens. Este PLC se encarga de comunicarse por medio de una
red Profibus con el variador de frecuencia Micromaster 420, al cual se conecta un motor AC de un
caballo de fuerza. -
Control de posición de un servomotor. El PLC ControlLogix 5566 de Allen Bradley se comunica vía Ethernet
con el driver Kinetix 300, que regula la
velocidad del servomotor. -
Estación FESTO. El PLC Festo
se comunica vía Ethernet a través del servidor OPC con la estación de
trabajo, la cual controla un módulo MPS (Handling)
que se encarga de realizar una secuencia para transportar una pieza hasta un
lugar de almacenamiento. La comunicación de los equipos industriales
se realiza por medio de una red Ethernet, topología tipo estrella [5]. Se
estableció una dirección IP de red “Clase C”, dadas las direcciones IP
disponibles en la red en la cual se implementó el sistema bajo estudio. La red
IP sobre la cual se direccionaron los equipos fue la dirección 192.168.124. En
la tabla 1 se describen las direcciones IP de cada dispositivo. El servidor KEPServerEX
fue elegido por dos factores importantes: la velocidad de comunicación y la
integración en un solo software de los diferentes dispositivos
soportados. El tiempo mínimo que se puede establecer para la comunicación
usando este servidor OPC es de 0,15 segundos. Posterior a la configuración del
servidor OPC, se configuran los clientes OPC, los cuales van ligados de la mano
a los softwares de programación que se usarán para el desarrollo del
proyecto. Los programas que se usan para el control
de los procesos son Matlab y LabView; estos programas
presentan herramientas internas, las cuales permiten configurarlos como
clientes OPC, para poder realizar la transmisión de los datos entre cada software
y el servidor. Para determinar el modelo matemático de los
procesos sobre los cuales se va a implmentar una
estrategia de control, se optó por realizar un modelo de caja negra, ya que
este tipo de modelos describe fácilmente el comportamiento de las dos plantas.
La primera planta consta de un variador de frecuencia Micromaster
420, un motor AC marca Siemens de 1 hp acoplado por un eje a un motor DC de 1/8
de hp que actuará como generador (figura 3). La función de transferencia que
describe la dinámica de este sistema está dada por la ecuación (1); la variable
manipuladora es la frecuencia que se programa al variador de frecuencia, y la
variable por medir es la velocidad del eje, la cual se encuentra en un rango de
cero hasta 1200 rpm. Se discretiza la
función de transferencia G(s), de acuerdo con el periodo de muestreo, que en
ese caso es la velocidad de transmisión de datos del servidor OPC, Tm =
0,15 sg ,
y se obtiene la función de transferencia: La segunda planta corresponde a una barra
de acero acoplada a un servomotor industrial marca Rockwell; el driver
que regula la velocidad del servomotor, Kinetix 300,
tiene incorporado un controlador de velocidad. La dinámica del sistema está
descrita por la función de transferencia de la ecuación (3). La variable
manipuladora es la palabra de control que se le envía al driver, la cual
va en un rango de −1 hasta 1, donde ±1 representa la
máxima velocidad en el sentido horario o antihorario,
según corresponda. La barra se mueve en un rango de 0o a 3600.
Se discretiza la
función de transferencia 𝐺(𝑠) con el periodo de muestreo de
la comunicación OPC, 𝑇𝑚 = 0,15 sg,
y se obtiene la siguiente función de la planta. El control PID se ha utilizado de manera
exitosa en muchos sistemas de control industrial por más de medio siglo. El
principio básico del esquema del control PID es que actúa sobre la variable que
será manipulada, a través de una apropiada combinación de tres acciones de
control: acción de control proporcional, donde la acción de control es
proporcional a la señal de error, la cual es la diferencia entre la entrada y
la señal de realimentación; la acción de control integral, donde la acción de
control es proporcional a la integral de la señal de error; y la acción de
control derivativa, donde la acción de control es proporcional a la derivada de
la señal de error [6]. La acción de control PID en controladores digitales se
representa de la siguiente forma: donde 𝑒𝑘 es la entrada al controlador (señal de error), 𝑇𝑚 es el periodo de muestreo, K es la ganancia proporcional, 𝑇𝑖 es el tiempo integral (o tiempo de reajuste) y 𝑇𝑑 es el tiempo derivativo (o tiempo de adelanto). Aplicando la
transformada Z se obtiene la función de transferencia del controlador. Donde 𝐾𝑃 es la ganancia proporcional, 𝐾𝐷 es la ganancia derivativa y 𝐾𝐼 es la ganancia integral. En un sistema, puede suceder que la
variable de control alcance los límites prefijados del actuador. Cuando esto
pasa, el bucle realimentado permanece en su límite independientemente de la
salida del proceso. Si se usa un controlador con acción integral, el error
continuará siendo integrado, y s eincrementará aún
más su valor. Esto significa que el valor integral puede volverse muy grande y
producirse el efecto llamado windup [7]. Para
evitar que ocurra este fenómeno hay dos formas: - Introducir limitadores en las variaciones de la referencia, de modo
tal que la salida del controlador nunca alcance los límites del actuador. Esto
a menudo produce límites en el funcionamiento del controlador y no evita el windup causado por las perturbaciones. - Otra forma es el recálculo de la integral.
Cuando la salida se satura, la integral se recalcula, de modo tal que su nuevo
valor proporciona una salida en el límite de la saturación. En la figura 3 se puede apreciar la
estrategia implementada en Simulink para el
controlador PID agregando la ganancia anti-windup,
𝐾𝑎𝑤. Para diseñar los controladores se utilizó
la técnica de ubicación de polos y ceros [8], para ambos sistemas se decidió
que la respuesta transitoria presentara un comportamiento sobreamortiguado.
En la tabla 2 se muestran los criterios de diseño y las constantes del
controlador PID. de transmisión directa; x(k), el vector de
estados; u(k), el vector de entrada al sistema; y(k), el vector de salida del
sistema; w(k),el ruido presente en los actuadores, y
v(k), el ruido captado por los sensores. La ganancia de retroalimentación de estados
se determina de forma que minimice la función dada por la ecuación (12). La
solución se encuentra establecida por la ecuación de Ricatti.
Para estimar los estados se utiliza un
filtro Kalman, el cual asume la presencia de ruido
gaussiano en la señal de control y la variable por medir en el proceso.
Conocidas las varianzas del ruido de estas dos señales, y , se determina un
vector de ganancias que minimiza el
error en la estimación, - , utilizando la ecuación de Ricatti.
Matemáticamente, los estados se calculan a partir de la siguiente expresión: Para el diseño del sistema de control
LQG, se definen las matrices de penalidad y , y la matriz de covarianza asociada al ruido presente en la señal
de control y del sensor, y . En la figura 4 se observa el diagrama de bloques del sistema de
control implementado en la herramienta Simulink de
Matlab. En el esquema se ajusta una ganancia anti-windup
que permite reducir el efecto de la saturación del actuador,
la constante integral , la matriz que
multiplica los estados y el estimador de
Kalman. En la tabla 3 se presentan los matrices que
se definen para el diseño del controlador LQG para los dos sistemas bajo
estudio. 3.3. Controlador basado en lógica difusa
prescindir de la rigidez matemática y transmitir el raciocinio humano y convertirlo en un sistema. El
control El control difuso es una alternativa para
resolver difuso se compone de los siguientes elementos: complejas aplicaciones;
propone un método para fusificación, base de
conocimiento, inferencia y construir controles no lineales a través de la
información defusificación. heurística. Al desarrollar un controlador
difuso es posible El proceso comienza con el fuzificador. La entrada de un sistema de lógica difusa
normalmente es un valor numérico proveniente, por ejemplo, de un sensor; para
que este valor pueda ser procesado por el sistema difuso, se hace necesario
convertirlo a un "lenguaje" que el mecanismo de inferencia pueda
procesar. Esta es la función del fuzificador, que
toma los valores numéricos provenientes del exterior y los convierte en valores
difusos que pueden ser procesados por el mecanismo de inferencia. Estos valores
difusos son los niveles de pertenencia de las entradas a los diferentes
conjuntos difusos en los cuales se ha dividido el universo de discurso de las
diferentes variables. Luego pasa por el mecanismo de inferencia difusa.
Teniendo los diferentes niveles de pertenencia arrojados por el fuzificador, los niveles deben ser procesados para generar
una salida difusa. La tarea del sistema de inferencia es tomar los niveles de
pertenencia y apoyado en la base de reglas generar la salida del sistema difuso.
Finalmente, está la base de reglas difusas, las cuales se definen de acuerdo
con la experiencia y presentan la sintaxis definida en la figura 5. Para el diseño del controlador difuso, se
implementó el diagrama de bloques de la figura 6, en el cual el error y la
razón de cambio del error, previamente multiplicadas por dos ganancias de
normalización (𝐾𝑒 y 𝐾𝑅𝐸), son la entrada al sistema difuso. Si el proceso que se desea
controlar no presenta integrador, la salida del sistema difuso se integra,
multiplicando previamente por una ganancia 𝐾𝐼, esto con el objetivo de garantizar que la variable del proceso
alcance el punto de consigna; por lo tanto, en el sistema de control de
posición el integrador se anula [10]. En la figura 7 se observan las cinco
funciones de pertenencia que se establecieron para las dos variables de
entrada, el error y la razón de cambio del error, y la variable de salida. El diseño de las reglas es el resumen del sistema
de control que ofrece el experto sobre el conocimiento de cómo controlar la
planta, lo que afecta directamente la calidad del sistema. El sistema de reglas
de control se diseñó con los siguientes principios de sintonización: - Cuando 𝐸 = 0 y 𝑅𝐸 = 0, la variable por controlar se encuentra sobre del punto de
consigna, la acción de control no varía. - Cuando 𝐸 > 0 la variable a controlar se encuentra por debajo del punto de
consigna. La señal de control depende de la razón de cambio del error; si es
negativa significa que se acerca rápidamente a la señal de referencia; por
tanto, la acción de control disminuye; si la razón de cambio es positiva,
significa que la variable del proceso se aleja de la señal de referencia, por
lo cual la señal de control debe aumentar. - Cuando 𝐸 < 0, la variable por controlar se encuentra por encima del punto
de consigna. La señal de control depende de la razón de cambio del error. Si es
negativa, significa que se aleja rápidamente de la señal de referencia, y, por
tanto, la acción de control debe disminuir; si la razón de cambio es positiva,
significa que la variable del proceso se acerca a la señal de referencia, por
lo cual la señal de control debe disminuir. En la tabla 4 se observa la base de reglas
establecidas para el sistema de control difuso. En la tabla 5 se observan las
constantes definidas para el controlador difuso, para los dos procesos bajo
estudio. En la industria se observan diferentes métodos
que le permiten a un operario manipular la planta de una forma sencilla, por
medio de una interfaz gráfica, la cual puede ser propuesta, como en este caso,
por algún software de programación, ya sea LabVIEW
o Matlab. En este caso se vio la necesidad de crear una interfaz HMI para cada
uno de los programas, que le permita al operario manipular y visualizar el
comportamiento de los sistemas utilizando el protocolo de comunicación OPC [11]
[12]. Para el software Matlab, se diseñó una interfaz que integra los
controladores PID, LQG y lógica difusa de cada sistema, respectivamente, además
del control de la MPS de Festo, y ofrece un panel en
el cual se puede seleccionar el proceso, el controlador y el punto de consigna
que se requiera (figura 8). En el sistema se visualiza en tiempo real el
comportamiento de cada una de las variables y la señal de control. LabVIEW tiene la ventaja de ofrecer una HMI más integración y visualización
de procesos que trabajen con amigable para el usuario, a comparación de Matlab.
En diferentes tecnologías (figura 9). La interfaz permite el este software se
integró la comunicación con los tres PLC control del proceso y monitorear las
variables relevantes utilizados (Siemens, AllenBradley
y Festo); con este de cada sistema. software se
puede obtener mayor provecho en cuanto a la Se expondrán los resultados de los controladores
implementados para cada sistema respectivamente. En este caso se compararán las
respuestas obtenidas del modelo implementado en cada software (Matlab y LabView) aplicando los tres controladores. Se implementaron los tres controladores
para el sistema de regulación de velocidad. En las figuras 10, 11 y 12 se
observa la respuesta transitoria, dado un setpoint
variable, para el controlador PID, LQG y lógica difusa,
respectivamente. En cada gráfica se superponen los
resultados evaluados con la HMI desarrollada en Matlab y Labview.
Se observa en los tres controladores que la respuesta transitoria evaluada con
la HMI de LabView es lenta comparada con la HMI
implementada en Matlab. Esto se debe a que en el software LabView no se garantiza el periodo de muestreo (𝑇𝑚 = 0.15 𝑠𝑔), la respuesta no se afecta en cuanto a sobrepaso, pero sí se
estabiliza en un tiempo diferente, mayor al de la implementación en Matlab. De
otro lado, el sistema de control adecuado para regular la velocidad es el
controlador PID, y presenta una respuesta sobreamortiguada
y con un tiempo de establecimiento similar al establecido en la etapa de
diseño, 𝑇𝑠 = 15 sg. El control LQG responde de forma adecuada,
pero demora 22 sg en estabilizar. Se resalta que el
modelo de caja negra es una buena aproximación de la dinámica del sistema. El
controlador difuso responde de forma lenta, debido al integrador que se
encuentra a la salida de la etapa de defusificación. Se implementaron los tres controladores
para el sistema de posición, y los resultados se observan en las siguientes
imágenes: control PID en la figura 13, control LQG en la figura 14 y control
basado en lógica difusa en la figura 15. Para el control de posición se observa
que la respuesta en LabView, la señal correspondiente
a la posición de la barra, presenta un retardo significativo entre el software
Labview y el Matlab; y esto se debe a la gran
cantidad de objetos gráficos ubicados en el software de Labview, que no garantizan el periodo de muestreo. Esto
ocasiona que el sistema no sea capaz de controlar de forma eficaz la inercia de
la barra y se presenten sobrepasos, o sea más lenta la estabilización de la
planta. Para este sistema, el control basado en lógica difusa es el más
adecuado; presenta un tiempo de establecimiento de 15 sg y un sobrepaso del 4 %. El estándar de comunicación OPC es una
herramienta útil, ya que permite integrar diferentes tipos de tecnologías
(Siemens, AllenBradley y Festo)
en una mimas interfaz HMI; se pueden controlar cantidades significativas de
diferentes dispositivos conectados a una red, y además permiten ser trabajados
por softwares como Matlab y LabView, los
cuales son programas diseñados para cálculos o diseños más complejos que los
que permite un PLC convencional, como lo son el control LQG y el control
difuso. Para periodos de muestreo menores a 0,5 sg, el software LabView no
garantizaba una tasa de muestreo constante; por tanto, la respuesta del sistema
era diferente a la diseñada, y esto se debe a que la programación de bloques de
LabView realiza el barrido de toda la lógica y
encuentra lazos que consumen más tiempo y no puede asegurar el periodo de
muestreo. Para aplicaciones lentas, controles de temperatura u otros, LabView es una http://www.ni.com/white-paper/7906/es/.[Accedido:
05herramienta útil, porque su ambiente de programación es ene-2017]. amigable
para el diseño de la interfaz HMI. [1] J.
M. Zamarreño, Acceso a datos mediante OPC. Editorial Andavira, 2010. [2] A. Lakshmi; B. Sangeetha;
A. Naveenkumar; Balaji Ganesh; N. Bharathi, “Experimental Validation of PID Based Cascade Control
System through SCADA-PLCOPC Interface”, en International
Conference on Computer Communication and Informatics. 2012. doi: 10.1109/ICCCI.2012.6158893 [3] Z.Lieping; Z. Aiqun; Z.Yunsheng, “On Remote Realtime
Communication between MATLAB and PLC Based on OPC Technology”, Chinese
Control Conference, 2007. doi: 10.1109/CHICC.2006.4346760 [4]
Tushar V. Bhaskarwar; Shripad S Giri; R. G. Jamakar, “Automation of shell and tube type heat exchanger
with PLC and LabVIEW”, International Conference on Industrial
Instrumentation and Control (ICIC, 2015.
doi: 10.1109/IIC.2015.7150859 [5]
W. Stallings,
Comunicaciones y
redes de computadores. Editorial
Prentice Hall, 2000. [6]
K. Ogata, Sistemas de
control en tiempo discreto. Editorial Prentice Hall, 1996. [7]
Xin-lan
Li; Jong-Gyu Park; Hwi-Beom
Shin, “Comparation and Evaluation of Anti-Windup PI Controllers ”, Journal of Power Electronics, vol. 11,
no. 1, 2011. [8]
L. J. Marín, V. M. Alfaro, “Sintonización de
controladores por ubicación de polos y ceros”, IEEE CONESCAPAN XXVI,
2007. [9]
R. S. Burns, Advanced Control
Engineering. Editorial Butterwoth
Heinemann, 2001. [10]
P. Ponce, Inteligencia artificial con aplicaciones a
la ingeniería, Editorial Marcombo S.A., 2011.
[11] “Matlab Toolbox OPC guide”, 2017. [En
línea]. Disponible en:
htps://www.mathworks.com/products/opc.html. [Accedido: 05-ene-2017] [12]
National Instruments, “Conecte LabVIEW a Cualquier
PLC”, 2017. [En línea]. Disponible en:
Introducción
Comunicación
OPC
1.1. Configuración de la red
1.2. Servidor OPC
Diseño
del sistema de control
1.3. Control PID
Interfaz
HMI
Resultados
1.4. Control de velocidad
1.5. Control de posición
Conclusiones
Referencias