You are on page 1of 234

20

Autores:
Ing. Carlos A. Meja Sierra
Ing. Juan C. lvarez Giraldo
Ing. Leonardo Rodrguez Ortiz

MANUAL DE PREPARACIN
PARA OLIMPIADAS
NACIONALES DE
MECATRNICA
La preparacin para Olimpiadas Nacionales de Mecatrnica siempre es importante tanto para los
participantes como para los entrenadores, por esta razn se cre este documento, con algunas
experiencias, recomendaciones y sobre todo la teora avanzada que se debe estudiar y preparar.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

ACERCA DE LOS AUTORES.


Juan Camilo lvarez Giraldo y Carlos Alberto Meja Sierra, son Ingenieros Mecatrnicos
de la Universidad San Buenaventura sede Bogot, ambos se han destacado por el buen
desempeo de sus labores acadmicas durante el desarrollo de los estudios de pregrado.
Participaron como representantes de esta universidad durante el desarrollo de las VIII
Olimpiadas Nacionales de mecatrnica desarrolladas en Octubre- Noviembre de 2009; all
resultaron campeones luego de superar a diferentes equipos a nivel Regional y Nacional.
En Junio de 2010 representaron a Colombia, como pas invitado, en las competencias de
mecatrnica de los Skills USA, realizadas en Kansas City. All midieron sus conocimientos y
habilidades con equipos representantes de diferentes estados y equipos mexicanos.
Todas estas experiencias sumadas con el largo proceso de preparacin, dieron pie para
recopilar los diferentes aspectos que los llevaron hasta este punto en un manual que
sirviera como punto de partida para futuros participantes y a su vez permita elevar el nivel
de las competencias realizadas.
Carlos Alberto se dedica actualmente al desarrollo de labores de investigacin al interior
de la Universidad San Buenaventura, mientras que Juan Camilo trabaja para el sector
privado en el desarrollo y mantenimiento de mquinas industriales.

Leonardo Rodrguez Ortiz, Ingeniero Mecatrnico de la Universidad Santo Toms de


Bucaramanga, y Magster en Administracin de Empresas de la Universidad San Pablo CEU
de Madrid, Espaa. Sus trabajos, capacitaciones e investigaciones se enfocan en gran
parte en el sector de la Automatizacin Industrial gracias a la experiencia de 5 aos
trabajando para Festo en diferentes reas, desde el 2008 trabaja para el sector educativo
dedicado a la enseanza de temas como programacin de PLC, tecnologas para la
automatizacin, sistemas de visualizacin, sistemas modulares de produccin, entre otros.
Se desempea como docente e Investigador de la Universidad San Buenaventura, all ha
desarrollado proyectos relacionados con la lnea de Robtica y Automatizacin industrial.
Acompa, dirigi y aconsej a los participantes de las olimpiadas, y as mismo sirvi
como gua para el desarrollo de este manual.
Leonardo Trabaja actualmente en el desarrollo del programa de Especializacin en
Automatizacin de Procesos Industriales y as mismo potenciando nuevos trabajos
investigativos en este mismo campo. Leonardo.rodriguez.ortiz@gmail.com

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

INTRODUCCIN
La resolucin de circuitos neumticos, electro-neumticos y sistemas controlados por PLC
de una manera eficiente y eficaz, es una habilidad que se adquiere a travs del
entrenamiento constante, soportados firmemente en la lgica desarrollada durante la
mayora de los ciclos bsicos de ingenieras en materias como algoritmos y programacin,
adquisicin de datos, sistemas digitales, micro controladores, entre otras. En este mismo
sentido, es de vital importancia que la persona interesada que pretenda participar en las
olimpiadas Nacionales de Mecatrnica, posea conocimientos previos en las reas
implicadas y conozca de manera precisa, los fundamentos de la neumtica y la electroneumtica.
Siguiendo este orden de ideas, el presente documento no pretende consolidarse como
una gua de estudio para las mencionadas reas a las que se hacen alusin, ya que para
ello, se requieren las bases tericas adecuadas para profundizar ampliamente en diseo,
clculo, seleccin, etc. Ahora bien el objetivo principal de este manual es el de brindar al
interesado una gua de la forma en que se deben abordar las competencias desde diversos
puntos crticos como son: Trabajar en contra del tiempo, competir contra equipos de
diferentes regiones, desarrollo de ejercicios con un determinado nmero de elementos
(restriccin de elementos), el trabajo en grupo y las jornadas extenuantes.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

I. GUA DE ESTUDIOS Y REFERENCIAS


A medida que el capitulo avance, se desarrollarn ejemplos para demostrar los
procedimientos y para lograr un mejor entendimiento, tambin al finalizar cada tema, se
darn unas recomendaciones para el desarrollo de las pruebas en las Olimpiada tanto
para los grupos como para las personas encargadas de la preparacin.

1. NEUMTICA Y ELECTRONEUMTICA
Para disear e implementar los circuitos neumticos y electroneumticos se debe tener
unas bases bien fundamentadas para poder aplicar los mtodos de resolucin de
problemas que se tratarn en este captulo; para comenzar, se debe tener en cuenta que
todo circuito neumtico y electroneumtico estn integrados por elementos que
intervienen en el proceso como lo son: Elementos de Alimentacin, de Entrada, de
Procesamiento, de Maniobra, y de trabajo; por esta razn se debe tener un conocimiento
previo acerca de la simbologa de dichos elementos, al igual que de la norma ISO 1219;
adicional a esto todos los circuitos deben seguir una secuencia funcional que se obtiene
del anlisis del problema y se presenta como una solucin que debe contener todos los
pormenores requeridos; la secuencia que deben seguir los circuitos se simbolizan
generalmente con letras y signos, para as identificar el proceso que se est llevando a
cabo en cada paso de la secuencia y se describen en un diagrama de funciones que es
igualmente evaluado dentro de las pruebas en ciertos casos.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Para disear e implementar estos circuitos existen 2 mtodos sencillos de aplicar, los
cuales son, Mtodo Cascada y Mtodo Paso a Paso, estos mtodos sirven para agilizar la
resolucin de problemas ya que tienen unos pasos sencillos de seguir para llegar a un
resultado eficaz y concreto en el menor tiempo posible, pero no basta con aplicar estos
mtodos ya que estos estn diseados para resolver problemas que tienen que ver solo
con la secuencia, es decir, se requiere un proceso de diseo adicional para incluir dentro
del circuito elementos tales como temporizadores, contadores, presstatos, reguladores
de caudal y presin, vlvulas selectoras entre otras; por tal razn se debe tener un previo
entrenamiento con el diseo intuitivo ya que este mtodo aunque es el ms prolongado
de realizar es el mejor para lograr resolucin de problemas con los elementos
anteriormente mencionados y el que complementar los mtodos que se describirn en el
presente documento. Es recomendable para la persona o grupo de personas que quieran
presentarse a las olimpiadas nacionales de mecatrnica resolver ejercicios solo basndose
en un mtodo intuitivo para poder obtener las destrezas necesarias para aplicar los
mtodos.

A travs del este mtodo se genera una habilidad mental para predecir

posibles fallos y soluciones a problemas de la vida real y de tipo competencia a travs de


la prctica constante. Se recomienda la utilizacin de la ltima versin del FuidSim de
Festo para complementar el proceso de preparacin y para aplicar las explicaciones que se
abordarn a continuacin, la herramienta permite el acceso a toda la simbologa de los
elementos tanto neumticos como electroneumticos, simulaciones de los circuitos
diseados, a la aplicacin de diagramas de funciones, entre otras cosas. El manual de
funcionamiento del software y una versin de demostracin puede descargarse de
manera gratuita en www.fluidisim.com.

En el presente capitulo se explicarn los mtodos de Cascada y Paso a Paso para ambos
sistemas ayudados por ejemplos de situaciones reales, tambin se implementarn
elementos como temporizadores, contadores, presstatos entre otros, que deben estar
implcitos en la secuencia para poder obtener una solucin avanzada en dicha situacin.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.1

Neumtica

En este campo de las olimpiadas se pretende evaluar la solucin a problemas de


automatizacin basados completamente en la neumtica, en este campo se usan
elementos que se accionan o controlan por medio del uso del aire comprimido, por tal
razn no se tendrn ningn elemento de tipo electrnico; para resolver problemas de
ndole neumtica, se pueden implementar diferentes mtodos como los ya mencionados,
usando vlvulas neumticas, accionamientos manuales (pulsadores, interruptores, etc.),
accionamientos fsicos (finales de carrera, sensores magnticos, etc.), accionamientos por
aire comprimido (temporizadores, contadores, etc.), entre otros elementos neumticos.
Para solucionar los problemas basados en diseos neumticos, se debe tener en cuenta
las formas de analizar los problemas descritos al inicio del captulo 1, y desarrollar
habilidad suficiente para ofrecer soluciones con rapidez; en las olimpiadas, se evala tanto
el funcionamiento del circuito como la ubicacin y sentido que tengan los elementos
neumticos como por ejemplo el orden de conexin de las vlvulas reguladoras de caudal,
as como el diseo preliminar del circuito, el diagrama de funcionamiento y simbologa de
los elementos en papel (en algunas ocasiones).

1.1.1.

Mtodo Cascada

Este mtodo se basa en la separacin por grupos de la secuencia a realizar; los grupos
estn compuestos por movimientos de los actuadores (las reglas para divisin de grupos
se explicarn ms adelante). Y cada grupo es sostenido por una vlvula 5/2 usada como
memoria para poder obtener 2 salidas que alimentan 2 grupos independientemente; cada
vez que conectamos una vlvula 5/2 a la anterior se obtiene un grupo adicional; la
conexin de los grupos con las vlvulas se representa en la Figura 1, una rpida observacin
de este esquema permite deducir fcilmente el origen del nombre de este mtodo.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 1: Configuracin para grupos en Mtodo Cascada. a) 2 Grupos, b) 3 Grupos.

Se pueden lograr configuraciones y conexiones similares para este mtodo, se sugiere al


lector experimentar diferentes formas y casarse con la que le resulte ms conveniente,
de esta manera podr afrontar montajes o configuraciones de manera rpida y sencilla.
El nmero de vlvulas necesarias para implementar una solucin resulta siempre igual al
nmero de grupos menos 1. Para disear un circuito neumtico basados en el mtodo
cascada, se deben seguir las siguientes instrucciones:
1. Analizar el problema y establecer el nmero de actuadores referencindolos con
letras a cada uno, es decir, para el primer actuador se referenciara con la letra A,
para el segundo con la letra B, y as sucesivamente y a su vez identificar los sensores;
para estos se usa la letra S, y para diferenciarlos, se enumeran de manera
consecutiva, S0 para el primer sensor, S1 para el segundo y as sucesivamente. Por
ejemplo para un circuito neumtico que contiene 2 cilindros y 4 sensores (Figura 2) se
obtiene el siguiente esquema:

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 2: Actuadores y Vlvulas de Control Neumtico.

2. Determinar la secuencia correcta a disear teniendo en cuenta que para el


desplazamiento hacia afuera de los actuadores se simboliza con el signo ms (+), y
para el retorno de los actuadores se simboliza con el signo menos (-) como se muestra
en la Figura 3. Por ejemplo, suponiendo una secuencia para el caso anterior:

A+ B+ B- AFigura 3: Smbolos usados para diseo de circuitos.

3. Dividir la secuencia en grupos teniendo en cuenta que: un grupo no puede contener


ms de un movimiento del mismo actuador (p.e. no se puede tener A+ y A- en el
mismo grupo) y adems, cada grupo debe contener la mayor cantidad de
movimientos de actuadores posible. Para el caso del ejemplo anterior se tendran 2
grupos.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

4. Identificar cules son los sensores que hacen los cambios de grupos y al mismo
tiempo generan el primer movimiento del grupo simbolizado con una flecha por
debajo con la referencia del sensor correspondiente, y tambin identificar que
sensores generan los movimientos internos del grupo simbolizados con una flecha por
arriba con la referencia del sensor adecuado. As:

Ntese en la ecuacin que, las seales de cambio de grupo S0 y S3 estn debidamente


identificadas con lneas en la parte inferior, mientras que las seales que producen
movimientos en los grupos S1 , S2 y START estn identificadas con lneas en la parte
superior de la misma.
5. Establecer el nmero de vlvulas de memoria (5/2) que se necesitan para generar los
grupos obtenidos con la siguiente frmula:

En donde:

es el nmero de vlvulas y

es el nmero de grupos; teniendo que

para este caso se tendr una sola vlvula de memoria y su configuracin se muestra
en Figura 1Error! No se encuentra el origen de la referencia..a.
6. Ya teniendo el numero de vlvulas de memoria y los cambios de movimiento se
procede a crear el esquema general de funcionamiento del circuito teniendo en
cuenta las siguientes condiciones:
Las vlvulas de control se deben alimentar directamente de la red como se
muestra en la parte central de la Figura 2.

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Los cambios de grupo son generados usando la seal del final de carrera o vlvula
de entrada correspondiente, tomando la alimentacin desde la lnea del grupo
inmediatamente anterior.
Figura 4: Esquema de conexin para cambios de grupos.

La seal de pilotaje para el primer movimiento de los grupos se toma directamente


de la lnea de grupo. Los movimientos subsecuentes del grupo se realizan desde la
lnea correspondiente y pasando por la seal de entrada previamente identificada
En el caso de este ejemplo, para el primer movimiento se utilizar un pulsador
START alimentado del primer grupo.
Figura 5: Primer movimiento de grupos

Y por ltimo se conectan los movimientos internos de cada grupo con los finales de
carrera alimentados por la lnea correspondiente al grupo del movimiento.

10

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 6: Esquema Completo de un Circuito Neumtico

Siguiendo estos pasos y condiciones se debe llegar a obtener un diseo preliminar de la


secuencia principal que debe cumplir el circuito y queda listo para el acople de elementos
de control como lo son: vlvulas selectoras, temporizadores, contadores, presstatos
entre otros (siempre y cuando el ejercicio lo demande).
Ejemplo 1:
Se supone un problema donde se necesitan tres (3) cilindros con seis (6) sensores finales
de carrera y que los cilindros cumplan la siguiente secuencia: A+ B+ B- C+ C- A No de Cilindros = 3 (A, B, C)
No de Sensores = 6 (S0, S1, S2, S3, S4, S5)

11

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 7: Actuadores y Vlvulas de Control, Ejemplo 1

Grupos = 3
A+ B+ / B- C+ / C- AI
II
III
Cambios de Grupo y Movimientos =

Numero de Vlvulas de Memoria = 2 (Figura 1.b)


Seales de cambios de Grupo =
Figura 8: Seales de Cambio de Grupo, Ejemplo 1

12

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Pilotaje del primer movimiento de los grupos =


Figura 9: Seal del Primer Movimiento de Los Grupos

Movimientos Secundarios en los Grupos =


Figura 10: Configuracin Secuencia Principal, Ejemplo 1

13

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Ya teniendo la secuencia principal completa, se debe proceder a acoplar en los puntos


especficos los elementos de control que puedan existir en el proceso.
Nota: Se recuerda al lector que existe una amplia teora respecto a este mtodo para
resolucin de problemas neumticos, y que esta particular manera de representar las
ecuaciones, movimientos y designacin de elementos han surgido de la experiencia y
debe considerarse como parte del proceso de preparacin de las olimpiadas. Este mtodo
ac explicado est pensado para ofrecer soluciones en el menor tiempo posible y la
explicacin no incluye la nomenclatura de elementos de acuerdo a norma ISO 1219.

1.1.2.

Mtodo Paso A Paso (Extendido)

Este mtodo consiste en obtener tantos grupos como movimientos se tenga dentro de
una secuencia, este mtodo ofrece un menor tiempo de respuesta ya que los
movimientos son generados por una vlvula 3/2 de memoria alimentada directamente de
la red; pero tiene la desventaja de usar mas vlvulas de memoria en comparacin al
mtodo cascada y no se puede usar cuando se tengan solo dos movimiento ya que cada
salida debe borrar la anterior y se bloquearan.
Para este mtodo se usaran vlvulas 3/2 biestables normalmente cerradas como memoria
para los pasos alimentadas directamente de la red como se haba mencionado
anteriormente; una vlvula de memoria por cada paso como se muestra en la Figura 11, si
por alguna razn no se disponen de esa cantidad de vlvulas de tipo 3/2, puede utilizarse
una vlvual de tipo 5/2 bloqueando uno de sus terminales (bloquear el terminal 2 para
obtener una vlvula 3/2 normalmente Abierta, y el terminal 4 para obtener una vlvula
3/2 normalmente cerrada)

14

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 11: Configuracin para pasos de Mtodo Paso a Paso.

Teniendo lo anterior en cuenta, procedemos a disear el circuito siguiendo las


instrucciones descritas a continuacin.
1. Analizar el problema e identificar el numero de actuadores con su respectiva
simbologa como se describi en el mtodo cascada, e identificar los sensores
igualmente con su respectiva simbologa; suponiendo el ejemplo descrito en el
mtodo cascada, con dos cilindros y cuatro sensores, se obtiene el mismo esquema
de la Figura 2.
2. Se deduce la secuencia adecuada a disear como se hizo en el segundo paso del
mtodo cascada.
3. Dividir la secuencia en tantos pasos como movimientos tenga el proceso e identificar
que sensor acciona el paso dependiendo del ltimo movimiento y con esto se puede
saber el nmero de vlvulas de memoria que es igual al nmero de pasos; para el
ejemplo del mtodo cascada, se simbolizara as:

15

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

4. Ya teniendo el numero de vlvulas de memoria y los cambios de movimiento se


procede a crear el esquema general de funcionamiento del circuito teniendo en
cuenta las siguientes condiciones:

Las vlvulas de control se deben alimentar directamente de la red como se


muestra en la Figura 2.

Los pasos son activados usando la seal del final de carrera o vlvula de entrada
correspondiente, y son alimentados directamente de la red, pero los finales de
carrera deben alimentarse de la lnea del paso anterior y la vlvula de memoria del
ltimo paso debe estar normalmente abierta; el pulsador de START, debe
conectarse en serie con el final de carrera del primer paso.
Figura 12: Esquema de conexin para cambios de Pasos

Ya teniendo la seal de pilotaje de cada paso, se procede a conectar a cada paso el


movimiento correspondiente generado por la vlvula de control de cada cilindro.

16

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 13: Esquema Completo de Circuito Neumtico, Mtodo Paso a Paso

Siguiendo estos pasos y condiciones se debe llegar a obtener un diseo preliminar de la


secuencia principal que debe cumplir el circuito y queda listo para acoplarle elementos de
control como lo son: vlvulas selectoras, temporizadores, contadores, presstatos entre
otros.
Ejemplo 2:
Aplicando el Mtodo Paso a Paso a las condiciones del Ejemplo 1, se tendra:
No de Cilindros = 3 (A, B, C)
No de Sensores = 6 (S0, S1, S2, S3, S4, S5)
La configuracin de los cilindros, vlvulas de control y sensores se puede observar en
la Figura 7.
Pasos = 6, Cambios de Pasos y Movimientos =

17

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Numero de Vlvulas de Memoria = 6


Figura 14: Esquema de conexin para cambio de Pasos, Ejemplo 2

Seales de cambios de Pasos =


Figura 15: Seales de Cambio de Pasos, Ejemplo 2

Conexin de Vlvulas de Control dependiendo de los pasos:

18

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 16: Configuracin Secuencia Principal, Ejemplo 2

Ya teniendo la secuencia principal completa, se debe proceder a acoplar en los puntos


especficos los elementos de control que puedan existir en el proceso.
1.1.3.

Mtodo paso a paso Simplificado

Existe una posibilidad para la simplificacin del mtodo paso a paso recientemente
explicado, y consiste en la combinacin de la separacin por grupos del mtodo cascada
con el circuito de control del mtodo paso a paso, entonces la solucin se reducira a
dividir en grupos y considerar cada grupo como un paso de la secuencia total. Para
lograr una mayor comprensin considrese el siguiente ejemplo.
Ejemplo 3:
Aplicando el Mtodo Paso a Paso a las condiciones del Ejemplo 1, se tendra:
No de Cilindros = 3 (A, B, C)
No de Sensores = 6 (S0, S1, S2, S3, S4, S5)
La configuracin de los cilindros, vlvulas de control y sensores se puede observar en la
Figura 7.

Pasos = 6, Cambios de Pasos y Movimientos =

19

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Numero de Vlvulas de Memoria = 3 (Figura 11)


Seales de cambios de Pasos =
Figura 17: Seales de Cambio de Pasos, Ejemplo 3.

Pilotaje del primer movimiento de los grupos =


Figura 18: Seal del Primer Movimiento de los Grupos, Ejemplo 3.

Movimientos Secundarios en los Grupos =

20

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 19: Configuracin Secuencia Principal, Ejemplo 3.

Ya teniendo la secuencia principal completa, se debe proceder a acoplar en los puntos


especficos los elementos de control que puedan existir en el proceso.
Nota: Se recuerda al lector que existe una amplia teora respecto a este mtodo para
resolucin de problemas neumticos, y que esta particular manera de representar las
ecuaciones, movimientos y designacin de elementos han surgido de la experiencia y
debe considerarse como parte del proceso de preparacin de las olimpiadas. Este mtodo
ac explicado est pensado para ofrecer soluciones en el menor tiempo posible y la
explicacin no incluye la nomenclatura de elementos de acuerdo a norma ISO 1219.

1.1.4.

Elementos Complementarios de Control

Los elementos de control, son aquellos que sirven para realizar tareas adicionales
importantes dentro de la secuencia, como por ejemplo contar ciclos, retrasar o activar
durante cierto tiempo un actuador, seleccionar entre un camino u otro para decidir un

21

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

ciclo, entre otras cosas; normalmente estos elementos ocasionan confusiones a la hora de
usarlos, pues en muchos casos se requiere de lgica e intuicin para usarlos de manera
eficiente, por esta razn se deben estudiar estos tipos de elementos ms a fondo ya que
son el complemento que necesitan las secuencias para generar un proceso completo para
las pruebas; los elementos de control que se explicarn aqu sern: Reguladores de
Caudal, Vlvula Reguladora De Presin, vlvulas de secuencia, Temporizadores y
Contadores.

Reguladores de Caudal

Son elementos que sirven para regular la velocidad de movimiento de los actuadores para
hacer que el actuador se mueva ms lento de lo normal para poder obtener un control
ms prolongado de este; se utilizan siempre para regular la salida de aire de un actuador
(salvo casos en donde la prueba indique lo contrario); estn compuestos por una vlvula
unidireccional y una vlvula estranguladora de caudal para obtener la regulacin en una
sola direccin como se muestra en la Figura 20.
Figura 20: Vlvula Reguladora de Caudal.

La direccin de estrangulacin de la vlvula segn la Figura 20 es de izquierda a derecha, ya


que la vlvula unidireccional no deja pasar el aire, la nica opcin que queda es a travs
de la vlvula de estrangulacin; pero si se alimenta inversamente, la vlvula unidireccional
dejar pasar el aire y no se realizar regulacin alguna; si se toma el ejemplo que se
desarroll durante la explicacin del mtodo cascada, y se supone que se necesita regular
la salida de A y el retorno de B, se obtendr el esquema mostrado en la Figura 21.

22

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 21: Ejemplo con Reguladores de Caudal.

Nota: Fjese que se han dispuesto ambas vlvulas para que regulen en aire que sale de los
actuadores esto asegura un movimiento lento mientras la presin se mantiene.

En

FluidSim la vlvula se debe girar 270 despus de agregarla para que quede configurada
correctamente.

Vlvula Reguladora de Presin

La vlvula reguladora de presin, como su nombre lo dice es un elemento que regula la


presin de alimentacin de los actuadores cuando requiera que no superen una presin
nominal, estas vlvulas normalmente estn acompaadas de un manmetro que indica la
presin de salida de las vlvulas como se indica en la Figura 22. Para la correcta conexin se
debe conectar la alimentacin de la vlvula al pin 1, el pin 3 siempre es el escape de la
vlvula para liberar la presin que excede la regulacin, y el pin 2 es el pin de salida de la
vlvula hacia el actuador.

23

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 22: Vlvula de Regulacin de Presin.

Si se toma el ejemplo que se desarroll durante la explicacin del mtodo cascada, y se


supone que se necesita regular la salida del cilindro B para evitar que supere cierta
presin para no romper alguna pieza del proceso, se obtendra el esquema mostrado en la
Figura 23.
Figura 23: Ejemplo con Regulador de Presin

Nota: Para regular adecuadamente la presin de trabajo de estos elementos durante las
pruebas de montaje, se sugiere conectar el elemento directamente a la alimentacin de
presin, y abrir o cerrar completamente la perilla de regulacin hasta alcanzar el valor de
paso deseado, posteriormente puede integrarse apropiadamente al resto del circuito.

24

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Vlvula de Secuencia

Las vlvulas de secuencia son un tipo especial de vlvulas de presin que permiten realizar
una medicin de presin en un punto especfico del circuito (generalmente en la
alimentacin de los actuadores), para permitir o impedir el paso de aire en otro punto
especfico del circuito.
Figura 24: Vlvula de Secuencia (Vlvula con Presstato)

Para la correcta conexin, deber conectarse el terminal 12 en el punto en el que se desea


realizar la medicin de presin, y a travs de las terminales 1 y 2 se debe interrumpir el
ducto del circuito que se requiera, as por ejemplo, si se requiere que un cilindro retroceda
slo despus de que ha llegado hasta el fin de su recorrido y ha cumplido don una presin
especfica durante su avance, se puede plantear la siguiente solucin:

Figura 25: Circuito de ejemplo Vlvula de Secuencia.

25

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Nota: Para regular adecuadamente la presin de trabajo de estos elementos durante las
pruebas de montaje, se sugiere conectar el elemento directamente a la alimentacin de
presin, luego cerrar completamente el regulador de la vlvula de secuencia, y
posteriormente establecer el valor de presin del sistema al valor de regulacin adecuado,
finalmente se abre el regulador hasta que permita el paso de aire y se integra al circuito.

Temporizadores

Son elementos de control que sirven para mantener una seal durante cierto tiempo, o
para retrasar el movimiento, a estos temporizadores se les llama: vlvulas de tiempo
muerto normalmente cerradas, o normalmente abierta, dependiendo del uso que se le

26

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

quiera dar; para entender esto mejor en la Figura 26 se puede observar mejor el
significado.
Figura 26: Temporizadores, a) Normalmente Cerrado (NC) y b) Normalmente Abierto (NA)

En donde el pin nmero 1 es la entrada de alimentacin del temporizador, el nmero 2 es


la salida del temporizador y el nmero 10 es el pin de activacin del temporizador. En la
Figura 26

se puede observar que el temporizador consta de una vlvula reguladora de

caudal, un almacenador de aire comprimido, y una vlvula 3/2 con retorno de muelle; la
diferencia entre los dos temporizadores es la condicin de la vlvula 3/2.
Figura 27: Ejemplo con temporizador normalmente cerrado.

Para entender el uso de los temporizadores primero se debe tener claro que se necesita,
si se necesita retrasar una seal, o mantenerla por cierto tiempo. Suponiendo que en el
Ejemplo que se desarrollo en la explicacin del mtodo cascada, se requiere que despus
que salga el actuador B, se demore un tiempo determinado antes de volver a entrar; el

27

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

temporizador que se debe usar es uno normalmente cerrado y ubicado en el punto en


