1
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
Autor: M.Sc. Luis Carlos Meneses Silva Universidad Piloto de Colombia
[email protected]
REQUERIMIENTOS.
Software FluidSim Pneumatics 4.2. Software Codesys Provided Festo V2.3. Conector OPC EzOPC V5.5a. Descarga: http://goo.gl/pvZEHM http://goo.gl/pvZEHM..
INTRODUCCIÓN Los software de programación para Controladores Lógicos Programables (PLC’s) son diversos y en su mayoría son creados por los mismos fabricantes fabricantes de estos sistemas. Algunos de estos programas se integran con simuladores los cuales permiten realizar pruebas de funcionamiento antes de su implementación en el proceso industrial que será automatizado. La desventaja de estos simuladores está en que el proceso de simulación no es amigable y toma mucho tiempo el proceso de corrección de errores de programación. El fabricante Festo, especializado en sistemas neumáticos y electroneumáticos, también ofrece una gama de PLC’s para la automatización de procesos industriales. Para el diseño y simulación de los sistemas neumáticos y electroneumáticos Festo ofrece el software FluidSim; y para la programación de las plataformas de automatización CPX, CECX y FED ofrece el software Codesys V2.3 y V3.5 los cuales se ajustan al estándar IEC-31131. Festo tiene una línea educativa denominada Festo Didactic la cual se compone, entre otras cosas, por los bancos de automatización de neumática, electroneumática y controladores lógicos programables. Estos bancos facilitan el proceso de aprendizaje en el diseño de estos sistemas debido a la rapidez con la que se pueden implementar y permite controlarlos por lógica cableada o por los controladores. Este documento ofrece una alternativa de aprendizaje para la programación de PLC’s eliminando la necesidad de los bancos de automatización usando los software Codesys y FluidSim interactuando por medio de una conexión o servidor OPC 1 (OLE2 for Process Control).
¿QUÉ ES UN SERVIDOR OPC?
1
Ref: https://es.wikipedia.org/wiki/OPC Object Linking and Embedding (incrustación y enlazado de objetos). Ref: https://es.wikipedia.org/wiki/ https://es.wikip edia.org/wiki/Object_Linking_and_E Object_Linking_and_Embedding mbedding
2
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
2
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
Un servidor OPC es una aplicación de software (driver) que hace de interfaz una fuente de datos (típicamente PLCs, DCSs, básculas, Modulos I/O, controladores, etc.) utilizando sus protocolo nativos con Clientes OPC (típicamente SCADAs, HMIs, generadores de informes, generadores de gráficos, aplicaciones de cálculos, etc.). En una arquitectura Cliente OPC/ Servidor OPC, el Servidor OPC es el esclavo mientras que el Cliente OPC es el maestro. Las comunicaciones entre el Cliente OPC y el Servidor OPC son bidireccionales, lo que significa que los Clientes pueden leer y escribir en los dispositivos a través del Servidor OPC. Los servidores OPC cumplen con una o más especificaciones definidas por OPC Foundation utilizando. Existen cuatro tipos de servidores OPC definidos por la OPC Foundation, y son los siguientes:
Servidor OPC DA – Basado en Spezifikationsbasis: OPC Data Access 3 - especialmente diseñado para la transmisión de datos en tiempo real. Servidor OPC HDA – Basado en la especificación de Acceso a Datos Historizados que provee al Cliente OPC HDA de datos históricos. Servidor OPC A&E Server – Basado en la especificación de Alarmas y Eventos – transfiere Alarmas y Eventos desde el dispositivo hacia el Cliente OPC A&E. Servidor OPC UA – Basado en la especificación de Arquitectura Unificada – basado en el set más nuevo y avanzado de la OPC Foundation, permite a los Servidores OPC trabajar con cualquier tipo de datos.
En conjunto, los tres primeros tipos de Servidores OPC se conocen como Servidores OPC "Clásicos" para distinguirlos de OPC UA que se convertirá en la base d e las futuras arquitecturas OPC.
CONEXIÓN CODESYS V2.3Y FLUIDSIM 4.2. A TRAVÉS DEL SERVIDOR OPC EzOPC. El objetivo de realizar la conexión entre Codesys y FluidSim es tener una alternativa de programación de PLC interactiva sin el uso de los bancos de automatización Festo, además, esto permite eliminar la restricción de número de actuadores que pueden ser utilizados en las prácticas de laboratorio, mejorar el aprendizaje autónomo y fortalece las habilidades de programación de controladores lógicos programables de los estudiantes.
Servidor EzOPC. El servidor OPC EzOPC sirve como puente de conexión de datos entre las siguientes plataformas:
3
FluidSim Codesys con PLC virtual PLCWinNT. FluidSim Simulador de PLC Siemens S7-PLCSim. FluidSim Módulo de entradas y salidas EasyPort. Ciros / Cosmir Codesys con PLC virtual PLCWinNT. Ciros / Cosmir Simulador de PLC Siemens S7-PLCSim. Ciros / Cosmir Módulo de entradas y salidas EasyPort.
http://matrikonopc.es/opc-servidor/opc-data-access-versions.aspx M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
3
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
Esquema de conexión.
CODESYS
EzOPC
FLUIDSIM
PLCWinNT (PLC virtual)
Servidor OPC
La plataforma Codesys incluye en su instalación un PLC virtual llamado PLCWinNT el cual permite simular códigos o programas de automatización con el fin de realizar pruebas de funcionamiento antes de este ser descargado al PLC físico. Este PLC virtual tamb ién nos permite realizar conexiones OPC con otros software de simulación de procesos, por ejemplo FluidSim, con el fin de realizar pruebas en plantas o procesos virtuales. Codesys descarga el programa en el PLCWinNT y tiene comunicación bidireccional con el mismo. El PLC virtual se comunica con el servidor OPC EzOPC el cual también se comunica con el software de simulación de sistemas electroneumáticos FluidSim. Con esta configuración podemos realizar pruebas de automatización sobre sistemas electroneumáticos sin necesidad de usar los bancos de automatización de festo.
PROCEDIMIENTO PARA REALIZAR LA CONEXIÓN OPC. 1. Instalar los paquetes FluidSim V4.2, Codesys V2.3 y el servidor OPC EzOPC. 2. Abrir el servidor OPC el cual se encuentra en el menú de inicio Festo. 3. En el servidor OPC seleccionar los paquetes de software que van a ser conectados, en este caso Process simulation in FluidSim y CoDesys Controller.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
4
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
4. Abrir el PLC virtual CoDesys PLCWinNT V2.4 en el cual se descargará y ejecutará el programa que se realizará en la plataforma CoDesys V2.3. Es importante que este PLC sea configurado en la plataforma Codesys para tener una correcta conexión.
Configuración CoDeSys V2.3. 5. Una vez abierto el PLC virtual PLCWinNT V2.4 y El servidor OPC EzOPC se procede a configurar la plataforma Codesys para que pueda comunicarse con el servidor OPC. Los pasos de configuración de CoDesys se exponen en los puntos 6 hasta13.
6. Abrimos la plataforma Codesys. Si existe un proyecto abierto procedemos a cerrarlo y guardarlo si desea consevarlo. Para cerrar el proyecto abierto entramos al menú File y presionamos en Close.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
5
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
7. Creamos un nuevo proyecto en el menú File New. En la ventana de diálogo que se abre, la cual se titula target Settings seleccionamos el PLC con el cual trabajaremos, en nuestro caso usaremos el PLC virtual 3S CoDeSys SP PLCWinNT V2.4. Con esta operación le indicaremos a la plataforma que trabajaremos con el PLC virtual que abrimos en el punto 4. Presionamos OK.
8. Una vez seleccionado el PLC la plataforma pide seleccionar el lenguaje con el cual será elaborado el programa. Puede seleccionar el que desee, sin embargo, para este ejemplo usaremos programación en Ladder (LD). Presionamos OK. Es importante que no cambie el nombre del programa para evitar errores.
9. Para por trabajar con la conexión OPC es necesario trabajar con variables globales. En el organizador de objetos (ver figura) ingresamos a la sección Recursos (Resources) y entramos a la opción Global_Variables. En la imagen del punto 10 se puede observar la pantalla para declaración de variables globales.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
6
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
10. Declaramos las variable de entrada EB0 y de salida AB0 como tipo Byte. Es importante declarar las variables de esta forma ya que FluidSim tiene predefinida esta estructura. La estructura de declaración es EB0:BYTE; y AB0:BYTE;. El byte de entrada EB0 me permite incluir 8 señales (bits) de entrada, al igual que AB0 permite manejar 8 señales de salida. Si se requieren más señales de entrada y salida se declaran como EB1, EB2… EB7.
11. El siguiente paso es configurar la plataforma para que permita exportar las variables globales. En el menú Project entramos a la opción Options y seleccionamos Symbol Configuration. Marcamos la opción Dump Symbol entries.
12. Una vez realizado el paso anterior en la misma ventana entramos a la opción Configure Symbol File, seleccionamos el menú Global Variables y se activa la opción Export Variables of Object . Aceptamos todos los cambios hasta salir a la plantalla principal de la plataforma
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
7
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
Configuración de la comunicación con el PLC virtual PLCWinNT. 13. Ya configurada la forma en que vamos a recibir y enviar los datos, se procede a configurar la comunicación entre Codesys y el PLC virtual PLCWinNT. En el menú Online entramos a la opción Communication parameters. Si existen canales de comunicación creados, estos deben ser eliminados (seleccionar cada canal y presionar Remove). La ventana de configuración de comunicación debe mostrarse como en la siguiente imagen cuando no hay conexiones configuradas.
Teniendo en cuenta que el PLC virtual y la plataforma Codesys se encuentran alojados en la misma máquina se debe configurar una conexión local de tipo Tcp/IP (Level 2 Route). Esta
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
8
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
se realiza presionando New , seleccionamos la conexión mencionada y damos OK. Posteriormente configuramos la Gateway como Local .
Al aceptar la configuración de la Gateway debemos verificar que la conexión tenga el mismo puerto de comunicación que el PLC virtual. Si los puertos coinciden aceptamos la configuración y procedemos a elaborar el programa del sistema a controlar implementado en FluidSim, de lo contrario, debemos modificar el puerto en CoDeSys presionando doble click en el valor del puerto y modificándolo al establecido por el PLC virtual. Guarde el proyecto y asigne un nombre para el mismo, por ejemplo “codesysopc.pro”.
Es importante tener en cuenta que no se deben abrir varias instancias del PLC virtual ya que cada una tiene puertos diferentes, por tanto, en caso que el PLC no aparezca en la barra de tareas de Windows debe buscarla entre sus ventanas presionando Alt+Tab.
Configuración FluidSim V4.2. 14. Una vez configuramos la plataforma, se procede a configurar Codesys para que pueda comunicarse con el PLC virtual a través del servidor OPC EzOPC. Esta configuración se realiza desde los pasos 15 hasta el 17.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
9
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
15. Iniciamos abriendo el software Codesys y creando un nuevo plano desde el menú File New. Una vez creado el nuevo plano de trabajo desde el m enú Options entramos a la sección Option EasyPort/OPC/DDE Connection y seleccionamos la comunicación OPC Mode y aceptamos la configuración.
16. Arrastre al plano los módulos FluidSim In Port y FluidSim Out Port desde la librería EasyPort/OPC/DDE . Estos módulos se conectan al PLC virtual por medio del servidor OPC y actúan como el PLC dentro de FluidSim. Es importante tener en cuenta que el módulo FluidSim Out lleva los datos desde FluidSim hacia el servidor OPC, por tanto, en FluidSim interactúa con las señales de entrada. El módulo FluidSim In traer los datos desde el servidor OPC, por tanto, trae las señales de control g eneradas por Codesys.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
10
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
17. El siguiente paso es configurar los módulos de entrada y s alida. Recordemos que en el paso 10 configuramos en Codesys la variable de entrada EB0 y la variable de entrada EA0, estas deben ser asignadas a los módulos de entrada y salida de FluidSim. Recordemos que el módulo de salida de datos FluidSIM Out interactúa con las señales de entrada de la máquina y el módulo de entrada de datos FluidSIM In entrega las señales de control o señales de salida de Codesys. De acuerdo a lo anterior configuramos el módulo de salida FluidSIM OUT siguiente forma:
Doble click en el módulo FluidSim Out. Seleccionamos el servidor OPC “FestoDidactic.EzOPC.2” . En Item seleccionamos el menú desplegable Codesys y posteriormente EB0.
En la selección del Item de datos evidenciamos la importancia de denominar las variables globales como EB0 y AB0 como fue indicado en el paso 10 .
El módulo de entrada de datos se configura con la variable de salida de datos de Codesys AB0 y el mismo OPC server del módulo de salida de datos.
Finalmente los módulos quedan configurados de la siguiente manera:
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
11
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
0
1
2
3
4
5
6
7
FestoDidactic.EzOPC.2
FluidSIM Out CoDeSys.EB0
FestoDidactic.EzOPC.2
FluidSIM In CoDeSys.AB0
0
1
2
3
4
5
6
7
Con lo anterior se finaliza la configuración de los dos software. Guardamos el plano de FluidSim, por ejemplo con el nombre fluisimopc.ct
Prueba de conexión. Antes de realizar un programa debemos verificar que la conexión se ha establecido correctamente. Para esto descargaremos la configuración realizadas con un programa vacio, es decir, sin ninguna instrucción. 18. Descargamos el programa Codesys en el PLC virtual. Para esto primero debemos compilar el programa desde en el menú Project Build . Una vez compilado deben aparecer 0 errores. Posteriormente descargamos desde el menú Online Login. Una vez descargado en el PLC virtual debe visualizarse el nombre del programa. Finalmente se pone el PLC vir tual en modo Run desde el menú Online Run. Con este paso el PLC virtual ya se encuentra ejecutando el programa.
19. Ejecutamos el programa de FluidSym presionando el botón Start.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
12
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
20. Finalmente verificamos en el servidor OPC que exista un cliente conectado y Codesys ha sta realizado conexión con el programa creado.
Si lo anterior es correcto la conexión entre Codesys y fluidSin es existosa y podemos empezar a utilizar esta aplicación para simular nuestros programas de automatización sin la necesidad de tener un banco neumático o un PLC real.
Ejemplo. Se requiere controlar un cilindro doble efecto con una válvula 5.2 electroneumática. El cilindro debe salir a la posición A+ si es activado un pulsado S0 y debe regresar a la posición A- si es activado un pulsador S1. El PLC identifica el pulsador S0 como EB0.0 y el pulsador S1 como EB0.1 Solución: M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]
13
Simulación de sistemas electroneumáticos controlados por plc usando fluidsim 4.2 y codesys v2.3
1. Iniciamos en FluidSim, ya con la configuración explicada anteriormente a realizar las conexiones correspondientes. 1
+24V
2 3
3
S0
S1 4
0
4
1
2
3
4
5
6
7
FestoDidactic.EzOPC.2
FluidSIM Out CoDeSys.EB0
4
2
5
3
Y1
FestoDidactic.EzOPC.2
FluidSIM In
Y2
1
CoDeSys.AB0
0
1
2
3
4
5
6
7
3
Y1
Y2
0V
2. Realizamos el programa en Codesys el cual queda de la siguiente manera. 3. Compilamos el proyecto, lo descargamos al PLC virtual y se pone el PLC en modo RUN. 4. Ejecutamos el programa de FluidSim y manipulamos los pulsadores S0 y S1. El programa debe funcionar correctamente.
M.Sc. Luis Carlos Meneses Silva - lmenes
[email protected]