Está en la página 1de 20

TECNOLÓGICO NACIONAL DE MEXICO.

Instituto Tecnológico de Apizaco.


Ing. Mecatrónica.
Materia:
Controladores Lógicos Programables
Horario:
15:00 – 16:00
Tema:
5.1 Listado de
instrucciones
5.2 Bloque de funciones
5.3 Grafcet
5.3 CoDeSys

Presenta:
Sánchez Muñoz José Alfredo
Docente:
Bueno Sánchez Gustavo Alberto

1
Contenido
5.1 Listado de instrucciones.................................................................................................................... 3
5.2 Bloque de Funciones.......................................................................................................................... 7
Campo de aplicación................................................................................................................................ 7
FBs y DBs de instancia.............................................................................................................................. 7
Variable del tipo de datos FB.................................................................................................................... 8
Asignación de parámetros actuales a parámetros formales.....................................................................8
Asignación de valores iniciales a parámetros formales............................................................................8
5.3 Grafcet................................................................................................................................................. 9
DISEÑO BASADO EN GRAFCET................................................................................................................ 10
ELEMENTOS DE BASE DEL GRAFCET....................................................................................................... 11
5.2 CoDeSys............................................................................................................................................ 13
Referencias.............................................................................................................................................. 21

1
5.1 Listado de instrucciones

Las instrucciones booleanas pueden ser comparadas con los elementos de lenguaje
de contactos. Las instrucciones LD, LDN, LDR y LDF corresponden respectivamente
a contactos abierto, cerrado, de flanco ascendente y de flanco descendente (LDR y
LDF únicamente en entradas de autómata).

Las instrucciones ST, STN, S y R corresponden respectivamente a las bobinas


directa, inversa, en la conexión y desconexión.

1
Las instrucciones Y lógica: AND, ANDN, ANDR, ANDF realizan un Y lógica entre el
operando (o su inverso, o frente ascendente o frente descendente) y el resultado
booleano de la instrucción anterior.

Las instrucciones O Lógica: OR, ORN, ORR, ORF realizan un O entre el operando
(o su inverso, o frente ascendente, o frente descendente) y el resultado booleano de
la instrucción anterior.

Las instrucciones O Exclusiva: XOR, XORN, XORR, XORF realizan un O exclusivo


entre el operando (o su inverso, o frente ascendente, o frente descendente) y el
resultado booleano de la instrucción anterior.

1
La instrucción Negación N realiza la negación del resultado de la instrucción
anterior.

Las instrucciones AND y OR pueden utilizar paréntesis. Estos paréntesis permiten


realizar esquemas de contactos de forma sencilla. El signo de abertura de
paréntesis se asocia a la instrucción AND u OR. El paréntesis de cierre es una
instrucción que es obligatoria para cada paréntesis abierto.

Las instrucciones MPS, MRD, MPP permiten tratar las transferencias hacia las
bobinas. Estas instrucciones utilizan una memoria intermedia llamada pila que
puede almacenar hasta 8 informaciones booleanas.

1
La instrucción MPS almacena el resultado de la última instrucción de comprobación
en la parte superior de la pila y desplaza los otros valores hacia el fondo de la pila.
La instrucción MRD lee la cima de la pila. La instrucción MPP lee, desocupa la cima
de la pila y desplaza los otros valores hacia la cima de la pila.

Para facilitar la puesta a punto de un programa se pueden utilizar dos


instruccionesespecíficas del lenguaje de contactos.

• La instrucción OPEN interrumpe la continuidad (lógica 0) sea cual sea el


resultadode la anterior operación lógica (equivalente en lenguaje Lista:
instrucción AND 0).
• La instrucción SHORT garantiza la continuidad (lógica 1) sea cual sea el
resultadode la anterior operación lógica (equivalente en lenguaje Lista: OR 1).

1
5.2 Bloque de Funciones

Los bloques de función son bloques programables "con memoria". Dispone de