donde se genera la seal para retornar el cilindro como se muestra en la Figura 27.
Nota: el establecimiento de los tiempos de retarde en neumtica, suele ser una cuestin
de prueba y error, si durante el desarrollo de las pruebas se cuenta con un temporizador
que cuenta con un sistema para visualizar el tiempo ajustado entonces se recomienda
utilizarlo, de lo contrario se deben realizar pruebas constantes hasta llegar al tiempo
deseado.

Contadores

Son elementos de control importantes a la hora de conocer el nmero de ciclos, piezas


entre otras cosas, consisten en una vlvula que se acciona despus de cierto nmero de
pulsos generados en uno de los pines de dicha vlvula, el smbolo usado es el que se
muestra en la Figura 28; y se usa para controlar procesos por determinados ciclos o
produccin de piezas.
Figura 28: Contador Neumtico

En donde el pin nmero 1 es la entrada de alimentacin del contador, generalmente se


alimenta desde la red neumtica, el nmero 2 es la salida del contador, el nmero 12 es
el pin de entrada de los pulsos que se necesitan contar y el nmero 10 es el pin que
reinicia el conteo (Reset).
Para usar los contadores es necesario saber en qu parte del proceso se necesita contar y
tambin saber que se debe controlar despus de llegado al lmite del conteo del proceso.
Suponiendo que en el Ejemplo que se desarrollo en la explicacin del mtodo cascada, se

28

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

requiere que el proceso sea continuo hasta completar 2 ciclos completos; por esta razn,
se debe colocar el pin nmero 12 en la ltima seal del ciclo, que debe ser la seal que
activa el retorno del cilindro A, para as controlar la posicin de una vlvula 3/2 que
ayuda a hacer el proceso continuo como lo muestra la Figura 29, y para reiniciar el
contador se conecta la seal de Reset del contador directamente al pulsador START
para as reiniciar el contador cada vez que se necesite iniciar la secuencia.
Figura 29: Ejemplo Contador de ciclos.

1.1.5.

Recomendaciones

A la hora de realizar las pruebas de neumtica en las Olimpiadas Nacionales de


Mecatrnica, hay que tener en cuenta las siguientes recomendaciones:
Por lo general las competencias son en parejas, por lo tanto es recomendable
dividirse el trabajo para utilizar la menor cantidad de tiempo posible en realizar el
diseo y montaje de los circuitos neumticos. Mientras una persona se dedica al
diseo del circuito neumtico, la otra puede estar haciendo las conexiones estndares
como lo son los actuadores, reguladores de caudales, vlvulas de control entre otros.

29

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Siempre tener en cuenta la direccin en que se colocan los elementos como los
reguladores de caudal, reguladores de presin entre otros, y la correcta ubicacin de
estos.
Tener siempre presente la regulacin de presin que se obtiene de la unidad de
mantenimiento del sistema, ya que en muchas pruebas se pide alguna presin de
alimentacin en la red.
Todas las vlvulas biestables no siempre estn conmutadas de la forma correcta, o
como se necesite que estn conmutadas para el proceso ya que estas pueden haber
sido utilizadas con anterioridad, por tanto se recomienda conmutar cada vlvula al
estado que se requiera dependiendo en que parte del proceso se va a utilizar.
Empezar el diseo con la secuencia a seguir, para ir verificando que las cosas
funcionen, as asegurar puntos vitales en las pruebas.
Despus de tener la secuencia completa, continuar con los elementos
complementarios de control.
Para los montajes de estos circuitos se recomienda revisar el estado del
funcionamiento de los elementos como sensores, pulsadores, vlvulas y mangueras
de conexin, ya que estos pueden hacer que el equipo pierda un tiempo valioso a la
hora de rectificar el funcionamiento del circuito final, a la hora de revisar posibles
errores nunca de por sentado el buen funcionamiento de ningn elemento, de ser
posible genere planes de revisin rpidos, centrando cada participante en elementos
especficos.
Se recomienda rectificar todas las posibles fugas que contenga el circuito, ya que este
inconveniente puede hacer perder puntos valiosos.
Realizar tantos ejercicios como sea posible antes de presentarse a las pruebas; es
recomendable regirse por las pruebas que se presentan en el segundo captulo de
este documento.
Para los problemas con restriccin de elementos, primero se debe analizar si los
elementos cumplen con los requerimientos de algn mtodo especifico, y usar

30

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

siempre todos los elementos que se tengan a la mano a la hora de realizar la prueba,
ya que si existe el elemento dentro de los materiales es porque el jurado calificador
estar al tanto que no sobre ningn elemento (de todas maneras puede hacer caso
omiso de esta recomendacin si la prueba indica lo contrario, o si no se especifica que
se debe utilizar todo)
A la hora de la revisin de las pruebas realizadas, dejar que los jurados realicen todos
los movimientos que ellos crean pertinentes para probar el circuito de resultado, no
hacer ninguna prueba por cuenta de los participantes, ya que esto puede traer
efectos secundarios negativos en el resultado de las pruebas realizadas.

1.2. Electroneumtica
Este pilar de las competencias abarca la solucin de secuencias automticas y manuales
basadas en seales elctricas de 24 voltios, por este motivo todos los elementos de
control que se usan pueden ser interpretados como contactos normalmente abiertos o
cerrados, los cuales son accionados de manera mecnica (pulsadores, interruptores,
selectores, finales de carrera, etc.), de manera elctrica (relevos, solenoides,
temporizadores, contadores, etc.) y por fenmenos fsicos (Sensores magnticos, sensores
inductivos, presstato, caudalmetro, etc.).
Es de gran importancia comprender la forma de comandar las acciones que se pretenden
realizar a travs de los enclavamientos y los relevos con memoria pues estos sern los
encargados de controlar cada paso de la secuencia, adems de que la comprensin del
funcionamiento de ellos ser de gran ayuda en las pruebas con controladores lgicos
programables (PLC).
En las competencias, esta parte es evaluada de dos formas diferentes pero siempre
teniendo como base los mismos principios, la primera forma es a travs del diseo y
montaje de una secuencia, y la segunda es a travs del diseo y la simulacin en el
computador de un sistema usando FluidSim. En este orden de ideas se hace estrictamente
necesario que el participante sepa identificar y usar los elementos fsicos que se

31

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

involucran en el montaje (Bloque de vlvulas, bloque de pulsadores-interruptoresindicadores visuales, sensores de todos los tipos, temporizadores, contadores, y otros,
pertenecientes a los equipos de enseanza de Festo Didactic)1.
1.2.1.

Mtodo Cascada

El mtodo Cascada en Electroneumtica tiene la misma teora base que el mtodo


cascada en neumtica (la separacin de la secuencia en grupos se realiza de la misma
manera); pero para el caso de los circuitos electroneumticos, se usan relevos para activar
o desactivar un grupo.
Para disear un circuito electroneumtico, es necesario realizar los siguientes pasos, para
llegar a un resultado ptimo:
1. Analizar el problema e identificar los actuadores y sensores a utilizar en el diseo, con
su respectiva simbologa descrita en el primer paso del mtodo cascada en
neumtica.
2. Establecer la secuencia de movimientos de los actuadores, estableciendo los signos
de los movimientos como se muestra en la Figura 3. Por ejemplo:

A+ B+ B- A3. Dividir la secuencia en grupos teniendo en cuenta la teora explicada para la creacin
de grupos en neumtica.

Se recomienda a los participantes revisar en la pgina de festo didactic, (www.festo.com/didactic), por los
sistemas de enseanza para neumtica y electroneumtica, cuyas referencias son TP101, TP102, TP201 y
TP202, de esta manera el grupo puede hacerse una idea de cmo lucen los elementos, y evitar sorpresas
durante las competencias.

32

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

4. Se establece que elemento o sensor es el encargado de hacer el cambio de un


movimiento a otro con una flecha por encima indicando el sensor correspondiente, y
con una flecha por debajo el encargado de hacer cambio de grupo. Ejemplo:

5. Se establece el numero de relevos necesarios para la secuencia bsica con la


aplicacin de la siguiente frmula:

En donde:

es el nmero de relevos y

es el nmero de grupos; teniendo que para

este caso se tendr dos 1 relevo.


6. Se

ponen

los

actuadores

cada

uno

con

su

vlvula

5/2

activadas

electromagnticamente, se realiza toda la conexin neumtica, se ponen los sensores


de cada elemento y se identifican los solenoides de las vlvulas como se muestra en la
Figura 30.
Figura 30: Actuadores y Vlvulas de Control Electroneumtico

7. Se comienza a disear la secuencia de principio a fin, comenzando por instalar la


fuente, y diseando la alimentacin del primer grupo (Primer relevo) con las

33

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

condiciones tomadas de la secuencia de cambios de grupos y teniendo en cuenta que


hay que hacer que tenga memoria cada uno de los relevos que se calcularon
anteriormente. Posteriormente el segundo grupo se hace el mismo esquema con
memoria sin embargo se agrega la condicin de cambio de grupo, la memoria debe
ser interrumpida en todos los casos por el relevo siguiente. Sin embargo el ltimo
debe ser interrumpido por el ltimo sensor de cambio. La configuracin para que
tengan memoria los relevos es el mostrado en Figura 31:
Figura 31: Configuracin para obtener Relevos con memoria

De modo que al oprimir el pulsador START el relevo se


energiza y atreves del contacto normalmente abierto
quede energizado

8. Se Realizan las lneas de alimentacin de cada grupo teniendo en cuenta que cada
lnea va alimentada de la fuente a travs de un contacto normalmente abierto del
relevo de cada grupo, la ltima lnea de alimentacin de grupo est conectada a la
fuente a travs de contactos normalmente cerrados de todos los relevos involucrados
en la seleccin de grupos.

34

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

9. Se procede a realizar la etapa de conexiones de las electrovlvulas de la siguiente


manera, el primer movimiento de cada grupo se conecta directamente a la lnea de
alimentacin del respectivo grupo, los siguientes movimientos del grupo se conectan
a la lnea en serie con el sensor o elemento encargado del cambio de movimiento.
Ejemplo 4:
Suponiendo el mismo Ejemplo 1 con la misma secuencia (A+ B+ B- C+ C- A-), pero
resolvindolo con el mtodo cascada con electroneumtica, se tendra:
No. Cilindros = 3 (A, B, C)
No de Sensores = 6 (S0, S1, S2, S3, S4, S5)
Figura 32: Actuadores y Vlvulas de Control, Ejemplo 4.

Grupos = 3
A+ B+ / B- C+ / C- AI
II
III
Cambios de Grupo y Movimientos =

Relevos de Cambio de Grupo = 2

35

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Se hace la etapa de control nicamente con dos relevos (K0 y K1) teniendo en cuenta
que el cambio de grupo quita la memoria del primer grupo y que la memoria del
segundo grupo la des-energiza el sensor del cilindro C afuera, como se muestra en
Figura 33.
Figura 33: Relevos de Cambio de grupos, Ejemplo 4.

Por ltimo se hace la parte de accionamiento de las vlvulas, la cual se debe hacer de
la siguiente forma:

Se hace una lnea para cada grupo, cada lnea va unida a la fuente a travs de un
contacto abierto de cada relevo consecutivamente y la ltima lnea al no tener
relevo se una a travs de contactos cerrados de cada relevo as:

36

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 34: Cambios de Grupos, Ejemplo 4.

El primer movimiento de cada grupo se conecta directamente a la lnea de la


siguiente forma:
Figura 35: Primero Movimiento de los grupos, Ejemplo 3.

37

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Los siguientes movimientos se hacen teniendo en cuenta el sensor o el elemento


que hace el cambio de movimiento como lo muestra la Figura 36:
Figura 36: Configuracin Secuencia Principal, Ejemplo 4.

Al finalizar estos pasos, se tiene la secuencia completa, y ahora si se podrn acoplar todos
los elementos de control que pueda tener el proceso.
1.2.2.

Mtodo Paso a Paso

Al igual que el mtodo cascada, el mtodo paso a paso tiene la misma teora base de la
aplicada en electroneumtica solo que este mtodo para electroneumtica es mucho ms
largo de realizar que el mtodo cascada, este mtodo consiste en dividir la secuencia por
cada movimiento que se genere. Siguiendo los pasos descritos a continuacin se debe
llegar al resultado esperado:
1. Analizar el problema e identificar los actuadores y sensores a utilizar en el diseo, con
su respectiva simbologa descrita en el primer paso del mtodo cascada en
neumtica.
2. Establecer la secuencia de movimientos de los actuadores, estableciendo los signos
de los movimientos como se muestra en la Figura 3. Por ejemplo:

38

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

A+ B+ B- A3. Se calcula el numero de relevos con la siguiente ecuacin:

En donde:

es el nmero de vlvulas y

es el nmero de movimientos; teniendo que

para este caso se tendrn cuatro (cuatro) relevos.


4. Se

ponen

los

actuadores

cada

uno

con

su

vlvula

5/2

activadas

electromagnticamente, se realiza toda la conexin neumtica, se ponen los sensores


de cada elemento y se identifican los solenoides de las vlvulas, como se muestra en
la Figura 30.
5. Se inicia energizando el primer relevo (Primer movimiento) a travs del pulsador de
inicio y se memoriza la activacin del relevo, el encargado de interrumpir la seal de
memoria es el relevo del siguiente movimiento. Para los otros movimientos se replica
el esquema pero la activacin estar dependiendo de los elementos que hacen
cambio de movimientos. Es importante tener en cuenta que un paso habilita el
siguiente y deshabilita el anterior.
Figura 37: Configuracin de relevos paso a paso, electroneumtica

6. Se procede a realizar la etapa de conexin de las electrovlvulas, en donde se conecta


el respectivo relevo del movimiento al respectivo solenoide de la vlvula.

39

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 38: Configuracin de pasos y movimientos, electroneumtica

Ejemplo 5:
Suponiendo el mismo Ejemplo 1 con la misma secuencia (A+ B+ B- C+ C- A-), pero
resolvindolo con el mtodo cascada con electroneumtica, se tendra:
No. Cilindros = 3 (A, B, C)
No de Sensores = 6 (S0, S1, S2, S3, S4, S5)
La configuracin de los cilindros, vlvulas de control y sensores se puede observar en
la Figura 32.
Pasos = 6, Cambios de Pasos y Movimientos =

Numero de relevos = 6

40

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Se hace la etapa de control activando y desactivando cada paso.


Figura 39: Configuracin Pasos, Ejemplo 5.

Etapa de control de vlvulas:


Figura 40: Activacin y Desactivacin de Vlvulas de control, Ejemplo 5.

Diseo final:

41

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 41: Configuracin Secuencia Principal, Ejemplo 5.

Al finalizar estos pasos, se tiene la secuencia completa, y ahora si se podrn acoplar todos
los elementos de control que pueda tener el proceso.
1.2.3.

Elementos Complementarios de Control

En la realizacin de los montajes automtico o semiautomtico se hacen necesarios en


muchos casos usar elementos que ayudan a controlar variables como el tiempo y nmeros
de repeticiones. Sin embargo a continuacin se tratar del uso de los temporizadores y de
los contadores, en donde se mostrarn ejemplos sencillos para comprender su uso y
posteriormente se har un ejercicio de mayor complejidad para entender a que se hace
referencia cuando se dice que se necesita lgica e intuicin (se omiten vlvulas de presin
y otras, pues en el caso de electroneumtica estos sensores funcionan de manera similar a
los utilizados para la deteccin de las posicin del cilindro y por ende la integracin de los
mismos al resto del circuito resulta bastante sencilla).
Temporizadores
En electro-neumtica la temporizacin se hace a travs de relevos con retardos, para
nuestro estudio nos concentraremos en el relevo con retardo a la conexin (on delay o
con desaceleracin de arranque) y relevo con retardo a la desconexin (off delay o con
desaceleracin de cada). Es importante tener presente cual es el modo de operacin de

42

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

cada uno, pues se les puede poner contactos normalmente cerrados o abiertos, es decir,
que se pueden usar de muchas formas.

Retardo a la conexin: Una vez que el relevo es energizado empieza a correr el tiempo
(funciona con flanco de subida), transcurrido ste, los contactos que se encuentren
relacionados con el relevo conmutan. Es importante que la seal de alimentacin del
relevo no se pueda cortar durante el conteo del tiempo pues no se activa, por eso se
sugiere usar el mtodo para memorizar la seal de los relevos. Un ejemplo sencillo es
el de retardar el tiempo de salida de un cilindro como se muestra en la Figura 42:
Figura 42: Configuracin del retardo a la conexin en electroneumtica

En el ejemplo anterior se us un interruptor para mantener la seal activa, sin embargo,


se pudo haber usado un pulsador y memorizarlo. Se sugiere hacer el anterior montaje
para ver realmente el funcionamiento de este retardo.

Retardo a la desconexin: Una vez que el relevo se energiza lo contactos relacionados


a ste conmutan, en el momento que se des energiza comienza a correr el tiempo, y
una vez transcurrido los contactos vuelven a su estado normal. En el ejemplo
mostrado en la Figura 43 en el momento que se conmute el interruptor el cilindro

43

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

saldr, cundo se vuelva a conmutar el interruptor pasarn 5 segundos antes que el


cilindro retorne a su posicin.
Figura 43: Configuracin del retardo a la desconexin en electroneumtica

Contadores:
Los contadores son normalmente usados para contabilizar el nmero de repeticiones de
un movimiento determinado, en electro-neumtica se usa a travs de un relevo el cual
tiene un indicador que muestra el nmero de repeticiones, este funciona por flanco
ascendente y tiene reset para volver a ceros los parmetros. El principal parmetro a
tener en cuenta en el contador es el set point o denominacin de la conexin, esto hace
referencia a el numero de la repeticin en la cual los contactos relacionados al relevo
contador conmutan.
En las competencias se usan de diversas formas, sin embargo la ms compleja resulta
cuando se pide que cierta parte de la secuencia se tenga que realizar un nmero
determinado de veces y despus seguir con el resto de la secuencia.

44

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 44: Contadores en electroneumtica

El contador inicia en el valor seleccionado y con cada flanco ascendente se decrementa en


uno el valor, hasta llegar a cero y conmutar los contactos. En este ejemplo se debe
presionar el pulsador de START 5 veces para sacar el actuador, y despus se hace
necesario presionar el Reset para retornar el cilindro.
Ejemplo 6:

Secuencia necesaria:

Se requiere que antes que entre A el cilindro B debe entrar y salir un nmero
determinado de veces por un contador; cada vez que el cilindro B este afuera debe
esperar 5 segundos antes de entrar.

La solucin a este ejemplo esta mostrada en la Figura 45, y es necesario usar la


configuracin de cilindros y vlvulas de control mostrados en la Figura 30. En donde KC es el
relevo del contador y KT es el relevo del temporizador.

45

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 45: Solucin ejemplo de elementos de control electroneumticos

1.2.4.

Recomendaciones

A la hora de realizar las pruebas de electroneumtica en las Olimpiadas Nacionales de


Mecatrnica, hay que tener en cuenta las siguientes recomendaciones:
Si se realiza pruebas sobre el simulador, realizar secuencia bsica y despus de tener
la secuencia funcionando proceder a crear nuevo archivo en el cual se copia y se pega
lo que se tiene hasta ese punto, con el fin de que todas las modificaciones que se
realicen se hagan sobre otro archivo y asegurar en todo momento poder presentar la
secuencia bsica, que en resumidas cuentas es clave en la puntuacin.
Tener mucho cuidado con las mrgenes de las hojas y conexiones errneas que
existan en la simulacin, ya que pueden calificar que no salga ningn error o mensaje
en la simulacin.
Poner unidades de mantenimiento si son necesarias, y ajustar bien las presiones del
compresor y las unidades de mantenimiento segn lo requerido.

46

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Para agregar una vlvula en FluidSim lo ms recomendable es acceder al men:


Neumtica/Vlvulas/Vlvulas de vas de uso frecuente/accionadas por solenoides
(Activadas Electroneumticamente). Con esto ahorramos tiempo en la puesta a punto
de la vlvula (Silenciadores, tipos de accionamiento, muelles, etc).
Para los montajes de estos circuitos se recomienda revisar el estado del
funcionamiento de los elementos como sensores, pulsadores y electrovlvulas y
relevos y cables de conexin, ya que estos pueden hacer que el equipo pierda un
tiempo valioso a la hora de rectificar el funcionamiento del circuito final.
Es importante tener claro la simbologa de todos los sensores pues se califica que se
haya usado el sensor que se pide, a continuacin se mostrarn algunos de los
sensores ms usados y la forma de incluirlos.

Presstatos: En FluidSim a la hora de usar los presstatos se hace necesario incluir


una parte mecnica que se encuentra en el pilar de neumtica/sensores e
instrumentacin de medidas, este elemento que se selecciona de este subgrupo es
el que se conectara a la parte neumtica del sistema. Otra parte se incluye en la
parte de control, pero el elemento que se agrega se hace desde los sensores e
instrumentos de medidas de componentes elctricos. Este procedimiento tambin
se debe realizar con caudalmetros y otros sensores de este tipo. Estos elementos
siempre se debe tener en cuenta la presin de configuracin que deban tener segn
la funcin a realizar.

Cuando se habla de finales de carrera, es posible que pidan contactos especiales


como contactos Reed, por esta razn una vez que el contacto normalmente abierto
se encuentre referenciado al final de carrera se debe hacer doble clic y segn como
se muestra en la Figura 46 seleccionar el tipo de contacto.

47

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Figura 46: Configuracin de Contactos Reed.

Sensor Capacitivo, inductivo, ptico y magntico: Todos estos sensores se conectan


de la misma forma, referenciando el sensor a un punto de la carrera del cilindro.
Figura 47: Ejemplo de Conexin electroneumtica de un Sensor Capacitivo.

48

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.5. Fundamentos para la Nomenclatura ISO 1219


Aunque existe diferente material respecto a la manera como se debe realizar la
nomenclatura de elementos en un circuito neumtico, se ofrece la siguiente gua y
ejemplos a manera de informacin que puede ser fcilmente trasladada al desarrollo de
las pruebas:

La nomenclatura de un circuito neumtico debe realizarse a partir de los


actuadores, identificndolos primero con un nmero seguido por la letra A. el
nmero identificar el grupo que comanda dicho actuador, as por ejemplo 2A
significa el actuador del grupo dos; si llegado el caso se tiene ms de un
actuador por grupo se procede como sigue: 2A1, 2A2, etc.

Una vez designados los actuadores se procede a designar aquellas vlvulas y


sensores que estn directamente conectados a este, tenga en cuenta que para
el caso de vlvulas se utiliza la letra V, para el caso de sensores y otros
elementos de entrada se utiliza la letra S, y para otros elementos (grupos de
vlvulas, temporizadores, vlvulas de secuencia, filtros, etc.) se utiliza la letra Z.
Entonces, las vlvulas que estn conectadas al actuador pertenecern a ese
mismo grupo (en nuestro ejemplo el grupo 2) y de all en adelante con el
consecutivo; as por ejemplo, se pueden tener las vlvulas 2V1, 2V2, 2V3, etc., y
los sensores 1S1, 1S2, 1S3 etc. Procure dentro de lo posible realizar asignar el
consecutivo ms bajo al elemento que se encuentre ms abajo dentro del
circuito y aumente el ndice a medida que se acerca a los actuadores.

Finalmente se designan aquellos elementos que no estn directamente


conectados a un actuador en especfico, para estos se utilizan las mismas letras
de designacin ya explicadas y se utiliza el grupo cero 0.

Obsrvese la siguiente figura a manera de ejemplo ilustrativo de lo anteriormente


explicado, se recomienda realizar una revisin de los circuitos de ejemplo que contiene el
Fluidisim (inclusive en su versin de demostracin), para observar diferentes maneras de

49

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

designar los elementos siguiendo estas normas bsicas, as mismo y a manera de prctica,
se recomienda realizar una nueva nomenclatura de los ejercicios hasta ahora realizados.
Figura 48: Circuito Neumtico de acuerdo a ISO 1219.

50

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

II. PRUEBAS TIPO COMPETENCIA


Este captulo est orientado a desarrollar las destrezas y habilidades del participante a la
hora de enfrentarse a las pruebas que se presentan durante la competencia, por esta
razn es necesario que las siguientes se realicen regidas por los formatos de calificacin
incluyendo todas las restricciones que se presentan a nivel de elementos y tiempos de
desarrollo. Gran parte de este compendio de retos han sido parte de olimpiadas y
eliminatorias anteriores por lo que deben servir como refuerzo para la preparacin del
grupo competidor.
Este se encuentra dividido en los diferentes temas antes vistos, sin embargo es bueno que
se seleccione una prueba de cada tema y sea aplicada en un mismo da, con el fin de de
dar un mayor acercamiento a la realidad a la que se enfrentaran.
Se ha procurado mantener la estructura, y redaccin de las pruebas intactas, as que se
recomienda fuertemente que el grupo en preparacin realice un desarrollo de la prueba a
conciencia tomando el tiempo lmite y realizando una simulacin completa como si se
tratase de una competencia, de esta manera podr sacar el mximo provecho de este
limitado compendio.

51

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1. Pruebas Neumticas.
1.1.

Prueba Nmero 1.

Problema
Lo que en un principio pareca un inconveniente de fcil solucin se ha complicado, es por
esta razn que la empresa XMS requiere de sus servicios y conocimientos. Una prensa
sencilla de avance regulado y funcionando a 4 bar cuyo control se realiza nicamente
medi
Inicialmente la prensa contaba con dos pulsadores, uno que la haca avanzar y otro que
cumpla con el retroceso, debido a una mala manipulacin de la mquina, el pulsador de
retroceso se ha daado. As que es necesario realizar una reparacin que cumpla con una
tarea similar, as que el departamento de mantenimiento sugiere que con un solo
pulsador (vlvula 3/2 Normalmente Cerrada) se cumplan ambas funciones de la siguiente
manera:
Al pulsar una vez el cilindro debe avanzar
Al pulsar una segunda vez el cilindro debe retroceder
El circuito queda listo para iniciar de nuevo

Cabe recordar que el tiempo del cual se dispone es de 45 minutos, en el banco de trabajo
usted encontrar los elementos disponibles, cuya lista se muestra a continuacin.

Cilindro de doble Efecto.


2 vlvulas reguladoras de caudal.
3 vlvulas 5/2 biestables.
2 vlvulas 5/2 monoestables.
Vlvula 3/2 selectora.
Vlvula 3/2 Normalmente cerrada accionada por pulsador
6 Conexiones T para manguera 4.

52

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.

Prueba Nmero 2.

Problema
En un proceso de doblado al interior de una reconocida empresa elaboradora de perfiles
metlicos, se realiza una secuencia sencilla la cual involucra dos actuadores neumticos
Encargados de transformar una lmina metlica en un producto terminado tal y como se
ilustra en las figuras adjuntas.

As entonces al accionar un pulsador neumtico, sucede lo siguiente:


1. avanza el actuador 1A, llegando hasta el final de su recorrido
2. Avanza el Actuador 1B, hasta llegar al final de su recorrido
3. Retrocede el actuador 1B
4. Finalmente retrocede el actuador 1A, para que el producto sea retirado

