Está en la página 1de 23

CODESYS BSICO

CoDeSys es uno de los sistemas de programacin del estndar IEC 61131-3 ms comunes para PLCs y reguladores industriales. Permite programar autmatas de diferentes fabricantes, as cmo generar cdigo para algunos microprocesadores y DSPs. Soporta los cinco lenguajes de programacin del estndar, dispone de visualizacin integrada, adems de un simulador offline. Se trata de un software de programacin abierto y se puede descargar directamente de la pgina del desarrollador (http://www.codesys.com/support-training/self-help/downloads-updates.html) 1. Pantalla de presentacin:
Barra de mens Barra de instrucciones

Barra de iconos

Panel de Declaracin de variables

Editor de programa

Organizacin del proyecto

Panel de visualizacin

Centro de mensajes Barra de estado Figura 1

2. Arranque del programa. Al iniciar el programa o crear un nuevo proyecto, Codesys le preguntar por el tipo de mdulo que se va a generar, esto es sobre qu tipo de PLC va a aplicarse la programacin. Para nuestro caso, como slo vamos a simular, debemos elegir None.

Figura 2

A continuacin debe elegirse el lenguaje de programacin que vamos a utilizar. Para empezar, nuestro ejemplo ser usando Ladder (LD).

Codesys bsico - Ing. Mario Urrutia E.

Figura 3

Note el nombre del mdulo PLC_PRG el cual no debe ser modificado ya que garantiza la ejecucin cclica del programa. Si desea usar el idioma espaol como ambiente de trabajo, vaya a "Proyect/Options/Desktop" y all configure el idioma espaol en la opcin Language, como se muestra en la figura:

Figura 4

Codesys permite vincular programas, pero para empezar, cada actividad que realicemos emplearemos nicamente proyectos nuevos. 3. Programacin. La programacin la podemos dividir en partes: Construccin del circuito Ladder Declaracin de variables Asignacin de variables al circuito Ladder Verificacin del programa Simulacin
Codesys bsico - Ing. Mario Urrutia E. 2

3.1 Construccin del circuito Ladder Para empezar y con el fin de mostrar slo el proceso, se construir el circuito Ladder ms sencillo posible, esto es un contacto normalmente abierto (NA) conectado a una bobina. Haga click sobre el escaln en el que desea aadir el contacto NA:

Figura 5

Note la presencia del rectngulo con lneas discontinuas que indica que es el escaln seleccionado. En la Barra de instrucciones haga click sobre el contacto NA el que inmediatamente se mostrar en el escaln:

Figura 6

Haga click en la lnea del escaln a la derecha del contacto NA y repita el procedimiento para la bobina y obtendr el resultado esperado:

Figura 7

Note que tanto el contacto NA de entrada como la bobina de salida no tienen asociada ninguna variable. 3.2 Declaracin de variables Antes de declarar las variables veamos algunos conceptos relacionados con el rbol de organizacin del proyecto: Mdulos POUs (Program Organization Unit): Tanto funciones como bloques de funciones y programas son POUs, los cuales pueden ser complementados por acciones. Cada POU consiste en una parte de declaracin y un cuerpo. El cuerpo del programa se escribe en el editor del programa en uno de los lenguajes de programacin del IEC, que son IL, ST, SFC, FBD, LD o CFC. CoDeSys soporta todos los POUs del estndar IEC. Si se quieren usar estos POUs en el proyecto, se debe incluir la librera standard.lib en ste. Tipos de datos: en este apartado el usuario puede definir sus propios tipos de datos. Como por ejemplo: estructuras, tipos de enumeracin y referencias. Visualizaciones: CoDeSys proporciona visualizaciones de modo que el usuario pueda mostrar las variables de su proyecto. Se pueden dibujar elementos geomtricos offline, que en modo online, pueden cambiar su forma/color/texto en respuesta a valores especificados de las variables. Recursos: en este apartado se ayuda a configurar y a organizar el proyecto. Es posible entre otras tareas la definicin de variables globales las cuales se pueden utilizar en todo el proyecto;

Codesys bsico - Ing. Mario Urrutia E.

la gestin de las libreras; la configuracin de un sistema de alarma o la configuracin del hardware del PLC.

Figura 8

Como se sabe, se puede trabajar con distintos tipos de variables. Inicialmente se utiliza variables globales ya que puedan ser utilizadas en todos los programas, funciones y bloques funcionales, por lo que se procede de la siguiente manera: En el Explorador de proyectos haga clic en Recursos:

Figura 9

Expanda la carpeta Variables globales y luego haga doble click sobre la opcin Variables_globales lo que nos dar acceso la ventana respectiva donde podremos declarar las variables que necesitemos.

Codesys bsico - Ing. Mario Urrutia E.

Figura 10

En el espacio comprendido entre VAR_GLOBAL y END_VAR puede declararse todas las variables globales que se necesite. Para nuestro ejemplo, declare las variables Entrada y Salida de tipo booleano tal como se muestra en la figura:

Figura 11

Cierre la ventana Variables_globales. Otra posibilidad de declarar las variables es haciendo click derecho en cualquier punto de la ventana Variables_globales y elija Declaracin de variables

Figura 12

Codesys bsico - Ing. Mario Urrutia E.

A continuacin se ha de mostrar la ventana Declaracin de variables:

Figura 13

En la casilla Nombre colocamos el nombre de la variable (en nuestro ejemplo, Entrada), en el tipo de variable hay que elegir entre todos los tipos de variables que se usan en este tipo de programacin (Bool). El valor inicial de la variable es un dato que ella tomar al momento de iniciar el programa. La direccin de la variable indica la ubicacin dentro del PLC utilizada para manejar esta variable. Estas direcciones pueden ser de varios tipos, y est definido por el tipo de dato a emplear los cuales se pueden observar en la siguiente tabla:
Variable a ingresar Entrada de un solo BIT Entrada tipo palabra Salida de un solo BIT Salida tipo palabra Memoria de un solo bit Memoria tipo palabra Tipo de variables %I %I %O %O %M %M Longitud de la variable X W X W X X Palabra 0 1 0 1 2 2 .3 .1 Bit .1 Descripcin %IX0.1, corresponde a una entrada ubicada en el Bit 1 de la palabra 0 %IW1, corresponde a una entrada donde se maneja la palabra 1 completa %OX0.1, corresponde a una salida ubicada en el Bit 1 de la palabra 0 %OW1, corresponde a una salida donde se maneja la palabra 1 completa %MX2.3, corresponde a una memoria ubicada en el Bit 3 de la palabra 2 %MW2 ,corresponde a una memoria donde se maneja la palabra 2 completa

Tabla 1 Si se rellena los datos de la siguiente manera:

Figura 14

Se tendr la siguiente declaracin de variables:

Figura 15
Codesys bsico - Ing. Mario Urrutia E. 6

En este caso, como se trata de una simulacin, no es relevante definir las direcciones de entradas y salidas pero en el caso de efectuar la programacin para un PLC fsico, s es necesario definirlas. Es importante aclarar que para llevar a cabo este paso se hace necesario conocer bien la naturaleza de la variable a utilizar, si es digital o booleana (cero o uno), si es un entero, si es un real, si es una palabra, etc. 3.3 Asignacin de las variables al circuito Ladder Ya declaradas las variables hay que ubicarlas en el circuito Ladder. Haga click sobre el contacto NA y escriba el nombre de la variable anteriormente definida como Entrada y repita el mismo procedimiento con la bobina asignndole el nombre Salida.

Figura 16

3.4 Verificacin del programa. Una vez acabada la programacin, se debe comprobar que no tenga errores ya sea de sintaxis o de uso incorrecto de variables. Para verificar un proyecto, acceda al men Proyecto Compilar todo:

Figura 17

Los posibles errores de programacin deben aparecer en el Panel de resultados, que para nuestro caso no existen como se ve en la figura

Figura 18

En el caso de que aparezcan mensajes de error, mediante un doble click sobre el mismo, se acceder directamente a la lnea de programacin donde se ha producido, en el Editor del programa. 3.5 Simulacin. Debe cumplirse necesariamente el Inicio de Sesin y posterior Inicio de la simulacin y opcionalmente la simulacin tipo Scada. 3.5.1 Inicio de sesin Debe acceder al men En lnea Inicio de sesin:
Codesys bsico - Ing. Mario Urrutia E. 7

Figura 19

Aproveche de verificar que la opcin Simulacin est activada. Hecho esto, note como varan los paneles de Declaracin de variables y el Editor de programa

Figura 20

Nota: Tambin puede usar la barra de iconos para iniciar y cerrar sesiones:

Figura 21

3.5.2 Inicio de la Simulacin Para empezar el proceso de simulacin, puede presionar la tecla F5, acceder al men En lnea Inicio o presionar el cono Inicio de la barra respectiva:

Figura 22
Codesys bsico - Ing. Mario Urrutia E. 8

Ahora debemos determinar qu valores van a definirse para las entradas. En el Editor de programa, si hace doble click sobre la Entrada, indicar que dicha entrada ha de tomar el valor 1 para la simulacin, como se muestra en la figura:

Figura 23

Si nuevamente hace doble click sobre la Entrada, indicar que tomar el valor 0 para la simulacin:

Figura 24

Si nuevamente hace doble click, la Entrada regresar a su posicin original, es decir, no adoptar ningn valor. Para la simulacin, la Entrada debe tomar el valor 1 y a continuacin efectuamos la simulacin escribiendo los valores asignados a las entradas y esto se hace accediendo al men En lnea Escribir valores o presionando Ctrl+F7:

Figura 25

Note como la habilitacin de la Entrada provoca la activacin de la Salida. Para desactivar la Salida, primero debemos determinar que la Entrada debe ir a 0 haciendo doble click sobre ella y luego, para la simulacin, presionar nuevamente Ctrl+F7. Otra forma de efectuar la simulacin es usando el panel de Declaracin de Variables.

Figura 26
Codesys bsico - Ing. Mario Urrutia E. 9

Seleccionamos la Entrada y presionamos Intro:

Figura 27

Para llevar a cabo la simulacin, presione Ctrl+F7:

Figura 28

Para salir de la simulacin, cierre la sesin accediendo al men En lnea Cierre de sesin, presione Ctrl+F8 o use el cono respectivo:

Figura 29

Es conveniente, antes de empezar una nueva programacin, borrar todos los datos anteriores, es decir, eliminar los datos del PLC virtual y para ello acceda al men Proyecto Limpiar todo.

Codesys bsico - Ing. Mario Urrutia E.

10

Figura 30

3.5.3 Simulacin con visualizacin (HMI) tipo Scada La simulacin en puede hacerse ms entendible si es que se usa una interfaz HMI que Codesys ofrece a modo de un Scada de menor escala. Usando el mismo ejemplo, en el rbol de Organizacin del proyecto, seleccione la pestaa Visualizaciones lo que mostrar la siguiente ventana:

Figura 31

Haga click derecho sobre la carpeta Visualizaciones y elija Insertar objeto:

Figura 32

Asigne un nombre a la visualizacin que va a construir, en este caso, scada y presione Aceptar

Figura 33
Codesys bsico - Ing. Mario Urrutia E. 11

Debe presentarse una ventana enrejillada donde se va a construir el Scada. Note en la parte superior la barra de herramientas de dibujo que permite aadir diferentes objetos tales como rectngulos, elipses, polgonos, polilneas, botones, etc, los cuales usaremos para este proceso.

Figura 34

En nuestro ejemplo, para la Entrada le asignaremos un botn por lo que hacemos click sobre dicho cono y en el panel de dibujo lo creamos:

Figura 35

Para la Salida, usaremos un crculo como lmpara piloto

Figura 36

Ahora hay que configurar los parmetros de cada objeto. Para la Entrada, haga doble click sobre el botn y aparece la ventana Configurar elemento, donde en la opcin Texto, escriba el texto INICIO como lo muestra la figura

Codesys bsico - Ing. Mario Urrutia E.

12

Figura 37

Ahora debemos configurar la variable que va a accionar el botn. Para ello elegimos la opcin Entrada lo que muestra la siguiente ventana:

Figura 38

La opcin Conmutar variable, permite que la entrada se comporte como un interruptor y la opcin Palpar variable que se comporte como un pulsador. En nuestro ejemplo usaremos un interruptor y para ubicar la variable que lo accionar, colocamos un punto (.) en el cuadro de entrada Conmutar variable lo que mostrar un desplegable con todas las opciones de variables globales previamente programadas. En nuestro caso elegiremos Entrada, presionamos Intro y finalmente damos Aceptar.

Codesys bsico - Ing. Mario Urrutia E.

13

Figura 39

El procedimiento anterior (colocar un punto) sirve solamente cuando se usan variables globales. Si quiere visualizar todas las variables (globales y locales) coloque el cursor sobre el cuadro Conmutar variable y presione la tecla F2:

Figura 40

Para la lmpara piloto seguimos un procedimiento anlogo. En nuestro ejemplo, dicha lmpara ha de mostrar un cambio de color cuando la Salida cambie de estado. Entonces haga doble click sobre el crculo y elija Colores:

Codesys bsico - Ing. Mario Urrutia E.

14

Figura 41

En la zona Color opcin Interior debe seleccionar el color que aparece por defecto, esto es cuando la variable asignada se encuentre desactivada. En la zona Color de alarma opcin Interior debe seleccionar el color cuando la variable se active. Para nuestro caso elegiremos el color verde oscuro para el primer caso y el verde claro para el segundo caso. Finalmente hay que asignar la variable que va a llevar a cabo esta funcin. En Categora elegimos la opcin Variables y en el cuadro Entrada desactivar, colocamos un punto (.) lo que desplegar todas las posibles variables globales previamente programadas. Seleccionamos Salida, presionamos Intro y damos a Aceptar.

Figura 42

Para llevar a cabo la simulacin efectuamos el mismo proceso anterior, esto es, compilamos, iniciamos sesin y ejecutamos Inicio de simulacin.

Codesys bsico - Ing. Mario Urrutia E.

15

Figura 43

Presionando el botn INICIO la lmpara cambiar de color. Note adems como cambian el estado de las variables en la ventana de Declaracin de variables y en el Editor del programa Ladder. Terminado el ejemplo, gurdelo con el nombre ejercicio1. 4. Ejercicios: Variables de entrada: ON: pulsador NA OFF: pulsador NC Variables de salida: LAMPARA: Actuador.

4.1 Sistema de Arranque y paro con enclavamiento (archivo: ejercicio2)

Figura 44
Codesys bsico - Ing. Mario Urrutia E. 16

4.2 Lmpara con encendido temporizado. (archivo: ejercicio3) Variables de entrada: ON: pulsador NA Variables de salida: LAMPARA: Actuador. Bloque funcional: TP1: Temporizador de pulsos

Figura 45 Para introducir un temporizador, primero cercirese de que tiene cargada la librera respectiva. Para ello, en el rbol de organizacin del proyecto, pestaa Recursos, haga doble click sobre el Administrador de Bibliotecas:

Figura 46
Codesys bsico - Ing. Mario Urrutia E. 17

El Administrador de bibliotecas debe mostrar las libreras disponibles.

Figura 47 En caso no hubiera ninguna librera o no estuviera la que necesite, presione la tecla Insert (Ins) y en la ventana que aparece elija la librera Standard.lib y presione Abrir.

Figura 48 Cierre el Administrador de bibliotecas y ahora para aadir el temporizador, haga click derecho sobre la lnea del escaln elegido y elija Bloque de funciones:

Figura 49
Codesys bsico - Ing. Mario Urrutia E. 18

En Bloque de funciones estndar despliegue Timer y elija TP (FB):

Figura 50 4.3 Circuito de mltiple funcionamiento (archivo: ejercicio4) Circuito Ladder:

Figura 51

Codesys bsico - Ing. Mario Urrutia E.

19

Declaracin de variables

Figura 52 Visualizacin Scada:

Figura 53 Arranque: Forma: Botn Texto: Arranque. Entrada Conmutar variable entrada6 Intermitente Forma: Crculo Texto: Intermitente Colores: Color Interior: Gris Color de alarma: Interior: verde claro Variables Entradas desactivar intermitente Valor del Contador: Forma: Rectngulo Texto: Contador %s Variables Mostrar Texto VALOR_CNT Barra de desplazamiento del Contador Forma: Rectngulo Colores: Color Interior: Rojo Marco: Rojo Movimiento relativo Borde derecho VALOR_CNT
Codesys bsico - Ing. Mario Urrutia E. 20

5. Programacin en IL o Lista de Instrucciones. (archivo: ejercicio5) El procedimiento es muy similar al explicado para un circuito Ladder. Al iniciar Codesys le preguntar por el tipo de mdulo que se va a generar y elegimos None, como en el caso anterior. A continuacin debe elegirse la programacin en Lista de Instrucciones (IL):

Figura 54 La declaracin de variables se efecta del mismo modo al explicado previamente:

Figura 55 Ahora, el programa debe ser ingresado en el Editor de programas, como se muestra en la figura:

Figura 56
Codesys bsico - Ing. Mario Urrutia E. 21

Para la ejecucin del programa se debe seguir el mismo procedimiento anteriormente descrito (compilar, iniciar sesin e iniciar la simulacin):

Figura 57 Para la simulacin, debemos activar las entradas. Por ejemplo para colocar la variable IX0.1 a 1 (TRUE), en la ventana de declaracin de variables (Variables_globales) seleccionamos dicha variable y presionamos Intro (note el cambio de IX0.1). Para la simulacin presione Ctrl+F7 y observe los resultados en la ventana de resultados que para tal caso se ha generado automticamente en el Editor de programa:

Figura 58 Al igual que el caso anterior, implemente la simulacin con visualizacin HMI. 6. PROBLEMAS 6.1 Se tienen 6 lmparas cuyos encendidos se controlarn por medio de un pulsador, de modo que al accionar una vez el pulsador, se encender la lmpara 1 y quedar encendida, si activamos una vez ms el pulsador, la lmpara 1 se apagar encendindose simultneamente la lmpara 2, una vez ms accionamos el pulsador para apagar la lmpara 2 y al mismo tiempo se enciende la lmpara 3 y as sucesivamente hasta completar todo el ciclo, para que finalmente si activamos el pulsador cuando la lmpara 6 est encendida, se apagarn todas, teniendo la oportunidad de volver a repetir lo mismo empezando con la lmpara 1 en un nuevo accionar del pulsador.
Codesys bsico - Ing. Mario Urrutia E. 22

6.2 Disear un sistema PLC en IL que controle una puerta automatizada mostrada en la figura, donde: - K1: contactor que hace abrir la puerta - K2: contactor que hace cerrar la puerta - P: detector situado debajo de la alfombra - FdCO y FdCT: finales de carrera de abrir y cerrar la puerta. Cuando una persona pisa la alfombra, cierra el contacto P y se activa K1 abrindose la puerta. Al enclavarse K1 se garantiza que la puerta se abre completamente. Cuando la puerta est totalmente abierta se activa FdCO (final de carrera de puerta abierta) y se detiene el motor. Cuando se sale de la alfombra, si K1 est desactivado, se activa K2 y la puerta se cierra hasta que se activa el fin de carrera FdCT (final de carrera de puerta cerrada) momento en que se detiene el motor. 6.3 Sea un sistema de produccin de botellas de plstico donde la ltima fase, consiste en pegar una etiqueta a cada botella. Cuando una botella sale sin etiqueta, una fotoclula la detecta, activndose un cilindro neumtico que expulsa la botella defectuosa de la cadena. Cuando se hayan detectado 20 botellas sin etiqueta, la cadena se debe parar 15 segundos para quitar el cajn de rechazos y colocar otro vaco. El sistema debe disponer de un pulsador de puesta en marcha y otro de paro de emergencia. Aunque se produzca un paro de emergencia, el sistema debe recordar el nmero de botellas defectuosas que haba hasta ese momento. Disear el Ladder. 7. Tarea de investigacin Procedimiento para traducir a otro

Codesys bsico - Ing. Mario Urrutia E.

23