un bloque de datos asignado como memoria (bloque de datos de instancia).
Los parámetros que se transfieren al FB, así como las variables estáticas, se
memorizan en dicho DB de instancia, mientras que las variables temporales
se memorizan en la pila de datos locales. Los datos memorizados en el DB de
instancia no se pierden al concluir el tratamiento del FB. Los datos
memorizados en la pila de datos locales se pierden al concluir el tratamiento
del FB.

Campo de aplicación

Un FB contiene un programa que se ejecuta siempre cuando el FB es llamado


por otro bloque lógico. Los bloques de función simplifican la programación de
funciones complejas de uso frecuente.

FBs y DBs de instancia

A cada llamada de un bloque de función que transfiere parámetros está


asignado un bloque de datos de instancia. Mediante la llamada de varias
instancias de un FB es posible controlar varios equipos con un FB. Un FB para
un tipo de motor puede controlar, por ejemplo, diferentes motores, utilizando
datos de instancia diferentes para los diferentes motores. Los datos para cada
motor (tales como número de revoluciones, rampas, tiempo de funcionamiento
acumulado, etc.) se pueden memorizar en uno o varios DBs de instancia. La
figura siguiente muestra los parámetros formales de un FB que utiliza los
parámetros actuales. Los parámetros formales están memorizados en el DB
de instancia.

Variable del tipo de datos FB

Si el programa de usuario está estructurado de tal manera que en un FB se


puedan llamar bloques de función ya existentes, los FBs a llamar se pueden
incluir como variables estáticas del tipo de datos FB en la tabla de declaración
de variables del FB invocante. Esto permite anidar las variables y concentrar
los datos en un bloque de datos de instancia (multiinstancia).

Asignación de parámetros actuales a parámetros formales


1
En general, en STEP 7 no es necesario asignar parámetros actuales al
parámetro formal de un FB. No obstante, hay ciertas excepciones. Los
parámetros actuales se han de asignar:
5.3 Grafcet
Ante la necesidad de unificar y racionalizar el lenguaje para describir los sistemas
lógicos y en particular el componente secuencial de los mismos, la Association
Francaise pour la Cybernétique Economique el Technique AFCET creó una
comisión formada por varios organismos universitarios, fabricantes y usuarios con el
objeto de armonizar los criterios de cada uno de estos colectivos y obtener un
método de representación de funcionamiento de sistemas lógicos independiente de
la materialización tecnológica de los mismos. El resultado de los estudios de dicha
comisión fue un útil de tipo gráfico, apoyado por métodos de álgebra lógica, que una
vez depurado ha dado lugar al denominado GRAfico Funcional de Control de Etapas
y Transiciones (GRAFCET). Por tanto, el GRAFCET nació como resultado de los
trabajos de la AFCET, iniciados en la década de los setenta. En principio se
pretendía satisfacer la necesidad de disponer de un método de descripción de
procesos, con total independencia de la tecnología, mediante un gráfico funcional
que pudiera ser interpretado por no especialistas en automatización. El gráfico
funcional permite unificar la forma de descripción del proceso para técnicos de
distintos campos, desde el ingeniero de organización o de producción, que define
las necesidades del PLC, pasando por el ingeniero de diseño, que debe
implementar el sistema de control y los accionamientos, hasta el técnico de
mantenimiento, que debe cuidar de su funcionalismo y/o introducir modificaciones
en la fase de explotación. En 1982 el trabajo fue recogido por un grupo de trabajo de
AFNOR, organismo encargado de la normalización en Francia, compuesto por
miembros de UTE, CNOMO, UNM y de otros organismos relacionados con la
industria, la automatización y la enseñanza culminado con la publicación de la
Norma NF C03-1904. Esta norma fue también adoptada por IEC en 1988, con el
número IEC-848 y título «Établissement des diagrammes fonctionnels pour
systèmes de commande»
En la actualidad, diversos autómatas programables incorporan algunas
instrucciones de programación que permiten introducir directamente el grafo de
GRAFCET. En otros casos se dispone de software capaz de compilar un grafo
GRAFCET al lenguaje de la máquina que por lo general es el LADDER, permitiendo
en ambos casos una gran flexibilidad y rapidez de diseño, con ventajas sustanciales
en las fases de verificación, explotación o eventual modificación del PLC.