53

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Misin y Limitantes
Realizar un circuito neumtico que cumpla con la secuencia descrita y adicionalmente
como requerimiento adicional de la empresa es necesario asegurar que una vez que el
cilindro 1B avanza permanezca en esa posicin por un tiempo regulable para asegurar que
el producto final no se deforme, pasado este tiempo la secuencia continuar hasta
finalizar. Al accionar el pulsador de inicio de nuevo la secuencia debe repetirse siguiendo
estos mismos pasos.

Recuerde que para realizar esta labor su grupo dispone nicamente de 45 minutos, y de
los elementos que se encuentran en el banco de trabajo.

54

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.3.

Prueba Nmero 3.

Problema
Las condiciones ambientales al interior de las instalaciones de una empresa, hacen que
sea estrictamente necesaria la utilizacin de sistemas neumticos para la automatizacin
de sus mquinas. En esta ocasin se requiere que su grupo de trabajo disee y construya
un circuito (neumtico), que funcione de acuerdo a lo siguiente:

1) La secuencia debe iniciar


cuando se accione el pulsador
neumtico (vlvula 3/2 NC).
Designada como Pul1

2) Al hacer esto, el cilindro


demarcado con 1A1 avanza y
retrocede un total de 3 veces
para depositar el material hasta llenar el Envase

3) Posteriormente y al terminar el proceso de llenado se debe accionar el pulsador


Neumtico (vlvula 3/2 NC) designado como Pul2, para que el cilindro 2A1 avance para
poner un nuevo envase.

4) Finalmente el cilindro 2A1 retrocede automticamente y el sistema queda listo para


iniciar de nuevo.
Consideraciones Adicionales

55

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

El pulsador marcado con Pul2, no debe realizar ninguna accin hasta que el
actuador 1A1 termine su secuencia.
El circuito debe permitir la regulacin independiente de la velocidad de avance
de los actuadores.
Recuerde que para realizar esta labor su grupo dispone nicamente de 45
minutos, y de los elementos que aparecen listados a continuacin.

2 pulsadores neumtico 3/2 NC


4 vlvulas 5/2 biestables
3 reguladores de Caudal unidireccionales.
1 Contador Neumtico con Preseleccin, NC
1 vlvula triple AND
2 Cilindros neumticos de doble efecto
3 finales de carrera neumticos NC
Mangueras de diferentes tamaos.
6 conexiones en T para manguera de 4 mm

56

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.4.

Prueba Nmero 4.

Problema

Unos de nuestros clientes desea


realizar un proceso de sellado en una
pieza plstica.

Para lo cual debe sujetarla con un


cilindro y realizar el proceso de
sellado con otro cilindro que cargara
la herramienta.

Para el arranque del sistema es necesario que el operario realice la


activacin del sistema con un accionamiento bimanual, y confirmando que
el sistema se encuentra en la adecuada posicin de inicio.

El proceso de mecanizado es exitoso solo si se realiza la operacin de


sellado esperando un tiempo en el recorrido final de la herramienta.
Posteriormente de esta operacin el cilindro que sujeta la operacin debe
retroceder.

El sistema debe permitir graduar la presin de ingreso de la herramienta y


la velocidad de avance y retroceso de los cilindros.

57

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

De la misma manera el sistema debe tener una paro de emergencia que me


permita volver los cilindros a posicin inicial en el momento de obturar el
pulsador de emergencia.

Tarea:
Realice el diseo del sistema adecuado para la aplicacin.
Realice el montaje del sistema
Realice las suficientes pruebas para la entrega al cliente final.

Puntos de evaluacin:

Se evaluar el conocimiento de la simbologa segn la norma ISO 1219, la


utilizacin de los elementos especificados, el funcionamiento del sistema y el
tiempo utilizado para la implementacin.
Utilizacin diagrama Espacio- Fase
Uso secuencia literal
Plano de la situacin
Se evaluar el funcionamiento de la secuencia.
Se evaluara si el sistema presenta fugas.
Se evaluara montaje del sistema.

58

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2. Pruebas Electroneumticas.
2.1.

Prueba Nmero 1.

Problema:
El departamento de proyectos de la empresa XMS tiene una importante entrega que
realizar de la cual depende el futuro de nuevas y benficas negociaciones, sin embargo,
debido a problemas externos dispone nicamente de 45 minutos para realizar un sistema
para una mquina de seleccin que cumpla con las siguientes especificaciones:

1. Sistema de seguridad compuesto de dos pulsadores, el proceso nicamente


arranca cuando ambos son pulsados simultneamente, adicionalmente y para
evitar inconvenientes de seguridad, el sistema no puede arrancar si el operario
pulsa cualquiera y tarda ms de un segundo en pulsar el siguiente.
2. Ciclo continuo de seleccin y expulsin, realizado por un sistema de dos
actuadores que describen la siguiente secuencia A+/A-/B+/B-, una y otra vez sin
detenerse.
3. El cilindro A, debe avanzar lento y retroceder lo ms rpido posible.

Al revisar en la bodega del departamento encuentra, que para la realizacin de este


proyecto nicamente dispone de los elementos listados a continuacin

Dos sensores magnticos de contactos REED Normalmente abiertos


Dos pulsadores con 2 contactos normalmente abiertos y dos contactos
normalmente cerrados cada uno
Una electrovlvula 5/2 monoestable
Una electrovlvula 5/2 biestable
Dos temporizadores elctricos con retardo a la conexin
Un temporizador elctrico con retardo a la desconexin.
Tres relevos triples (3 contactos NC y NA cada uno).
Dos actuadores de doble efecto.
2 Vlvulas OR
2 vlvulas AND

59

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1 vlvula de escape rpido


5 vlvulas reguladoras de caudal
Fuente de aire comprimido y Fuente 24 VDC

Basado en la informacin anterior puede usted encontrar una manera de sacar adelante
esta negociacin, arreglando este inconveniente????
Simule su solucin utilizando FluidSim y los elementos listados

60

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2.2.

Prueba Nmero 2.

Problema:
Un dispositivo para almacenamiento momentneo en un proceso de fabricacin de esferas luce como
aparece en la siguiente ilustracin

Al accionar un pulsador elctrico NA, debe ocurrir lo siguiente:


1.
2.
3.
4.

El actuador 1A avanza expulsando la esfera hacia el siguiente actuador


Al llegar al final de su recorrido retrocede
Una vez que 1A ha terminado su movimiento, el cilindro 1B avanza para depositar la esfera en el
contenedor de la parte superior.
Al llegar al final de su recorrido, el actuador 1B retrocede.

El actuador Neumtico de Giro 1C, se encarga de dosificar las esferas una a una realizando un movimiento
hasta el final de su recorrido y de vuelta. Este movimiento se realizar siempre y cuando exista pieza en el
contenedor (sensor ptico de deteccin de piezas activo) y no se encuentre ninguna esfera en el punto 4 del
diagrama (Para saber si se encuentra o no una esfera all la mquina cuenta con un interruptor NA que se
activa cuando la palanca no tiene peso alguno, es decir, cuando no se encuentra una esfera en la palanca)

61

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Misin y Limitantes.
Elaborar un circuito Electroneumtico utilizando el Fluid SimP versin 4 que cumpla con los requerimientos
anteriormente descritos, y teniendo en cuenta adicionalmente las siguientes limitantes.
1.
2.
3.
4.
5.

Los sensores para deteccin de posicin de los cilindros de doble efecto deben ser de tipo
magntico.
Los sensores para deteccin de posicin del actuador de giro deben ser de tipo inductivo
Si ocurre algn fallo en la alimentacin elctrica, todos los actuadores deben volver a su posicin
inicial.
El sensor ptico y el interruptor para deteccin de esfera deben ser ubicados en el plano y para
efectos de simulacin se activarn de manera manual (haciendo clic sobre ellos).
El tiempo de la prueba no puede ser superior a 45 minutos.

62

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2.3.

Prueba Nmero 3.

Un cilindro neumtico de doble efecto provisto de una canastilla se utiliza para la


inmersin de materiales en un bao que hace parte de un proceso de galvanizado. La
tarea de su grupo consiste entonces en el diseo de un circuito para esta labor, teniendo
en cuenta que este debe funcionar de la siguiente manera:

Diagrama de Espacio - Fase

- Al presionar un pulsador de inicio, el

S3

cilindro retenedor sujeto como lo


sugiere la figura avanza para sumergir

S2

la canastilla dentro del bao


S1

Bath 1

- Al llegar al final de su recorrido, el cilindro retrocede, sacando la canastilla del bao. El


cilindro llegar hasta la mitad del recorrido y avanzar de nuevo para sumergir la
canastilla una segunda vez.

- Al alcanzar de nuevo la posicin final el cilindro debe retroceder completamente para


retirar la canastilla y as culminar esta etapa del proceso de galvanizado.

Es decir, el sistema debe cumplir con la tarea descrita por el diagrama espacio-fase de la
figura.

63

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Consideraciones Adicionales

Los sensores utilizados para el diseo tienen que ser de tipo ptico

El circuito debe permitir la regulacin de la velocidad de avance y de retroceso


del actuador neumtico, aplicando restriccin al aire de escape de las cmaras
de los actuadores.

Recuerde que para realizar esta labor su grupo dispone nicamente de 45


minutos,

En caso de una eventual falla de la energa, el sistema debe asegurar que la


canastilla ser retirada del bao

Tenga presente que el plano del sistema a presentar no debe admitir ningn
error cuando se desee correr la simulacin.

64

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2.4.

Prueba Nmero 4.

Montaje en Banco.
Su grupo de trabajo ha sido encomendando para la completa revisin y puesta a punto de un circuito
electroneumatico que hace parte de una mquina que cumple una labor de llenado sencilla.

El departamento de proyectos le ha entregado a su grupo el siguiente plano:

+24V

7
3

3
E1
S1

K1

S2

1
A1

K1

K2

T3

K2
4

K3
4

T3
2

K3

10

K2

A1

S3

A1

2
A1

Y4
A2

A2

A2
Y1

Y3

Y2

T3

0V

A2

10

El cual va acompaado del esquema neumtico que tambin se presenta a continuacin.

S3

S1

Retenedor

S2

Cil. Llenado.

El equipo est consciente de que el circuito


presenta un problema que le impide cumplir de
manera adecuada con su labor, pues si se pone a
funcionar el circuito la secuencia descrita es la

Y1

Y2

Y3

Y4

siguiente:

65

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

- Al presionar el pulsador de arranque, el cilindro retenedor avanza.


-En ese mismo instante inicia un temporizado de 5 segundos.
- Al finalizar el temporizado el cilindro de llenado inicia su carrera de avance.
- Una vez el cilindro de llenado llega a su posicin final, entonces el cilindro retenedor regresa a su posicin
inicial y finalmente al llegar al final de su recorrido este hace retornar el cil de llenado a su posicin inicial

La tarea de su grupo consistir en realizar el montaje electroneumtico respetando al mximo el esquema


neumtico y la ubicacin de los sensores, pero realizando las correcciones necesarias para que el circuito
cumpla con la siguiente secuencia al oprimir el pulsador de arranque.

-Avanza cilindro Retenedor


-Al llegar al final avanza el cilindro de llenado
-Una vez al final, retrocede el cilindro retenedor.
-Comienza un temporizado de 5 segundos
-Transcurrido el tiempo regresa el cilindro de llenado a su posicin inicial, y el sistema queda listo para
iniciar.

66

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2.5.

Prueba Nmero 5.

Un dispositivo de ensamble sencillo compuesto de tres actuadores luce como lo muestra la figura a
continuacin:

Al accionar un pulsador elctrico NA, el sistema de actuadores debe realizar los movimientos
correspondientes al diagrama de espacio fase que aparece a la derecha. Es decir:
5.
6.
7.
8.
9.

El actuador 1A avanza con la pieza base para el ensamble


Al llegar al final, el cilindro 2A avanza para insertar la primera pieza.
Una vez que 2A termina su recorrido, el cilindro 3A avanza para culminar el ensamble.
Al finalizar el recorrido de 3A, regresa junto con el cilindro 1A a su posicin inicial.
Concluido este ltimo movimiento el cilindro 2A retorna a su posicin de reposo, dejando el
sistema listo para iniciar de nuevo.

Consideraciones Adicionales.

67

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Elaborar un circuito Electroneumtico utilizando el Fluid SimP versin 4 que cumpla con los requerimientos
anteriormente descritos, y teniendo en cuenta adicionalmente las siguientes limitantes.
6.
7.
8.
9.

Los sensores para deteccin de posicin de los cilindros deben ser de tipo magntico.
Se pueden utilizar como mximo 7 relevos con dos contactos abiertos, y 2 contactos cerrados cada
uno.
Si ocurre algn fallo en la alimentacin elctrica, todos los actuadores deben volver a su posicin
inicial
Solo se permite un pulsador de inicio con contacto NA, para dar inicio al sistema.
El tiempo de la prueba no puede ser superior a 45 minutos.

68

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2.6.

Prueba Nmero 6.

Unos de nuestros clientes desea realizar la


repotenciacin

de

un

proceso

de

mecanizado de piezas para lo cual necesita


un cilindro que le permita desplazar la pieza
y prensarla.

Posteriormente otro cilindro que tiene la


herramienta realiza el mecanizado esto quiere decir que el cilindro baja, al
terminar de mecanizar la pieza la herramienta debe subir

Antes de terminar la operacin, un tercer cilindro debe colocar un sello


indicando que la pieza ya se mecanizo.

Finalmente el cilindro de la prensa se abre para liberar la pieza poder ser


tomada por el operario.

La maquina tiene el siguiente circuito Bsico Neumtico, el cual debe ser


utilizado para la aplicacin.

Los sensores del cilindro de mecanizado son de tipo inductivo, los dems
son finales de carrera mecnicos

69

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Cilindro Prensa
S1

S2

Y1

Cilindro Sello

Cilindro Mecanizado
S3

S4

Y3
1

S5

Y4

S6

Y5

Y6

El cliente desea que como parte de la repotenciacin podamos controlar la


velocidad de salida de los actuadores y de la misma forma la presin de
mecanizado de la pieza.

Tarea:

70

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Realice el diseo electroneumtico en FluidSim del sistema adecuado para


la aplicacin.

Haga las modificaciones necesarias.

Realice las suficientes pruebas para la entrega al cliente final.

Puntos de evaluacin:

Se evaluar el conocimiento de la simbologa segn la norma ISO 1219, la


utilizacin de los elementos especificados, el funcionamiento del sistema y el
tiempo utilizado para la implementacin.
Utilizacin diagrama Espacio- Fase
Uso secuencia literal
Plano de la situacin
Se evaluar el funcionamiento de la secuencia.
Se evaluara si el sistema presenta fugas.
Se evaluara montaje del sistema en el software
Cumplimiento de las especificaciones del cliente.
Mtodo usado para la solucin

71

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

III. FORMATOS DE CALIFICACIONES Y SOLUCIONES


Esta parte del trabajo est orientado hacia la persona que ser la encargada de aplicar las
pruebas a los grupos participantes y bsicamente consiste en la agrupacin de los
formatos de calificacin de las anteriores pruebas y algunas soluciones de esos ejercicios.
De manera que las pruebas deben ser calificadas estrictamente siguiendo las pautas que
indica cada formato. Y por parte del entrenador o jurado, hacer respetar las limitaciones
de tiempos y puntuaciones. Evidenciando a travs de estos los problemas que presente el
grupo, para as poder reforzarlos.
Es recomendable que el entrenador o la persona encargada haya ledo previamente todos
los otros captulos para saber explcitamente en que partes debe hacer hincapi pues en
el transcurso de estos se hablan de puntos claves en el desarrollo de los ejercicios.
En este orden de ideas y enfocados en las olimpiadas de Mecatrnica el instructor o
entrenador debe estar familiarizado con la competencia para tener una visin clara de
hacia dnde debe enfocar sus energas a la hora de incentivar a los competidores.

72

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1. Formatos De Evaluacin De Las Pruebas


1.1.

Formatos Neumtica.

1.1.1. Formato Prueba 1.

Aspecto a Evaluar

Mximo

Uso de una vlvula reguladora unidireccional en la lnea de escape del


cilindro para avance lento del cilindro

Sistema completo funcionando a 4 bar.

12

Avance del cilindro A, al pulsar la vlvula 3/2 normalmente cerrada.

El cilindro A se mantiene en posicin extendida al soltar el pulsador

El cilindro A retrocede al pulsar la segunda vez la vlvula 3/2


normalmente cerrada.

10

El cilindro A se mantiene en posicin retrada al soltar el pulsador

15

La secuencia puede realizarse de nuevo.

22

Bonificacin por tiempo, (mejor tiempo 18 puntos, segundo puesto 10


puntos, tercer puesto 5 puntos)
Total

18

95

73

Puntos

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.1.2. Formato Prueba 2.

Concepto a Evaluar
Finales de carrera, ubicados de manera correcta, no se presenta colisin

Mxima Obtenida
10

indebida del vstago con el final de carrera


Al accionar el pulsador de inicio, nicamente avanza el cilindro A

11

Cuando el cilindro A termina el recorrido, nicamente avanza el cilindro B

12

Cuando el cilindro B termina el recorrido, nicamente retrocede el cilindro

18

B
Cuando el cilindro B llega al inicio de carrera, nicamente retrocede el

19

cilindro A
Cuando el cilindro B termina el recorrido, permanece un tiempo regulable

30

en esa posicin, y luego contina con la secuencia


La secuencia inicia de nuevo, y cada vez regula un tiempo similar al inicial

12

Bonificacin por tiempo, (mejor tiempo 18 puntos, segundo puesto 10

18

puntos, tercer puesto 5 puntos)


Total

130

74

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.1.3. Formato Prueba 3

Concepto a Evaluar
Reguladores de Caudal ubicados de acuerdo a las condiciones del ejercicio

Mxima Obtenida
10

(5 puntos c/u)
Al accionar el pulsador neumtico PUL1, el cilindro utilizado como 11

11

avanza.
Al llegar al final de su recorrido el cilindro 1A1, retrocede automticamente.

12

La secuencia de avance y retroceso se repite no ms de tres ocasiones.

30

Al accionar el pulsador PUL2, el cilindro utilizado como 2A1 avanza, siempre

19

y cuando la secuencia anterior se culmine totalmente


Al llegar al final de su recorrido y cilindro 2A1 retrocede automticamente y

18

deja el sistema listo para iniciar de nuevo.


La secuencia se repite una y otra vez, sin realizar modificaciones sobre el

12

circuito.
Puntaje Adicional por Tiempo

18

Total

130

75

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.1.4. Formato Prueba 4


SITUACION A EVALUAR

PUNTAJE PUNTAJE
MAXIMO OBTENIDO

Secuencia correcta

60

Uso del Temporizador

10

Realizo Diagrama Espacio-Fase

Uso secuencia Literal

Use del Regulador de Presin

10

Uso de reguladores de Caudal

10

Diseo acorde con el montaje

Presencia de Fugas

Avance del Cilindro 1

Avance Cilindro 2

10

Retroceso Cilindro 2

Retroceso Cilindro 1

Uso de vlvula de de memoria


auxiliar

10

Accionamiento Bimanual

10

Uso del pulsador paro de


emergencia

10

La secuencia se repite una y otra


vez sin modificacin alguna

10

Tiempo

25

OBSERVACIONES

TOTAL

76

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.

Formatos Electroneumtica

1.2.1. Formato Prueba 1.

Aspecto a Evaluar

Mximo Puntos

Uso de una vlvula reguladora unidireccional en la lnea de escape


del cilindro para avance lento del cilindro
Uso de una vlvula de escape rpido en la lnea de avance del
cilindro para realizar el retroceso a mxima velocidad

12

Los elementos utilizados en el circuito se encuentran dentro de la


lista proporcionada?, cada elemento adicional resta 4 puntos del

12

mximo obtenido en este aspecto


El sistema de seguridad funciona de acuerdo a las condiciones
descritas en la prueba
El cilindro A realiza el movimiento de avance (4 puntos) y el de
retroceso (4 puntos)
El cilindro B realiza el movimiento de avance (4 puntos) y el de
retroceso (4 puntos)
La secuencia se realiza una y otra vez sin detenerse.

15

19

Bonificacin por tiempo, (mejor tiempo 18 puntos, segundo


puesto 10 puntos, tercer puesto 5 puntos)
Total

18

100

77

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.2. Formato Prueba 2.


Concepto a Evaluar
Los sensores y detectores utilizados en el circuito, concuerdan

Mxima
20

con lo estipulado en la prueba (cada error restar 5 puntos)


No se presentan errores al iniciar el modo simulacin

Al accionar el pulsador elctrico NA, el actuador 1A avanza

11

Al llegar al final de su carrera, el actuador 1A retrocede

12

Al llegar al inicio de carrera, el actuador 1B Avanza

18

Al llegar al fin de carrera, El actuador 1B retrocede

19

Al accionar de nuevo el pulsador NA, la secuencia se repite sin

ningn inconveniente.
El actuador de giro se activa nicamente cuando se encuentran

activo el sensor ptico de pieza, y el interruptor en la palanca


El actuador de giro retrocede automticamente, al llegar al final

15

de su recorrido
Al eliminar la alimentacin elctrica los actuadores vuelven a su

12

posicin inicial. (El evaluador agregar un interruptor en la lnea


de alimentacin general de la simulacin para realizar esta
prueba)
Puntaje Adicional por Tiempo

18

Total

140

78

Obtenida

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.3. Formato Prueba 3.

Concepto a Evaluar
Reguladores de Caudal ubicados de acuerdo a las condiciones del

Mxima Obtenida
16

ejercicio (8 puntos c/u)


La secuencia inicia sin presentar errores.

Al oprimir el pulsador 1 el cilindro avanza.

12

Al llegar al final de recorrido el cilindro retrocede

20

Al llegar a la posicin intermedia, el cilindro inicia de nuevo

24

Al llegar al final del recorrido nuevamente, el cilindro retrocede

18

completamente.
La secuencia se repite una y otra vez, sin realizar modificaciones

12

sobre el circuito.
Sensores de acuerdo a las condiciones de la prueba, uso de vlvulas

monoestables, cada error restar 5 puntos.


Puntaje Adicional por Tiempo

18

Total

130

79

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.4. Formato Prueba 4

Concepto a Evaluar
Los sensores, reguladores utilizados en el circuito, concuerdan con

Mxima Obtenida
24

lo estipulado en la prueba (cada error restar 6 puntos)

Al accionar el pulsador elctrico NA, el actuador 1A avanza

10

El actuador 2A avanza

16

Al llegar al final el actuador Retenedor retrocede

12

Tiempo de Espera regulado

13

Finalmente el actuador de Llenado retrocede

18

La secuencia se repite una y otra vez sin realizar modificacin

19

alguna.
Puntaje Adicional por Tiempo

18

Total

130

80

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.5. Formato Prueba 5.

Concepto a Evaluar
Los sensores, detectores y relevos utilizados en el circuito,

Mxima Obtenida
25

concuerdan con lo estipulado en la prueba (cada error restar 5


puntos)
No se presentan errores al iniciar el modo simulacin

Al accionar el pulsador elctrico NA, el actuador 1A avanza

10

Al llegar al final de su carrera, el actuador 2A avanza

11

Al llegar al final de su carrera, el actuador 3A Avanza

12

Al llegar al fin de carrera, El actuador 3A y 1A retroceden

18

Al concluir el movimiento anterior el cilindro 2A retrocede, y el

12

sistema queda listo para comenzar de nuevo


Al eliminar la alimentacin elctrica los actuadores vuelven a su

19

posicin inicial. (El evaluador agregar un interruptor en la lnea de


alimentacin general de la simulacin para realizar esta prueba)
Puntaje Adicional por Tiempo

18

Total

130

81

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

1.2.6. Formato Prueba 6.


PUNTAJE PUNTAJE
MAXIMO OBTENIDO

SITUACION A EVALUAR
Secuencia correcta

60

Uso secuencia Literal

20

Realizo Diagrama Espacio-Fase

20

Uso del Regulador de Presin

10

Uso de reguladores de Caudal para


la salida de los elementos

10

Presencia de Fugas

Funcionamiento Cilindro Prensa

Funcionamiento
Mecanizado

Cilindro

Funcionamiento Cilindro Sellado

Mtodo para resolver el ejercicio

10

Manejo Ordenado de el espacio de


trabajo

Implementacin
Monoestable

vlvula

5/2

Accionamiento Bi manual

Implementacin de sensores

10

Tiempo

25

OBSERVACIONES

TOTAL

82

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2. Solucin De Ejercicios.
El hecho de incluir imitadas soluciones propuestas a los ejercicios de las pruebas obedece
principalmente a dos factores: se espera que aunque el grupo no pueda desarrollar una
prueba en el tiempo estipulado procure dentro de lo posible encontrar una solucin al
problemas pues esto reforzar en gran parte el proceso de aprendizaje que se adelanta, y
segundo las soluciones a las pruebas no son nicas y cualquier configuracin posible de
elementos para ofrecer una solucin que se ajuste a los requerimientos y que no incumpla
las reglas y consideraciones adicionales, puede considerarse como vlido.
Se espera entonces que estos ejemplos sean suficientes para asegurar un proceso de
preparacin adecuado dentro de los temas que se incluyen en las olimpiadas Nacionales
de Mecatrnica.
Si se tienen dudas o comentarios adicionales, favor consultar a los autores a travs del
correo: didactica.peru@pe.festo.com

83

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

2.1.

Solucin De Ejercicios De Neumtica.

3
1

S3

12

51%

2.1.1. Solucin Prueba Nmero 4.

S2

100%

3
5

1
1

1
2

100%
S0

S1

S0

S2

2
4

S1

S3

100%
1

100%

84

0V

K2

S1

K1

+24V

2
3
7
11

31%

K1

S4

K2

K3

K1

S2

4
5
12

Y3

K2

25%

S3

S6

K3

K1

K2

6
14

S4

Y4

K3

Cilindro Mecanizado

Y5

K4

K1

8
10

S5

K5

K4

S6

Cilindro Sello

Y6

Y1

K4

10

S2

Y3

K1

11

Y4

K2

12

S3

Y5

Y6

K3

14

S5

K5

2.2.

Y1

S1

25%

Cilindro Prensa

MANUAL DE PREPARACIN PARA OLIMPIADAS NACIONALES DE MECATRNICA


C. Meja, J. Giraldo, L. Rodrguez

Solucin De Ejercicios De Electroneumtica.

2.2.1. Solucin Prueba Nmero 6.

85

Sistema de programacin
IEC 61131-3: CoDeSys

Sistema de
programacin IEC
61131-3: CoDeSys

Ing. Gabriel Vento

Versin 1.01

Festo AR
Edison 2392
(1640) Martnez
Buenos Aires - Argentina

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 2 de 116

Sistema de programacin IEC 61131-3: CoDeSys


Tabla de contenido
1

INTRODUCCIN AL ESTNDAR IEC 61131-3 .................................................................7


1. 1
1. 2

IEC COMISIN ELECTROTCNICA INTERNACIONAL ............................................................7


IEC 61131-3 ESTNDAR DE PROGRAMACIN EN AUTOMATIZACIN INDUSTRIAL ..................7

CODESYS CARACTERSTICAS BSICAS, INSTALACIN Y SISTEMAS TARGETS ......9


2. 1
CODESYS ....................................................................................................................9
2. 1. 1 CoDeSys SoftPLC (CoDeSys SP) ....................................................................10
2. 2
CODESYS PROVIDED BY FESTO ..................................................................................... 11
2. 3
INSTALACIN DE CODESYS Y SISTEMAS TARGETS ............................................................. 12
2. 3. 1 Instalando CoDeSys ....................................................................................... 12
2. 3. 2 Instalando sistemas targets .......................................................................... 13
2. 3. 3 Primer inicio con CoDeSys ............................................................................. 14
2. 4 CARACTERSTICAS BSICAS DE CODESYS........................................................................ 15
2. 4. 1 Autodeclaracin de variables ........................................................................ 15
2. 4. 2 Sintaxis coloreada ......................................................................................... 16
2. 4. 3 Asistente de entrada ...................................................................................... 16
2. 4. 4 Ayuda sensible al contexto ........................................................................... 17
2. 4. 5 Configurador de tareas .................................................................................. 18
2. 4. 6 Configuracin del controlador (PLC) ............................................................. 19
2. 4. 7 Caractersticas de funcionamiento en modo online .....................................19
2. 4. 8 Simulacin integrada ..................................................................................... 21
2. 4. 9 Graficar variables online ................................................................................ 22
2. 4. 10
Seguridad de proyectos ............................................................................ 22
2. 5
ESTABLECIENDO COMUNICACIN CON EL CONTROLADOR ................................................... 24
2. 5. 1 Fundamentos de comunicacin ....................................................................24
2. 5. 2 Configuracin de la comunicacin ................................................................ 25
2. 6
DESCARGA Y RECUPERACIN DE PROYECTOS....................................................................26
2. 6. 1 Modo Online y modificacin en lnea ............................................................ 26
2. 6. 2 Creando proyectos autoarrancables ............................................................. 27
2. 6. 3 Recuperacin de proyectos ........................................................................... 28

ESTRUCTURA DE PROYECTOS Y UNIDADES DE ORGANIZACIN DE PROGRAMAS .31


3. 1
ESTRUCTURA Y CARACTERSTICAS DE UN PROYECTO .......................................................... 31
3. 1. 1 Tipos de datos................................................................................................ 32
3. 1. 2 Visualizaciones .............................................................................................. 32
3. 1. 3 Recursos ......................................................................................................... 34
3. 2
POU - UNIDADES DE ORGANIZACIN DE PROGRAMAS ....................................................... 36
3. 2. 1 Funciones ....................................................................................................... 36
3. 2. 2 Bloques de funciones .................................................................................... 38
3. 2. 3 Programas ...................................................................................................... 40

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 3 de 116

TIPOS DE DATOS ........................................................................................................... 41


4. 1
TIPOS DE DATOS ESTNDAR ......................................................................................... 41
4. 1. 1 Datos Booleanos ............................................................................................ 41
4. 1. 2 Datos Enteros .................................................................................................41
4. 1. 3 Datos Reales ..................................................................................................41
4. 1. 4 Cadena de caracteres (strings) .....................................................................42
4. 1. 5 Tipos de datos de tiempo (Temporales) ....................................................... 42
4. 2 TIPOS DE DATOS DEFINIDOS POR EL USUARIO ..................................................................43
4. 2. 1 Arreglos .......................................................................................................... 43
4. 2. 2 Punteros ......................................................................................................... 44
4. 2. 3 Enumeracin ..................................................................................................45
4. 2. 4 Estructuras .....................................................................................................46

OPERANDOS EN CODESYS ........................................................................................... 49


5. 1
DECLARACIN DE VARIABLES ........................................................................................ 49
5. 1. 1 Generalidades ................................................................................................ 49
5. 1. 2 Keywords ........................................................................................................ 50
5. 1. 3 Sintaxis de direcciones .................................................................................. 50
5. 2
TIPOS DE VARIABLES....................................................................................................51
5. 2. 1 Variable de Entrada, Salida, Entrada/Salida ................................................ 51
5. 2. 2 Variables remanentes .................................................................................... 52
5. 2. 3 Variables Locales y Globales ......................................................................... 53
5. 3
CONSTANTES ............................................................................................................. 54
5. 3. 1 Constantes Binarias ....................................................................................... 54
5. 3. 2 Constantes Temporales ................................................................................. 54
5. 3. 3 Constantes Numricas enteras .....................................................................55
5. 3. 4 Constantes Reales ......................................................................................... 56

LENGUAJES DE PROGRAMACIN IEC 61131-3 ........................................................... 57


6. 1
LENGUAJES DE PROGRAMACIN TEXTUALES .....................................................................57
6. 1. 1 IL Listado de instrucciones ......................................................................... 57
6. 1. 2 ST Texto Estructurado................................................................................. 59
6. 2
LENGUAJES DE PROGRAMACIN GRFICOS ....................................................................... 63
6. 2. 1 SFC Esquema secuencial de funciones ...................................................... 63
6. 2. 2 FBD Diagrama de bloques de funciones .................................................... 67
6. 2. 3 CFC Esquema continuo de funciones ......................................................... 67
6. 2. 4 LD Diagrama de escalera ............................................................................ 68

OPERADORES IEC 61131-3........................................................................................... 69


7. 1
OPERADORES DE ASIGNACIN ....................................................................................... 69
7. 1. 1 LD / ST ............................................................................................................ 69
7. 1. 2 LDN / ST ......................................................................................................... 69
7. 1. 3 LD / S .............................................................................................................. 71
7. 1. 4 LD / R .............................................................................................................. 72
7. 1. 5 MOVE .............................................................................................................. 72
7. 2
OPERADORES ARITMTICOS .......................................................................................... 72
7. 2. 1 ADD ................................................................................................................. 72
7. 2. 2 MUL ................................................................................................................ 73
7. 2. 3 SUB ................................................................................................................. 74
7. 2. 4 DIV .................................................................................................................. 74

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 4 de 116

7. 2. 5

MOD ................................................................................................................ 75

7. 3
OPERADORES DE CADENAS DE BITS ................................................................................ 75
7. 3. 1 AND ................................................................................................................. 75
7. 3. 2 OR ................................................................................................................... 76
7. 3. 3 XOR ................................................................................................................. 76
7. 3. 4 NOT ................................................................................................................. 76
7. 4 OPERADORES DE DESPLAZAMIENTO (REGISTROS DE DESPLAZAMIENTO) ............................... 77
7. 4. 1 SHL ................................................................................................................. 77
7. 4. 2 SHR ................................................................................................................. 77
7. 4. 3 ROL ................................................................................................................. 78
7. 4. 4 ROR ................................................................................................................. 79
7. 5
OPERADORES DE SELECCIN ......................................................................................... 79
7. 5. 1 SEL .................................................................................................................. 79
7. 5. 2 MAX ................................................................................................................ 80
7. 5. 3 MIN ................................................................................................................. 80
7. 5. 4 LIMIT ............................................................................................................... 81
7. 6
OPERADORES DE COMPARACIN.................................................................................... 82
7. 6. 1 GT.................................................................................................................... 82
7. 6. 2 LT .................................................................................................................... 82
7. 6. 3 LE .................................................................................................................... 83
7. 6. 4 GE ................................................................................................................... 83
7. 6. 5 EQ ................................................................................................................... 83
7. 6. 6 NE ................................................................................................................... 83
7. 7
OPERADORES DE DIRECCIONES...................................................................................... 84
7. 7. 1 ADR ................................................................................................................. 84
7. 8
OPERADORES DE RAMIFICACIN .................................................................................... 84
7. 8. 1 CAL .................................................................................................................. 84
7. 8. 2 JMP.................................................................................................................. 85
7. 8. 3 RET (RETURN) .................................................................................................85
7. 8. 4 Llamada a otras POU ..................................................................................... 86
7. 9
OPERADORES NUMRICOS ............................................................................................ 87
7. 9. 1 ABS ................................................................................................................. 87
7. 9. 2 SQRT ............................................................................................................... 88
7. 9. 3 LN.................................................................................................................... 88
7. 9. 4 LOG ................................................................................................................. 88
7. 9. 5 EXP.................................................................................................................. 89
7. 9. 6 SIN .................................................................................................................. 89
7. 9. 7 COS ................................................................................................................. 89
7. 9. 8 TAN ................................................................................................................. 89
7. 9. 9 ASIN ................................................................................................................ 89
7. 9. 10
ACOS ........................................................................................................... 90
7. 9. 11
ATAN ........................................................................................................... 90
7. 9. 12
EXPT ............................................................................................................ 90
7. 10
OPERADORES DE CONVERSIN DE TIPO....................................................................... 91
7. 10. 1
BOOL_TO ....................................................................................................91
7. 10. 2
TO_BOOL ....................................................................................................92
7. 10. 3
Conversiones entre tipos de nmeros enteros ........................................ 93
7. 10. 4
REAL_TO / LREAL_TO ................................................................................. 93
7. 10. 5
TIME_TO / TIME_OF_DAY .......................................................................... 93
7. 10. 6
STRING_TO .................................................................................................94
7. 10. 7
TRUNC......................................................................................................... 94

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 5 de 116

LIBRERAS. LA LIBRERA ESTNDAR ........................................................................... 95


8. 1
FUNCIONES DE TRATAMIENTO DE CADENAS DE CARACTERES ............................................... 96
8. 1. 1 LEN.................................................................................................................. 96
8. 1. 2 LEFT ................................................................................................................ 96
8. 1. 3 RIGHT .............................................................................................................. 96
8. 1. 4 MID ................................................................................................................. 97
8. 1. 5 CONCAT .......................................................................................................... 98
8. 1. 6 INSERT ............................................................................................................ 98
8. 1. 7 DELETE............................................................................................................ 99
8. 1. 8 REPLACE ......................................................................................................... 99
8. 1. 9 FIND .............................................................................................................. 100
8. 2
FUNCIONES DE DETECCIN DE FLANCO .......................................................................... 100
8. 2. 1 R_TRIG .......................................................................................................... 100
8. 2. 2 F_TRIG .......................................................................................................... 101
8. 3
CONTADORES ........................................................................................................... 102
8. 3. 1 CTU ............................................................................................................... 102
8. 3. 2 CTD ............................................................................................................... 103
8. 3. 3 CTUD ............................................................................................................. 104
8. 4 TEMPORIZADORES..................................................................................................... 105
8. 4. 1 TP .................................................................................................................. 105
8. 4. 2 TON ............................................................................................................... 106
8. 4. 3 TOF................................................................................................................ 107
8. 5
BLOQUES DE FUNCIONES BIESTABLE............................................................................. 108
8. 5. 1 SR ................................................................................................................. 108
8. 5. 2 RS ................................................................................................................. 108
8. 5. 3 SEMA ............................................................................................................ 109

APNDICE A: ATAJOS DE TECLADO ............................................................................ 111

10

REFERENCIAS BIBLIOGRFICAS ............................................................................ 113

11

CHANGELOG - CONTROL DE VERSIN ...................................................................115

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 6 de 116

Introduccin al estndar IEC 61131-3

1. 1

IEC Comisin Electrotcnica Internacional

La Comisin Electrotcnica Internacional (IEC) es la organizacin lder a nivel


mundial en la preparacin y publicacin de normas internacionales para todas las
tecnologas elctricas, electrnicas y afines. Numerosas normas son desarrolladas
conjuntamente entre IEC e ISO (normas ISO/IEC).
A la IEC se le debe el desarrollo y difusin de los estndares de algunas
unidades de medida, particularmente el gauss, el hercio y el weber. Tambin fue
responsable de la primera propuesta de un sistema de unidades estndar, el sistema
Giorgi, que con el tiempo se convertira en el sistema internacional de unidades (SI).

1. 2

IEC 61131-3 Estndar de programacin en automatizacin industrial

En la actualidad an siguen persistiendo sistemas de programacin de


dispositivos de control especficos del fabricante, con programacin dependiente y
conexin compleja entre diferentes sistemas de control. Esto significa para el usuario
costos elevados, escasa flexibilidad y falta de normalizacin en las implementaciones de
control industrial.
El estndar IEC 61131-3 pretende ser la base en la estandarizacin de los
lenguajes de programacin en automatizacin industrial. Fue publicado por primera vez
en el ao 1993 y actualmente se encuentra en vigencia la segunda revisin (ao 2003). El
uso de IEC 61131-3 proporciona numerosos beneficios para los programadores, algunos
de los cuales se enumeran a continuacin:
Construccin de un marco normativo para la programacin de una gran
variedad de sistemas de control.
Integracin de los bien conocidos y modernos lenguajes de
programacin, dando especificaciones de sintaxis y semntica, y
evitando particularidades distintivas entre empresas (dialectos).
Independencia de la plataforma de hardware, haciendo el trabajo
independiente de cualquier compaa.
Incremento de la reutilizacin de cdigo, minimizando los gastos en
recursos humanos (entrenamiento, depuracin, mantenimiento y
consultora entre otras).

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 7 de 116

Integracin armoniosa de componentes de diferentes empresas en el


sistema de control.
Los elementos definidos en el estndar pueden ser claramente divididos en dos partes, a
saber:
Elementos comunes:

Tipos de datos.

Variables y declaraciones de datos.

Configuracin (tareas y recursos).

Unidades de organizacin de programas (POU).

Lenguajes de programacin:
o

Textuales:

Listado de instrucciones (IL).

Texto estructurado (ST).

Grficos:

Diagrama de contactos (LD).

Diagrama de bloques de funciones (FBD).

Grfico secuencial funcional (SFC).

En la actualidad existen numerosos entornos de programacin IEC que ofrecen


diferentes herramientas tales como sintaxis coloreada, ayuda en lnea y verificacin en
tiempo de diseo entre otras. Estas caractersticas asociadas a la programacin no estn
especificadas en la norma, por lo que los proveedores de los entornos de programacin
las utilizan para tratar de diferenciar sus productos. No obstante, no existe diferencia
alguna en lo que respecta a los lenguajes de programacin y las caractersticas
asociadas a ellos.
Las implicaciones tcnicas de la norma IEC 61131-3 son altas, dejando bastante
espacio para el crecimiento y la diferenciacin. La norma IEC 61131-3 est teniendo un
gran impacto en el mundo del control industrial y ste no se restringe al mercado
convencional de los PLCs. Ahora mismo, se la puede ver adoptada en aplicaciones para
control de movimiento, sistemas distribuidos y sistemas de control basados en PC
(SoftPLC), incluyendo los paquetes SCADA. Y sus reas de utilizacin siguen creciendo.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 8 de 116

CoDeSys Caractersticas bsicas, instalacin y sistemas targets

2. 1

CoDeSys

CoDeSys es un entorno de desarrollo completo (IDE Integrated development


system-) para PLC, compatible con el estndar de programacin IEC 61131-3. Su nombre
es un acrnimo para Sistema de Desarrollo de Controladores (Controller Develop
System). Permite utilizar funciones de edicin y depuracin similares a las ofrecidas por
los ms avanzados lenguajes de programacin de la actualidad.
CoDeSys es desarrollado y distribuido por la empresa alemana de software 3S.
La primera versin (1.0) fue liberada en el ao 1994. Actualmente se encuentra
disponible la versin 3.0, aunque la ms difundida y la analizada en este documento es
la versin 2.3.

Fig. 2.1: Estructura completa del sistema de desarrollo CoDeSys.

CoDeSys puede ser bsicamente dividido en dos partes:


Desarrollo: Consiste en los editores, compiladores y depuradores para
proyectos segn IEC 61131-3. Soporta los 5 lenguajes de programacin
y genera cdigo objeto nativo para mltiples plataformas.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 9 de 116

Sistema en tiempo de ejecucin (Runtime): Realiza El ciclo del control,


actualiza las I/O, controla la comunicacin con el sistema de desarrollo
y es responsable por la generacin de proyectos autoarrancables (Boot
project).

2. 1. 1

CoDeSys SoftPLC (CoDeSys SP)


Un SoftPLC es un paquete de software diseado para convertir cualquier sistema

embebido o basado en PC en un PLC. Los sistemas basados en SoftPLC se distinguen de


los sistemas de desarrollos clsicos por la utilizacin de lenguajes de programacin
propios del mundo del automatismo.

CoDeSys SP Runtime debe ser implementado para convertir cualquier


dispositivo embebido o basado en PC en un controlador compatible con IEC 61131-3
programable con CoDeSys. La implementacin es realizada por el fabricante del
dispositivo en colaboracin con 3S, y es totalmente transparente para el usuario final.

Fig. 2.2: Implementacin de CoDeSys SP runtime.

Entre las funciones principales de CoDeSys SP runtime se pueden mencionar las


siguientes:

Carga y ejecucin de aplicaciones segn IEC 61131-3.

Monitor de depuracin para aplicaciones IEC.

Sistema de entradas/salidas.

Comunicacin de la plataforma con el sistema de desarrollo.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 10 de 116

CoDeSys SP runtime es escalable, modular, y adaptable a mltiples plataformas


de hardware tales como ARM, PowerPC e Intel 80x86/Pentium entre otras. Se encuentra
disponible para sistemas de 8, 16 y 32 bits, simple o multitarea y para los sistemas
operativos VxWorks, Windows CE, QNX y Linux entre otros. Soporta tambin estndares
tales como OPC y DDE, lo cual le provee una extensa capacidad de integracin para
cualquier tipo de aplicacin.

2. 2

CoDeSys Provided by Festo

CoDeSys es la nueva plataforma de programacin adoptada por festo para sus


controladores, tales como CECX, FED-CEC y CPX-CEC entre otros. La eleccin de este IDE
como nueva plataforma de desarrollo tiene relacin con que 3S es uno de los fabricantes
de software ms importantes en la industria europea de la automatizacin, su producto
CoDeSys es lder en sistemas de programacin independientes del hardware y es
compatible con IEC 61131-3.
CoDeSys provided by Festo se basa en la versin 2.3 de CoDeSys, y le agrega
adems algunas funcionalidades especficas tales como:

Fig. 2.3: Splash Screen de CoDeSys provided by Festo.

Splash Screen de Festo.

Ayuda online especfica.

Targets y libreras de Festo preinstaladas.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 11 de 116

Tanto la instalacin de CoDeSys de 3S como la instalacin de CoDeSys provided

by festo pueden coexistir en una misma PC. A lo largo de este documento se utilizar el
trmino CoDeSys para referirse indistintamente a la versin original de 3S o a la versin
de CoDeSys provided by festo.

2. 3

Instalacin de CoDeSys y sistemas targets

2. 3. 1

Instalando CoDeSys
La instalacin de CoDeSys es similar a la instalacin de cualquier otra aplicacin

para el sistema operativo Windows. Al hacer doble clic sobre el instalador se abrir un
asistente que nos guiar a lo largo de todo el proceso.
La figura 2.4 muestra la pantalla de seleccin de componentes del asistente de
instalacin. Es importante mencionar que la opcin C oDeSys Gateway Server quedar
seleccionada por defecto, ya que es la herramienta de comunicacin que se utiliza no
solo para la obtencin de datos desde el controlador sino tambin para la comunicacin
entre CoDeSys y los dispositivos de hardware o sistemas targets.

Fig. 2.4: Pantalla de seleccin de componentes del asistente de instalacin de CoDeSys.

Se presentan tambin algunas herramientas opcionales, entre las cuales se


pueden destacar SoftMotion, CoDeSys OPC Server y CoDeSys SP PLCWinNT. La ltima
ser analizada en captulos posteriores, mientras que las dos primeras sern analizadas
en niveles avanzados.
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 12 de 116

2. 3. 2

Instalando sistemas targets


La plataforma de desarrollo CoDeSys puede ser utilizada para programar una

gran variedad de controladores. Pero para que CoDeSys soporte un determinado


hardware, el mismo debe ser previamente instalado. Esto se logra instalando un paquete
de software llamado paquete de soporte de target (TSP o simplemente target). Los TSP
describen en detalles las configuraciones necesarias para controlar una plataforma de
hardware especfica con un programa desarrollado en CoDeSys. Las caractersticas que
se definen en un TSP incluyen el generador de cdigo (cross-compilador), el mapa de
memoria y los mdulos de I/0 entre otros.
Si quiere instalarse un nuevo controlador, debe realizarse mediante su TSP, el
cul es siempre provisto por el fabricante del hardware, utilizando el programa

InstallTarget, el cual es parte integral de la suite de desarrollo CoDeSys.


La extensin por defecto de un TSP es *.TRG. En caso de que ninguna TSP se
encuentre disponible, solo se dispondr de la opcin None, y se pasar
automticamente a modo simulacin.

Fig. 2.5: Programa InstallTarget, incluido en la suite de desarrollo CoDeSys.

Si se quiere agregar soporte para un nuevo controlador, simplemente se deben


seguir los siguientes pasos:

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 13 de 116

Iniciar el programa InstallTarget el cul se encuentra en la carpeta de


instalacin de CoDeSys.

Presionar el botn Open y seleccionar el directorio conteniendo el


archivo *.tnf, el cul contiene informacin sobre el archivo target (*.trg).

En el panel de la izquierda seleccionar el sistema a instalar y presionar


la tecla instalar.

Cerrar el programa InstallTarget y reiniciar CoDeSys.

De esta manera, el nuevo dispositivo instalado puede ser utilizado tanto para
nuevos proyectos como para modificar la plataforma de hardware en un proyecto ya
existente, sin necesidad de modificar la programacin.

2. 3. 3

Primer inicio con CoDeSys


Al iniciar CoDeSys por primera vez se presentar la ventana principal, la cual se

encuentra dividida en varias secciones, a saber:


Barras de men y herramientas: Similar a cualquier otra aplicacin,
contienen todas las herramientas disponibles y los mens de
configuracin, tanto de la aplicacin que se est programando como del
entorno de programacin.
Espacio de trabajo (Editor): Espacio principal de trabajo. Su contenido
cambiar en funcin de la tarea que se est realizando. Cuando se est
programando este espacio se convierte en el editor de cdigo; en ese
caso se encontrar dividido en dos sub-secciones; en la parte superior
la declaracin de variables y en la parte inferior el editor de cdigo
propiamente dicho.
Organizador de objetos: Permite recorrer las diferentes secciones y
objetos de un proyecto. Desde este organizador se puede ir a los
programas para su edicin, pasar al modo de visualizacin, definir tipos
de variables y configurar los recursos.
Ventana de mensajes: En esta ventana se muestran los mensajes de
salida del compilador.
Barra de estado: Permite ver en forma rpida el estado del sistema. Es
de gran utilidad cuando se trabaja en modo online.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 14 de 116

Barras de men y
herramientas.

Espacio de trabajo
(Editor).

Organizador de
objetos.

Ventana de mensajes.

Barra de estado.

Fig. 2.6: Ventana principal del entorno de desarrollo CoDeSys.

2. 4

Caractersticas bsicas de CoDeSys

2. 4. 1

Autodeclaracin de variables
De acuerdo con el estndar de programacin IEC 61131-3, cada variable

utilizada en una aplicacin de PLC debe ser declarada. La declaracin en CoDeSys debe
realizarse manualmente en la parte superior de la ventada del editor de cdigo, ya sea
ingresando la declaracin en modo texto o con la ayuda de una tabla.

Fig. 2.7: Ventana de autodeclaracin de variables.

Sin embargo, es tambin posible ingresar la variable en el editor de cdigo sin


declaracin previa alguna. Al realizar esto, se abrir una ventana de dilogo (ver figura
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 15 de 116

2.7) la cual permitir al programador ingresar el tipo de variable, la direccin IEC y


comentarios asociados entre otros datos. Las variables ingresadas de esta manera sern
auto-declaradas y aparecern automticamente en la lista de declaracin de variables,
en la parte superior del editor.

2. 4. 2

Sintaxis coloreada
La sintaxis coloreada es una herramienta muy utilizada en los entornos de

programacin ya que simplifica notablemente la lectura del cdigo y la deteccin de


errores de sintaxis. CoDeSys soporta sintaxis coloreada tanto en el editor de cdigo
como en las declaraciones de variables, y los colores utilizados son los siguientes:

Azul: Palabras claves (Keywords).

Rojo: Palabras escritas incorrectamente.

Verde: Comentarios.

Magenta: Constantes de tiempo, direcciones y expresiones booleanas


fijas.

Fig. 2.8: Sintaxis coloreada.

2. 4. 3

Asistente de entrada
El asistente de entrada puede ser considerado como una de las caractersticas

ms destacadas de la suite de desarrollo CoDeSys. Al presionar F2 en cualquier situacin


en la cual se debe ingresar una variable o un llamado a una funcin este asistente se
abrir automticamente y dar acceso a una lista con todas las posibles entradas, desde
variables locales hasta bloque de funciones definidos por el usuario, pasando por
posibilidades tales como bloques de funcin estndar y variables globales. El rbol de

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 16 de 116

posibilidades puede ser presentado en forma plana o

estar jerrquicamente

estructurado.

Fig. 2.9: Ventana del asistente de entrada.

2. 4. 4

Ayuda sensible al contexto


La ayuda sensible al contexto permite obtener asistencia en forma rpida acerca

del objeto especfico que est siendo utilizado, ya sean un operador, una librera o
incluso keywords.

Fig. 2.10: Ayuda sensible al contexto.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 17 de 116

Seleccionando la expresin sobre la cual se desea obtener ayuda y presionando


la tecla F1 se iniciar automticamente el asistente mostrando la ayuda especfica de la
expresin y, generalmente, brindando ejemplos acerca de su uso. Presionando la tecla
F1 sin haber seleccionado expresin alguna permitir acceder directamente a la ayuda
global.

2. 4. 5

Configurador de tareas
CoDeSys permite la generacin y ejecucin de mltiples tareas. Dependiendo

del sistema operativo ejecutado por el controlador, estas tareas pueden ser prioritarias o
no-prioritarias. Debe notarse que las tareas prioritarias solo pueden ser utilizadas en
controladores que ejecutan sistemas operativos multitarea.

Fig. 2.11: Configurador de tareas.

El inicio de las tareas tambin puede ser configurado para que sean realizadas
en forma cclica o disparadas por eventos.
El configurador de tareas se encuentra en la pestaa de recursos del organizador
de objetos. Esta caracterstica en particular es muy utilizada y ser analizada en
profundidad en mdulos avanzados de CoDeSys.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 18 de 116

2. 4. 6

Configuracin del controlador (PLC)


Para poder acceder a las entradas/salidas fsicas del controlador es necesario

configurar los mdulos disponibles en l. Para esta tarea, CoDeSys integra una
herramienta de configuracin la cual puede encontrarse en la pestaa de recursos del
organizador de tareas.
El resultado que se obtiene de la configuracin es una imagen de proceso
transparente al usuario, en la que se encontrar disponible la informacin de las
direcciones de las entradas y salidas, ya sea en formato numrico o simblico.
Como funcin adicional, si el PLC es un master CANopen o Profibus DP, puede
configurarse el bus de campo con los archivos EDS (CANopen) o GSD (Profibus). La
configuracin con AS-interface tambin es posible.

Fig. 2.12: Configurador del controlador.

2. 4. 7

Caractersticas de funcionamiento en modo online


Cuando se trabaja en modo online la ventana de declaracin de variables del

editor de cdigo muestra los valores actuales de las variables del programa que est
siendo ejecutado en el controlador y permite modificarlos. En el caso de variables
booleanas el valor es modificado inmediatamente al hacer doble clic sobre ellas. Para el
caso de variables analgicas se abrir un cuadro de dilogo que permitir ingresar el

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 19 de 116