1
DISEÑO BASADO EN GRAFCET

Los principios que inspiraron la creación del GRAFCET y en los que se basa su
aplicación son los siguientes:
a. Debe caracterizarse el funcionamiento del PLC con total independencia de los
componentes con los que vaya a ser construido. Esto equivale a centrar nuestro
interés no tanto en la estructura física o en la tecnología empleada para implementar
el PLC, sino en la FUNCION que debe realizar el PLC.
b. El conjunto de un sistema automático se divide en dos partes: la parte de control
(PC) y la parte operativa (PO). La parte de control comprende todo aquello que
contribuye a la automatización del proceso y la parte operativa incluye el resto del
mismo. El conjunto está relacionado con el medio exterior a través de un diálogo
con el operador y comunicaciones con otros PLCs que operen en el mismo
contexto.
c. El elemento fundamental de un proceso es la OPERACIÓN, la cual se denomina
ETAPA en el lenguaje de GRAFCET, entendiendo como tal una acción realizada por
el PLC. Obsérvese que en una primera aproximación podemos dividir el proceso en
unas pocas operaciones relativamente complejas (por ejemplo: taladrar, roscar,
cambiar herramienta, etc.), llamadas también macro-etapas, las cuales podrán ser
subdivididas a su vez en operaciones más elementales a medida que avanzamos en
el nivel de detalle. Por ejemplo, una operación de taladrar puede subdividirse en
otras más elementales como: impulsar pieza, bloquear pieza, giro de broca,
aproximación de broca, etc.
d. Debe dividirse el proceso en macro-etapas y éstas a su vez en etapas más
elementales hasta conseguir que las acciones a realizar en cada una de ellas
dependan sólo de relaciones combinacionales entre entradas salidas. Cada una de
estas etapas elementales tendrá asociada una variable de estado .
e. Establecer un gráfico de evolución que indique la secuencia de operaciones
(secuencia de etapas) y las condiciones lógicas para pasar de una a otra, las cuales
son denominadas condiciones de transición en el GRAFCET. Como resultado de
esta fase se obtienen las ecuaciones lógicas de las variables de estado y, por tanto,
queda resuelta la parte secuencial del PLC.
f. Establecer para cada operación elemental (etapa) las relaciones lógicas entre
entradas y salidas, utilizando eventualmente otras variables internas
combinacionales.
g. Finalmente, implementar el sistema utilizando tantas instrucciones de SET-
RESET como variables de estado se tengan en el proceso y cableando o
programando las relaciones lógicas obtenidas en las fases e y f. Es importante
resaltar que el GRAFCET no sólo es útil como herramienta de diseño, sino también
en las fases de especificación y posteriormente en la fase de explotación y
mantenimiento.

1
ELEMENTOS DE BASE DEL GRAFCET

El GRAFCET es, como se ha dicho, un modelo de representación gráfica del


funcionamiento de un sistema automático. Dicho modelo está definido basándose
en los elementos que se relacionan a continuación, estos elementos constituyen los
símbolos a partir de los cuales se dibuja el gráfico funcional. Los símbolos básicos
de los elementos de representación del GRAFCET son presentado en la Figura 4.1 .

Las etapas
representan cada uno de los estados del sistema. Cada etapa debe corresponder a
una situación tal que las salidas dependan únicamente de las entradas o, dicho de
otro modo, la relación de entradas y salidas dentro de una etapa es puramente
combinacional.

El símbolo empleado para representar una etapa es un cuadrado con un número o


símbolo en su interior que la identifica y eventualmente una etiqueta, el cual es
mostrado en la Figura 4.1. Se denominan etapas iniciales aquellas en que se

1
posiciona el sistema al iniciarse el proceso por primera vez, las etapas iniciales se
representan por un cuadrado con doble línea tal como lo muestra la figura 4.1