nuevo valor. Sin embargo, con el fin de permitir modificar mltiples variables
simultneamente, los valores ingresados no sern inmediatamente descargados al
controlador hasta que sea ejecutada la orden Escribir valores del men online, o la
combinacin de teclas Ctrl+F7.
CoDeSys tambin dispone de numerosas opciones de depuracin. Una de ellas
es el forzado de variables. Ejecutando el comando Forzar valores (F7) del men Online,
las variables sern reescritas con los valores a los que sean forzadas en cada nuevo ciclo
del PLC. Para liberar las variables debe utilizarse el comando liberar forzado (Shift+F7).
Otras herramientas para la depuracin del programa es la utilizacin de
breakpoints y modos de ejecucin por pasos o ciclos, los que permiten interrumpir la
ejecucin del programa en un punto determinado y ejecutarlo paso por paso, para de
esta manera analizar su funcionamiento.

Fig. 2.13: Opciones de escritura y forzado de variables en modo online.

Si la opcin Display flow control del men online se encuentra activada las
lneas de comando o redes (dependiendo si se program en modo texto o grfico)
ejecutadas en el ltimo ciclo del PLC sern coloreadas. Esto ayuda a detectar si
determinada porcin del cdigo fue ejecutada o no y seguir el flujo del programa.
Adems, los valores intermedios de los editores de FBD y CFC y el contenido del
acumulador tambin sern mostrados.
Para permitir que la aplicacin se inicie automticamente luego de haber
iniciado el controlador, debe utilizarse la opcin Crear proyecto de booteo del men

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 20 de 116

online. Esto generar dos archivos binarios, con extensin *.PRG y *.CHK
respectivamente que sern descargados al controlador. Dichos archivos sern tambin
almacenados en el directorio del proyecto. CoDeSys no admite el desensamble de los
proyectos descargados, por lo que si se desea tener acceso al cdigo fuente desde el
controlador, el mismo debe ser descargado explcitamente. Al descargar el cdigo fuente
se incluyen todos los comentarios y la informacin grfica, la cual se encontrar
disponible desde el propio controlador en cualquier momento.
Otra caracterstica importante es la posibilidad de descargar al controlador solo
los cambios realizados en el programa, sin necesidad de detener el controlador o perder
el valor de las variables. Debe notarse que la modificacin de cambios no es posible
cuando hubo modificacin en las tareas, en la configuracin de entrada/salida, o si se
incluyeron nuevas libreras en el proyecto.

Fig. 2.14: Modificacin online del programa

2. 4. 8

Simulacin integrada
El modo de simulacin permite depurar la aplicacin sin necesidad de

conectarse fsicamente al controlador. Dicho modo puede ser habilitado mediante la


opcin Modo simulacin del men online. Una vez iniciada la comunicacin (Online
Login, o Alt+F8), se mostraran automticamente los valores de las variables y se podr
trabajar tal y como si se tuviera el dispositivo target conectado. Las entradas y salidas
fsicas del controlador tambin podrn ser simuladas mediante la herramienta de
configuracin del PLC (Ver seccin 2.4.6).

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 21 de 116

2. 4. 9

Graficar variables online


CoDeSys ofrece la posibilidad de graficar el progreso de las variables. Mediante

esta funcionalidad pueden ser capturados eventos de corta duracin y luego


visualizados como si se tratara de un osciloscopio con memoria, permitiendo de esta
manera una mejor observacin y seguimiento de las variables.
Hasta 20 seales pueden ser muestreadas simultneamente. Los datos
muestreados sern luego almacenados en el controlador hasta que la alimentacin sea
interrumpida, y pueden ser tambin almacenados en la carpeta del proyecto. Esta
funcionalidad puede ser utilizada desde la pestaa de recursos del organizador de
objetos.

Fig. 2.15: Pantalla del graficador de variables (Sampling trace).

2. 4. 10

Seguridad de proyectos
CoDeSys ofrece dos posibilidades para proteger el proyecto contra acceso no

autorizado. Seleccionando opciones del men proyectos pueden definirse contraseas


que sern chequeadas antes de abrir o guardar el proyecto.
Sin embargo, para tener una proteccin ms especfica, es posible definir grupos
de usuario con permisos especficos para tener acceso a determinadas partes del
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 22 de 116

proyecto. De esta manera, puede por ejemplo darse autorizacin a un usuario para hacer
uso de la visualizacin pero no autorizarlo para alterar la programacin.
La ventana de configuracin de contraseas puede ser hallada con el nombre
contraseas para grupos de usuarios en el men proyecto. Aqu se pueden determinar
contraseas para ocho diferentes niveles de grupos de usuarios.

Fig. 2.16: Definiendo contraseas para diferentes grupos de usuarios.

Luego de haber definido las contraseas para cada uno de los grupos de
usuarios, se debe determinar que objetos pueden ser utilizados por cada uno de ellos, y
definir si el acceso concedido ser de solo lectura o lectura/escritura. Ingresando en el
men proyecto Objeto Propiedades, se podrn definir los accesos del objeto que se
encuentre en primer plano, o de todos los objetos del proyecto.

Fig. 2.17: Aplicando niveles de acceso.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 23 de 116

2. 5

Estableciendo comunicacin con el controlador

2. 5. 1

Fundamentos de comunicacin
Para poder comprender como se realiza la comunicacin entre CoDeSys y un

dispositivo target se debe analizar el esquema de la figura 2.18, en el cul se realiza una
analoga entre el esquema de comunicaciones de la suite de desarrollo CoDeSys y la
ventana de configuracin de los parmetros de comunicacin.

Fig. 2.18: Esquema del sistema de comunicacin de CoDeSys


de parmetros de comunicacin.

Ventana de configuracin

En la figura se puede ver que el sistema target no se comunica en forma directa


con el sistema de desarrollo sino que se utiliza un Gateway para tal fin. Se debern tener
entonces dos comunicaciones configuradas, una entre el sistema target y el Gateway, y
otra entre dicho Gateway y el sistema de desarrollo. Anlogamente, se puede ver en la
ventana de configuracin de parmetros de comunicacin que ambas comunicaciones
deben estar debidamente configuradas para conseguir el acceso al dispositivo target.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 24 de 116

2. 5. 2

Configuracin de la comunicacin
Todos los parmetros de configuracin pueden ser accedidos y modificados

desde la opcin Parmetros de comunicacin del men Online. Esta ventana nos
mostrar en el lado izquierdo el Gateway y los canales o dispositivos configurados. En la
parte media de la ventana se podrn modificar las opciones de comunicacin especficas
de cada dispositivo o canal, mientras que en la parte derecha se podrn editar las
configuraciones ya existentes, eliminarlas o agregar nuevas.

Fig. 2.19: Ventana de configuracin de parmetros de comunicacin.


Configurando una conexin TCP/IP.

Para configurar la comunicacin entre el sistema de desarrollo y el Gateway


debe presionarse la tecla Gateway en el lado derecho de la ventana. Aqu podr
seleccionarse el tipo de conexin que se utilizar para acceder al Gateway, la direccin y
el puerto correspondiente. Para una comunicacin bsica entre una PC y un dispositivo
target, debe seleccionarse conexin TCP/IP y la direccin localhost (o 127.0.0.1,
direccin de loop interno de la placa Ethernet) en el puerto TCP 1210 (puerto de escucha
por defecto del Gateway server). Existen muchas otras posibilidades de configuracin
para esta comunicacin, pero las mismas exceden ampliamente el objetivo de este
trabajo y por lo tanto no sern tratadas.
La comunicacin entre el Gateway y el sistema target es llamada Canal. Para
cada dispositivo target que se utilice se deber configurar un nuevo canal de
comunicacin. Para esto se deber presionar la tecla Nuevo. Se abrir un cuadro de
dilogo en el cul es posible seleccionar el nombre que se le asignar al canal y el
dispositivo que se utilizar, pudiendo el mismo ser RS232, TCP/IP, cliente OPC, etc. Una

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 25 de 116

vez creado el canal, los parmetros de comunicacin del mismo podrn ser configurados
directamente desde la parte central de la ventana principal de parmetros de
configuracin, y sern diferentes en funcin del dispositivo utilizado. La figura 2.19
muestra la configuracin de un canal de comunicacin TCP/IP, mientras que en la figura
2.20 puede verse la configuracin de una canal RS232.

Fig. 2.20: Ventana de configuracin de parmetros de comunicacin.


Configurando una conexin RS232.

Una vez configurada la comunicacin y seleccionado el canal adecuado, deber


desmarcarse la opcin Modo Simulacin del men Online para poder comunicarse con el
dispositivo target. La comunicacin se har efectiva al seleccionar la opcin login del
mismo men o mediante la combinacin de teclas Alt+F8.

2. 6

Descarga y recuperacin de proyectos

2. 6. 1

Modo Online y modificacin en lnea


La primera vez que se realiza la conexin con el dispositivo target mediante la

opcin online del men online, pueden darse dos situaciones. Una de ellas es que el
controlador no se encuentre ejecutando ningn programa o se encuentre ejecutando un
programa diferente, en cuyo caso CoDeSys dar un aviso y solicitar autorizacin
explcita para realizar la descarga del nuevo programa. La otra posibilidad es que el
controlador se encuentre ejecutando el mismo proyecto que se est tratando de
descargar, en cuyo caso la situacin depender de si hay diferencias o no entre el

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 26 de 116

proyecto visualizado en la PC y el controlador. Si no hay diferencias, el sistema pasara a


modo Online sin ms, pero en caso de haber diferencias lo indicar y solicitar una
descarga de los cambios, permitiendo de esta manera actualizar el programa que est
siendo ejecutado sin detener la ejecucin del ciclo de control. Es importante remarcar
que esta opcin no estar habilitada en los casos en los cuales hubo modificacin en las
tareas, en la configuracin de los mdulos de entrada/salida, o si se incluyeron nuevas
libreras en el proyecto. En estos casos, se deber descargar nuevamente el proyecto
completo al controlador.
Otra manera de descargar los cambios realizados es mediante la opcin
Download del men online, la cual solo estar habilitada cuando el sistema se
encuentre en modo online y haya modificaciones disponibles.
Es importante remarcar que al descargar el proyecto de esta manera se est
trabajando en la memoria RAM del dispositivo target, por lo cual si se interrumpe la
alimentacin del controlador, el programa se borra. Por otro lado, al descargar el
programa mediante la opcin Online se est descargando el cdigo compilado, por lo
que no podr recuperarse el cdigo fuente del programa desde el controlador. La figura
2.23 (1) refleja esta situacin.

2. 6. 2

Creando proyectos autoarrancables


Como ya se menciono en la seccin 2.4.7, el conectarse online con el controlador

no garantiza que el proyecto arranque automticamente luego de alimentado el


controlador. Para lograr esto, la opcin Crear proyecto de booteo del men online debe
ser utilizada en el modo online. Esto generar dos archivos binarios, con extensin *.PRG
y *.CHK respectivamente, los cules sern descargados al controlador y almacenados en
memoria EEPROM o Flash.

Fig. 2.21: Ventana de configuracin de parmetros de comunicacin.


Configurando una conexin RS232.

Al descargar el proyecto de esta manera, el mismo se iniciar automticamente


luego de una interrupcin en la alimentacin. Sin embargo, al igual que lo que ocurra
con la descarga en modo online, solo est siendo descargado el cdigo compilado, por lo

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 27 de 116

que el cdigo fuente an no podr ser recuperado desde el controlador. La figura 2.23 (2)
refleja esta situacin.
Puede darse el caso que el dispositivo target soporte la creacin automtica de
proyectos autoarrancables. En este caso, cada vez que se realice una conexin online
con el controlador, el cdigo compilado se descargar automticamente a la memoria
EEPROM o Flash del mismo.

2. 6. 3

Recuperacin de proyectos
Como se pudo apreciar en los dos apartados anteriores, el cdigo fuente no ser

en ningn caso descargado automticamente al descargar el programa, por lo que para


poder recuperar el mismo desde el dispositivo target, se lo debe descargar en forma
explcita.
Para recuperar el cdigo fuente desde un controlador en el cul la descarga del
mismo fue explcitamente realizada, bastar con seleccionar la opcin abrir del men
file y seleccionar la opcin Abrir proyecto desde el PLC.

Fig. 2.22: Cuadro de dilogo Abrir. En la parte inferior izquierda puede verse
la opcin de recuperacin de cdigo fuente desde el controlador.

Seleccionada esta opcin, se debe seleccionar el dispositivo target a utilizar y


configurar las opciones de comunicacin. Si estos pasos son realizados correctamente, el
cdigo fuente ser recuperado, junto con los comentarios y todas las visualizaciones que
formaban parte de proyecto original. En la figura 2.23 (3 y 4) puede verse reflejada esta
situacin.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 28 de 116

Fig. 2.23: Descarga/Recuperacin del proyecto fuente y compilado.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 29 de 116

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 30 de 116

Estructura de proyectos y unidades de organizacin de programas

3. 1

Estructura y caractersticas de un proyecto

Fig. 3.1: Estructura de un proyecto en CoDeSys.

Un proyecto CoDeSys contiene todos los objetos del programa del PLC. El
proyecto completo es guardado en un nico archivo con extensin *.PRO y los objetos
que contiene son las unidades de organizacin de programas (POU), los tipos de datos,
las visualizaciones y los recursos. Dentro de estas cuatro categoras se pueden encontrar
las variables (locales o globales), las libreras y el cdigo fuente de los programas.

Fig. 3.2: Ventana principal de CoDeSys - Estructura de un proyecto.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 31 de 116

3. 1. 1

Tipos de datos
Los tipos de datos son una de las caractersticas definidas por el estndar IEC

61131-3. Adems de los tipos de datos estndar, el usuario tiene la posibilidad de definir
sus propios tipos de datos. Este tema ser abordado en profundidad en el captulo 4.

3. 1. 2

Visualizaciones
La visualizacin es una representacin grfica de las variables del proyecto que

permite no solo ver la evolucin y estado de variables sino tambin enviar entradas al
PLC en modo online utilizando el teclado o el mouse de una PC. CoDeSys integra todas
las herramientas necesarias para poder crear visualizaciones y utilizarlas para ver y
operar las variables del proyecto.

Fig. 3.3: Editor de visualizaciones en tiempo de desarrollo.

Esta integracin ofrece grandes ventajas para la generacin de interfaces HMI


(Hombre-Mquina). La visualizacin integrada de CoDeSys no necesita una lista de tags
y puede acceder directamente al controlador. Tampoco se requiere ninguna capa extra
de comunicacin ya que utiliza el mismo mecanismo utilizado por el sistema de

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 32 de 116

programacin (Ver apartado 2.5). De esta manera, la tarea de generar la interfaz grfica
para la visualizacin se puede ver notablemente reducida y simplificada.
La visualizacin creada en el sistema de desarrollo es en muchos casos utilizada
como la nica interfaz de usuario disponible para controlar y observar el programa de
PLC asociado en modo online. Sin embargo, la mscara de visualizacin creada puede
ser ejecutada en cuatro modos diferentes sin sufrir modificacin alguna. Los posibles
modos de visualizacin son los siguientes:
1 Directamente en el sistema de programacin: Para testear la mscara de
visualizacin creada, pero tambin por propsitos de servicio y diagnstico en conexin
directa con el controlador.
2 CoDeSys HMI: CoDeSys HMI es un programa utilizado para mostrar
visualizaciones de proyectos en una PC sin utilizar el sistema de desarrollo completo, y
sin necesidad de ninguna capa de comunicacin adicional. Este sistema permite al
usuario crear una interfaz de software de bajo costo para la operacin del sistema
utilizando las visualizaciones generadas en tiempo de desarrollo.
CoDeSys HMI es ejecutado desde la lnea de comando. Por defecto mostrar la
visualizacin llamada PLC_VISU (Si existiera) en modo pantalla completa. El resto de los
elementos de CoDeSys como mens, organizador de objetos, etc. No se encontrarn
disponibles.

Fig. 3.4: CoDeSys HMI siendo ejecutado.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 33 de 116

3 Visualizacin Web: La visualizacin web permite operar el sistema a travs


de un navegador Web, ya sea en la red local o a travs de internet. CoDeSys puede
generar una descripcin en formato XML a partir de las visualizaciones, la cual se cargar
en el controlador junto con un applet Java que puede ser visualizado en un navegador.
Para que las visualizaciones creadas en tiempo de desarrollo se encuentren
disponibles como visualizacin Web, el sistema target debe soportar esta funcionalidad y
se deber iniciar y configurar un servidor web en el mismo. Esta funcin no se encuentra
disponible en la actual lnea de controladores programables con CoDeSys de festo.

Fig. 3.5: Estructura del sistema de visualizacin Web.

4 Visualizacin en sistema target: Si el sistema target tiene incorporado una


interfaz de visualizacin, algn perifrico de entrada y soporta la funcionalidad Target

visualization, los datos de visualizacin pueden ser descargados desde el sistema de


programacin junto con la aplicacin al sistema target. La visualizacin ser presentada
entonces directamente desde el sistema target.
Para implementar esta funcin de visualizacin debe incluirse en el proyecto la
librera SysLibTargetVisu.lib. Adems, el sistema target debe ejecutar un sistema
operativo Windows (NT/2000/CE).

3. 1. 3

Recursos
En la pestaa de recursos pueden encontrarse todos los objetos necesarios para

configurar y organizar el proyecto. A lo largo de este documento se presentan y detallan


la gran mayora de estos objetos, por lo que solo se presentar aqu una breve
descripcin de los principales. Adicionalmente, otros recursos pueden encontrarse
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 34 de 116

disponibles dependiendo de la plataforma de hardware utilizada, tal como CNC Program

list o CamEditor entre otros.


Algunas de los objetos principales son los siguientes:

Fig. 3.6: Vista del administrador de recursos.

Variables globales: Configuracin de aquellas variables que pueden ser


utilizadas a lo largo de todo el proyecto.

Configuracin de alarmas: Para la configuracin y el manejo de las


alarmas en el proyecto.

Administrador de libreras: Permite administrar las libreras que se


incluyen en el proyecto.

Log: Registra las actividades durante las sesiones online.

Explorador de PLC: Terminal basada en texto para la comunicacin con


el sistema target a travs de comandos.

Configuracin del PLC: Para la configuracin del dispositivo target.

Graficar variables online: Para presentar la evolucin de las variables en


forma grfica.

Configuracin de target: Para la seleccin y configuracin de la


plataforma de hardware.

Configuracin de tareas: Para controlar el programa a travs de


mltiples tareas.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 35 de 116

Administrador de recetas: Para indicar y pre-configurar los valores de


las variables, dependiendo del sistema target y de la configuracin
realizada.

Espacio de trabajo: Permite acceder y modificar las opciones generales


de configuracin del proyecto.

3. 2

POU - Unidades de organizacin de programas

Un programa CoDeSys segn IEC 61131-3 se encontrar dividido en mltiples


unidades denominadas POU. Una POU es una unidad de organizacin de programa; cada
una de ellas consistir de una declaracin de variables locales y un cuerpo escrito en uno
de los lenguajes de programacin definidos por la norma IEC 61131-3.
El estndar especifica tres tipos de POU: funciones, bloques de funciones y
programas. Una POU puede llamar a otra POU, pero la recursin no est permitida.
La ejecucin del proyecto se inicia con una POU especial llamada PLC_PRG
(programa principal, similar al P0 de los controladores de la lnea FEC de festo) y es
ejecutado cclicamente. Cada proyecto debe contener este programa a menos que se
configuren tareas que especifiquen un funcionamiento diferente.

Fig. 3.7: Programa principal PLC_PRG Ciclo de ejecucin.

3. 2. 1

Funciones
Una funcin es una POU que permite mltiples entradas y produce exactamente

un elemento de salida al ser procesada. Es importante notar que las funciones tienen un

tipo, por lo cual debe especificarse el mismo en la declaracin. Adems, el resultado


debe ser asignado a la funcin, lo que implica que el nombre de la misma es utilizado

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 36 de 116

como variable de salida. La declaracin de una funcin comienza siempre con la palabra
clave FUNCTION.

Fig. 3.8: Declaracin y cuerpo de una funcin simple en IL(1).

Las funciones no almacenan valores de la ltima llamada, y sus variables locales


sern inicializadas en cada llamado. Se utilizan en general para expresiones de clculo
complejas y repetitivas. Debe notarse que el uso de variables globales en las funciones
no cumple con el estndar IEC 61131-3 a pesar de que CoDeSys lo permita.

IL:

ST:

FBD:

Fig. 3.9: Ejemplos de llamado a una funcin en diferentes lenguajes.


(1)

IL: Listado de instrucciones, lenguaje basado en texto definido por IEC 61131-3.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 37 de 116

El llamado a la funcin en ST(2) puede aparecer como un operando en una


expresin, mientras que en SFC(3) la funcin solo puede tomar parte dentro de un STEP o
en una transicin.

3. 2. 2

Bloques de funciones
Un bloque de funcin es una POU que puede tener varios valores de entradas y

que entrega uno o ms valores de salida. A diferencia de una funcin, un bloque de


funciones retiene los valores hasta que se la procesa nuevamente. La declaracin de un
bloque de funciones comienza con la palabra clave FUNCTION_BLOCK.

Fig. 3.10: Declaracin y cuerpo de un bloque de funciones simple en IL.

Mltiples instancias o copias de bloques de funciones pueden ser creadas; cada


instancia tendr su propio nombre y estructura de datos, conteniendo sus entradas,
salidas y variables internas. Cada copia debe ser declarada como una variable del tipo
Bloque de funcin. Por ejemplo, para declarar una copia llamada copia1 del bloque
de funciones bloque1:
VAR
Copia1:bloque1;
END_VAR

(2)
(3)

ST: Texto estructurado, lenguaje basado en texto definido por IEC 61131-3.
SFC: Grfico de flujo secuencial, lenguaje grfico definido por IEC 61131-3.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 38 de 116

Solo los parmetros de entrada y salida pueden accederse desde fuera del
bloque de funciones y el acceso se restringe a la POU en la cual se declaro la instancia, a
menos que sea declarada como variable global. Para utilizar una variable de una copia
especfica del bloque de funciones se debe utilizar el operador punto (.) de la siguiente
manera:
Nombre_de_la_copia.Nombre_de_la_variable

IL:

ST:

FBD:

Fig. 3.11: Ejemplos en varios lenguajes de llamados a una instancia de un bloque de funciones.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 39 de 116

Cabe destacar tambin que si alguna variable del bloque de funciones es


declarada como retentiva, la instancia completa ser luego almacenada en el rea
retentiva de la memoria del controlador.
Por ltimo, analizando las llamadas a los bloques de funciones, se puede ver
que difieren de los llamados a funciones simples en que se puede obtener ms de una
variable de salida y que las mismas son retenidas hasta un nuevo llamado, no siendo
necesaria una asignacin inmediata. La figura 3.11 muestra llamados al bloque de
funciones creado en la figura 3.10 en IL, ST y FBD 4.

3. 2. 3

Programas
Un programa es una POU que devuelve mltiples valores durante su ejecucin.

Los programas son reconocidos globalmente a lo largo del proyecto y todos los valores
son retenidos desde la ltima ejecucin hasta la siguiente.
No puede haber mltiples instancias de un programa y los programas no pueden
ser llamados desde funciones. Por otra parte, si un programa es llamado y se modifican
sus valores, estos permanecern de esta manera hasta que el programa sea llamado
nuevamente, incluso si se lo llama desde una POU diferente. Esta es la diferencia con un
bloque de funciones, en la cual los valores solo son modificados en la instancia dada y
solo son vlidos cuando la misma instancia es llamada nuevamente. La declaracin de un
programa comienza con la palabra clave PROGRAM.

Fig. 3.12: Declaracin y cuerpo de un programa en IL.

Si se desea llamar al programa con parmetros de entrada/Salida, se lo puede


hacer de la misma forma que se hara en un bloque de funciones. Adems, todas las
variables de un programa pueden ser accedidas desde la POU que lo ejecut.

FBD: Diagrama de bloque de funciones, lenguaje grfico definido por IEC 61131-3.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 40 de 116

Tipos de datos
En CoDeSys pueden utilizarse tipos de datos estndar o definidos por el usuario.

Cada nombre de variable o identificador debe ser asignado a un tipo de dato, indicando
de esta manera la cantidad de memoria que ser reservada y el tipo de valores que se
podr almacenar en dicha posicin de memoria.

4. 1

Tipos de datos estndar

4. 1. 1

Datos Booleanos
Las variables de tipo BOOL pueden tomar dos posibles valores: Verdadero o

Falso. Se reservan 8 bits de memoria para cada variable de este tipo.

4. 1. 2

Datos Enteros
En la tabla 4.1 se enumeran los posibles tipos de datos enteros, los rangos de

valores que cubren y la cantidad de memoria que es reservada para cada uno de ellos.

Tipo

Lmite inferior

Lmite superior

Espacio de Memoria

BYTE

255

8 bit

WORD

65535

16 bit

DWORD

4294967295

32 bit

SINT

-128

127

8 bit

USINT

255

8 bit

INT

-32768

32767

16 bit

UINT

65535

16 bit

DINT

-2147483648

2147483647

32 bit

UDINT

4294967295

32 bit

Tabla 4.1: Tipos de datos enteros.

4. 1. 3

Datos Reales
Tambin conocidos como variables de punto flotante, son utilizadas para la

representacin de nmeros racionales.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 41 de 116

La tabla 4.2 resume los dos tipos de variables que pueden encontrarse dentro de
esta clasificacin.

Tipo

Lmite inferior

Lmite superior

Espacio de Memoria

REAL

1.175494351
x10-38

3.402823466
x1038

32 bit

LREAL

2.22507385850
72014x10-308

1.797693134862
3158x10308

64 bit

Tabla 4.2: Tipos de datos reales.

4. 1. 4

Cadena de caracteres (strings)


Una variable de tipo STRING puede contener cualquier cadena de caracteres. Su

tamao se define en la declaracin, entre parntesis y a continuacin del tipo, y


determina la cantidad de memoria a reservar. Sin embargo, si no es definido al momento
de la declaracin, el tamao por defecto que se utilizar ser de 80 caracteres. La
longitud mxima del string no est limitada en CoDeSys, pero es importante saber que
las funciones para tratamiento de cadenas solo pueden manejar hasta 255 caracteres.
Sintaxis de declaracin:
<Identificador>: STRING (<Longitud_del_string>);

4. 1. 5

Tipos de datos de tiempo (Temporales)


Estos tipos de datos sern internamente tratados como variables del tipo

DWORD (32 bits). Los posibles tipos de datos temporales que pueden presentarse son
mostrados en la tabla 4.3.

Tipo

Lmite
inferior

TIME

Lmite superior

Espacio de
Memoria

49d17h2m47s295ms

32 bit

TIME_OF_DAY
(TOD)

12:00:00 AM

23:59:59.999 PM

32 bit

DATE

01/01/1970

06/02/2016 aprox.

32 bit

DATE_AND_TIME
(DT)

01/01/1970,
12:00:00 AM

06/02/2016,
06:28:15 AM aprox.

32 bit

Tabla 4.3: Tipos de datos temporales.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 42 de 116

4. 2

Tipos de datos definidos por el usuario

4. 2. 1

Arreglos
CoDeSys soporta arreglos de una, dos y hasta tres dimensiones, los cuales

pueden ser declarados tanto en la declaracin de la POU como en la lista de variables


globales.

Tiempo de desarrollo:

Tiempo de ejecucin:

Fig. 4.1: Declaracin de arreglos en tiempo de desarrollo y ejecucin respectivamente.

Sintaxis de declaracin:
<Identificador>: ARRAY [<LI1>..<LS1>, <LI2>..<LS2>] OF <TIPO_DE_DATO>

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 43 de 116

Donde LI1, LI2 son los lmites inferiores del rango del campo y LS1, LS2 sern los
lmites superiores. Estos lmites deben ser valores enteros y deben estar dentro del
rango de valores de las variables de tipo DINT.
Cuando se trabaja con arreglos puede definirse una funcin llamada
CheckBounds (Provista por la librera Check.lib) que permitir chequear y corregir errores
de fuera de rango en los arreglos.

4. 2. 2

Punteros
Las variables de tipo puntero contienen las direcciones de otras variables o

bloques de funciones. Un puntero puede apuntar a cualquier tipo de datos o bloque de


funciones, incluso tipos definidos por el usuario. Para cargar una direccin al puntero se
debe utilizar el operador ADR, mientras que para leer el contenido de la variable
apuntada por el puntero se debe agregar el operador ^ a continuacin del nombre.
Sintaxis de declaracin:
<Identificador>: POINTER TO <TIPO_DE_DATO/BLOQUE_DE_FUNCIONES>;

Fig. 4.2: Variable de tipo puntero en tiempo de ejecucin.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 44 de 116

4. 2. 3

Enumeracin
Se trata de un tipo de variable definida por el usuario, formada por una cantidad

de constantes del tipo strings. Dichas constantes son referenciadas luego como valores
de una enumeracin. Los valores de una enumeracin son reconocidos en todas las
reas del proyecto, incluso si fueron declaradas dentro de una POU.

Fig. 4.3: Declaracin de un tipo de variable enumeracin definida por el usuario.

Fig. 4.4: Ejemplo de uso en tiempo de ejecucin de una variable de tipo enumeracin.
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 45 de 116

Sintaxis de declaracin:
TYPE <Identificador> : (<Enum_0>,<Enum_1>,,<Enum_2>);
END_TYPE
La forma correcta de crear enumeraciones es en el organizador de objetos, bajo
la pestaa Tipos de Datos. Luego de ser declarada, las variables del tipo <Identificador>
pueden tomar cualquiera de los valores de la enumeracin.

4. 2. 4

Estructuras
Las estructuras permiten declarar un tipo de variable definido por el usuario que

contiene a la vez una determinada cantidad de otras variables, cada una con su
respectivo tipo. Son creadas en el organizador de objetos bajo la pestaa Tipos De

Datos, y son reconocidas en todas las reas del proyecto. Para acceder a un elemento o
variable especfica dentro de una variable del tipo estructura se debe utilizar el operador
punto (.).

Fig. 4.5: Ejemplo de declaracin de una estructura definida por el usuario.

Sintaxis de declaracin:
TYPE <Nombre_de_la_estructura>:
STRUCT
<Declaracin_de_variable_1>
<Declaracin_de_variable_2>

<Declaracin_de_variable_2>
END_STRUCT
END_TYPE
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 46 de 116

Fig. 4.6: Ejemplo de uso de una estructura de datos.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 47 de 116

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 48 de 116

Operandos en CoDeSys

5. 1

Declaracin de variables

5. 1. 1

Generalidades
Como ya se pudo observar en captulos anteriores, todas las variables deben ser

declaradas antes de poder ser utilizadas. El editor de declaracin es utilizado para


declarar variables en cada POU, o un apartado especial en la pestaa de recursos del
organizador de objetos para declarar variables de uso global. Las variables a ser
declaradas pueden ser de entrada, salida, entrada/salida, locales, globales, retentivas o
remanentes. En general, la declaracin de una variable presenta la siguiente sintaxis:
<Identificador> {AT <direccin>}:<tipo>{:=<valor_inicial>};
(Las partes entre llaves son opcionales)
El nombre de la variable no puede contener espacios, no puede estar duplicado
en un mismo mbito y no puede ser igual a ninguna palabra clave. Por otra parte,
maysculas/minsculas son ignoradas y la longitud del nombre no tiene limitaciones.
Todas las declaraciones de datos pueden ser inicializadas agregndole al final la
cadena := seguida del valor inicial. Si las variables no son inicializadas, el valor inicial
por defecto ser siempre cero.

Fig. 5.1: Opciones de ayuda del editor de declaraciones, a travs del men insertar.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 49 de 116

Por otro lado, para brindar mayor soporte al programador y simplificar la tarea
de declaracin de variables, CoDeSys permite ver el listado completo de los tipos de
datos soportados. Para esto, se debe ir al men insertar y seleccionar la opcin tipo.
La declaracin de variables puede tambin ser realizada en forma rpida con la
ayuda de la funcin de auto-declaracin de variables, ya analizada en la seccin 2.4.1.

5. 1. 2

Keywords
Las palabras claves o Keywords deben ser escritas en letras maysculas en

todos los editores. Aparecern en color azul y no podrn ser utilizadas como variables.
Mediante la opcin Palabras claves de declaracin del men insertar puede
obtenerse un completo listado de las palabras claves que pueden ser utilizadas en la
declaracin de variables.

Fig. 5.2: Opciones de ayuda del editor de declaraciones, a travs del men insertar.

5. 1. 3

Sintaxis de direcciones
El acceso a ubicaciones de memoria individuales es realizado a travs del uso de

secuencias de caracteres especiales. Estas secuencias consisten de una concatenacin


del signo porcentual (%), un prefijo de rango, un prefijo de tamao y uno o ms nmeros
naturales separados por puntos. Las tablas 5.1 y 5.2 muestran los posibles valores que
pueden tomar ambos prefijos y su significado.
De esta manera, si se quiere hacer referencia a la entrada digital Y.Z del
controlador se debera utilizar la secuencia %IXY.Z.
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 50 de 116

Prefijo

Significado

Entrada

Salida

Ubicacin de memoria
Tabla 5.1: Prefijos de rango.

Prefijo

Significado

Bit

none

Bit

Byte (8 bits)

Word (16 bits)

Double Word (32 bits)

Tabla 5.2: Prefijos de tamao.

Para vincular una variable a una direccin, se debe utilizar en la declaracin la


palabra clave AT, asignando de esta forma una etiqueta a la direccin. Luego, ante
cualquier modificacin en la direccin de las seales de entrada o salida, solo deber
modificarse la lnea de la declaracin y no el programa completo.

Figura 5.3: Ejemplos de direcciones.

5. 2

Tipos de variables

5. 2. 1

Variable de Entrada, Salida, Entrada/Salida


Variables de Entrada: Son declaradas entre las palabras claves
VAR_INPUT y END_VAR. Son utilizadas como valores de entrada a la
POU. Pueden ser accedidas desde fuera de la POU mediante el operador
punto (.).

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 51 de 116

Variables de Salida: Son declaradas entre las palabras claves


VAR_OUTPUT y END_VAR. Son utilizadas como valores de salida de la
POU. Pueden ser accedidas desde fuera de la POU mediante el operador
punto (.).
Variables de Entrada/Salida: Son declaradas entre las palabras claves
VAR_IN_OUT y END_VAR. Son utilizadas como valores de entrada y
salida de la POU. Pueden ser accedidas desde fuera de la POU mediante
el operador punto (.).

5. 2. 2

Variables remanentes
Las variables remanentes son aquellas variables que pueden retener sus valores

ante situaciones anormales de la ejecucin del programa. Las variables remanentes se


pueden dividir en dos tipos:
Variables Retentivas: Se identifican con la palabra clave RETAIN, y
mantienen su valor incluso luego de la desconexin del controlador. Sin
embargo, estas variables son reinicializadas cuando se realiza una
nueva descarga del programa.
Variables persistentes: Se las identifica con la palabra clave
PERSISTENT. A diferencia de las variables retentivas, las variables
persistentes mantienen su valor solamente luego de una nueva
descarga del programa, pero no lo hacen ante una desconexin del
controlador, ya que no son almacenadas en el rea retentiva de la
memoria del controlador.

Fig. 5.4: Ejemplo de declaracin de los diferentes tipos de variables remanentes.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 52 de 116

Si es necesario que una variable sea conservada tanto ante una desconexin
como ante una nueva descarga del programa, se deberan utilizar ambas palabras claves
en la declaracin (RETAIN PERSISTENT).
Las variables de tipo retentivas son, como es de esperarse, almacenadas en el
rea retentiva de la memoria del controlador. Debido a esto es importante destacar los
siguientes puntos:

Si una variable local en un programa es declarada como retentiva, dicha


variable ser almacenada en el rea retentiva de la memoria. Lo mismo
ocurre con las variables globales.

Si una variable local en un bloque de funciones es declarado como


retentiva, la copia completa del bloque de funciones ser almacenado
en el rea retentiva de la memoria del controlador.

Si una variable local en una funcin es declarada como retentiva, no


tendr efecto alguno. La variable no ser almacenada en el rea
retentiva de memoria. Lo mismo ocurre si es declarada como
persistente.

5. 2. 3

Variables Locales y Globales


Las variables locales son declaradas entre las palabras claves VAR y END_VAR

en el editor de declaracin de la POU a la cual pertenecen, y son solo vlidas en el mbito


de dicha POU. Las variables locales no tienen conexin externa, por lo que no podrn ser
escritas desde fuera de la POU.
Por su parte, las variables globales son declaradas en un apartado especial en la
pestaa de recursos del organizador de objetos, entre las palabras VAR_GLOBAL y
END_VAR. Este tipo de variables son reconocidas a lo largo de todo el proyecto.

Fig. 5.5: Variables locales y globales.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 53 de 116

Debe notarse que dos variables pueden ser nombradas con igual identificador
en caso de tratarse de diferentes mbitos. En este caso, dentro de la POU en la cual se
repiti el identificador, si no se detalla mediante el operador punto (.), la variable local es
la que tendr validez por encima de cualquier otra. Esto se explica grficamente en la
figura 5.5. Incluso en el caso de variables locales y globales, puede utilizarse el mismo
identificador. Sin embargo, dentro de la POU especfica, la variable con validez ser la
local por encima de la global, por lo que debe tenerse especial cuidado al repetir
identificadores de variables.

5. 3

Constantes

5. 3. 1

Constantes Binarias
Las constantes binarias son directamente los valores lgicos VERDADERO y

FALSO.

5. 3. 2

Constantes Temporales
Las constantes temporales son generalmente utilizadas para operar los

temporizadores de la librera estndar. Para utilizar una constante de tiempo se debe


respetar el siguiente formato:
<Identificador> := T#<xx>d<xx>h<xx>m<xx>s<xx>ms
Como puede notarse, en la declaracin pueden ser incluidos das, horas,
minutos, segundos y milsimas de segundos. Las entradas temporales deben colocarse
en orden de acuerdo con la longitud temporal de cada uno de los campos (por ejemplo
das debe ir antes de horas, a la vez que horas deben ir antes de minutos y minutos antes
de segundos). Sin embargo, no es necesario utilizar todos los campos. Por otra parte,
deben respetarse los rangos mximos permitidos de cada uno de los campos, los cuales
pueden ser observados en la tabla 5.3. Debe notarse que estos rangos no sern vlidos
para el primer campo utilizado en la constante temporal. Esto se puede ver claramente
en la figura 5.6, en la cual se muestran algunos ejemplos de utilizacin de constantes
temporales.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 54 de 116

Campo

Rango

Das (d)

Ilimitado

Horas (h)

0 23

Minutos (m)

0 59

Segundos (s)

0 59

Milisegundos (ms)

0 999

Tabla 5.3: Rango de campos para constantes temporales.

Fig. 5.6: Ejemplo de utilizacin de constantes temporales.

5. 3. 3

Constantes Numricas enteras


Las constantes numricas pueden ser expresadas en diferentes sistemas de

representacin, tales como binario, octal, decimal y hexadecimal.

Fig. 5.7: Ejemplo de utilizacin de constantes numricas enteras.

En el caso de valores enteros decimales, pueden ser utilizados directamente. En


caso de enteros expresados en una base diferente, debe precederse el valor por la base y
el signo numeral, tal como puede observarse a continuacin:

Nmero Decimal: 62

Nmero Binario: 2#1001_0011 (El guin bajo puede ser utilizado o no)

Nmero Octal: 8#67

Nmero hexadecimal: 16#A46F

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 55 de 116

En la figura 5.7 pueden apreciarse ejemplos de constantes numricas enteras


expresados en diferentes sistemas de representacin.

5. 3. 4

Constantes Reales
Las constantes numricas reales pueden ser expresadas en formato fraccionario

decimal o exponencial. Independientemente de esto, el smbolo decimal a utilizar sigue


los lineamientos del estndar americano, por lo que se utiliza el punto en lugar de la
coma decimal. La figura 5.8 muestra algunos ejemplos de uso.

Fig. 5.8: Ejemplo de utilizacin de constantes Reales.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 56 de 116

Lenguajes de programacin IEC 61131-3


CoDeSys soporta la totalidad de los lenguajes que se describen en el estndar

IEC 61131-3, los cules pueden ser divididos en dos grupos:


Textuales:
o

Listado de instrucciones (IL).

Texto estructurado (ST).

Grficos:
o

Diagrama de contactos (LD).

Diagrama de bloques de funciones (FBD).

Esquema secuencial de funciones (SFC).

Adicionalmente se encuentra disponible la posibilidad de programar en lenguaje


grfico secuencial continuo (CFC), el cual no es tratado como un lenguaje independiente
por ser bsicamente una representacin grfica diferente del lenguaje de diagrama de
bloque de funciones (FBD).

6. 1

Lenguajes de programacin textuales

6. 1. 1

IL Listado de instrucciones
La programacin en listado de instrucciones consiste en una serie de

instrucciones, cada una de las cules comienza en una nueva lnea y contiene un
operador y uno o ms operandos separados por comas. Este lenguaje permite una
programacin rpida y simple cuando el programa es pequeo. Cada operacin se basa
en el uso de un registro especial llamado acumulador, de forma similar al lenguaje
assembler. Antes de realizar alguna operacin se debe cargar el valor o la variable con la
que se quiere operar en el acumulador. Luego de realizada la operacin, el resultado
quedar disponible nuevamente en el acumulador.
Antes de la instruccin puede colocarse una etiqueta seguida por dos puntos (:).
Los comentarios se deben encerrar entre asteriscos y parntesis (Ver figura 6.2) y
pueden ocupar una lnea completa o encontrarse al final de una lnea de programa.
Todos los operadores IEC 61131-3 son soportados (este tema se profundizar en el
mdulo 7).

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 57 de 116

Debe notarse que el lenguaje de listado de instrucciones no soporta la


programacin estructurada.

Fig. 6.1: Uso del acumulador para operar en IL.

Fig. 6.2: Ejemplo de programacin en listado de instrucciones (IL).

Tambin pueden utilizarse modificadores, los cuales modificarn la manera en


que un determinado operador es ejecutado. Los siguientes modificadores pueden ser
utilizados en listado de instrucciones:

C (Con JMP, CAL, RET): La instruccin es solamente ejecutada si el


resultado de la expresin anterior es VERDADERO.

N (Con los operadores JMPC, CALC, RETC): La instruccin ser solamente


ejecutada si el resultado de la expresin anterior es FALSO.

N (En cualquier otro caso): Negacin del operando (no del acumulador).

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 58 de 116

En la tabla 6.1 pueden verse los operadores que pueden ser afectados por
modificadores en IL, y los posibles modificadores. En el captulo 7 se dar una
explicacin detallada de la funcin de cada uno de los operadores.

Operador

Modificadores

LD

ST

AND

OR

XOR

JMP

CN

CAL

CN

RET

CN

Tabla 6.1: Operadores afectados de modificadores en IL.

Fig. 6.3: Ejemplo de programa en listado de instrucciones utilizando algunos modificadores.

6. 1. 2

ST Texto Estructurado
La programacin en texto estructurado es un lenguaje de alto nivel que permite

la utilizacin de condicionales y bucles (Conocidos generalmente por su nombre en


ingls, loops). Este lenguaje es el ideal para aquellos programadores con experiencia en
lenguajes como C o Pascal, ya que pueden familiarizarse con l casi de inmediato.
La programacin en texto estructurado se basa en expresiones. Una expresin
es una construccin que retorna un valor luego de su evaluacin, y se compone de
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 59 de 116

operadores y operandos. Un operando puede ser una constante, una variable, un


llamado a una funcin u otra expresin. La evaluacin de expresiones se realiza a travs
del procesamiento de operadores de acuerdo a ciertas reglas de prioridad. El operador
con la mayor prioridad es procesado primero, luego el operador con el siguiente nivel de
prioridad, y as sucesivamente hasta que todos los operadores hayan sido procesados.
Operadores con igual nivel de prioridad son procesados de izquierda a derecha. La tabla
6.2 muestra la prioridad de los operadores en ST.

Operacin

Operador

Nivel de Prioridad

Parntesis

(expresin)

Mxima prioridad

Llamado a una funcin

Nombre de funcin (parmetros)

Potenciacin

EXPT

Negacin

NOT

Multiplicacin

Divisin

Mdulo

MOD

suma

Resta

Comparacin

<, >, <=, >=

Igual

Distinto

<>

AND booleana

AND

XOR booleana

XOR

OR booleana

OR

Mnima prioridad

Tabla 6.2: Prioridad de operadores en ST.

A continuacin se enumeran los bucles condicionales y de control con lo que se


puede trabajar en lenguaje de texto estructurado:
Condicional IF: Permite verificar una condicin booleana y dependiendo
de la misma ejecutar instrucciones.
Sintaxis:
IF <Expresin_Booleana_1> THEN
<Instrucciones_1>
{ELSEIF <Expresin_Booleana_2> THEN
<Instrucciones_2>
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 60 de 116

.
.
ELSIF <Expresin_Booleana_n> THEN
<Instrucciones_n>
ELSE
<Instrucciones>}
END_IF;
(La parte entre llaves es opcional).
Si la expresin booleana de la condicin IF es verdadera, se
ejecutan el conjunto de instrucciones correspondientes y se sale del
lazo. Si la condicin de IF es falsa, se evalan las condiciones de ELSEIF
en orden hasta encontrar una verdadera, en cuyo caso se ejecuta el
conjunto de instrucciones correspondientes y se finaliza el lazo. Si
ninguna de las expresiones ELSEIF son verdaderas, se ejecutan las
instrucciones correspondientes a la expresin ELSE.
Instruccin CASE: Esta instruccin permite combinar mltiples
instrucciones condicionales en funcin de la misma variable y en una
nica construccin.
Sintaxis:
CASE <Variable> OF
<Valor_1>: <Instrucciones_ 1>
<Valor_2>: <Instrucciones_ 2>
<Valor_3,Valor_4,Valor_5>: <Instrucciones_ 3>
<Valor_6 .. Valor_10>: <Instrucciones_ 4>
...
<Valor_n>: <Instrucciones_n>
ELSE <Instrucciones_else>
END_CASE;
La instruccin CASE es procesada de acuerdo al siguiente
modelo: Si la variable de la condicin tiene el valor indicado en alguna
de las lneas, las instrucciones correspondientes sern ejecutadas. Si la
variable no toma ninguno de los valores indicados, las instrucciones
ELSE sern luego ejecutadas.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 61 de 116

Lazo FOR: Este bucle permite programar procesos repetitivos.


Sintaxis:
Variable :INT;
FOR <Variable> := <V_Inicial> TO <V_Final> {BY <Paso>} DO
<Instrucciones>
END_FOR;
(La parte entre llaves es opcional).
Las instrucciones sern ejecutadas hasta tanto el valor de
variable sea mayor al valor V_Final. Esta condicin es verificada antes
de ejecutar las instrucciones, por lo que las instrucciones del lazo no
sern nunca ejecutadas si V_Inicial es mayor a V_Final. La variable se
incrementa automticamente luego de cada ciclo en el valor definido
como Paso. Si Paso no se define, se toma 1 como valor por defecto.
Lazo WHILE: El lazo WHILE puede utilizarse de manera similar al FOR,
con la diferencia de que la condicin de salida puede ser cualquier
expresin booleana. Esto significa que mientras se cumpla la condicin
indicada el lazo ser ejecutado.
Sintaxis:
WHILE <Expresin_Booleana> DO
<Instrucciones>
END_WHILE;
Debe notarse que si la condicin booleana es falsa en la
primera evaluacin, las instrucciones correspondientes no se ejecutaran
nunca. De igual manera, si la condicin booleana no toma nunca el valor

falso, se entra en un bucle infinito.


Lazo REPEAT: Este bucle se diferencia del WHILE en que la condicin de
salida es chequeada luego de la ejecucin del lazo. De esta manera, el
lazo ser ejecutada al menos una vez antes de finalizar su ejecucin sin
importar el valor de la condicin booleana.

Es este lazo las

instrucciones se ejecutarn hasta que la condicin booleana retorne el


valor VERDADERO. Si la condicin booleana nunca toma ese valor, se
generar un bucle infinito.
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 62 de 116

Sintaxis:
REPEAT
<Instrucciones>
UNTIL <Expresin_ Booleana>
END_REPEAT;
Las instrucciones WHILE y REPEAT tienen mejores prestaciones que la
instruccin FOR dado que no es necesario conocer de antemano la cantidad de ciclos a
ejecutar. Sin embargo, en caso de conocerse dicho valor es preferible trabajar con el lazo
FOR, ya que de esta manera se evita el riesgo de caer en un bucle infinito.

Fig. 6.4: Ejemplo de programacin en texto estructurado (ST).

6. 2

Lenguajes de programacin grficos

6. 2. 1

SFC Esquema secuencial de funciones


El esquema secuencial de funciones (SFC) es un lenguaje de programacin

grfico que permite describir el orden cronolgico de las diferentes acciones a llevar a
cabo en un programa. Es una importante herramienta para estructurar y ordenar el
programa, aunque tiene la desventaja de no poder ser convertido a otro lenguaje.
Cada una de los pasos tiene acciones asociadas que se llevan a cabo cuando el
mismo se encuentra activo. Dichas acciones son los verdaderos programas. Los pasos
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 63 de 116

estn separados por transiciones, las cuales contienen las condiciones booleanas para la
continuacin del la secuencia. Si bien CoDeSys soporta una versin de SFC que est en
concordancia con el estndar IEC 61131-3, tambin ofrece un modo simplificado;
mientras que los pasos IEC contienen flags con calificadores y soportan hasta nueve
acciones en un solo paso, la versin simplificada solo muestra un tringulo negro en la
esquina superior derecha del paso y permite una sola accin en cada paso. Las acciones
pueden programarse en cualquiera de los lenguajes IEC, inclusive en SFC nuevamente.

Fig. 6.5: Ejemplo de programacin en esquema secuencial de funciones (SFC).

Para poder utilizar pasos IEC en lugar de pasos simplificados, la librera iecsfc.lib
debe ser incluida en el proyecto. Las acciones asociadas con pasos IEC son mostradas a
la derecha del paso, en una caja de dos partes. Del lado izquierdo se puede ver un
calificador, mientras que del lado derecho se muestra el nombre de la accin. La tabla
6.3 resume los posibles calificadores IEC y su implicancia.
Adicionalmente, es posible asociar a cada paso una accin de entrada y una
accin de salida. Una accin de entrada es ejecutada por nica vez apenas el paso se
hace activo. Una accin de salida es tambin ejecutada una nica vez apenas el paso es
desactivado. Las acciones de entrada se identifican en cada paso con una E en la esquina
inferior izquierda, mientras que las acciones de salida se identifican con una X en la
esquina inferior derecha.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 64 de 116

Calificador

Implicancia

N
No almacenar

La accin estar activa mientras el paso lo est

R
Reset

La accin es desactivada

S
Set

La accin es activada y permanece activa hasta ser


especficamente desactivada.

L
Limitada
temporalmente

La accin es activada por un determinado periodo de


tiempo, siendo como mximo el tiempo que el paso se
encuentre activo.

D
Retardada en tiempo

La accin se vuelve activa luego de un tiempo


determinado siempre y cuando el paso siga activo. Una
vez iniciada, permanece activa todo el tiempo que el paso
se encuentre activo.

P
Pulso

La accin es ejecutada solo una vez si el paso se


encuentra activo.

SD
Almacenada y
retardada en tiempo

La accin se vuelve activa luego de un tiempo


determinado y permanece activa hasta ser
especficamente desactivada.

DS
Retardada y
Almacenada

La accin se vuelve activa luego de un tiempo


determinado siempre y cuando el paso siga activo.
Permanecer activa hasta ser especficamente
desactivada.

SL
Almacenada y limitada
temporalmente

La accin es activada por un determinado tiempo.

Tabla 6.3: Calificadores de acciones IEC y sus implicancias.

Fig. 6.6: STEP en SFC con accin de entrada (E) y salida (X).

Adems de la configuracin de las acciones, diferentes tipos de ramificaciones


pueden ser generadas a lo largo del programa, a saber:

Ramas alternativas: Dos o ms ramas pueden ser alternativas. Esto


significa que cada rama debe comenzar y finalizar con una transicin.
Las ramas alternativas pueden contener ramas paralelas e incluso otras
ramas alternativas. Una rama alternativa siempre comienza y finaliza

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 65 de 116

con una lnea horizontal. Son evaluadas de izquierda a derecha; la


primera transicin con un resultado verdadero habilita la ejecucin de
su respectiva rama en detrimento del resto de ellas.

Ramas paralelas: Dos o ms ramas pueden definirse como paralelas.


Cada rama paralela debe comenzar y finalizar con un paso. Las ramas
paralelas pueden contener ramas alternativas y otras ramas paralelas.
Una rama paralela comienza con una doble lnea y finaliza con una
doble lnea o un salto. Al hacerse verdadera la condicin previa a las
ramas paralelas, todas las primeros pasos de las ramas paralelas entre
s son ejecutados en simultaneo. El paso que sigue la lnea final de las
ramas paralelas se convierte en activo cuando todos los pasos previos
estn activos y la condicin de transicin anterior produce un valor
verdadero.

Fig. 6.7: Ejemplos de ramas alternativas, y saltos en SFC.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 66 de 116

Salto (jump): Un salto es una conexin a un paso no consecutivo al


actual, cuyo nombre es indicado en la etiqueta del salto. Los saltos son
necesarios debido a que no se permiten conexiones hacia arriba o
cruzadas.
Otra caracterstica de la programacin en SFC son las variables implcitas (flags)
para consultar el estado de los pasos, las acciones y la duracin de los pasos activos.
Estas variables son implementadas por la librera iecsfc.lib para pasos IEC y directamente
por CoDeSys para pasos no-IEC.

6. 2. 2

FBD Diagrama de bloques de funciones


El lenguaje de programacin de diagrama de bloques de funciones (FBD) es un

lenguaje grfico orientado a redes y muy sencillo de comprender. Cada una de las redes
contiene una estructura que representa ya sea una expresin lgica, aritmtica, el
llamado a una funcin, el llamado a un bloque de funciones o un salto.
El editor FBD de CoDeSys permite agilizar notablemente la programacin a
travs de la configuracin automtica de bloques y conexiones.

Fig. 6.8: Ejemplo de programacin en Diagrama de bloques de funciones (FBD).

6. 2. 3

CFC Esquema continuo de funciones


El esquema continuo de funciones (CFC) no es un lenguaje de programacin en