4.4.2. LAS LINEAS DE EVOLUCIÓN. Las líneas de evolución unen entre sí las
etapas que representan actividades consecutivas., y se entenderán siempre
orientadas de arriba hacia abajo, a menos que se represente una flecha en sentido
contrario.

4.4.3. LAS TRANSICIONES. Las transiciones representan las condiciones lógicas


necesarias para que finalice la actividad de una etapa y se inicie la de la etapa o
etapas inmediatamente consecutivas. Estas condiciones lógicas se obtendrán por
combinación de variables denominadas receptividades. Gráficamente se
representan las transiciones por una línea cruzada sobre las líneas de evolución tal
como lo muestra la Figura

4.1. 4.4.4. LOS REENVIOS. Los reenvíos son símbolos en forma de flecha que
indican la procedencia o destino de las líneas de evolución. Las flechas de reenvío
permiten fraccionar un gráfico o evitan dibujar líneas de evolución con excesivos
cruces.

Dos líneas de evolución que se crucen deben interpretarse, en principio, que no


están unidas. Las reglas para cruces y bifurcaciones se explicarán en detalle más
adelante al desarrollar las estructuras funcionales del GRAFCET. Cuando se recorre
el gráfico de evolución, por cualquier camino posible, deben alternarse siempre una
etapa y una transición, esta situación se muestra en la Figura 4.2. La regla básica
de sintaxis del GRAFCET es que entre dos etapas debe existir una y solo una
condición de transición, ésta puede venir expresada por una función lógica
combinacional todo lo compleja que sea necesario, siempre que dé como resultado
un bit dando la posibilidad de tener dos estados: 1= Condición Verdadera. 0 =
Condición Falsa.

1
5.2 CoDeSys

Lenguajes de programación
Los seis lenguajes de programación para aplicaciones vienen definidos en el IEC
61131-3 y están disponibles en el entorno de desarrollo CODESYS.

• Lenguajes de texto: IL (lista de instrucciones) es un lenguaje de


programación parecido al lenguaje ensamblador.
ST (texto estructurado) es similar a la programación en PASCAL o C
• Lenguajes gráficos: LD (Diagrama Ladder) permite al programador combinar
los contactos de relé y las bobinas. Es el lenguaje de Programación de PLC
por excelencia.
• FBD (diagrama de bloques de función): permite al usuario programar
rápidamente, tanto expresiones como en lógica booleana.
• SFC (Bloques de función secuenciales): es conveniente para los procesos de
programación secuencial
Dispone también de un editor gráfico que no está definido en la norma IEC:

• CFC (Continuous Function Chart): es una especie de editor de FBD libre. Es


un editor orientado a FBD donde las conexiones entre las entradas, salidas y
los operadores se fijan automáticamente. Todas las cajas se pueden colocar
libremente, lo que permite programar ciclos de retroalimentación provisional
sin variables.
INTRODUCCIÓN: CoDeSys es uno de los sistemas de programación del estándar
IEC 61131-3 más comunes para PLCs y reguladores industriales. Permite
programar autómatas de diferentes fabricantes, así como generar código para
algunos microprocesadores y DSPs.

REQUISITOS MÍNIMOS DEL SISTEMA: Para poder utilizar este software sin
problemas se requiere tener un sistema con las siguientes características como
mínimo:  Sistemas operativos: Windows 2000 (Windows XP or Windows Vista is
also possible)  RAM: 512MB  Espacio en disco duro: 200MB  Procesador:
Pentium V, Centrino > 1,8 GHz, Pentium M > 1,0GHz

1
DESCRIPCIÓN GENERAL DEL SOFTWARE: Easy Soft CoDeSys versión 2.3.5.8
es el software destinado a la creación de los programas del autómata para controlar
las diferentes estaciones de la plataforma. Existen diferentes menús de trabajo -Fig.
1- y a continuación se hace una pequeña explicación de los mismos:

Barra de menú: permite realizar diferentes funciones como recuperar o guardar


programas, opciones de ayuda, etc. Es decir, las funciones elementales de cualquier
software actual.

Barra de iconos: engloba las funciones de uso más repetido en el desarrollo de los
programas.

Barra de instrucciones: Esta barra le permitirá, a través de pestañas y botones,


acceder de forma rápida a las instrucciones más habituales del lenguaje utilizado
(en el ejemplo de la Figura se utiliza lenguaje Ladder). Presionando sobre cada
instrucción, ésta se introducirá en el editor del programa.

1
Panel de resultados: aparecen los errores de programación que surgen al verificar la
corrección del programa realizado (Project > Build) o del proyecto completo (Project
> Rebuild all). Efectuando doble clic sobre el error, automáticamente el cursor se
sitúa sobre la ventana del editor del programa en la posición donde se ha producido
el error.

Declaración de variables: En esta ventana aparecen todas las variables definidas en


el programa, así como la declaración de todos los temporizadores, contadores u
otros objetos que se hayan utilizado. También es posible la inicialización de una
variable, así como la asignación de una salida o una entrada, digital o analógica del
autómata.

Editor del programa: Contiene el texto o el esquema, según el lenguaje utilizado


entre los 5 lenguajes que soporta CoDeSys, del programa que se esté realizando.
Se puede interaccionar sobre esta ventana escribiendo el programa directamente
desde el teclado o ayudándose con el ratón (ya sea arrastrando objetos procedentes
de otras ventanas ó seleccionando opciones con el botón derecho del ratón).

Barra de estado: Nos permite visualizar el modo de trabajo del procesador


(online/offline). En el caso de estar online, la palabra ONLINE se pone en negrita y
se puede visualizar a continuación cuál es el autómata con el que estamos
comunicados o si estamos en modo simulación, activándose la palabra SIM. Si el
autómata o la simulación están en marcha, aparecerá la palabra RUNNING en
negrita.

Árbol del proyecto: Esta ventana está situada en la izquierda de la pantalla -Fig. 2-.
En la parte inferior dispone de cuatro pestañas cada una de las cuales tiene una
función diferente, son las siguientes:

 POUs (Program Organization Unit): Tanto funciones como bloques de funciones y


programas son POUs, los cuales pueden ser complementados por acciones. Cada
POU consiste en una parte de declaración y un cuerpo. El cuerpo del programa se
escribe en el editor del programa en uno de los lenguajes de programación del IEC,
que son IL (Instruction List), ST (Structured Text), SFC (Sequential Function Chart),
FBD (Function Block Diagram), LD (Ladder Diagram) o CFC (The Continuous
Function Chart Editor). CoDeSys soporta todos los POUs del estándar IES. Si se
quieren usar estos POUs en el proyecto, se debe incluir la librería standard.lib en
éste.

1
 Data types: en este apartado el usuario puede definir sus propios tipos de datos.
Como, por ejemplo: estructuras, tipos de enumeración y referencias.

 Visualizations: CoDeSys proporciona visualizaciones de modo que el usuario


pueda mostrar las variables de su proyecto. Se pueden dibujar elementos
geométricos offline, que, en modo online, pueden cambiar su forma/color/texto en
respuesta a valores especificados de las variables.

 Resources: en este apartado se ayuda a configurar y a organizar el proyecto. Es


posible entre otras tareas la definición de variables globales las cuales se pueden
utilizar en todo el proyecto; la gestión de las librerías; la configuración de un sistema
de alarma o la configuración del hardware del PLC.

PRIMEROS PASOS

Para empezar a utilizar el programa lo primero que se debe hacer es crear un


proyecto nuevo, File > New y seguidamente aparecerá un cuadro de diálogo -Fig. 3-
para configurar el autómata al que nos conectaremos. Se selecciona del menú
desplegable el siguiente: XC-CPU201- EC512K-8DI-6DO-XV y se acepta (OK)