si mismo sino que se trata de un editor que realiza una implementacin particular del
editor de FBD, pero no orientado a redes. De esta manera, la libre ubicacin de bloques y
conexiones es posible, permitiendo funciones tales como lazos de realimentacin.
Para controlar y modificar el orden de ejecucin de los bloques, se utiliza un
cuadro gris con un nmero que se puede encontrar en la esquina superior derecha de
cada uno de los bloques, en donde se muestra el nmero de orden de ejecucin en el
ciclo de control.
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 67 de 116

Fig. 6.9: Ejemplo de programacin en esquema continuo de funciones (CFC).

6. 2. 4

LD Diagrama de escalera
La programacin en diagrama de escalera es un lenguaje de programacin

grfico que permite combinar contactos de rels y bobinas, simplificando notablemente


la comprensin del programa por personal con poca experiencia en programacin. Es un
lenguaje orientado a redes, y se encuentra disponible para la gran mayora de los PLCs
clsicos. Es muy simple para la programacin de expresiones booleanas, pero su grado
de complejidad aumenta cuando se necesita trabajar con datos de otros tipos, como por
ejemplo valores analgicos.

Fig. 6.10: Ejemplo de programacin en diagrama de escalera (LD).

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 68 de 116

Operadores IEC 61131-3


La suite de desarrollo CoDeSys soporta todos los operadores especificados por

el estndar IEC 61131-3. En contraste con las funciones estndar, las cules son
provistas por libreras (Ver captulo 8 librera estndar), los operadores son
reconocidos implcitamente a lo largo de todo el proyecto, y son utilizados en las POU de
la misma manera que las funciones.
Adems de los operadores IEC, CoDeSys tambin soporta algunos otros
operadores, los cules sern tratados en las secciones subsiguientes.
Es importante destacar que en operaciones con variables de punto flotante, los
resultados dependen directamente del sistema target que est siendo utilizado.

7. 1

Operadores de asignacin

Estos operadores tienen por finalidad la asignacin de valores a las variables.


Dichos valores pueden provenir de direcciones, resultados de expresiones, constantes,
etc. Este tipo de operadores pueden ser utilizado para cualquier tipo de datos, ya sea
estndar o definido por el usuario.
La forma de asignar variables difiere en funcin del lenguaje en el cul se est
programando, si bien los resultados finales sern siempre los mismos. Debe destacarse
que para la programacin en LD, la asignacin de variables es vlida solamente si se
utilizan variables de tipo booleanas.

7. 1. 1

LD / ST
LD /ST se trata de la asignacin mas bsica de variables. Su funcin es la de

asignar un valor o el resultado de una expresin a una variable. En la figura 7.1 se


pueden apreciar ejemplos de su uso en los diferentes lenguajes IEC.

7. 1. 2

LDN / ST
Con este operador, el valor a ser asignado debe ser en general de tipo booleano

(Ntese que no se habla solamente del tipo de variable BOOL sino que en algunos
lenguajes se puede utilizar los tipos WORD, BYTE, y todos aquellos tipos de datos que
almacenen valores binarios o booleanos). El resultado ser cargar la inversa del valor de

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 69 de 116

la primera variable en la segunda. La figura 7.2 muestra ejemplos de su uso en los


diferentes lenguajes IEC.

FBD:

ST:

IL:

Figura 7.1: Ejemplos de asignacin LD / ST en los diferentes lenguajes IEC.

FBD:

LD:

ST:

IL:

Figura 7.2: Ejemplos de asignacin LDN / ST en los diferentes lenguajes IEC.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 70 de 116

7. 1. 3

LD / S
El valor a ser asignado debe ser en general de tipo booleano. El resultado ser

cargar el valor verdadero en la variable de salida si la variable de entrada es tambin


verdadera. Ejemplos de su uso pueden verse en la figura 7.3.

FBD:

ST:

IL:

Figura 7.3: Ejemplos de asignacin LD / S en los diferentes lenguajes IEC.

FBD:

ST:

IL:

Figura 7.4: Ejemplos de asignacin LD / R en los diferentes lenguajes IEC.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 71 de 116

7. 1. 4

LD / R
Similar al caso anterior, el valor a ser asignado debe ser de tipo booleano. El

resultado ser cargar el valor falso en la variable de salida si la variable de entrada es


verdadera. La figura 7.4 muestra algunos ejemplos de su uso en los diferentes lenguajes
de programacin IEC.

7. 1. 5

MOVE
El operador MOVE permite la asignacin de una variable o una constante a otra

variable del tipo adecuado. Puede utilizarse en combinacin con la funcin de


habilitacin de los editores de LD y CFC, aunque esta combinacin no es posible en FBD.
En caso de utilizar dicha combinacin, la asignacin se har efectiva cuando la entrada
de habilitacin tenga el valor TRUE. La figura 7.5 muestra algunos ejemplos de su uso en
los diferentes lenguajes IEC.

CFC:

IL:

Figura 7.5: Ejemplos de uso del operador ADD en diferentes lenguajes IEC.

7. 2

Operadores aritmticos

7. 2. 1

ADD
El operador ADD permite sumar variables de los tipos BYTE, WORD, DWORD,