1
A continuación, aparecerá un menú para configurar el primer POU (Program
Organization Unit) del proyecto -Fig. 4-. Se puede elegir el lenguaje de
programación entre los 5 disponibles del estándar IEC además del tipo de POU
(Programa, Función o Bloque de Función). El primer POU creado en un proyecto
nuevo se llamará automáticamente PLC_PRG y este nombre no se podrá modificar.

Una vez creado el primer POU, ya se puede empezar a programar en el “Editor del
programa” en el lenguaje deseado. Para añadir más POUs al proyecto se debe
acceder a la primera pestaña, POUs, del “Árbol del proyecto”, hacer clic con el botón
derecho del ratón en la carpeta POUs y en Add Object… -Fig. 5-. A continuación
aparecerá un menú idéntico al del primer POU -Fig. 4-, para definir el tipo y el

1
lenguaje de éste. En este caso no aparecerá ningún nombre y se podrá elegir el que
se quiera (sin espacios entre medio).

Si se desea cambiar el nombre, el lenguaje, editar el objeto u otras propiedades de


los POUs definidos anteriormente, se debe hacer clic con el botón derecho en el
POU deseado y aparecerá un menú con todas las opciones posibles -Fig. 6-.

VERIFICACIÓN DEL PROGRAMA

Una vez se he ha acabado de programar el proyecto completo se debe comprobar


que no contenga errores, ya sean de sintaxis como de uso incorrecto de variables.
Para verificar un proyecto se debe ir al menú Project > Rebuild all. Los posibles
errores de programación aparecerán en la ventana inferior “Panel de resultados”
-Fig. 7- y mediante un doble clic en el mensaje del error se accederá directamente a
la línea de programación donde se ha producido en el “Editor del programa”.

1
CONFIGURACIÓN DEL AUTÓMATA

Uno de los pasos más importantes a la hora de programar un PLC es su correcta


configuración de Hardware dentro del Software de programación. Si este autómata
dispone de conexión Ethernet, como es nuestro caso, es preciso además configurar
la comunicación de red. Cada vez que se crea un proyecto nuevo, se elige la
configuración adecuada del autómata (XC-CPU201-EC512K-8DI-6DO-XV). Pero
además es necesario configurar las tarjetas de entradas y salidas de que
disponemos, si fuese el caso. Accediendo a la cuarta pestaña, Resources, del “Árbol
del proyecto” encontraremos la opción PLC Configuration. Si hacemos doble clic en
este apartado, aparece a la derecha la configuración del hardware que disponemos

-Fig. 8-.

1
Como podemos ver en el apartado Settings del autómata aparecen tres opciones,
Automatic calculation of addresses (cálculo automático de direcciones), Check for
overlapping addresses (comprobar la superposición de direcciones) y Save
configuration files in project (Guardar archivos de configuración en el proyecto), de
las cuales por defecto están seleccionadas las dos primeras y lo dejaremos así. Si
fuese necesario añadir y configurar nuevos módulos de expansión bastaría con
desplegar el apartado Non Display(SLOT) del árbol de direcciones de memoria del
autómata y agregarlo en uno de los slot vacios. En el apartado Other parameters
podemos seleccionar el comportamiento inicial del autómata (Start Behaviour),
activar o desactivar RS232/TCPCAN Routingsettings y easy-NETSettings, además
de ajustar las entradas I0.4 e I0.5 para el funcionamiento con contadores o
encoders. También tenemos una opción para actualizar el sistema operativo del
autómata (Update Operating System) en el saso que la versión de este se haya
quedado obsoleta -Fig. 9-.

Referencias
http://www.sc.ehu.es/sbweb/webcentro/automatica/Step7/paginas/contenido/step7/2/2.3.3.htm

http://personal.biada.org/~lescudero/varis/Tutoriales/AS5_GUI_SF02_003.pdf

http://lra.unileon.es/sites/lra.unileon.es/files/Documents/plc/Moeller/Manual%20Software_Codesys.pdf

file:///C:/Users/josea/Downloads/Capitulo%204.pdf

1
http://www.sc.ehu.es/sbweb/webcentro/automatica/Step7/paginas/contenido/step7/2/2.3.3

.htm

También podría gustarte