SINT, USINT, INT, UINT, DINT, UDINT, REAL y LREAL. Tambin permite sumar dos
variables temporales, resultando en un nuevo valor de tiempo. (Por ejemplo, t#45s +

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 72 de 116

t#50s = t#1m35s). La figura 7.6 muestra algunos ejemplos de su uso en los diferentes
lenguajes de programacin IEC.

FBD:

ST:

IL:

Figura 7.6: Ejemplos de uso del operador ADD en diferentes lenguajes IEC.

7. 2. 2

MUL
El

operador MUL permite multiplicar variables de los tipos BYTE, WORD,

DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL and LREAL.
La figura 7.7 muestra algunos ejemplos de su uso en los diferentes lenguajes de
programacin IEC.

FBD:

ST:

IL:

Figura 7.7: Ejemplos de uso del operador MUL en diferentes lenguajes IEC.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 73 de 116

7. 2. 3

SUB
Permite sustraer una variable de otra de los tipos BYTE, WORD, DWORD, SINT,

USINT, INT, UINT, DINT, UDINT, REAL and LREAL. Tambin permite sustraer una variable
temporal de otra, resultando en un nuevo valor de tiempo. (Por ejemplo, t#1m35s - t#50s
= t#45s). La figura 7.8 muestra algunos ejemplos de su uso en los diferentes lenguajes
de programacin IEC.

FBD:

ST:

IL:

Figura 7.8: Ejemplos de uso del operador SUB en diferentes lenguajes IEC.

7. 2. 4

DIV

FBD:

ST:

IL:

Figura 7.9: Ejemplos de uso del operador DIV en diferentes lenguajes IEC.

Permite la divisin entera de una variable en otra de los tipos BYTE, WORD,
DWORD, SINT, USINT, INT, UINT, DINT, UDINT, o la divisin entera y fraccionaria de los
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 74 de 116

tipos de datos REAL and LREAL. La figura 7.9 muestra algunos ejemplos de su uso en los
diferentes lenguajes de programacin IEC.

7. 2. 5

MOD
Este operador permite obtener el resto de la divisin entera de dos variables de

los tipos BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT. La figura 7.10
muestra algunos ejemplos de su uso en los diferentes lenguajes de programacin IEC.

FBD:

ST:

IL:

Figura 7.10: Ejemplos de uso del operador MOD en diferentes lenguajes IEC.

7. 3

Operadores de cadenas de bits

7. 3. 1

AND

FBD:

ST:

IL:

Figura 7.11: Ejemplos de uso del operador AND en diferentes lenguajes IEC.
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 75 de 116

Realiza la operacin AND lgica bit a bit entre operandos binarios. Estos deben
ser del los tipos BOOL, BYTE, WORD o DWORD.

7. 3. 2

OR
Realiza la operacin OR lgica bit a bit entre operandos binarios. Estos deben

ser del los tipos BOOL, BYTE, WORD o DWORD.

FBD:

ST:

IL:

Figura 7.12: Ejemplos de uso del operador OR en diferentes lenguajes IEC.

7. 3. 3

XOR
Realiza la operacin XOR lgica bit a bit entre operandos binarios. Estos deben

ser del los tipos BOOL, BYTE, WORD o DWORD. Para el caso de tener ms de dos
entradas, las entradas sern chequeadas en pares y los resultados particulares
comparados nuevamente en pares.

7. 3. 4

NOT
Realiza la operacin NOT lgica bit a bit entre operandos binarios. Estos deben

ser del los tipos BOOL, BYTE, WORD o DWORD.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 76 de 116

7. 4

Operadores de desplazamiento (registros de desplazamiento)

7. 4. 1

SHL
Este operador realiza la operacin de rotacin a la izquierda del operando

binario, el cual resulta desplazado en n bits (ej.: SHL (in, n)). Los tipos de datos
soportados son BYTE, WORD o DWORD. Los espacios de la derecha sern completados
con cero y los bits sobrantes a la izquierda sern descartados.

Figura 7.13: Funcionamiento del operador SHL.

Figura 7.14: Ejemplo de uso del operador SHL en ST.

Como puede apreciarse en la figura 7.14, a iguales operaciones los resultados


sern diferentes para diferentes tipos de datos, a pesar que las variables de entradas
tengan el mismo valor.

7. 4. 2

SHR
Este operador realiza la operacin de rotacin a la derecha del operando binario,

el cual resulta desplazado en n bits (ej.: SHR (in, n)). Los tipos de datos soportados son
BYTE, WORD o DWORD. Los espacios de la izquierda sern completados con cero y los
bits sobrantes a la derecha sern descartados.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 77 de 116

Figura 7.15: Funcionamiento del operador SHR.

Figura 7.16: Ejemplo de uso del operador SHR en FBD.

7. 4. 3

ROL
Este operador realiza la operacin de rotacin a la izquierda del operando

binario, el cual resulta desplazado en n bits (ej.: ROL (in, n)). Los tipos de datos
soportados son BYTE, WORD o DWORD. Los espacios de la derecha sern completados
con los bits sobrantes de la izquierda.

Figura 7.17: Ejemplo de uso del operador ROL en IL.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 78 de 116

Figura 7.18: Funcionamiento del operador ROL.

7. 4. 4

ROR
Este operador realiza la operacin de rotacin a la derecha del operando binario,

el cual resulta desplazado en n bits (ej.: ROL (in, n)). Los tipos de datos soportados son
BYTE, WORD o DWORD. Los espacios de la izquierda sern completados con los bits
sobrantes de la derecha.

Figura 7.19: Funcionamiento del operador ROR.

7. 5

Operadores de seleccin

7. 5. 1

SEL

FBD:

ST:

IL:

Figura 7.20: Ejemplos de uso del operador SEL.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 79 de 116

El operador SEL permite la seleccin binaria, a travs de la cul una variable


podr tomar uno de los valores previamente definidos en funcin del valor de otra
variable del tipo binario. El siguiente ejemplo aclarar el funcionamiento del mismo:
Vx := SEL(G, V1, V2) significa:

Vx := V1 si G= Falso.

Vx := V2 si G= Verdadero.

Las variables VX, V1 y V2 pueden ser de cualquier tipo, pero todas ellas deben
ser del mismo tipo. La variable G debe ser una variable binaria. El valor almacenado en la
variable Vx ser V1 cuando G sea falsa, o V2 cuando G sea verdadera.

7. 5. 2

MAX
Este operador retorna el valor mximo de entre dos valores. Puede ser utilizado

con variables de cualquier tipo.

Figura 7.21: Ejemplos de uso del operador MAX en ST.

7. 5. 3

MIN

Figura 7.22: Ejemplos de uso del operador MIN en IL.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 80 de 116

Este operador retorna el valor mnimo de entre dos valores. Puede ser utilizado
con variables de cualquier tipo.

7. 5. 4

LIMIT
El operador LIMIT permite limitar el rango de variacin de una variable entre un

valor mnimo y un valor mximo, tal como se muestra en la figura 7.23. Se puede trabajar
con variables de cualquier tipo. El siguiente ejemplo despejar dudas:
OUT := LIMIT(MIN, IN, MAX)
Donde Min es la variable o el valor lmite inferior y MAX es el valor o variable
superior. Si el valor de la variable IN esta en el rango ( MIN < IN < MAX ) entonces la
variable OUT tendr el mismo valor que la variable IN. Si IN est por encima de MAX, la
variable OUT tomar el valor de MAX. Si IN est por debajo de MIN, entonces la variable
OUT tomar el valor de MIN.

Figura 7.23: Relacin entrada/Salida del operador LIMIT.

Figura 7.24: Ejemplos de uso del operador LIMIT en IL.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 81 de 116

7. 6

Operadores de comparacin

7. 6. 1

GT
GT es un operador booleano que retorna verdadero si el valor del primer

operando es mayor al valor del segundo. Los operandos pueden ser de los tipos BOOL,
BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE,
TIME_OF_DAY, DATE_AND_TIME y STRING.

Figura 7.25: Ejemplos de uso del operador GT en FBD.

7. 6. 2

LT
LT es un operador booleano que retorna verdadero si el valor del primer

operando es menor que el valor del segundo. Los operandos pueden ser de los tipos
BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME,
DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Figura 7.26: Ejemplos de uso del operador LT en IL.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 82 de 116

7. 6. 3

LE
LE es un operador booleano que retorna verdadero si el valor del primer

operando es menor o igual que el valor del segundo. Los operandos pueden ser de los
tipos BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL,
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Figura 7.27: Ejemplos de uso del operador LE en ST.

7. 6. 4

GE
GE es un operador booleano que retorna verdadero si el valor del primer

operando es mayor o igual al valor del segundo. Los operandos pueden ser de los tipos
BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME,
DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

7. 6. 5

EQ
EQ es un operador booleano que retorna verdadero si el valor del primer

operando es igual al valor del segundo. Los operandos pueden ser de los tipos BOOL,
BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE,
TIME_OF_DAY, DATE_AND_TIME y STRING.

7. 6. 6

NE
NE es un operador booleano que retorna verdadero si el valor del primer

operando es distinto del valor del segundo. Los operandos pueden ser de los tipos
BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME,
DATE, TIME_OF_DAY, DATE_AND_TIME y STRING.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 83 de 116

7. 7

Operadores de direcciones

7. 7. 1

ADR
Este operador no est definido en el estndar IEC 61131-3. Su funcin es la de

retornar la direccin de su argumento. Su argumento puede ser una variable de cualquier


tipo. Esta direccin puede ser utilizada para implementar funciones para ser tratadas
como punteros, o puede ser utilizada para almacenar su valor de salida directamente en
un puntero. La salida de este operador es siempre una variable del tipo DWORD.

Figura 7.28: Ejemplos de uso del operador ADR en IL.

7. 8

Operadores de ramificacin

7. 8. 1

CAL
Este operador es vlido para el lenguaje de listado de instrucciones solamente

(IL). Permite llamar una funcin, un bloque de funciones o un programa. Las variables de
entrada de la POU que est siendo llamada deben colocarse en parntesis a continuacin
del nombre de la POU y separadas por comas.

Figura 7.29: Ejemplos de uso del operador CAL en IL.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 84 de 116

7. 8. 2

JMP
Este operador puede ser utilizado en los lenguajes de programacin IL, FBD y LD,

aunque en diferentes maneras en cada uno de ellos. Su funcin es la de generar un salto


incondicional a una etiqueta dentro de la misma POU. Las figuras 7.30 a 7.32 muestran
ejemplos del uso de este operador en IL, LD y FBD respectivamente.

7. 8. 3

RET (RETURN)
RET puede ser utilizado en los lenguajes de programacin IL, FBD y LD. Su

funcin es la de interrumpir prematuramente el ciclo de ejecucin. Las figuras 7.30 a 7.32


muestran ejemplos del uso de este operador en IL, LD y FBD respectivamente.

Figura 7.30: Ejemplos de uso del operador JMP y RET (RETURN) en LD.

Figura 7.31: Ejemplos de uso del operador JMP y RET en IL.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 85 de 116

Figura 7.32: Ejemplos de uso del operador JMP y RET (RETURN) en FBD.

7. 8. 4

Llamada a otras POU

Tabla 7.1: Llamado a otras unidades de programa.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 86 de 116

La llamada a otras POU se debe realizar de manera diferente en cada uno de los
lenguajes de programacin IEC 61131-3. En la tabla 7.1 puede verse de manera resumida
y a travs de ejemplos la manera en la cual se debe realizar el llamado a otras POU,
especficamente programas, funciones y bloques de funciones.

7. 9

Operadores numricos

7. 9. 1

ABS
El operador ABS tiene por funcin devolver el valor absoluto del operando de

entrada. Las posibles combinaciones de tipos de datos de entrada / Tipos de datos de


salida pueden apreciarse en la tabla 7.2, mientras que la figura 7.33 presenta un ejemplo
de su utilizacin en lenguaje de texto estructurado.

Figura 7.33: Ejemplos de uso del operador ABS en ST.

Variable de entrada

Variable de Salida

INT

INT, REAL, WORD, DWORD,


DINT

REAL

REAL

BYTE

INT, REAL, BYTE, WORD,


DWORD, DINT

WORD

INT, REAL, WORD, DWORD,


DINT

DWORD

REAL, DWORD, DINT

SINT

REAL

USINT

REAL

UINT

INT, REAL, WORD, DWORD,


DINT, UDINT, UINT

DINT

REAL, DWORD, DINT

UDINT

REAL, DWORD, DINT, UDINT

Tabla 7.2: Posibles combinaciones de tipos de variable de entrada/salida para el operador ABS.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 87 de 116

7. 9. 2

SQRT
Este operador retorna la raz cuadrada de la variable de entrada. Dicha variable

puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT.
La variable de salida debe ser del tipo REAL.

Figura 7.34: Ejemplos de uso del operador SQRT en FBD.

7. 9. 3

LN
Este operador retorna el logaritmo natural de la variable de entrada. Dicha

variable puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT,
UINT, UDINT. La variable de salida debe ser del tipo REAL.

Figura 7.35: Ejemplos de uso del operador LN en IL.

7. 9. 4

LOG
Este operador retorna el logaritmo base diez de la variable de entrada. Dicha

variable puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT,
UINT, UDINT. La variable de salida debe ser del tipo REAL.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 88 de 116

Figura 7.36: Ejemplos de uso del operador LOG en ST.

7. 9. 5

EXP
Este operador retorna la funcin exponencial ex, donde X es la variable de

entrada. Dicha variable puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL,
SINT, USINT, UINT, UDINT. La variable de salida debe ser del tipo REAL.

7. 9. 6

SIN
Este operador retorna el seno de la variable de entrada, la cual debe estar en

radianes. Dicha variable puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL,
SINT, USINT, UINT, UDINT. La variable de salida debe ser del tipo REAL.

7. 9. 7

COS
Este operador retorna el coseno de la variable de entrada, la cual debe estar en

radianes. Dicha variable puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL,
SINT, USINT, UINT, UDINT. La variable de salida debe ser del tipo REAL.

7. 9. 8

TAN
Este operador retorna la tangente de la variable de entrada, la cual debe estar en

radianes. Dicha variable puede ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL,
SINT, USINT, UINT, UDINT. La variable de salida debe ser del tipo REAL.

7. 9. 9

ASIN
Este operador retorna el arco-seno (funcin inversa del seno) de la variable de

entrada, la cual debe estar en radianes. Dicha variable puede ser de los tipos BYTE,

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 89 de 116

WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT. La variable de salida debe
ser del tipo REAL.

7. 9. 10

ACOS
Este operador retorna el arco-coseno (funcin inversa del coseno) de la variable

de entrada, la cual debe estar en radianes. Dicha variable puede ser de los tipos BYTE,
WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT. La variable de salida debe
ser del tipo REAL.

7. 9. 11

ATAN
Este operador retorna el arco-tangente (funcin inversa de la tangente) de la

variable de entrada, la cual debe estar en radianes. Dicha variable puede ser de los tipos
BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT, UDINT. La variable de salida
debe ser del tipo REAL.

7. 9. 12

EXPT
Este operador realiza la funcin potenciacin, la exponenciacin de una variable

con otra variable. El valor de salida es (variable_1) (variable_2). Las variables de entrada
pueden ser de los tipos BYTE, WORD, DWORD, INT, DINT, REAL, SINT, USINT, UINT,
UDINT. La variable de de salida debe ser del tipo REAL.

FBD:

ST:

IL:

Figura 7.37: Ejemplos de uso del operador EXPT.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 90 de 116

7. 10

Operadores de conversin de tipo

Este tipo de operadores tienen por finalidad convertir variables de un tipo de


datos a otro.

Figura 7.38: Asistente de entrada. Listado de los operadores de conversin de tipo disponibles en CoDeSys.

Debe notarse que esta implcitamente prohibido convertir tipo ms grandes en


tipos ms pequeos (como por ejemplo de tipo ENTERO a BYTE). Para estas
conversiones se requieren ciertas consideraciones especiales para no perder
informacin.
Si bien las posibilidades de conversin son muchas, todas ellas utilizan la misma
sintaxis y operan de forma similar. El asistente de entrada ser de gran ayuda para ver
los tipos de conversiones permitidas. La sintaxis a utilizar es la siguiente:
<Tipo_de_dato_Variable_1>_TO_< Tipo_de_dato_Variable_2>

7. 10. 1

BOOL_TO
Permite convertir de tipo booleano en cualquier otro tipo. Para tipos numricos,

el resultado ser 1 cuando el operando es VERDADERO y 0 cuando el operando es FALSO.


Para tipos STRING, el resultado ser la cadena de caracteres TRUE o FALSE
respectivamente.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 91 de 116

Figura 7.39: Ejemplo de conversin BOOL_TO en IL.

7. 10. 2

TO_BOOL
Permite convertir de cualquier tipo a tipo booleano. Para tipos numricos, el

resultado ser VERDADERO cuando el operando no es igual a 0. El resultado ser falso


cuando el operando es 0. Para tipos STRING, el resultado ser VERDADERO cuando el
operando es TRUE, y ser FALSO en cualquier otro caso.

Figura 7.40: Ejemplo de conversin TO_BOOL en ST.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 92 de 116

7. 10. 3

Conversiones entre tipos de nmeros enteros


Permite convertir de cualquier tipo de nmero entero en otro tipo de nmero. Si

se realiza una conversin hacia un tipo de nmero menor (Menor tamao del campo),
puede perderse informacin; si el nmero que se est convirtiendo excede el rango del
tipo de dato de salida, los primeros bytes sern ignorados.

7. 10. 4

REAL_TO / LREAL_TO

Figura 7.41: Ejemplo de conversiones REAL_TO en ST.

Permite convertir de una variable de tipo REAL o LREAL en un tipo diferente. El


valor ser redondeado hacia arriba o hacia abajo hacia el valor ms cercano y convertido
en el nuevo tipo de variable.

7. 10. 5

TIME_TO / TIME_OF_DAY

Figura 7.42: Ejemplo de conversiones TIME_TO en IL.


Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 93 de 116

Permite convertir de una variable de tipo TIME o TIME_OF_DAY en un tipo


diferente. El tiempo ser almacenado internamente en una variable de tipo DWORD en
milisegundos. Este es el valor que ser convertido.

7. 10. 6

STRING_TO
Permite convertir desde una variable del tipo STRING en un tipo de variable

diferente. La variable de tipo STRING debe contener un valor que sea vlido en la variable
de salida. En cualquier otro caso, el valor de salida ser 0.

Figura 7.43: Ejemplo de conversiones STRING_TO en ST.

7. 10. 7

TRUNC
Este operador permite convertir de variables de tipo REAL en variables de tipo

INT. La parte entera de la variable de entrada ser utilizada, descartando la parte


irracional.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 94 de 116

Libreras. La librera estndar


Una librera es una lista de objetos los cuales pueden ser utilizados en

diferentes proyectos. Las libreras pueden ser generadas por el usuario o pueden ser
propias de CoDeSys. Tambin puede darse el caso de que sean entregadas por el
fabricante del hardware, en cuyo caso pueden estar encriptadas.
La librera por defecto que se incluye en todos los proyectos es la librera
standard.lib. Esta librera es propia de CoDeSys y provee funciones bsicas tales como
temporizadores y contadores entre otras. En este captulo se desarrollaran algunas de
las funciones ms destacadas de la librera standard.lib. Para mayor informacin acerca
de las funciones disponibles en esta librera debe consultarse la documentacin oficial
de CoDeSys.
Otra librera de gran utilidad es la librera util.lib, la cual contiene funciones
adicionales tales como

conversiones BCD, funciones matemticas auxiliares,

generadores de seales y manipuladores para procesamiento de valores analgicos


entre otras. Esta librera no ser tratada en este documento, pero puede obtenerse
mayor informacin en la documentacin oficial.

Figura 8.1: El administrador de libreras. Funciones de la librera estndar.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 95 de 116

8. 1

Funciones de tratamiento de cadenas de caracteres

8. 1. 1

LEN
Este operador retorna la longitud de una variable de tipo string. La variable de

entrada es de tipo STRING y la variable de salida de tipo INT.

Figura 8.2: Ejemplo de uso de la funcin LEN de la librera estndar.

8. 1. 2

LEFT
Esta funcin retorna los n primeros caracteres de la izquierda de una variable de

tipo STRING. Como entrada se le deben dar una variable de tipo STRING (STRING de
entrada) y una variable de tipo INT (cantidad n de caracteres a obtener).
Como salida se obtiene un nuevo STRING cuya longitud es la indicada en la
variable n y cuyo contenido son los n caracteres de la izquierda del STRING de entrada.

8. 1. 3

RIGHT
Esta funcin retorna los n primeros caracteres de la derecha de una variable de

tipo STRING. Como entrada se le deben dar una variable de tipo STRING (STRING de
entrada) y una variable de tipo INT (cantidad n de caracteres a obtener).
Como salida se obtiene un nuevo STRING cuya longitud es la indicada en la
variable n y cuyo contenido son los n caracteres de la derecha del STRING de entrada.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 96 de 116

FBD:

ST:

IL:

Figura 8.3: Ejemplos de uso de la funcin LEFT de la librera estndar.

8. 1. 4

MID
Esta funcin retorna una cadena de caracteres desde otra cadena de caracteres.

Como entrada se le deben dar una variable de tipo STRING (STRING de entrada), una
variable de tipo INT (cantidad n de caracteres a obtener) y una segunda variable de tipo
INT (Posicin x a partir de la cual se obtendrn los caracteres).
Como salida se obtiene un nuevo STRING cuya longitud es la indicada en la
variable n y cuyo contenido son los n caracteres a partir de la posicin x contando desde
la izquierda.

FBD:

ST:

IL:

Figura 8.4: Ejemplos de uso de la funcin MID de la librera estndar.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 97 de 116

8. 1. 5

CONCAT
Esta funcin concatena dos cadenas de caracteres de entrada en una nica

cadena de caracteres de salida. Ambas variables de entrada y la variable de salida deben


ser del tipo STRING.

FBD:

ST:

IL:

Figura 8.5: Ejemplos de uso de la funcin CONCAT de la librera estndar.

8. 1. 6

INSERT
Permite insertar una cadena de caracteres dentro de otra, en una posicin

definida. Las variables de entrada son las dos cadenas de caracteres (Variable de tipo
STRING) y la posicin a partir de la izquierda en la cual se va a insertar la segunda
cadena dentro de la primera (Variable de tipo INT).

FBD:

ST:

IL:

Figura 8.6: Ejemplos de uso de la funcin INSERT de la librera estndar.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 98 de 116

8. 1. 7

DELETE
Esta funcin remueve n caracteres de una cadena de caracteres, a partir de la

posicin x. Las variables de entrada son la cadena de caracteres a la cual se le van a


extraer los caracteres (tipo STRING), la cantidad n de caracteres a eliminar (tipo INT) y la
posicin x a partir de la cual se van a extraer los caracteres, comenzando por la izquierda
(tipo INT).

FBD:

ST:

IL:

Figura 8.7: Ejemplos de uso de la funcin DELETE de la librera estndar.

8. 1. 8

REPLACE

FBD:

ST:

IL:

Figura 8.8: Ejemplos de uso de la funcin REPLACE de la librera estndar.

Esta funcin reemplaza parcialmente una cadena de caracteres. Las variables de


entrada son las cadena de caracteres original y la cadena a reemplazar (ambas de tipo
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 99 de 116

STRING), la cantidad n de caracteres a reemplazar y la posicin a partir de la izquierda en


la cual se realizar el reemplazo (ambas de tipo INT).

8. 1. 9

FIND
Esta funcin busca una determinada secuencia de caracteres dentro de una

cadena. Las variables de entrada son ambas de tipo STRING, y son la cadena de
caracteres en la cual se debe buscar y la secuencia de caracteres a buscar. La variable de
salida es de tipo INT y devuelve la posicin en la cadena original a partir de la cual se
encontr la secuencia de caracteres. Si la secuencia de caracteres no es encontrada,
luego la variable de salida ser 0.

FBD:

ST:

IL:

Figura 8.9: Ejemplos de uso de la funcin FIND de la librera estndar.

8. 2

Funciones de deteccin de flanco

8. 2. 1

R_TRIG
R_TRIG es un bloque de funciones que permite detectar el flanco ascendente de

una seal booleana. La variable de salida ser tambin una variable booleana, y
permanecer en estado FALSO mientras que la variable de entrada sea falsa. Tan pronto
como la seal de entrada pase de FALSO a VERDADERO, la salida generar un pulso de
corta duracin indicando la deteccin del flanco ascendente, permaneciendo
nuevamente en estado FALSO hasta el prximo flanco ascendente de la seal de entrada.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 100 de 116

Figura 8.10: Diagrama temporal del bloque de funciones R_TRIG.

Dado que se trata de un bloque de funciones, debe declararse una variable del
tipo R_TRIG en la declaracin del programa, para de esta manera generar la instancia
correspondiente.

Figura 8.11: Ejemplos de uso del bloque de funciones R_TRIG en IL.

8. 2. 2

F_TRIG

Figura 8.12: Diagrama temporal del bloque de funciones F_TRIG.

F_TRIG es un bloque de funciones similar al caso anterior, cuya funcin es la de


detectar el flanco descendente de una seal booleana. La variable de salida ser tambin
una variable booleana, y permanecer en estado FALSO mientras que la variable de
entrada sea verdadera. Tan pronto como la seal de entrada pase de VERDADERO a
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 101 de 116

FALSO, la salida generar un pulso de corta duracin indicando la deteccin del flanco
descendente, permaneciendo nuevamente en estado FALSO hasta el prximo flanco
descendente de la seal de entrada.
Dado que se trata de un bloque de funciones, debe declararse una variable del
tipo F_TRIG en la declaracin del programa, para de esta manera generar la instancia
correspondiente.

Figura 8.13: Ejemplos de uso del bloque de funciones F_TRIG en ST.

8. 3

Contadores

8. 3. 1

CTU
Se trata de un bloque de funciones incluido en la librera estndar para realizar

cuentas ascendentes. Tanto las variables de entrada CU y RESET como la variable de


salida Q son del tipo BOOL. La variable de entrada PV y la variable de salida CV son del
tipo WORD.

Figura 8.14: Ejemplos de uso del bloque de funciones CTU en IL.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 102 de 116

La variable CV es la encargada de llevar la cuenta, y ser inicializada con el valor


0 si la entrada RESET es verdadera. Por cada flanco ascendente que presenta la variable
de entrada CU, se incrementar la variable de salida CV en una unidad. La variable Q ser
verdadera cuando CV sea mayor o igual que la variable de entrada PV.
La figura 8.14 ayudara a aclarar la forma de utilizacin de este bloque de
funciones, mientras que la figura 8.15 muestra la declaracin del bloque de funciones
CTU, en el administrador de libreras, en la pestaa recursos del organizador de objetos.

Figura 8.15: Declaracin del Bloque de funciones CTU en el administrador de libreras.

8. 3. 2

CTD
CTD es tambin un bloque de funciones incluido en la librera estndar para

realizar cuentas descendentes. Tanto las variables de entrada CD y LOAD como la


variable de salida Q son del tipo BOOL, mientras que la variable de entrada PV y la
variable de salida CV son del tipo WORD.
La variable CV ser la encargada de realizar la cuenta descendente, y ser
inicializada con el valor de la entrada PV cuando LOAD es verdadera. Por cada flanco
ascendente que presenta la variable de entrada CD, se decrementar la variable de salida
CV en una unidad. La variable Q ser verdadera cuando CV haya alcanzado el valor 0.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 103 de 116

Figura 8.16: Ejemplo de utilizacin del bloque de funciones CTD de la librera estndar en ST.

8. 3. 3

CTUD
El bloque de funciones CTUD permite realizar cuentas ascendentes y

descendentes. Tanto las variables de entrada CU, CD, RESET y LOAD como la variable de
salida QU y QD son del tipo BOOL, mientras que la variable de entrada PV y la variable de
salida CV son del tipo WORD.

Figura 8.17: Ejemplo de utilizacin del bloque de funciones CTUD de la librera estndar en FBD.

Si la entrada RESET es verdadera, la variable CV ser reinicializada a 0. En caso


que LOAD este habilitada, ser reinicializada con el valor de la entrada PV. Igual que en
el resto de los contadores, la variable que llevar la cuenta es CV. Cuando LOAD y RESET
tienen el valor FALSO, la variable CV ser incrementada en 1 por cada flanco ascendente
de la entrada CU (Count UP) y decrementada en 1 tambin por cada flanco ascendente en
Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 104 de 116

la entrada CD (Count Down). La salida QU ser verdadera cuando CV sea mayor o igual al
valor especificado en PV, mientras que QD ser vlida cuando CV ser igual a 0.

8. 4

Temporizadores

8. 4. 1

TP
El bloque de funciones TP es un temporizador que permite generar un pulso de

una amplitud definida. IN y PT son variables de entrada de los tipos BOOL y TIME
respectivamente, mientras que Q y ET son las variables de salidas de los tipos BOOL y
TIME respectivamente.
Si la entrada IN es falsa, la salida Q ser falsa y ET ser 0. Tan pronto como la
entrada IN pase al estado VERDADERO, ET comenzar a ser incrementada en
milisegundos hasta alcanzar el valor predefinido en PT y permanecer constante luego
de esto. La salida Q tomar el valor VERDADERO desde el momento en que IN toma el
valor VERDADERO y hasta que ET alcance el valor de PT. En cualquier otro momento, la
salida Q tomar el valor FALSO. De esta manera, la salida Q estar entregando una seal
cuadrada cuyo tiempo en estado alto ser definido por el valor de entrada PT (en
milisegundos). La figura 8.18 muestra la secuencia temporal de funcionamiento del
bloque de funciones PT.

Figura 8.18: Diagrama temporal del bloque de funciones TP.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 105 de 116

Figura 8.19: Ejemplo de utilizacin del bloque de funciones TP en ST.

8. 4. 2

TON
El bloque de funciones TON implementa un retardo a la conexin. Las variables

IN y PT son variables de entrada de los tipos BOOL y TIME respectivamente. Las variables
Q y ET son variables de salida de los tipos BOOL y TIME respectivamente. Si la entrada IN
es falsa, tanto la salida Q como ET contienen el valor 0. Tan pronto como IN pasa a
estado VERADDERO, se comienza una cuenta de tiempo en milisegundos en la salida ET
hasta que el valor de dicha cuenta sea igual al ajustado en la entrada PT. De esta
manera, la salida Q se encuentra en estado verdadero cuando la entrada IN est en
estado VERDADERO y Et es igual a PT. El siguiente diagrama temporal ayuda a entender
el funcionamiento de este temporizador.

Figura 8.20: Diagrama temporal del bloque de funciones TON.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 106 de 116

Figura 8.21: Ejemplo de utilizacin del bloque de funciones TON en FBD.

8. 4. 3

TOF
El bloque de funciones TOF implementa un retardo a la desconexin. Las

variables IN y PT son variables de entrada de los tipos BOOL y TIME respectivamente. Las
variables Q y ET son variables de salida de los tipos BOOL y TIME respectivamente. Si la
entrada IN es verdadera, la salida Q se encontrara en estado VERDADERO y ET contendr
el valor 0. Tan pronto como IN pasa a estado FALSO, se comienza una cuenta de tiempo
en milisegundos en la salida ET hasta que el valor de dicha cuenta sea igual al ajustado
en la entrada PT. De esta manera, la salida Q se encuentra en estado FALSO cuando la
entrada IN est en estado FALSO y ET es igual a PT. El siguiente diagrama temporal
ayuda a entender el funcionamiento de este temporizador.

Figura 8.22: Diagrama temporal del bloque de funciones TOF.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 107 de 116

Figura 8.23: Ejemplo de utilizacin del bloque de funciones TOF en IL.

8. 5

Bloques de funciones biestable

8. 5. 1

SR
El bloque de funciones SR es bsicamente un Flip-Flop con entrada de

habilitacin dominante. Tiene dos entradas, SET1 y RESET, y una salida, Q1.EL valor de la
salida responder en todo momento a la siguiente expresin:
Q1 := (

Q1) OR SET1

Este es, si la entrada SET1 se encuentra activa, la salida ser TRUE


independientemente del estado de la entrada RESET. Si la entrada SET1 se encuentra en
estado FALSE, el valor de la salida depender entonces de la entrada RESET. Ambas
entradas y la salida deben der del tipo BOOL.

8. 5. 2

RS
El bloque de funciones RS se trata al igual que el anterior de un Flip-Flop con

entrada dominante. La diferencia radica en que la entrada dominante es este caso la


entrada de deshabilitacin. Presenta dos entradas, SET y RESET1, y una salida, Q1. EL
valor de la salida responder en todo momento a la siguiente expresin:
Q1 :=

(SET OR Q1)

Este es, si la entrada RESET1 se encuentra activa, la salida ser FALSE


independientemente del estado de la entrada SET. Si la entrada RESET1 se encuentra en

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 108 de 116

estado FALSE, el valor de la salida depender de la entrada SET. Ambas entradas y la


salida deben der del tipo BOOL.

8. 5. 3

SEMA
El bloque de funciones SEMA tiene por funcin la retencin o liberacin de una

variable en funcin de un pulso de entrada. Presenta dos entradas, CLAIM y RELEASE, y


una salida, BUSY.
EL valor de la salida ser TRUE en caso de aparecer un pulso en la entrada CLAIM
y ser retenido independientemente del valor de dicha entrada. Un pulso en la entrada

RELEASE har que la salida pase al estado FALSE, el cul ser nuevamente retenido
hasta la aparicin de un nuevo pulso en la entrada CLAIM.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 109 de 116

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 110 de 116

Apndice A: Atajos de teclado

CTRL + O: Abrir un proyecto (Desde un medio de almacenamiento o directamente


del controlador).

CTRL + S: Guardar el proyecto actual.

F2: Asistente de entrada.

SHIFT + F2: Autodeclaracin de variables.

F1: Ayuda (Sensible al contexto).

F2: Asistente de entrada.

F11: Compilar.

ALT + F8: Iniciar Modo Online.

CTRL + F8: Terminar modo Online.

F5: Activar programa.

SHIFT + F8: Detener programa.

F9: Colocar o quitar Breakpoint.

CTRL + F7: Escribir valores al controlador.

F7: Forzar valores.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 111 de 116

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 112 de 116

10

Referencias bibliogrficas

Base de datos SPIMS.

CoDeSys provided by festo - Festo IPT.

Welcome to the world of CoDeSys, CoDeSys pbf training Dieter Staneker

User Manual for PLC programming with CoDeSys 2.3 3S-Smart Solution
Software.

CoDeSys Visualization. Supplement to the User Manual for PLC Programming


with CoDeSys 2.3 3S-Smart software solution.

Your license to success: CoDeSys and your controller 3S CoDeSys training.

Su licencia el xito: CoDeSys y su controlador 3S CoDeSys training. Traduccin


al espaol por festo-ME.

http://www.infoplc.net/

http://www.plcopen.org/

http://www.3s-software.com/

http://www.iec.ch

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 113 de 116

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 114 de 116

11

Changelog - Control de versin


Versin 1:
Versin inicial.
Versin 1.01:
o

Se agregan los mdulos 9 y 11.

Se agregan las secciones 2.6, 5.3 y 8.5.

Se agrega el apartado 7.1.5.

La seccin 5 cambia de nombre.

Se modifican los contenidos del apartado 7.5.4.

Se completan los contenidos de la tabla 7.1.

Se agregan referencias al antiguo mdulo 9, el cul pasa a ser el


mdulo 10.

Se realizan modificaciones grficas en las figuras 3.9, 3.11 y 7.30


(Antes 7.29).

Se realizan correcciones menores en las tablas 4.2, 4.3 y en el


apartado 7.10.1.

Gua de ejercicios: Se agregan los ejercicios 6, 7 y 8 con mayor


nfasis en CFC, SFC, contadores y temporizadores. El antiguo
ejercicio 6 pasa a ser el ejercicio 9.

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 115 de 116

Sistema de programacin IEC 61131-3: CoDeSys.

Pgina 116 de 116

Sistema de programacin
IEC 61131-3: CoDeSys
Gua de ejercicios

Sistema de
programacin IEC
61131-3: CoDeSys
Gua de ejercicios

Ing. Gabriel Vento

Versin 1.01

Festo AR
Edison 2392
(1640) Martnez
Buenos Aires - Argentina

Sistema de programacin IEC 61131-3: CoDeSys


Gua de Ejercicios
Tabla de contenido
1

EJERCICIO 1: CONTROL DE SALIDA MEDIANTE MLTIPLES ENTRADAS ....................3

EJERCICIO 2: CONTROL DE LUZ DE ESCALERA ..............................................................4

EJERCICIO 3: CONTROL DE LMPARAS TEMPORIZADAS .............................................5

EJERCICIO 4: CONTROL DE TOILET ................................................................................6

EJERCICIO 5: SELECCIN DE PROGRAMA A EJECUTAR ................................................7

EJERCICIO 6: SECUENCIADOR ........................................................................................8

EJERCICIO 7: BLINKER ..................................................................................................10

EJERCICIO 8: BLINKER CON HABILITACIN/BLOQUEO MEDIANTE CONTADOR ...... 11

EJERCICIO 9: PROYECTO FINAL: SEMFORO DE DOS VAS ....................................... 12

10

EJERCICIOS RESUELTOS ........................................................................................... 14

10. 1
10. 2
10. 3
10. 4
10. 5
10. 6
10. 7
10. 8
10. 9

EJERCICIO 1 ........................................................................................................... 14
EJERCICIO 2 ........................................................................................................... 15
EJERCICIO 3 ........................................................................................................... 16
EJERCICIO 4 ........................................................................................................... 17
EJERCICIO 5 ........................................................................................................... 18
EJERCICIO 6 ........................................................................................................... 19
EJERCICIO 7 ........................................................................................................... 23
EJERCICIO 8 ........................................................................................................... 25
EJERCICIO 9 ........................................................................................................... 28

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 2 de 32

Ejercicio 1: Control de salida mediante mltiples entradas


1.

Crear un Nuevo Proyecto: Sistema Target: None

2.

Crear un programa llamado PLC_PRG escrito en IL. Este ser el programa


principal del proyecto y se encargar nicamente de iniciar el programa del
ejercicio propiamente dicho.

3.

Crear un programa llamado Ejercicio_1 escrito en LDR.


Descripcin del programa:

4. Utilizar los nombres de variables en concordancia con la descripcin del


programa.
5.

Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 3 de 32

Ejercicio 2: Control de luz de escalera


1.

Sobre el mismo proyecto creado en el ejercicio 1, incluir un nuevo programa


llamado Luz_Escalera escrito en LDR.

2.

Descripcin del programa:

- Debe haber un interruptor al comienzo y otra al final de la escalera, desde


donde la luz puede ser encendida o apagada (Llave de combinacin).
- Una llave principal podr activar / desactivar el sistema de iluminacin.
3.

Realizar una visualizacin simple para probar el programa.

4. Utilizar los nombres de variables en concordancia con la descripcin del


programa.
5.

Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 4 de 32

Ejercicio 3: Control de lmparas temporizadas


1.

Sobre el mismo proyecto creado en el ejercicio 1, incluir un nuevo programa


llamado Ejercicio_3 en CFC.

2.

Descripcin del programa:

3.

Realizar un retardo a la conexin para ambas lmparas, la primera con 3


segundos y la segunda con 7 segundos.

4. Utilizar los nombres de variables en concordancia con la descripcin del


programa.
5.

Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 5 de 32

Ejercicio 4: Control de Toilet


1.

Sobre el mismo proyecto creado en el ejercicio 1, incluir un nuevo programa


llamado toilet_Control escrito en FBD.

2.

Descripcin del programa:

Al detectarse un flanco ascendente en la seal switch se debe encender la


salida light, y tres segundos despus la salida Fan.

Al detectarse un flanco descendente en la seal switch se debe apagar la


salida light y cinco segundos despus la salida fan.

3.

Realizar una visualizacin simple para probar el programa.

4. Utilizar los nombres de variables en concordancia con la descripcin del


programa.
5.

Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 6 de 32

Ejercicio 5: Seleccin de programa a ejecutar


1.

Sobre el mismo proyecto creado en el ejercicio 1, eliminar el programa


PLC_PROG y crearlo nuevamente, pero esta vez en ST.

2.

Descripcin del programa:


Mediante dos pulsadores se debe poder incrementar / decrementrar el valor de
la variable SELECT. Dependiendo del valor de la misma, se debe ejecutar uno y
solo uno de los ejercicios creados con anterioridad, segn la siguiente tabla:

3.

Valor de la variable Select

Programa a ejecutar

Ejercicio_1

Luz_escalera

Ejercicio_3

Toilet_control

1 > Select > 4

La variable select no debe tomar


nunca valores en este rango

Realizar una visualizacin simple para probar el programa.

4. Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 7 de 32

Ejercicio 6: Secuenciador
1.

Crear un Nuevo Proyecto: Sistema Target: FESTO CECX-X-C1

2.

Descripcin del programa:


Si se encuentra presente la entrada C_Completo (Ciclo completo), se debe
realizar una secuencia cclica segn la siguiente tabla:

Salida

Paso 1

Paso 2

Paso 3

Paso 4

Paso 5

Paso 6

Paso 7

0
1
2
3
4
5
6
7
Sin embargo, si la entrada C_Completo no estuviera presente, los pasos 3 y 4
deben ser reemplazados por los pasos alternativos presentados en la tabla a
continuacin. El paso 5 debe ser eliminado.

Salida

Paso 3
alternativo

Paso 4
alternativo

0
1
2
3
4
5
6
7
La transicin de un paso al paso siguiente debe hacerse luego de cumplido un
tiempo fijo de 1 segundo. Para esto se debe implementar un bloque de
funciones encargado de realizar el temporizado.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 8 de 32

El programa principal debe llamarse PLC_PRG, y debe estar escrito en SFC.


Las acciones vinculadas con los pasos deben estar escritas en IL, y las
acciones vinculadas con transiciones en FBD.

El bloque de funciones debe llamarse Temporizador, y debe estar escrito en


CFC.

3.

Utilizar los nombres de variables en concordancia con la descripcin del


programa.

4. Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 9 de 32

Ejercicio 7: Blinker
1.

Crear un Nuevo Proyecto: Sistema Target: FESTO CECX-X-C1

2.

Descripcin del programa:


El programa debe hacer oscilar una salida con un ciclo de trabajo del 60%. La
frecuencia de oscilacin ser determinada mediante un pulso en una entrada,
segn la siguiente descripcin:

Entrada 0: Frecuencia de oscilacin: 1Hz.

Entrada 1: Frecuencia de oscilacin: 5Hz.

Entrada 2: Frecuencia de oscilacin: 10Hz.

El temporizador deber implementarse mediante un bloque de funciones y debe


existir una nica instancia de dicho bloque.
-

El programa principal debe llamarse PLC_PRG, y estar escrito en SFC. Las


acciones vinculadas con los pasos deben escribirse en CFC.

3.

El bloque de funciones debe llamarse Espera y estar escrito en CFC.

Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 10 de 32

Ejercicio 8: Blinker con habilitacin/Bloqueo mediante contador


1.

Crear un Nuevo Proyecto: Sistema Target: FESTO CECX-X-C1

2.

Descripcin del programa:


El programa debe hacer oscilar una salida con un ciclo de trabajo del 60%. La
frecuencia de oscilacin ser determinada mediante un pulso en una entrada,
segn la siguiente descripcin:

Entrada 0: Frecuencia de oscilacin: 1Hz.

Entrada 1: Frecuencia de oscilacin: 5Hz.

Entrada 2: Frecuencia de oscilacin: 10Hz.

El temporizador deber implementarse mediante un bloque de funciones y debe


existir una nica instancia de dicho bloque.
Adems del oscilador, se deber implementar un contador de flancos
ascendentes en una nueva POU llamada Contador, el cul detenga el oscilador al
llegar a la cuenta de 15. La entrada de pulsos para el contador ser la entrada 3
y recibir el nombre de PULSOS. El contador debe poder ser reiniciado mediante
la entrada 4, la cual llevar el nombre RESET. Al resetear el contador, el
oscilador deber ser reiniciado.
-

El programa principal debe llamarse PLC_PRG, y estar escrito en SFC. Las


acciones vinculadas con los pasos deben escribirse en CFC.

El bloque de funciones para le temporizado debe llamarse Espera y estar


escrito en CFC.

LA POU que implementa el contador debe escribirse en CFC y llevar el


nombre CONTADOR.

3.

Utilizar los nombres de variables en concordancia con la descripcin del


programa.

4. Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 11 de 32

Ejercicio 9: Proyecto Final: Semforo de dos vas


5.

Crear un nuevo proyecto. Sistema Target: FESTO CECX-X-C1.

6.

Descripcin del programa:


El proyecto debe controlar un semforo simple de dos vas, en concordancia con
el siguiente grfico:

Para controlar la secuencia se requiere:


-

Un programa principal, llamado PLC_PRG, escrito en CFC.

Un programa secundario llamado SEQUENCE, escrito en SFC.

Un bloque de funciones llamado TRAFFICSIGNAL, escrito en FBD.

Un bloque de funciones llamado WAIT, escrito en IL.


Se utilizar una instancia del FB TRAFFICSIGNAL para cada uno de los
semforos, y su funcin ser la de seleccionar cul es la luz que se enciende
en funcin del estado de una variable de entrada llamada STATUS. Sus
salidas sern las seales de luz RED, YELLOW y GREEN, en concordancia con
la siguiente tabla:

Valor de la variable STATUS

Seal a encender

GREEN

YELLOW

RED

YELLOW, RED

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 12 de 32

El bloque de funciones WAIT ser un temporizador, el cul recibir como


entrada la duracin de la fase en segundos (Variable Time_in) y como salida
producir el valor TRUE (Variable OK) al cumplirse el periodo de tiempo
especificado.
El programa secundario SEQUENCE ser el encargado de combinar todos los
elementos para controlar la correcta secuencia de funcionamiento del
sistema. Tendr una variable de entrada llamada START, dos variables de
salida llamadas TRAFFICSIGNAL1 y TRAFFICSIGNAL2 respectivamente, y una
variable del tipo WAIT (FB creado anteriormente), llamada DELAY. Se deben
utilizar pasos no-IEC y todas las acciones vinculadas a los pasos deben estar
escritas en IL. La secuencia debe interrumpirse al final del ciclo si la seal
START no se encuentra presente.
El programa PLC_PRG conecta la entrada de habilitacin (Variable IN) con el
bloque SEQUENCE, el cul provee las instrucciones correctas como salidas
para cada una de las instancias del FB TRAFFICSIGNAL, el cul finalmente se
vincula a las salidas fsicas.
La vinculacin entre las entradas/Salidas del PLC y las variables deben ser
vlidas a lo largo de todo el proyecto, y en concordancia con la siguiente
tabla:

7.

Variable

Direccin

IN

%IX4.0

A1_GREEN

%QX0.0

A1_YELLOW

%QX0.1

A1_RED

%QX0.2

A2_GREEN

%QX0.3

A2_YELLOW

%QX0.4

A2_RED

%QX0.5

Utilizar los nombres de variables en concordancia con la descripcin del


programa.

8.

Realizar una visualizacin simple para probar el programa.

9.

Ejecutar la simulacin y verificar el correcto funcionamiento del programa.

10. Descargar el programa al controlador y verificar su correcto funcionamiento.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 13 de 32

10

Ejercicios Resueltos

10. 1

Ejercicio 1
Control de salida mediante mltiples entradas.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 14 de 32

10. 2

Ejercicio 2
Control de luz de escalera.

Visualizacin:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 15 de 32

10. 3

Ejercicio 3
Control de lmparas temporizadas.

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 16 de 32

10. 4

Ejercicio 4
Control de Toilet

Visualizacin:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 17 de 32

10. 5

Ejercicio 5
Seleccin de programa a ejecutar

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 18 de 32

10. 6

Ejercicio 6
Secuenciador

Programa PLC_PRG:

Accin de Inicio:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 19 de 32

Accin de Paso 2:

Accin de transicin 1:

Accin de transicin 2:

Accin de Paso 3:

Accin de Paso 3 alternativo:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 20 de 32

Accin de Paso 4:

Accin de Paso 4 alternativo:

Accin de Paso 5:

Accin de Paso 6:

Accin de Paso 7:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 21 de 32

Bloque de funciones del temporizador:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 22 de 32

10. 7

Ejercicio 7
Blinker:

Programa PLC_PRG

Accin paso INIT

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 23 de 32

Accin Paso STEP2:

Bloque de funciones del temporizador:

Variables Globales:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 24 de 32

10. 8

Ejercicio 8
Blinker con habilitacin/Bloqueo mediante contador

Programa PLC_PRG

Accin paso INIT

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 25 de 32

Accin Paso STEP2:

Bloque de funciones del temporizador:

Bloque de funciones del contador:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 26 de 32

Variables Globales:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 27 de 32

10. 9

Ejercicio 9
Proyecto final: Semforo de dos vas

Declaracin de variables globales:

Bloque de funciones TRAFFICSIGNAL:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 28 de 32

Bloque de funciones WAIT:

Programa SEQUENCE:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 29 de 32

Programa SEQUENCE Accin INIT:

Programa SEQUENCE Accin SWITCH1:

Programa SEQUENCE Accin GREEN2:

Programa SEQUENCE Accin SWITCH2:

Programa SEQUENCE Accin GREEN1:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 30 de 32

Programa PLC_PRG:

Visualizacin:

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 31 de 32

Sistema de programacin IEC 61131-3: CoDeSys. Gua de ejercicios.

Pgina 32 de 32