Libro - Plc Nivel Basico Tp301(Festo - Manual de Trabajo - 2000)
Short Description
Download Libro - Plc Nivel Basico Tp301(Festo - Manual de Trabajo - 2000)...
Description
scaneado por Mac gracias al diablo por pasar su conocimientos espero que les sirva la gloria de un hombre no esta en en su sabiduría ni su fuerza si no lo que trasmite asus semejantes por que por ello sera recordado por siempre Bien hecho en México
Ejercicio 11
Descripción del problema
croquis de situación
Un cilindro es accionado por medio de una electroválvula con retroceso por muelle (bobina Y1). Dos censores de proximidad indican las posiciones "extendida" (82)y "retraldan (B1). El pulsador (SI) se utiliza para accionar el cilindro de tal forma que avance desde la posición retraida a la extendida y viceversa. El cilindro debe avanzar una sola vez por accionamiento de pulsador. Para disparar un segundo movimiento del cilindro, el pulsador debe soltarse y accionarse de nuevo.
1 --y
Definición del ejercicio
1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC 3. Formulación del programa de PLC en uno de los diversos lenguajes de programación 4. Verificación y puesta a punto del programa de PLC y del sistema
Ejercicio 11
1. Trazado del esquema del circuito y montaje del equipo
Realización
Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
a Montar el equipo necesario en la placa perfilada: Cantidad
Descripción
1
Control lógico programable
1
Cable de unión con la unidad de conexión
1
Unidad de conexión
1
Unidad de mantenimiento
1
Distribuidor
1
Distribuidor de enchufe rápido
1
Cilindro de simple efecto
1
Electroválvula de 512 vlas de una bobina
1
Entrada de señales eléctricas
1
Sensor de proximidad inductivo
1
Sensor de proximidad capacitivo Tubo de plástico
Antes k h e d l e a r y conectar tubos: ¡Desconectar la alimentación1 ¡Desconectar la alimentación del aire!
a Establecer las conexiones eléctricas y neumáticas.
Lista de componentes
Ejercicio 1 1
2. Declaración de las variables de¡ programa del PLC
+ Todas
variables deben ser declaradas como variables locales del programa
a Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección
- sólo si se utilizan variables directamente direccionadas - y comentario sobre las variables. Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes de
programación
a Seleccionar uno de los lenguajes de programación soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la forrnulación de sistemas de control lógico son el diagrama de contactos, el diagrama de funciones, la lista de instrucciones y el texto estructurado. L
4. Verificación y puesta a punto de un programa y un sistema PLC
Antes de poner a punto la instalación:
m
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
m
¡Conectar la fuente de alimentación utilizando una tensión están-
dar de 24 V DC! m
Aumentar la presión del aire hasta la de funcionamiento (ver las fichas técnicas de los componentes neumáticos)
Funcionamiento de la instalación: m
3
jmantener despejada la zona de trabajo!
Cargar el programa en el PLC
a Realizar una función de prueba 3 Corregir
cualquier error que pudiera haber en el programa del PLC.
Documentar la solución.
TP301 Festo Didactic
Ejercicio 11
HOJA DE TRABAJO
-
1. Trazado del esquema del circuito y montaje del equipo Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
Esquema del
circuito elécfrico
Festo Didactíc
TP301
Ejercicio 11 HOJA DE TRABAJO Configurar el sistema de control
Esquema del circuito electroneumdtiw
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC: Designación
Tipo de dato
Dirección
Comentario
Declaración de variables
TP301 Festo Didactic
Ejercicio 1 1
HOJA DE TRABAJO 3. Formulación del programa de PLC en uno de los lenguajes de
programación
Formular la solución de la tarea de control en uno de estos lenguajes: Diagrama de funciones (FBD) Diagrama de contactos (LD) Lista de instrucciones (IL) Texto estructurado (ST)
o
Programa del PLC
Festo Dídacfic TP301
Ejercicio 11
HOJA DE TRABAJO Preguntas
Responder a las siguientes preguntas: 1. ¿Qué se entiende por un flanco negativo?
2. 'Qué efecto tiene el periodo de actuación en la ejecución del programa?
TP301 Festo Didactic
Ejercicio 12
Controles lógicos programables
Tema
Encolado de componentes Pulso
Título
Ser capaz de utilizar el bloque de función estándar TP para generar un pulso de tiempo.
Objetivo didáctico
Un gran número de tareas de control requieran la programación de tiempos. A través de IEC 1311-3, se dispone de bloques de función estándar para temporizadores con diferentes tipos de respuesta.
Conocimientos técnicos
Los temporizadores están disponibles para la realización de un pulso temporal, un retardo a la conexión y un retardo a la desconexión. Bloque de función TP, temporizador de pulso El bloque de función estándar TP (fig. A12.1) es un temporizador de pulso
La respuesta del bloque de función TP es como sigue: El bloque de función TP se pone en marcha con una señal corta o larga en la entrada IN. Una vez que el temporizador ha arrancado, aparece una señal 1 en la salida Q, por el tiempo especificado en la entrada PT. m El valor actual de tiempo (el tiempo que ha transcurrido desde el inicio) está disponible en la salida ET. m El temporizador sólo puede arrancar de nuevo una vez que haya expirado.
Festo Didactic JP301
--
Ejercicio 12
Programación de un temporizador de pulso en los diferentes lenguajes La utilización del temporizador de pulso en los diferentes lenguajes de programación se muestra con la ayuda del ejemplo dado abajo. Unas piezas deben sujetarse de forma segura durante un período de 12 segundos para un proceso de mecanizado, por medio de un dispositivo especial accionado por el cilindro Y1. El proceso se inicia accionando el pulsador de marcha SI.
Ejemplo
VAR
S1 AT %IX1 : BOOL; Y1 AT %QX1 : BOOL; TP-Y 1 : TP;
(* Pulsador S1 *) (* Bobina Y1 para el cilindro *) (' Temporizador de pulso TP-YI*) (* para el proceso de sujeción *)
END-VAR
FBD TP-Y 1 S1 T#IZs
PT
ET
Bloque temporizador TP-Y1 , conectado con los parametros indicados.
LD
TP-Y 1 Interconexión del bloque temporizador TP-Y1 en el renglón. Tabla A 12.1:
Utilización de un temporizador de pulso
TP301 Festo Didactic
Ejercicio 12
-
IL
BE-
.
CAL TP-Y1 (IN := S I , PT := T#12s) LD
TP-Y1.Q
ST
Y1
Invocación del bloque de función TP-Y 1. Lectura de la salida Q de TP-Y l . Almacenamiento del resultado actual en Y1.
ST TP-Y1 (IN := S I , PT := T#12s);
Invocación del bloque de función TP-Y 1.
Y1 := TP-Y1.Q;
Asignación de la salida Q de TP-Y1 a Y1.
Festo Didactic
TP301
Tabla A 12.1: Utilización de un temporizador de pulso (contiuacidn)
Ejercicio 12
Dos componentes deben ser encolados con la ayuda de un cilindro neumático 1.0. Para ello, las superficies a encolar se presionan entre sí con una determinada fuerza por un período de 5 segundos. El tiempo empieza a contar desde que el cilindro abandona su posición final retraída (sensor B1). Una vez transcurridos los 5 segundos, el cilindro regresa a su posición inicial. El proceso de encolado se inicia por medio del pulsador SI.
Descripción del problema
Croquis de situación
Definición del ejercicio
1
1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC 3. Formulación del programa de PLC en uno de los diversos lenguajes de programación 4. Verificación y puesta a punto del programa de PLC y del sistema.
TP301 Festo Didactic
Ejercicio 12
1. Trazado del esquema del circuito y montaje del equipo
Realización
* Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO. * Montar el equipo necesario en la placa perfilada: Quantíty
Description
1
Control 16gico programable
1
Cable de unión de la unidad de conexión
1
Unidad de conexión
1
Unidad de matenimiento
1
Distribuidor
1
Distribuidor de enchufe rápido
1
Cilindro de simple efecto
1
Electrov~lvulade 512 vlas de una bobina
1
Entrada de señales el6ctricas
1
Sensor de proximidad inductivo-magnético
Tubo de plástico
Antes de cablear y conectar los tubos: jDesconectar la alimentación! m
¡Cortar el aire comprimido en la unidad de mantenimiento!
a Establecer las conexiones eléctricas y neumáticas.
Festo Didactic
TP301
Lista de componentes
Ejercicio 12
2. Declaración de las variables del programa del PLC
a Todas variables deben ser declaradas como variables locales del programa. 3
Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección - sólo si se utilizan variables directamente direccionadas - y comentario sobre las variables.
Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes de
programación
=. Seleccionar uno de los lenguajes de programación soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la formulación de sistemas de control lógico son el diagrama de contactos, el diagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
Antes de la puesta en marcha de la instalación: m
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación: m
¡Conectar la fuente de alimentación utilizando una tensión estándar de 24 V DC!
m
Aumentar la presión del aire de alimentación en la unidad de mantenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación m
Mantener el entorno de trabajo despejado
Cargar el programa en el PLC 3
Realizar una función de prueba
3
Corregir cualquier error que pudiera haber en el programa del PLC.
3
Documentar la solución.
TP301 Festo Didactic
Ejercicio 12
HOJA DE TRABAJO 1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
Esquema del circuito el6ctrico
Festo Didactic
TP301
Ejercicio 12
HOJA DE TRABAJO Configurar el sistema de control
Esquema del circuito eleclroneumático
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC: Denominación
Tipo de datos
Dirección
Comentario
Declaración de variables
TP301 Festo Didactic
Ejercicio 12
HOJA DE TRABAJO 3. Formulación del programa de PLC en uno de los lenguajes de
programación Formular la solución de la tarea de control en uno de estos lenguajes: n Diagrama de funciones (FBD)
D
Diagrama de contactos (LD) Lista de instrucciones-flL) Texto estructurado (ST)
Programa del PLC
Festo Didacffc TP301
-
~
Ejercicio 12
HOJA DE TRABAJO Preguntas
Responder a las siguientes preguntas:: 1. Especificar en nombre y la función de los parámetros del temporizador de pulso.
2. ¿Cuál es la respuesta del temporizador, si se da una nueva señal
de marcha antes de que expire el tiempo? Completar el diagrama.
Fig. A12.2: Tiempo de respuesta del ternporizador de pulso
Ejercicio 13
-
Controles lógicos programables
Tema
Dispositivo de marcado Señal con retardo a la conexión
Título
Ser capaz de realizar un retardo a la conexión de una señal utilizando el bloque de función estándar TON
Objetivo didáctico
Bloque de función TON, Retardo a la conexión El bloque de función estándar TON se utiliza para generar un retardo a la conexión.
Conocimientos técnicos
BOOL
El comportamiento del bloque de función TON es como sigue: El bloque de función TON se pone en marcha por medio de una señal 1 en la entrada IN. m Una vez que ha expirado el tiempo especificado en la entrada PT, en la salida Q aparece una señal 1. La señal 1 en la salida Q permanece hasta que la señal de entrada IN vuelve a O. m Si la duración de la señal de entrada IN es menor que el tiempo especificado en PT, el valor de la salida Q permanece en O. m El valor actual del tiempo (el tiempo transcurrido desde el comienzo) está disponible en la salida ET. m
Festo Didactic TP301
Ejercicio 73
Programación de un señal con retardo a la conexión en los distintos lenguajes En el siguiente ejemplo se demuestra la utilización de un retardo a la conexión de una señal: Ejemplo
La puerta de un autobús se cierra cuando la zona de embarque ha permanecido despejada durante un tiempo especificado (5 segundos). Esto se supervisa por medio de una barrera fotoeléctrica. VAR B1 AT : BOOL; Y1 AT %QX1 : BOOL;
: TON;
TON-Y 1
(' Barrera fotoeléctrica (. Bobina Y1 del cilindro de (' cerrar la puerta (* Señal temporizada a la conexión (' TON-Y1 para cerrar la puerta
END-VAR FBD TON-Y 1 B1 T#5s
jzt PT
ET
Conexión de entradas y salidas del bloque de función TON-Y1 con 10s pargmetros actuales.
LD TON-Y 1 Interconexióndel bloque de función TON-Y1 en el renglón. Tabla A 13.1: Utilización de un temponzador a la conexión
*) *) *) *) *)
Ejercicio 13
.
IL CAL TON-Y1 (IN := 81, PT := T#5s)
LD
TON-Y1.Q
ST
Y1
'
.
Invocación del bloque de función TON-Y1. Lectura de la salida Q de TON-Y 1. Almacenamiento del resultado actual en Y1.
ST
TON-Y 1 (IN := 61, PT := T#5s);
Invocación del bloque de función TON-Y1 .
Y1 := TON-Y1.Q;
Asignación de la salida Q de TON-Y1 a Y1.
Tabla A13.1: UtilUacíón de un ternporizador a la conexión (continuacidn)
Ejercicio 13
Una pieza debe marcarse accionando un pulsador (SI). Para asegurar que el ciclo de marcado no se pone en marcha inadvertidamente, deberá mantenerse presionado el pulsador durante más de tres segundos. La posición de cilindro 1.0 se establece por medio de los interruptores de proximidad B1 (retrafdo) y 82 (extendido).
Descripción del problema
Croquis de situación
1
.. -
Definición del ejercicio
1. Trazado del esquema del circuito y montaje del equipo 2. Declaración de las variables del programa PLC 3. Formulación del programa de PLC en uno de los diversos lenguajes
de programación 4. Verificación y puesta a punto del programa de PLC y del sistema
TP301 'e Festo Didactic
Ejercicio 13
1. Trazado del esquema del circuito y montaje del equipo 3
Realización
Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO. Montar el equipo necesario en la placa perfilada:
Cantidad
Descripción
1
Control lógico programable
1
Cable de unión para la unidad de conexión
1
Unidad de conexión
1
Unidad de mantenimiento
1
Distribuidor
1
Distribuidor de enchufe rápido
1
Cilindro de simple efecto
1
Electrováivula de 512 vias de una bobina
1
Entra& de señales eléctricas
1
Sensor de proximidad inductivo
1
Sensor de proximidad capacitivo Tubo de plástico
Antes de cablear y conectar los tubos: iDesconectar la alimentación! m
3
¡Cortar el aire comprimido en la unidad de mantenimiento!
Establecer las conexiones eléctricas y neumáticas.
Festo Didactic TP301
Lista de wmponentes
Ejercicio 13
2. Declaración de las variables del programa del
PLC
Todas variables deben ser declaradas como variables locales. 3
Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección - sólo si se utilizan variables directamente direccionadas y comentario sobre las variables.
-
Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes de programación 3
Seleccionar uno de los lenguajes de programación soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la formulación de sistemas de control lógico son el diagrama de contactos, el diagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
Antes de poner a punto la instalación: Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalación: m
¡Conectar la fuente de alimentación utilizando una tensión estándar de 24 V DC!
m
Aumentar la presión del aire de alimentación en la unidad de mantenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación m
Mantener el entorno de trabajo despejado
+ Cargar el programa en el PLC 3
Realizar una función de prueba
3
Corregir cualquier error que pudiera haber en el programa del PLC.
+ Documentar la solución.
TP301 Festo Didactic
Ejercicio 13
HOJA DE TRABAJO
-
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
Esquema del circuito el6ctrim
Festo Didactic
TP301
Ejercicio 13
Configurar el sistema de control.
Esquema del circuito, electro-neumático
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC: Designación
Declaración de variables
Tipo de datos
Dirección
Comentario
1
TP301 e Festo Dídactic
Ejercicio 13
3. Formulación del programa de PLC en uno de los lenguajes de
programación Formular la solución de la tarea de control en uno de estos lenguajes: D Diagrama de funciones (FBD) D Diagrama de contactos (LD) Lista de instrucciones (IL) D Texto estructurado (ST)
Programa del PLC
Festo Didaclic TP302
Ejercicio 13
HOJA DE TRABAJO Pregunta
Responder a la siguiente pregunta: 1. El ciclo de marcado ya se ha iniciado. Si no se suelta el pulsador, ¿qué efectos tiene en la ejecución del programa?
TP301 Festo Didactic
Ejercicio 14
Controles lógicos programables
Tema
Dispositivo de fijación Señal con retardo a la desconexión
Título
Ser capaz de realizar una temporización a la desconexión utilizando el bloque de función estándar TOF
Objetivo diddctiw
Bloque de función TOF, retardo a la desconexión El bloque de función estándar TOF (fig. A14.l)'se utiliza para generar retardos de señales a la desconexión.
Conocimientos técnicos
BOOL
El comportamiento de un bloque de función TOF es como sigue: m
m
El bloque de función TOF se pone en marcha con una señal 1 en la entrada IN. Inmediatamente la salida Q adopta el valor 1. Una vez que la señal IN ha pasado de nuevo al valor O, la salida Q sigue teniendo señal 1 durante el fiempo especificado en la entrada PT, transcurrido el cual vuelve a adoptar el valor O.
Festo Didactic
JP301 4
Ejercicio 14
Programación d e un temporizador c o n retardo a la desconexión e n l o s diferentes lenguajes A continuación se muestra un ejemplo de utilización de un temporizador a la desconexión:
Ejemplo
La puerta de un horno incluye un bloqueo de forma que no debe poder abrirse instantáneamente durante el proceso. Si se emite una señal de apertura d e l horno, la puerta solamente se desbloqueará una vez transcurridos 10 minutos. VAR Doo~-closed AT AT
Y1
TOF-Door
%MX1: BOOL;
Memoria
para enclavamien-*) (' to de la puerta del horno *) %QX1: BOOL; (' Bobina Y1 para el cil. de *) (' apertura de la puerta. *) TOF; (. Señal de desconexión re- *) (' tardada TOF-Door *)
END-VAR FBD TOF-Door
Conexión de entradas y salidas del bloque de función TOF-Door con los parhrnetros actuales.
Door-closed
LD
D Tabla A14.1: Utilización de un retardo a la desconexión
o
o
T#lOm
TOF-Door ~ l o q
PT
ET
~
lq ~
y
t
Interconexión del bloque de función TOF-Door en el renglón.
TP301 Festo Dídactic
Ejercicio 14
IL
.
.
CAL TOF-Door (IN := Door-closed, PT := T#lOrn) Invocación del bloque de función TOF-Door. LD TOF-D0or.Q Lectura de la salida Q de TOF-Door. ST Y1 Almacenamiento de resultado actual de Y1
ST TOF-Door (IN := Door-closed, PT := T # l Orn);
Invocación del bloque de función TOF-Door.
Y1 := TOF-D0or.Q;
Asignación de la salida Q de TOF-Door a Y 1.
Tabla A14.7: Utjlización de un retardo a la desconexión (continuación)
Ejercicio 14
Un8 pieza debe sujetarse activando el pulsador de marcha SI.Cuando la pieza es sujeta por el cilindro 1.O, el cilindro 2.0 avanza y marca la pieza. Dado que la pieza necesita un tiempo para enfriarse, permanece sujeta durante 3 segundos. Este tiempo empieza con el avance del cilindro 1:O.
Descripcidn del problema
Croquis de situación
Definición del ejercicio
( 1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC 3. Formulación del programa de PLC en uno de los diversos lenguajes de programación
4. Verificación y puesta a punto del programa de PLC y del sistema
TP301 Festo Didactic
Ejercicio 14
1. Trazado del esquema del circuito y montaje del equipo .
Realización
Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO Montar el equipo necesario en la placa perfilada:
Cantidad
Descnjlción
1
Control lógico programable
1
Cable de unión para la unidad de conexión
1
Unidad de conexión
1
Unidad de mantenimiento
1
Distribuidor
1
Distribuidor de enchufe rápido
1
Cilindro de simple efecto
1
Cilindro de doble efecto
1
Electroválvula de 5í2 vlas de una bobina
1
Electroválvula de 5í2 vias de dos bobinas
1
Entrada de señales eléctricas
4
Sensor de proximidad inductivo
1
Disiribuidor de enchufe rápido Tubo de plástico
Antes de cablear y conectar los tubos: ¡Desconectar la alimentación! ¡Cortar el aire comprimido en la unidad de mantenimiento!
3
Establecer las conexiones eléctricas y neumáticas.
Festo Didactic TP301
Tabla A 14.1: Lista de componentes
Ejercicio 14
2. Declaración de las variables del programa del PLC
* Todas variables deben ser declaradas como variables locales del programa
* Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección
- sólo si se utilizan variables directamente direccionadas - y comentario sobre las variables. Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes de
programación Seleccionar uno de los lenguajes de programación soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la formulación de sistemas de control lógico son el diagrama de contactos, el diagrama de funciones, la lista de insttycciones y el texto estructurado.
4. Verificación y puesta a punto de u n programa y un sistema PLC
Antes de poner a punto la instalación: Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalación: iconectar la fuente de alimentación utilizando una tensión estándar de 24 V DC!
m
Aumentar la presión del aire de alimentación en la unidad de mantenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación
-
Mantener el entorno de trabajo despejado
a Cargar el programa en el PLC 3
Realizar una función de prueba Corregir cualquier error que pudiera haber en el programa del PLC. Documentar la solución.
TP301 Festo Didactic
Ejercicio 14
HOJA DE TRABAJO \
1. Trazado del esquema del circuito y montaje del equipo Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
PLC
I
Esquema del circuito eléctrico
Festo Didactic TP301
Ejercicio 14
HOJA DE TRABAJO Configurar el sistema de control
Esquema del circuito electroneumático
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
Declaración de variables
TP301 Festo Didaclic
HOJA DE TRABAJO 3. Formulación del programa de PLC en uno de los lenguajes de programación
Formular la solución de la tarea de control en uno de estos lenguajes: Diagrama de funciones (FBD) D Diagrama de contactos (LD) Lista de instrucciones (IL) D Texto estructurado (ST)
Programa del PLC
Festo Didactic TP301
Ejercicio 14
HOJA DE TRABAJO Pregunta
Responder a la siguiente pregunta: 1. ¿A través de qué señal empieza a contar el temporizador con retar-
do a la desconexión?
Ejercicio 15
-
Controles lógicos programables
Tema
Dispositivo elevador para paquetes Secuencia lineal
Título
Ser capaz de diseñar y representar sistemas secuenciales de control simples según IEC 848. m Ser capaz de programar un sistema de control secuencial consistente en una secuencia lineal m Ser capaz de utilizar el lenguaje de programación Diagrama de Funciones Secuencia1
Objetivo didáctico
Sistemas de control secuenciales Los sistemas de control secuencial describen procesos que suceden en varias etapas claramente separadas.
Conocimientos técnicos
La transición de una etapa a la siguiente depende del estado del proceso. El proceso puede derivarse en procesos parciales en relación con el estado del proceso establecido. Por lo tanto, el programa de un sistema de control secuencial debe cumplir con tres funciones básicas:
Acciones ejecutivas: Etapa
vación de salidas Activación y desactlvación de memorias. Activación y arranque de temporizadores y contadores
tradas y memorias Interrogación de temporizadores Interrogación de contadores
Condiciones de transición (condiciones de
recorrido para la continuación del programa Derivaciones
-
recorrido Seguimiento de recoridos en paralelo
I Festo Didaciic TP301
Fig. A15.1: Funciones de un programa de control
Ejercicio 15
Representación general de un sistema de control secuencial El diagrama de funciones secuencial según IEC 848 es adecuado para la descripción y planificación de sistemas de control secuenciales. Permite una clara representación gráfica del comportamiento y funcionamiento de un sistema de control secuencial.
6 Establecer posición inicial
t
Pieza en almacén, cilindro 1.O y cilindro 2.0 en posición retralda
o t Cilindro 1.O avanza
S
2.1: Cilindro 1.O avanzado y
pieza expulsada
0 t Cilindro 2.0 avanza
S
3.1: Cilindro 2.0 avanzado S
I t Fíg. A 15.2: Ejemplo de un sistema de control secuencia/
l t
(
1
1
( Cilindro 1.O retrocede (
1
1
1
Cilindro 2..0 retrocede
4.1: Cilindro 2.0 ha retrocedido S
5.1: Cilindro 1.0 ha retrocedido
El ejemplo mostrado describe la siguiente tarea de control: Se alimenta una pieza desde un almacén por gravedad para su posterior mecanizado. La pieza es extraída del almacén por el cilindro 1.0 y transferida hacia una cinta transportadora por una rampa por medio de un segundo cilindro 2.0.
TP301 Festo Didactic
Ejercicio 15
Programación de un sistema de control secuencial por medio del Diagrama de Funciones Secuencia1 Los sistemas de control secuencial pueden programarse de forma fácil y sencilla utilizando el diagrama de funciones secuencial. El diagrama de funciones secuencial procede del diagrama de funciones según IEC 848. El ejemplo mostrado en la fig. A15.3 ilustra la utilización del diagrama de funciones secuencial para el control de la tarea mencionada arriba. m m
m m
Etapa => Clasificación en acciones Transición => Descripción por medio de condiciones de transición Derivación alternativa y unión Derivación en paralelo y unión
Cuando se pone en marcha el programa del PLC, la etapa designada como inicial S1 se activa automáticamente. A menudo, en esta etapa inicial suele situarse el sistema en su posición de partida. En el ejemplo mostrado', la etapa S1 es una etapa vacía. Si se cumplen las condiciones de habilitación de la siguiente etapa - los cilindros 1.0 y 2.0 están retraldos y el almacén contiene piezas - se activa la etapa S2 y se desactiva la SI. Hay que observar que los nombres de las etapas representan nombres en el sentido de IEC 1131-3. Por lo tanto deben empezar con una letra o un signo de subrayado. Además, en la medida que esto es posible por el proceso concerniente, en el tercer campo se especifica la variable que se verá afectada al final de la acción indicada. En la etapa S2, el cilindro 1.0 ha avanzado por la activación de la bobina de la electroválvula Y1. Al llegar a su posición final delantera y estando la pieza en posición correcta (B2 = l), se desactiva la etapa S2 y se activa la S3. El cilindro 1.0 permanece extendido como resultado del cualificador S (=SeVActivar). En la etapa 3, el cilindro 2.0 avanza por el efecto de la activación de la electrovAlvula Y2 y transfiere la pieza a una rampa. El cilindro 2.0 retrocede de nuevo una vez que ha alcanzado su posición final delantera. Si el sensor 85 señala que se ha alcanzado la posición final retraída del cilindro 2.0, el cilindro 1.0 también retrocede. El sensor 83 señala ahora el final de la secuencia y el programa regresa al principio. Toda la secuencia de las etapas se repite de nuevo.
Festo Didactic TP301
Ejercicio 15
VAR Y1 Y2 B1 82 B3 B4 B5 B6
Fig. A 15.3: Ejemplo de un diagrama de funciones secuencial
AT AT AT AT AT AT AT AT
%QX1 %QX2 %IX1 %IX2 %IX3 %IX4 %IX5 %IX6
: BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL;
(* Bobina Y1, Cilindro 1.O (' Bobina Y2, Cilindro 2.0 (' Pieza en almacén (' Pieza expulsada (' Cilindro 1.O retraído (* Cilindro 1.O extendido (* Cilindro 2.0 retraído (' Cilindro 2.0 extendido
Ejercicio 15
VAR Y1 Y2 B1 82 83 B4 B5 B6
AT AT AT AT AT AT AT AT
: : : : : : :
BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; : BOOL;
(* Bobina Y1, Cilindro 1.O (* Bobina Y2, Cilindro 2.0 (* Pieza en almacén (* Pieza expulsada (* Cilindro 1.0 retraído (* Cilindro 1.O extendido (* Cilindro 2.0 retraido (* Cilindro 2.0 extendido
Fig. A 15.3: Ejemplo de un diagrama de funciones secuencia1
TP301 Festo Didactic
Ejercicio 15
Generación de una secuencia de etapas por medio de elementos memorizantes RS La secuencia de etapas puede generarse utilizando elementos memorizantes si el lenguaje de diagrama de funciones -secuencial no es soportado directamente como programa del PLC que se utilice.
Etapa n-1 Condiciones de habilitacián para la etapa n Etapa n+l
R
Cada etapa es asignada a un flip-flop RS. Este memoriza el estado de cada etapa. El flip-flop correspondiente está activado, si la etapa en proceso se está ejecutando; si la etapa está inactiva, el flip-flop se desactiva.
Como se muestra en la fig. A15.4, las condiciones de partida para . cualquier etapa n (dentro de la secuencia de una etapa) son: La etapa precedente n-1 está activa Se cumple la condición de habilitación para la etapa. Cada etapa es desactivada por la etapa siguiente. De esta forma, las etapas individuales de una secuencia de etapas se procesan consecutivamente. La estructura de una secuencia de etapas se establece en detalle en la fig. A15.5. El lenguaje FBD se utiliza para la programación de las tareas de control en la fig. A15.2 Todas las acciones se producen como aciones booleanas.
--
Ejercicio 15
VAR Y1 AT %QX1 Y2 AT %QX2 B1 AT %IX1 B2 AT %IX2 B3 AT %IX3 B4 AT %IX4 85 AT %IX5 B6 AT %IX6 RS-S1 RS S2 R S ~ S ~ RS-S4 RSS5 RS-Y 1 RS-Y2
: BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : RS; : RS; : RS; : RS; : RS; : RS; : RS;
(' Bobina Y1, Cilindro 1.O (' Bobina Y2, Cilindro 2.0 (' Pieza en almacén (' Pieza expulsada (* Cilindro 1.O retraído (' Cilindro 1.O extendido (' Cilindro 2.0 retraido (* Cilindro 2.0 extendido (' Flip-flop para Etapa S1 (* Flip-flop para Etapa S2 (' Flip-flop para Etapa S3 (' Flip-flop para Etapa S4 (' Flip-flop para Etapa S5 (' Flip-flop para bobina Y1 (' Flipflop para bobina Y2
(' Programación de la secuencia de etapas *)
RS-S 1 (* Activación del ")
(' Etapa S1
RS-S2.Ql
RS-SI.Ql B3 85 B1 Fig. A 75.5: Ejemplo de una secuencia de etapas con elementos memorizantes RS
RS-S3.Ql
-
-
&
*)
RS-S2 RS Q1 -S R1
(* Activación del *) (* flipflop para *) (* Etapa S2 *)
TP301 Festo Didactic
-
~
-
-
Ejercicio 15
RS-S3 (' Activación del *) (* flip-flop para *) iEtapa S3 *)
1
n i---R -Q c S 4 I. RS-S4
(' Activación del *) (' fligflop para *) ('Etapa S4 *)
RS-S5.QI RS-S5
RS-S1 .Q1
(' Activacidn del *) (* flip-flop para *) (' Etapa S5 *)
R1
I
(* Programación de la sección de potencia *)
4
RS-Y 1
RS-S.QI RS_S5.Q1
;l
(* (' Cilindro Bobina Y1 1.Opara
RsQqk
*) *)
RS-Y 2
RS-S3.QI RS-9.Ql
$:I
RSQl
Y2
(' Cilindro (* Bobina Y2 2.0para *)
La programación de la secuencia de etapas requiere una ampliación de la sección de declaración en la fig. A15.3. Se necesita un flip-flop RS adicionalmente para cada etapa. Además, el estado de las bobinas Y1 e Y2 están almacenadas por medio de flip-flops.
El programa consiste en m m
Secuencia de etapas Sección de potencia (para la activación de las salidas)
Fig. A15.5: Ejemplo de una secuencia de etapas con elementos memorizantes RS (continuación)
Ejercicio 15
Un transportador de rodillos es supervisado por un sensor de proximidad 61, para comprobar si hay un paquete presente. Si es este el caso, el paquete es empujado por un cilindro 1.O (cilindro de elevación) y a continuación es transferido a otro transportador por medio del cilindro 2.0 (cilindro de transferencia).
Descripción del
problema
El cilindro 1.0 debe retroceder primero, seguido del cilindro 2.0. Los cilindros avanzan y retroceden por medio de electroválvulas (bobinas Y1 e Y2). Las posiciones del cilindro se supervisan por medio de los interruptores de proximidad 82 o B5. En el lado de la alimentación, los paquetes han sido previamente.dispuestos de forma tal que llegan al dispositivo de alimentación individualmente.
Croquis de situacidn
1
TP301 Fesio Didactic
Ejercicio 15
1. Trazado del esquema del circuito y montaje del equipo
Definición del ejercicio
2. Descripción de la tarea de control por medio del diagrama de funciones secuencial IEC 848 3. Declaración de las variables del programa PLC 4. Formulación del programa de PLC por medio del diagrama de funciones secuencial IEC 848 o Programación de las condiciones de transición directamente en
uno de los lenguajes FBD, LD o ST o Especificación de las acciones como acciones booleanas
5. Verificación y puesta a punto del programa de PLC y del sistema.
1. Trazado del esquema del circuito y montaje del equipo 3 Completar el esquema eléctrico del circuito en 3
la HOJA DE TRABAJO.
Montar el equipo necesario en la placa perfilada:
Cantidad
-
Descn'pci¿n
1
Control lógico programable
1
Cable de unión para la unidad de conexión
1
Unidad de conexión
1
Unidad de mantenimiento
1
Disttibuidor
2
Cilindro de doble efecto
2
Electroválvulade 512 vías de una bobina
1
Sensw de proximidad óptico
4
Censor de proximidad inductivo
Tubo & plástico
¡Desconectar la alimentación! ¡Cortar el aire comprimido en la unidad de mantenimiento!
+ Establecer las conexiones eléctricas y neumáticas.
Lista de componentes
Ejercicio 15
2. Descripción de la tarea de control por medio del diagrama de funciones según IEC 848
+ Creación del programa en diagrama de funciones según IEC 848. 3. Declaración de las variables del programa del PLC
Todas variables deben ser declaradas como variables locales del programa. Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección - sólo si se utilizan variables directamente direccionadas - y comentario sobre las variables. Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
4. Formulación del programa de PLC en diagrama de funciones secuencial 3 Diseñar la
estructura de la secuencia en etapas y transiciones.
Programar las condiciones de transición directamente en uno de los lenguajes FBD, LD o ST.
* Formular las acciones asociadas con las etapas directamente como acciones booleanas.
* Crear la estructura de etapas copiando los pasos en los elementos memorizantes si el diagrama de funciones secuencial no está directamente soportado por el PLC que se utilice.
TP301 Festo Didactic
Ejercicio 15
5. Verificación y puesta a punto de un programa y un sistema PLC
Antes de poner a punto la instalación: Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalación: ¡Conectar la fuente de alimentación utilizando una tensión estándar de 24 V DC! Aumentar la presión del aire de alimentación en la unidad de mantenimiento (ver ficha técnica de los componentes neumáticos) Puesta a punto de la instalación: B
Mantener el entorno de trabajo despejado
Cargar el programa en el PLC
a Realizar una función de prueba Corregir cualquier error que pudiera haber en el programa del PLC. 3 Documentar
Festo Didactic
la solución.
TP301
-
Ejercicio 15
HOJA DE TRABAJO 1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
Festo Didactic TP301
Ejercicio 15
HOJA DE TRABAJO Configurar el sistema de control
Esquema del circuito electroneumático
2. Descripción de la tarea de control por medio del diagrama de funciones según IEC 848
a Creación del programa en diagrama de funciones según IEC 848.
TP301 Festo Dídactic
HOJA DE TRABAJO 3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
Declaración de variables
4. Formulación del programa de PLC en diagrama de funciones secuencial
Festo Didactic TP301
Ejercicio 15
HOJA DE TRABAJO Preguntas
Responder a las siguientes preguntas: 1. &Cuáles la función de una etapa sin acciones asociadas?
2. ¿Cuál es la respuesta del programa en diagrama de funciones secuencial si la acción de la etapa S3: "Avanzar cilindro 2.0" se programa como acción no-memorizante?
TP301 Festo Didactic
Ejercicio 16
Controles lógicos programabks
Tema
Dispositivo elevador y clasificador para paquetes Secuencia con desvío alternativo
Título
Ser capaz de programar un sistema de control secuencial con una derivación alternativa
Objetivo didáctico
Sistema de control, secuencia1 con derivación alternativa Hay sistemas de control secuencial, en los que deben preverse diferentes secuencias. Una secuencia es seleccionada dependiendo de las señales originadas por el proceso.
Conocimientos técnicos
1
1 Verificar posicion iniciai 1
t t
t
Pieza pequeiia
t
2.1 : Pieza fijada N
1
Estampar pieza
111
3.1: Pieza estampada
Pieza grande
4.1: Pieza fijada
N
1
Estampar pieza
11]
5.1: Pieza estampada
16rKr_=.. S
1 t
Liberar pieza
6.1: Pieza liberada
w u N
Expulsar pieza
7.1: Pieza expulsada
Festo Didactic
TP301
Fíg. A16.1: Ejemplo de sistema de control secuencial con derivación alternativa
Ejercicio 16
Un ejemplo de una secuencia de control así, puede representarse por una herramienta de estampación que estampa piezas pequeñas o grandes por medio de dos cilindros diferentes. La fig. A16.1 ilustra el diagrama de funciones según IEC 848 para el ejemplo mencionado arriba. El desvfo alternativo es representado por tantas transiciones como secuencias posibles existan. Para seleccionar sólo una opción, las condiciones de transición deben excluirse mutuamente. Hay disponibles dos, secuencias para la selección en el ejemplo dado. S se detectan piezas pequeñas, solamente se procesan los pasos 1, 2, 3, 6 y 7. Si hay presente una pieza grande, el programa deriva al las etapas 4, 5 6, y 7 después de la etapa 1.
Programación de un control secuencia1 con derivación alternativa Los sistemas secuenciales representados en diagrama de funciones según IEC 848 son fáciles de programar con el diagrama de funciones secuenciales. En el programa listado abajo, las condiciones de transición han sido formuladas en el lenguaje ST. La etapa inicial S1 está activa tras el arranque del programa. S1 es una etapa vacía, es decir, no se han asignado acciones a esta etapa. Si todos los cilindros están retraídos y hay presente una pieza pequeña, se activa la etapa S2 y se desactiva la etapa SI. La pieza es a continuación fijada, estampada, liberada y finalmente expulsada. Si se ha detectado una pieza grande (B1=l y B2=1), las etapas S I , S4, S5, S6 y S7 se ejecutan consecutivamente.
A continuación, el procesamiento de las etapas empieza de nuevo con la etapa SI.
TP301 Festo Didactic
Ejercicio 16
VAR B1 B2 B3 B4 B5 B6 B7 88 B9 B10 Y1 Y2 Y3 Y4
AT AT AT AT AT AT AT AT AT AT AT AT AT AT
%IX1.0 : %lX1.1 : %IX2.0 i: %IX2.1 : %IX2.2 : %IX2.3 : %IX2.4 : %IX2.5 : %IX2.6 : %IX2.7 : %QX1.0 : %QX1.1 : %QX1.2 : %QX1.3 :
BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;
(* pieza grande o pequeña *) (* sólo para pieza grande *) (* cilindro 1.O retraído *) (* cilindro 1.O extendido *) (' cilindro 2.0 retraído *) (* cilindro 2.0 extendido *) (* cilindro 3.0 retraído *) (* cilindro 3.0 extendido *) (' cilindro 4.0 retraído *) (* cilindro 4.0 extendido *) (* cilindro 1.0: fijación *) (* cilindro 2.0: estampar pequ. *) (* cilindro 3.0: estampar grande *) (' cilindro 4.0: explusor *)
Fig. A 16.2: Ejemplo de diagrama de funciones secuencia1 con derivación alternativa
Festo Didactic TP301
Ejercicio 16
En el ejemplo anterior, las acciones de las etapas S3, S5 y S7 son programadas como, no-memorizantes. Esto se indica por el calificador N. Por lo tanto, las variables booleanas solamente tienen señal 1 rnientras las etapas asociadas están activas.
Si el PLC utilizado no dispone de la opción de programar directamente en diagrama de funciones secuencial, la secuencia de etapas puede generarse en este caso utilizando elementos memorizantes.
TP301 Festo Didactic
Ejercicio 16
Unos paquetes son transportados hacia un dispositivo de medida en un transportador de rodillos para establecer su tamaño. Hay dos tamaños de paquetes diferentes: Paquetes largos y cortos. El dispositivo de medición lineal suministra señal O para; los paquetes cortos y señal 1 para paquetes largos.
Descripción del problema
A continuación, el paquete llega a una plataforma elevadora. La secuencia empieza con el pulsador de MARCHA SI. Los paquetes son elevados por un dispositivo elevador 1.0. A continuación los paquetes son clasificados: los paquetes cortos se transfieren a un segundo transportador por medio del cilindro 2.0 y los largos a un tercer transportador por medio del cilindro 3.0. El cilindro de elevación 1 .O debe retroceder de nuevo una vez que los cilindros 2.0 y 3.0 hayan alcanzado su posición final retraída.
Las posiciones del cilindro se detectan por medio de interruptores de proximidad 61 a B6. El cilindro 1.0 avanza y retrocede por medio de una electroválvula de dos bobinas Y1 e Y2. Los cilindros 2.0 y 3.0 avanzan y retroceden por medio de las electroválwlas de una sola bobina (bobinas Y3 e Y4).
1 Festo Didactic
TP301
Croquis de siluaci6n
Ejercicio 16
Definición del ejercicio
Trazado del esquema del circuito y montaje del equipo 2. Descripción de la tarea de control por medio del diagrama de funciones secuencial IEC 848 3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC por medio del diagrama de funciones secuencial o Programación de las condiciones de transición directamente en uno de los lenguajes FBD, LD o ST o Especificación de las acciones como acciones booleanas 5. Verificación y puesta a punto del programa de PLC y del sistema.
Realización
1. Trazado del esquema del circuito y montaje del equipo 3 Completar el
esquema eléctrico del circuito en la HOJA DE TRABAJO.
Montar el equipo necesario en la placa perfilada: Cantidad 1
Control 16gico programable
1
Cable de unión para la unidad de conexión
1
Unidad de conexión
1
Unidad de mantenimiento
1
Distribuidor
1
Conector de enchufe rápido
1
Cilindro de simple efecto
2
Cilindro de doble efecto
2
Electroválvula de 5/2 vlas de una bobina
1
Electroválvula de 5/2 vlas de dos bobinas
1
Entrada de sefiales eléctricas
1
Sensor de proximidad capacitivo
1
Sensor de proximidad óptico
4
Lista de componentes
Designación
Sensor de proximidad inductivo - Tubo de plástico
TP301 Festo Didactic
Ejercicio 16
Antes de cablear y conectar los tubos: ¡Desconectar la alimentación! ¡Cortar el aire comprimido en la unidad de mantenimiento!
+ Establecer las conexiones eléctricas y neumáticas. 2. Descripción de la tarea de control por medio del diagrama de funciones según IEC 848
+ Creación del programa en diagrama de funciones según IEC 848. 3. Declaración de las variables del programa del PLC
a Todas variables deben ser declaradas como variables locales del programa.
* Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección - sólo si se utilizan variables directamente direccionadas - y comentario sobre las variables.
.
Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
4. Formulación del programa de PLC en diagrama de funciones secuencial
Diseñar la estructura de la secuencia en etapas y transiciones.
a Programar las condiciones de transición directamente en uno de los lenguajes FBD, LD o ST. 3
Formular las acciones asociadas con las etapas directamente como acciones booleanas.
3 Crear
la estructura de etapas copiando los pasos en los elementos memorizantes si el diagrama de funciones secuencia1 no está directamente soportado por el PLC que se utilice.
Festo Didactic
TP301
Ejercicio 16
5. Verificación y puesta a punto de un programa y un sistema PLC
Antes de poner a punto la instalación: m
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación: m
¡Conectar la fuente de alimentación utilizando una tensión estándar de 24 V DC!
m
Aumentar la presión del aire de alimentación en la unidad de mantenimiento (ver ficha técnica de los componentes neumáticos) .
Funcionamiento de la instalación m
Mantener el entorno de trabajo despejado
3 Cargar
el programa en el PLC
a Realizar una función de prueba 3 Corregir
cualquier error que pudiera haber en el programa del PLC.
+ Documentar la solución.
TP307
Festo Didactic
Ejercicio 16
HOJA DE TRABAJO 1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
24V -
PLC
r OV O
I
I
I
I
1
1
I
Esquema del circuito eléctrico
Fesio. Didactic TP301 .
Ejercicio 16
HOJA DE TRABAJO Configurar el sistema de control
Esquema del circuito electroneumático
2. Descripción de la tarea de control por medio del diagrama de funciones según IEC 848 2 Creación
Preguntas
del programa en diagrama de funciones según IEC 848.
Responder a las siguientes preguntas:
1. 'Cuál es el criterio de clasificación según el cual se evalúan los paquetes?
2. ¿Cómo se asegura que se seleccione una sola secuencia de etapas durante la ejecución del programa?
TP301 Festo Didactic
Ejercicio 16
HOJA DE TRABAJO 3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
Declaración de variables
4. Formulación del programa de PLC en diagrama de funciones se-
cuencial
Festo Didactic TP301
Ejercicio 16
HOJA DE TRABAJO
Pregunta
Responder a la siguiente pregunta: 3. Especificar cuáles son las condiciones de transición que siempre son ciertas. ¿Por qué se formulan estas condiciones de transición?
TP301 Festo Didactic
Ejercicio 17
Tema
Controles lógicos programables Dispositivo de estampación con contador
Ciclos de conteo Poder realizar ciclos de conteo por medio de la utilización de los módulos de función estándar CTU o CTD
Objetivo didáctico
Los ciclos de conteo forma parte de las operaciones básicas de un PLC. IED 1131-3 define tres bloques de función estándar: CTU (contador incremental), C I D (contador decremental) y CTUD (contador incrementalldecremental) para la realización de estas operaciones.
Conocimientos técnicos
1
Bloque de función CTU, contador incremental El bloque de función CTU (fig. A17.1) realiza un contador incremental.
Su interface está definido por medio de tres parámetros de entrada y dos de salida.
BOOL INT
El comportamiento característico de un contador incremental es como sigue:
= =
Una señal 1 en la entrada de reset R, pone el estado CV del contador a O. A continuación, el valor CV del contador se incrementa en 1 a cada flanco ascendente en la entrada CU. Aparece una señal 1 en la salida Q en el momento en que el valor actual CV es igual o mayor que el valor preseleccionado PV. La salida Q tiene valor O mientras el estado actual CV del contador sea inferior al valor preseleccionado PV.
Festo Didactic, TP301
Ejercicio 17
Bloque de función CTD, contador decremental Bloque de función CTD (fig. A17.2) siendo un contador decremental funciona de forma opuesta al bloque de función CTU.
BOOL INT
El comportamiento de un contador decremental es como sigue: Una señal 1 en la entrada LD establece el estado del contador CV al valor preseleccionado PV. m Cada flanco ascendente en la entrada CD decrementa el estado del contador CV en 1. m La salida Q muestra señal O mientras el estado actual del contador CV sea mayor de O. Solamente cuando el valor actual es menor o igual a O, aparece una señal 1 en la salida Q. m
TP301 Festo Didactic
Ejercicio 17
Uso del bloque de función CTU en cada uno de los lenguajes de programación La utilización del bloque de función se demuestra con un ejemplo de una pequeña tarea de envasado.
En una caja hay que poner 12 unidades de una determinada pieza. Una vez llena una caja, aparece otra. Cada ciclo de envasado se dispara con una memoria (flag) M-init. Las piezas son detectadas por medio de un censor B1. El estado del contador es copiado a una memoria M-new. VAR B1 AT %IXl.O : BOOL; M-init AT %MX1.O : BOOL; M-new AT %MX1.1 : BOOL;
: CTU;
CTU-1
(' detecta pieza para envasar (* detecta si el contador tiene (' que ser inicializado (* detecta si se requiere una (* nueva caja (' Contador incremental (' CTU-1 para el recuento
Ejemplo
') *) *) *) *) *) *)
END-VAR
FBD
B1 M-init 12
4-1
M-new
Bloque de función CTU-1, conectado con los parámetros actuales.
'
PV
cv
LD CTU-1
Interconexióndel bloque de función CTU-1 en el renglón. PV
Festo Didactic
TP301
cv
Tabla A17.1: Aolicación de un contador incremental
Ejercicio 17
IL
CAL CTU-1 (CU := 61, R := M-init, PV := 12) Invocación del bloque de función CTU-1
LD
CTU-1.Q
Lectura de la salida Q de CTU-1
ST
M-new
Almacenamiento del resultado actual en M-new
ST
CTU-1 (CU := B1, R := M-init, PV := 12);
M-new := CTU-1 .Q;
Invocación del bloque de función CTU-1
Asignación de la salida Q de CTU-1 a M-new
Tabla A17.1: (Continuación)
TP301 Festo Didactic
Ejercicio 17
En una máquina se estampan 10 piezas cada vez. El ciclo del programa se inicia poy medio de un pulsador SI. El interruptor de proximidad 87 indica "Pieza en almacén". Cada pieza se alimenta hacia la máquina por medio de un cilindro 1.0 y se sujeta. A continuación se estampa a través del cilindro 2.0 y después se expulsa por medio del cilindro 3.0.
Descripción del problema
El cilindro de sujeción 1.0 funciona por medio de una electroválvula de doble bobina Y1 (sujeción) e Y2 (liberación). Los cilindros 2.0 y 3.0 son controlados por electroválvulas con retorno por muelle con las bobinas Y3 e Y4. Las posiciones de los cilindros son detectadas por los interruptores de proximidad B1 a B6.
1
Festo Didactic TP307
Croquis de situacibn
Ejercicio 17
1. Trazado del esquema del circuito y montaje del equipo
Definición del ejercicio
,
.
2. Descripción de la tarea de control por medio del diagrama de funciones secuencial IEC 848 3. Declaración de las variables del programa PLC 4. Formulación del programa de PLC por medio del diagrama de fun-
ciones secuencial Programación de las condiciones de transición directamente en uno de los lenguajes FBD, LD o ST D Especificación de las acciones 0
5. Verificación y puesta a punto del programa de PLC y del sistema.
Realización
1. Trazado del esquema del circuito y montaje del equipo 3
Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO. Montar el equipo necesario en la placa perfilada:
Cantidad
Lista de componentes
I
I
Descripción
1
Control lógico programable
1
Cable de unión para la unidad de conexión
1
Unidad de conexión
1
Unidad de mantenimiento
1
Distribuidor
1
Distribuidor de enchufe rápido
1
Cilindro de simple efecto
2
Cilindro de doble efecto
2
Electroválvula de 512 vías de una bobina
1
Electroválvula de 512 vias de dos bobinas
1
Entrada de señales eléctricas
1
Sensor de proximidad capacitivo
1
Sensor de proximidad óptico
1
Sensor de proximidad inductivo
4
Sensor de proximidad inductivo I
Tubo de plástico
TP301 Festo Didactic
Ejercicio 17
Antes de cablear y conectar los tubos:
-
m
¡Desconectar la alimentación!
m
¡Cortar el aire comprimido en la unidad de mantenimiento!
+ Establecer las conexiones eléctricas y neumáticas. 2. Descripción de la tarea de control por medio del diagrama de funciones según IEC 848 3 Creación del
programa en diagrama de funciones según IEC 848.
3. Declaración de las variables del programa del PLC
Todas variables deben ser declaradas como variables locales del programa. L
+ Especificar sólo aquellas partes de la declaración requeridas por la aplicación del PLC. Estas son: Designación, tipo de dato, dirección
- sólo si se utilizan variables directamente direccionadas - y comentario sobre las variables.
Nota: Las partes componentes de la declaración de variables en esta sección del ejercicio están representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representación de la declaración de variables depende del sistema utilizado.
4. Formulación del programa de PLC en diagrama de funciones secuencial
Diseñar la estructura de la secuencia en etapas y transiciones.
+ Programar las condiciones de transición directamente en uno de los lenguajes FBD, LD o ST. Formular las acciones asociadas con las etapas. Para las acciones consistentes en más de una variable booleana, es obligatorio introducir un nombre para la acción. 3 Crear
la estructura de etapas copiando los pasos en los elementos memorizantes si el diagrama de funciones secuencia1 no está directamente soportado por el PLC que se utilice.
Ejercicio 17
-
5. Verificación y puesta a punto de un programa y un sistema PLC
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalación: ¡Conectar la fuente de alimentación utilizando una tensión estándar de 24 V DC! Aumentar la presión del aire de alimentación en la unidad de mantenimiento (ver ficha técnica de los componentes neumáticos) Funcionamiento de la instalación Mantener el entorno de trabajo despejado
3
Cargar el programa en el PLC 4
Realizar una función de prueba =, Corregir cualquier error que pudiera haber en el programa del PLC.
a Documentar la solución.
TP301 Festo Didactic
Ejercicio 17
HOJA DE TRABAJO 1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
Esquema del circuito eléctrico
Festo Didactic
TP301
A- 168 Ejercicio 17
HOJA DE TRABAJO Configurar el sistema de control.
Esquema del circuito electroneumático
2. Descripción de la tarea de control por medio del diagrama de funciones según IEC 848 3
Creación del programa en diagrama de funciones según IEC 848.
TP301 Festo Didactic
Ejercicio 17
HOJA DE TRABAJO 3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
Declaracidn de variables
Festo Didactic
TP301
Ejercicio 17
HOJA DE TRABAJO 4. Formulación del programa de PLC e n diagrama de funciones secuencial
TP301 Fesfo Didactic
Ejercicio 17
HOJA DE TRABAJO Responder a la siguiente pregunta: 1. ¿Cuando cambia el estado del contador?
Festo Didactic
TP301
Preguntas
.
Capítulo 1 Automatizando con un PLC
.................... B-1
1.1
Introducción ......................................
1.2
Campos de aplicación de un PLC ..................... B-2
1.3
........................... El nuevo estándar para PLC IEC 1131 .................
1.4
Diseño básico de un PLC
Capítulo 2 Fundamentos
8-2
8-5 8-8
...............................
B-11
...................
B-12
2.1
El sistema de numeración decimal
2.2
El sistema de numeración binario .................... 8-12
2.3
El código BCD ................................... 8-14
2.4
2.6
............... Números binarios con signo ........................ Números reales ..................................
2.7
Generación de señales binarias y digitales ............. 5 1 6
2.5
El sistema de numeración hexadecimal
Capítulo 3 Operaciones Booleanas
8-14 8-15 8-15
...................... 6-19
3.1
Funciones lógicas básicas .......................... 8-20
3.2
Otras operaciones lógicas .......................... 0-24
3.3
Establecimiento de funciones de conmutación .......... B-26
3.4
Simplificación de funciones lógicas ...................
B-28
3.5
Diagrama de Karnaugh.Veitch
.......................
B-30
Capítulo 4 Diseño y modo de funcionamiento de un PLC
... 6-33
4.2
............................. Unidad de procesamiento principal de un PLC ..........
4.3
Modo de funcionamiento de un PLC .................. B-38
4.4
B-40
4.5
............... Módulo de Entradas...............................
4.6
Módulo de Salidas ................................
8-44
4.7
Aparato programador / Ordenador personal ............ B-46
4.1
Estructura de un PLC
Memoria del programa de la aplicación
8-34 8-36
542
TP301 Festo Didactic
Capítulo 5 Programación de un PLC
.-...................
B-49
5.1
Búsqueda de una solución sistemática ................ 8-50
5.2
............ B-53 Lenguajes de programación......................... B-56
5.3
Recursos de estructuración de IEC 1131-3
..........
B-61
..............................
8-62
Capítulo 6 Elementos comunes de los lenguajes 6.1
Recursos de un PLC
6.2
Tipos de datos y variables
6.3
.......................... B-66 Unidades de organización de programas .............. B-76
Capítulo 7 Diagrama de bloques de función
..............
591
......... 8-92
7.1
Elementos del diagrama de bloques de función
7.2
Evaluación de redes ............................... 8-93
7.3
Estructuras de bucle............................... 8-94
Capítulo 8 Diagrama de contactos
......................
8-95
8.1
Elementos del diagrama de contactos ................. B-96
8.2
Funciones y bloques de función...................... B-98
8.3
Evaluación de los renglones
Capítulo 9 Lista de instrucciones
........................
B-99
...................... B-101
9.1
Instrucciones.................................... 8-102
9.2
Operadores..................................... 8-103
9.3
Funciones y bloques de función...................... 8-104
Capítulo 10 Texto estructurado
........................
B-107
10.1
Expresiones .................................... B-108
10.2
Instrucciones.................................... 6-110
10.3
Instrucciones de selección ......................... B-112
10.4
Instrucciones de iteración.......................... 8-115
Festo Didactk
TP307
Capítulo 11 Diagrama de funciones secuencia1
..........
B-119
11.1
Introducción .................................... B-120
11.2
...... Transiciones.................................... Pasos ......................................... Ejemplo .......................................
11.3 11.4 11.5
Elementos del diagrama de funciones secuencial
Capítulo 12 Sistemas de control lógico
..................
8-120 B-130 B-133 8-143
8-147
12.1
Qué es un sistema de control lógico ................. B-148
12.2
Sistema de control Iógico sin propiedades memorizantes B-148
12.3
Sistema de control Iógico con propiedades memorizantes 8-154
12.4
Evaluación de flancos
.............................
8-157
..........................
8-161
Capítulo 13 Temporizadores 13.1
Introducción .................................... B-162
13.2
Temporizador de pulsos........................... B-163
13.3
Señal con retado a la conexión ..................... 8-165
13.4
Señal con retado a la desconexión .................. B-167
Capítulo 14 Contadores
............................... B-171 ...........................
14.1
Funciones de contador
14.2
Contador incremental............................. B-172
14.3
Contador decremental ............................ 8-176
14.4
Contador incrernental/decremental .................. B-178
8-172
.............. B-179
Capítulo 15 Sistemas de control secuencia1 15.1
Qué es un sistema de control secuencial ............. B-180
15.2
Diagrama de funciones según IEC 848
15.3
.............. Diagrama desplazamiento-fase .....................
B-180 B-186
TP301 Festo Didactic
Capítulo 16 Puesta a punto y seguridad en el manejo de un PLC
...............................
B-187
16.1
Puesta a punto .................................. 8-188
16.2
Seguridad en el manejo de un PLC.................. B-190
..........................
Capítulo 17 Comunicaciones
8-195
17.1
La necesidad de comunicación ..................... B-196
17.2
Transmisión de datos ............................. 8-196
17.3
Interfaces ...................................... 5197
17.4
Comunicación a nivel de campo
Festo Didactic TP301
....................
B-198
Prefacio Los Controles Lógicos ~ro~ramables') representan un factor clave en la automatización industrial. Su utilización permite una adaptación flexible a los procesos cambiantes, así como una rápida localización de averías y eliminación de errores. Este libro de texto explica los principios de un control programable y su interacción con sus~periféricos. Uno de los puntos centrales de este libro de texto trata del nuevo estándar internacional para programación de PLCs, el IEC-1131, Parte 3. Este estándar tiene en cuenta las ampliaciones y desarrollos, para los cuales no existían elementos de lenguaje estandarizado hasta ahora. El objetivo de IEC-1131-3 es estandarizar el diseño, la funcionalidad y la programación de un PLC de tal forma que el usuario pueda manejar con facilidad los diferentes sistemas. En interés de la posterior mejora de este libro, se invita a los lectores a contribuir con sus sugerencias, ideas y críticas constructivas.
Los autores
1) Nota del traductor: La traducción más extendida de la expresión Inglesa 'Programable Logic Control' es %ontrol Lógico Programable'. A pesar de ello, su acrónimo castellanizado CLP no ha tenido una plena aceptación en los medios industriales, que siguen utilizando con más frecuencia el acrónimo Inglés PLC. Otras denominaciones de estos equipos son: 'Autómata Programable Industrial' o simplemente 'Autómata Industrial' (Al), procedente del francés y 'Mando Programable en Memoria', procedente del alemán 'SpeicherprogrammierbareSteuerungen' (SPS).
En este libro de texto hemos utilizado la denominación Control Lógico Programable, con su acrónimo Inglés PLC.
JP301
Festo Didactic
.
Capítulo 1
Capítulo 1 El PLC en la tecnología de automatización
Festo Didactic
TP301
Capítulo 1
1.1
Introducción
El primer Control ~ ó ~ i cProgramable .0 (Programmable Logic Control o PLC) fue desarrollado por un grupo de ingenieros en la General Motors en 1968, cuando la empresa estaba buscando una alternativa para reemplazar los complejos sistemas de control por relés. El nuevo sistema de control tenía que cumplir con los siguientes requerimientos: Programación sencilla Cambios de programa sin intervención en el sistema (sin tener que rehacer el cableado interno) Más pequeño, más económico y más fiable que los correspondientes sistemas de control por relés Sencillo y con bajo coste de mantenimiento Los sucesivos desarrollos llevaron a un sistema que permitia la conexión sencilla de señales binarias. Los requerimientos de cómo estaban conectadas estas señales se especificaba en el programa de control. Con los nuevos sistemas, fue posible por primera vez mostrar las señales en una pantalla y archivar los programas en memorias electrónicas. Desde entonces han pasado tres décadas, durante las cuales los enormes progresos hechos en el desarrollo de la micro electrónica han favorecido la proliferación de los controles Iógicos programables. Por ejemplo, a pesar de que en sus comienzos, la optimización del programa y con ello la necesidad de reducir la ocupación de memoria representaba una tarea importante para el programador, en la actualidad esto apenas tiene importancia. Además, las funciones disponibles han crecido considerablemente. Hace quince años, la visualización de procesos, el procesamiento analógico o incluso la utilización de un PLC como un regulador, eran considerados una utopía. Actualmente, muchos de estos elementos son parte integral de muchos PLCs. En las páginas siguientes de este capítulo de introducción, describiremos el diseño básico de un PLC junto con las tareas y aplicaciones más importantes actualmente.
Áreas de aplicación de un PLC
Todas las máquinas o sistemas automáticos tienen un control: Dependiendo del tipo de tecnología utilizada, los controles pueden dividirse en neumáticos, hidráulicos, eléctricos y electrónicos. Con frecuencia se utiliza una combinación de las diferentes tecnologías. Además, debe distinguirse entre controles con programa cableado (es decir, conexionado físico de c o m p nentes electromecánicos (relés, etc) o componentes electrónicos (circuitos integrados)) y controles lógicos programables. Los primeros se utilizan principalmente en casos en los que la reprogramación por el usuario está fuera de toda duda y el alcance de la tarea justifica el desarrollo de un sistema de control especial. Las aplicaciones típicas de tales controles pueden hallarse en los electrodomésticos, vídeo cámaras, vehículos, etc.
~
-
Capítulo 1
Sin embargo, si la tarea de control no justifica el desarrollo de un control especial, o si el usuario debe tener la posibilidad de hacer cambios sencillos, o de modificar tiempos o valores de contadores, entonces el uso de un control universal, en el que el programa se escribe en una memoria electrónica, es la opción preferida. El PLC representa un control universal. Puede utilizarse para dierentes aplicaciones y, dado que el programa se halla escrito en su memoria electrónica, el usuario puede modificar, ampliar y optimizar con cierta sencillez sus procesos de control.
Fig. 61.1: Ejemplo de aplicación de un PLC
La tarea original de un PLC es la interconexión de señales de entrada, de acuerdo con un determinado programa y, si el resultado de esta interconexión es "cierta", activar la correspondiente salida. El álgebra de Boole forma la base matemática para esta operación, ya que solamente reconoce dos estados definidos de una variable: 'O" (falso) y "1" (cierto) (véase también el capítulo 3). Consecuentemente, una salida sólo asume estos dos estados. Por ejemplo, una electrováhnila conectada a la salida puede estar act~adao desactivada, es decir, controlada.
Capitulo 1
Esta función ha acuñado el nombre de PLC: Programmable Logic Control o Control Lógico Programable. En él, el comportamiento de las entradaskalidas es similar al de los controles realizados con relés electromagnéticos o con elementos lógicos neumáticos o electrónicos; la diferencia reside en que el programa en lugar de estar 'tableado' está almacenado en una memoria electrónica. Sin embargo las tareas del PLC se ampliaron rápidamente: las funciones de temporización y recuento, operaciones de cálculo matemático, conversión de señales analógicas, etc. representan funciones que pueden ejecutarse en casi todos los PLCs actuales. Las demandas que se requieren de los PLCs siguen creciendo al mismo ritmo que su amplia utilización y desarrollo en la tecnología de automatización. Por ejemplo: la visualización, es decir, la representación de los estados de las máquinas o la supervisión de la ejecución del programa por medio de una pantalla o monitor. También el control directo, es decir, la facilidad de intervenir en los procesos de control o, alternativamente, impedir tal intervención a las personas no autorizadas. También se ha visto la necesidad de interconectar y armonizar sistemas individuales controlados por PLC, por medio de redes o buses de campo. Aquí, un ordenador master permite la generación de órdenes de mayor nivel para el procesamiento de programas en los diversos sistemas PLC interconectados. La conexión en red de varios PLCs, asi como la de un PLC con el ordenador master se realiza por medio de interfaces de comunicación especiales. Para ello, la mayoria de los más recientes PLCs son compatibles con sistemas de bus abiertos estandarizados, tales como Profibus según DIN 19 245. Gracias al enorme aumento de la potencia y capacidad de los PLCs avanzados, estos pueden incluso asumir directamente la función de un ordenador master. Hacia finales de los setenta, las entradas y salidas binarias fueron finalmente ampliadas con la adición de entradas y salidas analógicas, ya que hay muchas aplicaciones técnicas que emiten y requieren señales analógicas (medición de fuerzas, velocidades, sistemas de posicionado servoneumáticos. etc.). Al mismo tiempo la adquisición y emisión de señales analógicas permite la comparación de valores reales con los de consigna y, como consecuencia, la realización de funciones de regulación automática; una tarea que va más allá del ámbito que sugiere el nombre de control lógico programable.
TP301 Festo Didactic
-
Capítulo 1
Los PLCs que existen actualmente el mercado han sido adaptados a los requerimientos de los clientes hasta tal punto que ya es posible adquirir un PLC exactamente adaptado para casi cada aplicación. Así, hay disponibles actualmente desde PLCs en miniatura con unas decenas de entradadsalidas hasta grandes PLCs con miles de entradashlidas. Muchos PLCs pueden ampliarse por medio de módulos adicionales de entradaslsalidas, módulos analógicos y de comunicación. Hay PLCs disponibles para sistemas de seguridad, barcos o tareas de mineria. Otros PLCs son capaces de procesar varios programas al mismo tiempo (Multitarea). Finalmente, los PLCs pueden conectarse con otros componentes de automatización, creando así áreas considerablemente amplias de aplicación.
Fig. 81.2: Eiem~lode un PLC:
El término 'Control Lógico Programable' se define en IEC 1131, Parte 1, como sigue: 'Un sistema electrónico de funcionamiento digital, diseñado para ser utilizado en un entorno industrial, que utiliza una memoria programable para el almacenamiento interno de instrucciones orientadas al usuario, para la realización de funciones especificas tales como enlaces lógicos, secuenciación, temporización, recuento y cálculo, para controlar, a través de entradas y salidas digitales o analógicas, diversos tipos de máquinas o procesos. Tanto el PLC como sus periiféricos asociados están diseñados de forma que puedan integrarse fácilmente en un sistema de control industrial y ser fácilmente utilizados en todas las aplicaciones para las que están previstos."
Festo Didaciic TP301
1.3
Definición básica de un PLC
Capítulo 1
Por lo tanto, un control lógico programable es sencillamente un ordenador, adaptado especificamente para ciertas tareas de control. La Fig. B1.3 ilustra los componentes del sistema de un PLC
Fig. B1.3:
Componentes de un sistema PLC
La función de un módulo de entrada es la de convertir señales de entrada en señales que puedan ser procesadas por el PLC y pasarlas a la unidad de control central. La tarea inversa es realizada por el módulo de salida. Este convierte las señales del PLC en señales adecuadas para los actuadores. El verdadero procesamiento de las señales se realiza en la unidad central de control, de acuerdo con el programa almacenado en la memoria. El programa de un PLC puede crearse de varias formas: a través de instrucciones parecidas al lenguaje ensamblador (assembler) en 'lista de instrucciones', en lenguajes de alto nivel orientados al problema, tales como el texto estructurado, o en forma de diagrama de flujo como se representa en el diagrama de funciones secuencial. En Europa, la utilización de los diagramas de bloques de función basados en los diagramas de funciones con simbolos gráficos para puertas lógicas (logigramas) es ampliamente utilizado. En América el lenguaje preferido por los usuarios es el 'diagrama de contactos' o 'diagrama en escalera' (ladder diagram). Dependiendo de cómo se halle conectada la unidad central a los módulos de entrada y salida, hay que distinguir entre PLCs compactos (módulo de entrada, unidad central y módulo de salida en un sólo cuerpo) o PLCs modulares.
Capítulo 1
La Fig. 81.4 muestra el control FXO de Mitsubishi, representando un ejemplo de un PLC compacto.
Fig. B 1.4: PLC compacto (Mitsubishi EXO), PLC Modular (Siernens S7-300), PLC con tarjetas (Festo FPC 405)
Los PLCs modulares pueden configurarse individualmente. Los módulos requeridos por la aplicación práctica - aparte de los módulos de entradaslsalidas digitales que pueden, por ejemplo, incluir módulos analógicos , de posicionamiento y comunicación - se insertan en un rack, en el que todos los módulos están enlazados por un sistema de bus. Este diseño se conoce también como tecnología modular. Dos ejemplos de PLCs modulares se muestran en la Figs. B1.2 y 81.4. Estos representan la familia modular de PLC de AEG Modicon y el S7-300 de Siemens. Existe una amplia gama de variantes, particularmente en el caso de las PLCs más recientes. Esto incluyen tanto las características compactas como las modulares y caracterlsticas importantes tales como el ahorro de espacio, flexibilidad y,posibilidad de ampliación. La tarjeta con formato PLC es un tipo especial de PLC modular desarrollado durante los Últimos años. Con este tipo, varios módulos realizados sobre tarjetas de circuito impreso se montan en una caja estandarizada. El FPC 405 de Festo es representativo de este tipo de diseño (Fig. 81.4).
Festo Didactíc
TP301
Capítulo 7
El diseño del hardware de un control lógico programable está hecho de forma que pueda soportar los entornos tipicos industriales en cuanto a los niveles de las señales, calor, humedad, fluctuaciones en la alimentación de corriente e impactos mecánicos.
1.4
El nuevo estándar A finales de los setenta, se plantearon en Europa algunos estándares para PLC, válidos para la programación de PLCs, enfocados principalmente al esIEC-1311 tado de la tecnologla en aquel momento. Tenlan en cuenta sistemas de PLC no interconectados, que realizaban operaciones lógicas con señales binarias. DIN 19 239, por ejemplo, especifica un lenguaje de programación que posee las correspondientes instrucciones para estas aplicaciones. Anteriormente, no existlan elementos de lenguaje estandarizados ni equivalentes para el desarrollo de programas de PLC. Los desarrollos aparecidos en los años ochenta, tales como el procesamiento de señales analógicas, interconexión de módulos inteligentes, sistemas de PLC en red, etc. agravaron el problema. Consecuentemente, los sistemas PLC de diferentes fabricantes requerían técnicas de programación completamente diferentes. Desde 1992, existe un estándar internacional para controles lógicos programables y dispositivos periféricos asociados (herramientas de programaci6n y diagnosis, equipos de verificación, interfaces hombremáquina, etc.). En este contexto, un dispositivo configurado por el usuario y compuesto por los elementos citados anteriormente, se conoce como un sistema PLC. El nuevo estándar IEC 1131 consta de cinco partes:
m m m
Parte 1: Información general Parte 2: Requerimientos y verificaciones del equipo Parte 3: Lenguajes de programación Parte 4: Directrices para el usuario Parte 5: Especificación del servicio de mensajes
Las partes 1 a 3 de este estándar se adoptaron sin enmiendas como el estándar Europeo EN 61 131, Partes 1 a 3. La finalidad del nuevo estándar era definir y estandarizar el diseño y funcionalidad de un PLC y los lenguajes requeridos para la programación hasta un grado en el que los usuarios pudieran hacer funcionar sin ninguna dificultad los diferentes sistemas de PLC de los distintos fabricantes.
TP301 Festo Didactic
Capítulo 1
Los siguientes capítulos tratarán con detalle sobre este estándar. Por el momento, será suficiente la siguiente información: m
El nuevo estándar tiene en cuenta la mayoría de aspectos posibles en relación con el diseño, aplicación y utilización de sistemas PLC. Las amplias especificaciones sirven para definir sistemas de PLC abiertos y estandarizados. Los fabricantes deben ajustarse a las especificaciones de este estándar, tanto en el aspecto puramente técnico de los requerimientos de un PLC como en lo que se refiere a la programación de tales controles. Todas las variaciones deben ser completamente documentadas para el usuario
Tras unas reticencias iniciales, se ha formado un grupo relativamente grande de personas interesadas (PLCopen) para apoyar este estándar. La mayoría de los principales proveedores de PLC son miembros de la asociación, es decir, Allen Bradley, Klkker-Moeller, Philips, para mencionar algunos. Otros fabricantes de PLC como Siemens o Mitsubishi también ofrecen controles y sistemas de programación conformes con IEC-1131. ,
Los sistemas de programación iniciales ya están disponibles en el mercado y otros están siendo desarrollados. Sin embargo, la norma tiene una buena oportunidad de aceptación y de éxito. Esperamos que este libro de texto contribuirá, en cierto modo, al desarrollo de este estándar.
Capítulo 2
Capitulo 2 Fundamentos
Capítulo 2
2.1
El sistema de numeración decimal
La característica del sistema de numeración decimal, comunmente utilizado, es la disposición lineal de los digitos y su emplazamiento significativo. El número 4344, por ejemplo, puede representarse como sigue:
El número 4 que se halla en el extremo izquierdo, tiene un significado diferente del número 4 situado en el extremo derecho. La base del sistema de numeración decimal es la disponibilidad de 10 dígitos diferentes (decimal: originario del latín 'decem' = 10). Estos diez diferentes dígitos permiten contar de O a 9. Si la cuenta sobrepasa el número 9, esto constituye un arrastre para el dígito de la siguiente posición a la izquierda. El significado de esta posición en 10, y el siguiente arrastre se realiza cuando se alcanza el valor 99. Utilizaremos el número 71.718.71 1 como ejemplo:
en el extremo izquierdo Como puede verse arriba, el significado del 7" es 70 000 000 = 70 millones, mientras que el significado del "7" en la tercera posición desde la izquierda es de 700. El dlgito del extremo derecho se conoce como el 'digito menos significativo' y el dígito del extremo izquierdo, como el 'dígito más significativo'. Cualquier sistema de numeración puede ser configurado basándose en este ejemplo, cuya estructura fundamental puede aplicarse a sistemas de numeración de cualquier cantidad de dígitos. Consecuentemente, cualquier operación de cálculo y método de computación que utilice el sistema de numeración decimal puede ser utilizado con otros sistemas de numeración.
2.2
El sistema de numeración binario
Fue Leibnitz quien aplicó por primera vez las estructuras del sistema de numeración decimal al calculo con dos dígitos. Allá por el año 1679, esto creó las premisas esenciales para el desarrollo de los actuales ordenadores, ya que la tensión eléctrica o la corriente eléctrica, sólo permite un cálculo utilizando dos valores: es decir "circula corrienten o "no circula corriente". Estos dos valores se representan en forma de dígitos '1" y "On.
TP301 Festo Didactic
Capítulo 2
Si en un número estuiiéramos limitados a exactamente 2 dígitos por posición, el sistema de numeración quedaría configurado como sigue:
El principio es exactamente el mismo que el del método utilizado para crear un número decimal. Sin embargo, sólo se dispone de dos dígitos, razón por la cual la posición significativa no se calcula con la base loX, sino con al base 2'. Así, el número menos significativo en el extremo derecho es 2' = 1, y para la siguiente posición 2' = 2, etc. Dado el uso exclusivo de dos digitos, este sistema de numeración se conoce como sistema binario o sistema dual. Con ocho posiciones, pueden representarse un máximo de:
valores que alcanzarían hasta el numero 1111 11112 Cada una de las posiciones de un sistema de numeración binario puede adoptar uno de los dos digitos O o 1. La menor unidad posible del sistema binario es de 1 bit. En el ejemplo citado arriba, se ha configurado un número consistente en 8 bits, es decir, un byte (en un ordenador que utilice 8 señales eléctricas representando "tensión disponible" o "tensión no disponible"). El número considerado, 1011 00012, corresponde al valor decimal 17/10.
1 x27
= 128 = 177
0
~
2Ix x~5
1 x24
+32
+16
0 x 2 ~ 0 x 2 ~ 0x2'
1x
~
O
+1 Ejemplo
Capítulo 2
2.3
El código BCD
Para las personas acostumbradas a tratar con el sistema decimal, los números binarios son difíciles de leer. Por esta razón, se introdujo una representación numérica de más fácil lectura, es decir, una notación decimal codificada de un número binario: el denominado BCD (binary coded decimal). Con este código BCD, cada digito del sistema de numeración decimal representa a su correspondiente número binario.
Tabla 82.1: Representación de números decimales en cddigo BCD
Por lo tanto, se necesitan 4 dígitos en la notación binaria para representar el sistema decimal. A pesar de que en una notación binaria de 4 dígitos pueden representarse los valores del O al 15, los valores correspondientes a 10, 11, 12, 13, 14 y 15 no se usan en BCD Asi, el número decimal 7133 se representa como sigue en código BCD:
Por lo tanto, se necesitan 16 bits para representar un número decimal de cuatro dígitos en código BCD. La codificación en BCD se utiliza a menudo para visualizadores de siete segmentos y para interruptores rotativos de introducción de valores.
2.4
El sistema de numeración hexadecimal
La utilización de números binarios es dificil y la utilización del código BCD ocupa bastante espacio de memoria. Por esta razón se desarrollaron los sistemas octal y hexadecimal. En el caso del sistema octal se utilizan grupos de tres dígitos. Esto permite contar de O hasta 7, es decir, contar con "ochos".
TP307
Festo Didactic
Capítulo 2
Alternativamente, en el sistema de numeración hexadecimal se combinan 4 bits. Estos 4 bits permiten la representación de los números O al 15, es decir, contar en "dieciseises". Para representar estos números se utilizan los dígitos O al 9, seguidos de las letras A, B, C, D, E y F, en donde A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. La posición significativa de cada digito se evalúa con las potencias de 16.
Ejemplo
Por lo tanto, el número 87BCls dado como ejemplo se lee como sigue: 8~16~+7~16~+11~16~+12~16~=3474810
Hasta ahora, hemos tratado solamente con números enteros y positivos, sin tener en cuenta los números negativos. Para poder trabajar con estos números, se decidió que el bit más significativo en el extremo izquierdo de un número binario se utilizaría para representar el signo: así "O" corresponde al "+" y "1" al "-".
2.5
Números binarios con signo
AsC, 1111 11112= -1271oy0111 11112= +12810 Cuando se utiliza el bit más significativo para el signo, se dispone de un bit menos para la representación de un número con signo. Para la representación de un número binario de 16 dígitos, se obtiene el siguiente margen de valores: Entero
Margen de valores
sin signo
O a 65535
con signo
-32768 a +32767
Aunque ahora ya es posible representar con O y 1 números enteros positivos con signo, aún hay la necesidad de poder representar los decimales o números reales. Para representar un número real en notación binaria de ordenador, el número se descompone en dos grupos, una potencia de 10 y un factor de multiplicación. Esto se conoce también como notación cientifica de números.
Tabla 822: Margen de valores para los números binarios
2.6
Números reales
Capítulo 2
-
El número 27,334 se convierte así en 273 341 x lo? Por lo tanto se necesitan dos números enteros con signo para representar un número real en un ordenador.
2.7
Como ya parece haber quedado claro en la sección anterior, todos los ordenadores, y por lo tanto todos los PLCs, funcionan utilizando señales digitales o binarias. Por binario, entendemos una señal que sólo reconoce dos valores definidos.
Generación de señales digitales y binarias
Estos valores se les llama "On o "l",aunque también se utilizan los términos "bajony "alton. Las señales pueden realizarse muy fácilmente con componentes de contactos. Un contacto activado corresponde a una señal de Iógica 1 y uno sin activar a una de lógica O. Cuando se trabaja con elementos sin contacto, esto puede forzar unos ciertos márgenes de tolerancia. Por esta razón, hay que definir ciertos márgenes de tensión para definirlos como Iógica O 6 lógica 1.
Fig. B2.2: Márgenes de tensión
I
TP301 Festo Didactic
Capítulo 2
IEC 1131-2 define un margen de valores de -3 V a 5 V como señal de Iógica 0, y de 11 V a 30 V como señal de Iógica 1. Esto es de obligado cumplimiento para PLCs cuya tecnología deba seguir la norma IEC 1131-2. En la práctica existen tensiones muy parecidas para Iógica O y Iógica 1: Ampliamente usadas son: -30 V a +5V para Iógica O y +13 V a +30 V para Iógica 1.
A diferencia de las señales binarias, las señales digitales pueden asumir cualquier valor. Se les conoce también como etapas de valor. Asi, una señal digital se define por cualquier cantidad de etapas de valor. El cambio entre estas etapas no es secuencial. La siguiente ilustración muestra tres posibles métodos de convertir una señal analógica en una señal digital.
Fig. B2.3:
1 Las señales digitales pueden formarse a partir de señales analógicas. Este método se utiliza, por ejemplo, para el procesamiento analógico a través de un PLC. Consecuentemente, una señal de entrada analógica en el margen de O a 10 V se reduce a una serie de etapas de valores. Dependiendo de la calidad del PLC y de la resolución, la señal digital será capaz de operar en etapas de valores de 0,1 V, 0,01 V ó 0,001 V. Naturalmente, en este caso se seleccionaría el margen más pequeño para poder reproducir la señal analógica con la mayor precisión posible.
Conversión de una señal analógim en una señal digital
Capítulo 2
Un ejemplo simple de una señal analógica es la presión, que se mide y se visualiza en un manómetro. La setial de presión puede asumir cualquier valor intermedio entre sus valores minimo y máximo. A diferencia de la señal digital, cambia continuamente. En el caso del procesamiento de valores analógicos a través de un PLC, como se ha descrito, las señales analógicas de tensión se evalúan y se convierten. Por otra parte, las señales digitales pueden formarse reuniendo un cierto número de señales binarias. De esta forma, de nuevo como se ha descrito en el párrafo anterior, con ocho sehales binarias es posible generar una señal digital con 256 valores.
Bit No.
Ejemplo
'
O
Valor digital
Ejemplo 1
1
0
1
1
1
0
1
1
187
Ejemplo 2
O
O
1
1
O
O
1
1
51
Ejemplo3
O
O
O
O
O
O
O
O
O
Este proceso se utiliza, por ejemplo, para la realización de temporizadores o de contadores.
TP301 Festo Didactic
.
a
.
Capítulo 3
Capítulo 3 Operadores Booleanos
Festa Didactic TP307
Capítulo 3
Funciones lógicas básicas
Como se ha descrito en el capítulo anterior, cualquier ordenador e igualmente cualquier PLC, funcionan utilizando el sistema de numeración de base 2. Esto se aplica también a los sistemas octal (z3)y 'hexadecimal (z4). Por ello, las variables individuales pueden asumir sólo dos valores, "0"o "1". Se utilizan unas matemáticas especiales para poder enlazar las relaciones entre variables la denominada álgebra de Boole. Los enlaces entre variables también pueden representarse claramente por medio de contactos eléctricos.
-
Función NOT, negación El pulsador mostrado representa un contacto normalmente cenado. Cuando no está físicamente accionado, el piloto H1 luce, mientras que en estado accionado, el piloto H1 se apaga.
Fig. 83.1: Esquema del circuito
1 El pulsador S1 actúa como una setial de entrada, el piloto constituye la salida. El estado actual puede ser registrado en una Tabla de la verdad:
Tabla de la verdad
Por lo tanto, la Ecuación Booleana es como sigue:
-
I = O (léase: No-l igual a O)
Capítulo 3
El símbolo lógico es:
Fig. B3.2: Función NOT
Dos negaciones consecutivas se cancelan entre sí.
Fig. B3.3: Dos funciones i'ógicas NOT
Función AND, conjunción Si dos contactos abiertos se conectan en serie, el piloto conectado sólo lucirá si ambos pulsadores están físicamente accionados.
Fig. 83.4: Esquema del circuito
Capítulo 3
La tabla de la verdad asigna la conjunción. La salida asume el valor 1 sólo si ambas entradas 1 y 2 se hallan con señal 1. Esto se conoce como una operación AND (operación Y), que se representa con la siguiente ecuación:
Función AND
Además, valen las siguientes ecuaciones para la conjunción
TP301 Festo Didactic
Capítulo 3
-
Función OR, disyunción Otra función Iógica básica es la función OR (O). Si dos contactos normalmente abiertos se conectan en paralelo, el piloto luce siempre que por menos uno de los pulsadores se halle físicamente accionado.
Fig. 83.6: Esquema del circuito
Fig. 83.7:
Función OR La operación lógica se escribe en forma de la siguiente ecuación: 11 v 12 = O
Capitulo 3
-
Valen también las siguientes ecuaciones para la disyunción:
3.2 Otras operaciones En la sección 83.1 se ha descrito la realización eléctrica de las operaciones NOT-IAND-IOR. Naturalmente, cada una de estas funciones puede también realizarse con componentes neumáticos y electrónicos. El álgebra de Boole reconoce también las siguientes operaciones Iógicas. La siguiente tabla proporciona un resumen de ellas.
lógicas
Tabla 83.1:
Conexiones lógicas Nombre
Ewaci6n
ldentidad
I=A
Negación
T=o
Tabla verd.
S(rnbolo lógico
Realización neuMtiw
I
$
l
a
lo 7T
0
I
1
Realiz. electrhica
1:E0
10
1 0 -
o
Realiz. el6drica
-r
lb o+ - ; :
11 12 O Conjunci6n
l l 12 ~= 0
0 0 0
~=El-O
@-
O
- -
Disyunci6n
Il u12 = O
TP301 Festo Didactic
--
--
Capítulo 3
Tabla 83.1: Conexiones lógicas (continuación)
Eesio Didactic TP301
Capítulo 3
3.3
Derivación de ecuaciones booleanas de la tabla de la verdad A menudo, las operaciones lógicas mostradas en la sección anterior no son suficientes para describir adecuadamente un estado en la tecnologia de control.
Establecimiento de funciones de conmutación
A menudo, hay combinaciones de diferentes operaciones Iógicas. La conexión lógica en forma de una ecuación booleana puede establecerse fácilmente a partir de la tabla de la verdad.
El ejemplo inferior clarificará esto:
Tarea en una estación de clasificación Diversas piezas para cocinas prefabricadas son mecanizadas en un sistema de producción (máquina de taladrar y fresar). A los laterales y a las puertas de ciertos tipos de cocina se les han hecho diferentes disposiciones de agujeros. Los censores B1 a B4 están previstos para la detección de estos agujeros.
estación de clasificación Fig B3.8;
1 Las piezas con la siguiente distribución de agujeros son para el tipo de cocina 'Estándar'. Estas piezas deben extraerse de la cinta transportadora por medio del cilindro de doble efecto 1.O.
TP301 Fesio Didactic
Capítulo 3
Asumiendo que un taladro realizado se lee como señal-1, se obtiene la siguiente tabla de la verdad:
Tabla de la verdad
Capítulo 3
Para obtener la ecuación lógica a partir de esta tabla existen dos opciones, que conducen a dos expresiones diferentes. Naturalmente ambas expresiones producen el mismo resultado, ya que se describen las mismas circunstancias.
Forma estándar disyuntiva En la forma estándar disyuntiva, se agrupan todas las conjunciones (operaciones AND) de las variables de entrada que producen la señal de salida 1, en una operación disyuntiva (operación OR). El estado O de la señal de entrada se toma como valor negado, y el estado 1 de la señal de entrada, como no-negada (directa). Por lo tanto, en el caso del ejemplo dado, la operación Iógica es la siguiente:
Forma estándar conjuntiva En la forma estándar conjuntiva, se agrupan todas las disyunciones (operaciones OR) de las variables de entrada que producen la señal de salida O, en una operación conjuntiva (operación AND). A diferencia de la forma estándar disyuntiva, en este caso la variable de entrada es negada con el estado "1" y no-negada con el estado "O"
3.4
Simplifiación de funciones lógicas
Ambas ecuaciones para el ejemplo dado son bastante amplias, si bien más larga aún es la que se ha dado como forma estándar conjuntiva. Esto define el criterio para utilizar la forma estándar disyuntiva o conjuntiva: La decisión se hace en favor de la forma más corta de la ecuación. En este caso la forma estándar disyuntiva.
Esta expresión puede simplificarse con le ayiida de las propiedades del álgebra de Boole,
TP307
Festo Didactic
Capítulo 3
Las propiedades más impomntes del álgebra de Boole se muestran a continuación:
Propiedad conmutativa avb=bva
a ~ b = b ~ a
Propiedad asociativa avbvc=av(bvc)=(a~b)~c ~ A ~ A C = ~ A ( ~ A C ) = ( ~ A ~ ) A C Propiedad distributiva a A (b v c) = (a A b) v (a A c) a v (b A c) = (a v b) A (a v c)
-
Ley de De Morgan avb=aAb
- -
a ~ b = a v b
Aplicadas al ejemplo citado, se obtiene el siguiente resultado:
-
y
= =
= = =
abcd v abcd v a E d v abcd v abcd v abcd
abcd v gbcd v abCd v abcd v abd6 v c) -- acd(b v b) v abd(c v c) v abd acd v abd v abd acd v ad(b v b)
Por razones de claridad, el símbolo de la operación AND expresamente omitido en las ecuaciones indicadas.
"A"
ha sido
El principio básico de la simplificación es sacar el factor común de las variables y reducir las expresiones definidas. Sin embargo, este método requiere un buen conocimiento de las propiedades del álgebra de Boole y un cierto grado de práctica. Otra opción para la simplificación se presenta en la siguiente sección.
Feota Didactic TP301
Capítulo 3
3.5 Diagrama de Karnaugh- Veitch
En el caso de los diagramas de Karnaugh-Veitch (KV) la tabla de la verdad de transforma en una tabla de valores.
Tabla de valores
Para el ejemplo se dispone de un total de 16 posiciones, con lo que la tabla de valores debe tener también 16 cuadrados.
Fig. m.7: Tabla de valores
~ ~ 3 0Festo 1 Didactic
Capítulo 3
El resultado de la t a h de la verdad se transfiere al diagrama KV tal como se indica en la figura. En principio, de nuevo es posible la representación en la forma estándar disyuntiva o conjuntiva. Sin embargo, en este ejemplo nos limitaremos a la forma estándar disyuntiva.
Fig. B3.11: Tabla de valores
El siguiente paso consiste en la combinación de los estados para los cuales se ha introducido un "1" en la tabla de valores. Esto se hace en bloques, observando las siguientes reglas: La combinación de estados en el diagrama KV debe ser en forma de rectángulo o de cuadrado La cantidad de estados combinados debe ser el resultado de una función p.
De esto resulta lo siguiente
cd
-cd
cd
cd
Fig. B3.12: Tabla de valores
Festo Didactic TP301
Capítulo 3
Los valores de las variables, se selecc~onanpara el bloque establecido y estos a su vez se combinan en forma disyuntiva. y1 = cd y 2 = acd
y
-
= cd A acd = (cvac)Aci
Naturalmente, el diagrama KV no está limitado a 16 casillas. Con 5 variables, por ejemplo, se producirlan 32 casillas p5)y con 6 variables 64 casillas (26).
TP301 Festo Didactic
Capítulo 4
Capítulo 4 Diseño y modo de funcionamiento de un PLC
Capítulo 4
4.1
En los ordenadores, generalmente se distingue entre hardware, firmware y software. Los mismo se aplica a los PLCs, ya que esencialmente también están basados en un microprocesador.
Estructura de un PLC
El Hardware se refiere a las partes físicas del dispositivo, el decir, los circuitos impresos, los circuitos integrados, el cableado, la batería, el chasis, etc. El firmware los constituyen aquellos programas (software) que se hallan permanentemente instalados en el hardware del ordenador y que son suministrados por el fabricante del PLC. Esto incluye las rutinas fundamentales del sistema, utilizadas para poner en marcha el procesador al aplicar la tensión. Adicionalmente, hay el sistema operativo que, en el caso de los controles lógicos programables, generalmente se halla almacenado en una memoria ROM de sólo lectura o en una EPROM. Finalmente, hay el software, que es el programa escrito por el usuario del PLC. Los programas de usuario se instalan generalmente en la memoria RAM, una memoria de acceso aleatorio, en donde pueden ser fácilmente modificados.
Fig. 84.1: Diseiio fundamental de un microordenador
1
r
La Fig. 84.1 ilustra el diseño fundamental de un microordenador. El hardware del PLC o como es el caso de casi todos los sistemas microordenadores actuales - está basado en un sistema de bus. Un sistema de bus es un determinado número de líneas eléctricas divididas en Iíneas de direcciones, de datos y de control. La línea de direcciones se utiliza para seleccionar la dirección de un elemento conectado al bus y la Iínea de datos para transmitir la información requerida. Las Iíneas de control son necesarias para habilitar el dispositivo conectado el bus como emisor o como receptor..
Capítulo 4
Los principales elementos conectados al sistema de bus son el microprocesador y la memoria. La memoria puede dividirse en memoria para el firmware y memoria para el programa y los datos del usuario. Según la estructura del PLC, los módulos de entradas y salidas se conectan a un simple bus común o - con la ayuda de un interface de bus - a un bus externo de EJS. Especialmente en el caso de grandes sistemas modulares de PLC, es más usual un bus externo de EíS. Finalmente, se necesita una conexión para el aparato programador o un PC, actualmente y en la mayoría de los casos en forma de un interface serie. La Fig. 84.2 ilustra el FPC 101 de Festo como ejemplo.
Fig. 84.2: Control Lógico Programable Festo FPC 101
Festo Didactic
TP301
Capítulo 4
-
4.2
Unidad Central de un PLC
En esencia, la unidad central de un PLC consiste en un microordenador. El sistema operativo del fabricante del PLC hace que el ordenador que hay en el PLC este optimizado especlficamente para tareas de tecnología de control. Diseño de la unidad central La Fig. 84.3 muestra una versión simplificada de un microprocesador, que representa el corazón de un microordenador.
Bus de datos l
-
3
8
4 6 1-1
Bus de control
Unidad aritrnetica
Fig. 84.3: Diseti0 de un micmprocesador
h
Bus de
I
Unldad de control Bus de direcciones
1
Un microprocesador consiste principalmente en una unidad aritmética y lógica, una unidad de control y un pequeño número de unidades de memoria internas, denominadas registros. La tarea de la unidad aritmética y Iógica - la ALU (arithmetic logic unit) - es ejecutar las operaciones lógicas y aritméticas con los datos transmitidos. El acumulador, AC para abreviar, es un registro especial asignado directamente a la unidad ALU. Este almacena tanto los datos a procesar como los resultados de una operación. El registro de instrucciones almacena cada orden o instrucción Ilamada desde la memoria del programa hasta que es decodificada y ejecutada. Una orden o instrucción (command) tiene una parte de ejecución y una parte de dirección. La parte de ejecución indica qué operación debe realizarse. La parte de dirección define la dirección de los operandos (seriales de entrada, flags, etc.) con los que hay que realizar la operación indicada.
TP301 Festo Didactic
Capítulo 4
El contador de programa es un registro, que contiene la dirección de la siguiente orden a procesar. La sección siguiente tratará este apartado con más detalle. La unidad de control regula y controla toda la secuencia de operaciones requeridas para la ejecución de una orden.
Ciclo de instrucciones en la unidad central Los sistemas microordenadores convencionales de hoy en día funcionan según el denominado "principio de von-Neumann". Según este principio, el ordenado procesa el programa Iínea a Iínea. En términos sencillos, podríamos decir que cada Iínea del programa de usuario del PLC es procesada secuencialmente. Esto es válido independientemente del lenguaje de programación en el que haya sido escrito el programa de PLC, sea en forma textual (lista de instrucciones) o en forma gráfica (diagrama de contactos, diagrama de funciones secuencial). Dado que estas diversas formas de representación siempre resultan en una serie de líneas de programa dentro del ordenador, se procesan consecuentemente una tras otra. En principio, una Iínea de programa, es decir, generalmente una orden se procesa en dos etapas: 8
recogida de la orden desde la memoria de programa ejecución de la orden Bus de datos
Mkro
I
Seiiales de control Contador de programa
v
Direcciones
Bus de direcciones
Festo Didactic TP301
Fig. B4.4: Secuencia de instrucciones
Capítulo 4
-
El contenido del contador de programa es transferido al bus de direcciones. A continuación, la unidad de control hace que la instrucción en la dirección especificada de la memoria del programa, sea depositada en el bus de datos. Desde aquí, se lee en el registro de instrucciones. Una vez ha sido decodificada, la unidad de control genera una secuencia de señales de control para su ejecución. Durante la ejecución de un programa, las instrucciones se van a buscar secuencialmente. Para ello se necesita un mecanismo que permita esta secuencia. Esta tarea se realiza por un simple incrementador. es decir, un elemento de habilitación de pasos en el contador de programa.
4.3
Modo de funcionamiento de un PLC
Los programas para el procesamiento convencional de datos, generalmente se procesan una sola vez, de arriba a abajo y terminan. A diferencia de estos, el programa de un PLC se procesado continua y cíclicamente.
Tabla de imagen Entradas
Entradas
Programa PLC
Tabla de imagen Salidas
Salidas
Fig. 84.5: Procesamiento cíclico de un programa de PLC
TP301 Festo Didactic
Capítulo 4
Las características del procesamiento cíclico son: m
Así que el programa ha sido ejecutado una vez, salta automáticamente al principio y se va repitiendo el proceso continuamente. Antes de que se procese la primera Iínea del programa, es decir, al inicio del ciclo, el estado de las entradas es almacenado en la tabla de imagen de entradas. La imagen del proceso es una zona de memoria aparte a la que se accede durante un ciclo. Así, el estado Iógico de una entrada permanece constante durante un ciclo, incluso aunque en este intervalo haya cambiado físicamente. De forma similar a la entradas, .las salidas no son inmediatamente activadas o desactivadas durante un ciclo, sino que su estado es almacenado temporalmente en la tabla imagen de salidas. Solamente al final del ciclo se activan o desactivan físicamente las salidas según el estado Iógico almacenado en la memoria.
El procesamiento de una Iínea de programa a través de la unidad central de un PLC ocupa un tiempo que, dependiendo del PLC y de la instrucción que contenga puede variar desde unos pocos microsegundos hasta unos pocos milisegundos. El tiempo requerido por el PLC para una simple ejecución de un programa, incluyendo la actualización de las salidas y la imagen del proceso, se denomina tiempo de ciclo o tiempo de scan. Cuanto más largo sea el programa y cuanto más tiempo necesite el PLC respectivo para procesar cada Iínea del programa, tanto más largo será el tiempo de ciclo. Los tiempos reales de ciclo varían aproximadamente entre 1 y 100 milisegundos. Las consecuencias del procesamiento cíclico de un programa de PLC que utilice una imagen del proceso son las siguientes: m
m
m
Las señales de entrada de una duración inferior al tiempo de ciclo, posiblemente no serán reconocidas. En algunos casos, puede haber un retardo de dos ciclos entre la presencia de una señal de entrada y la deseada reacción de una salida ante esta señal. Dado que las instrucciones se procesan secuencialmente, el comportamiento específico de la secuencia de un programa de PLC puede ser crucial.
En algunas aplicaciones, es esencial que pueda accederse directamente a entradas y salidas durante un ciclo. Por ello, este tipo de procesamiento de programa, saltándose la imagen del proceso, también es posible en algunos sistemas PLC.
Capítulo 4
4.4
Memoria de programas de aplicación
Los programas específicamente desarrollados para determinadas aplicaciones requieren una memoria de programa, de la cual puedan ser leídos por la unidad central. Los requerimientos para tal memoria de programa son relativamente simples de formular: Deberla ser lo muy sencilla de modificar o de crear y almacenar nuevos programas con la ayuda de un dkpositivo programador o un PC. m Debe haber mecanismos que aseguren que el programa no pueda perderse - incluso ante un fallo de tensión o por tensiones de interferencia La memoria de programa debe ser económica m La memoria de programa debería ser suficientemente rápida para no retardar el funcionamiento de la unidad central. m
Actualmente, se utilizan tres tipos de memoria en la práctica: m
m m
RAM EPROM EEPROM
RAM La memoria RAM (random acceso memory/memoria de acceso aleatorio) es una memoria muy rápida y económica. Dado que la memoria principal de los ordenadores (y también de los PLCs) consiste en memorias RAM, se producen en grandes cantidades, lo que le permite disponer de tales memorias a costes relativamente bajos. Las RAMs son memorias de lectura/escritura y pueden programarse y modificarse fácilmente. La desventaja de una RAM es que es volátil, es decir, el programa almacenado en la RAM se pierde en el caso de un fallo de tensión. esta es la razón por la cual las RAMs deben estar respaldadas por una baterfa, acumulador o pila. Dado que la vida Útil y la capacidad de las modernas pilas les permiten durar vanos años, el respaldo de una RAM por pila es relativamente simple. A pesar de que se utilizan pilas o baterías de altas prestaciones, es esencial sustituirlas en las fechas indicadas por el fabricante del PLC.
TP301 Festo Didactic
Capítulo 4
EPROM La EPROM (erasable programmable read-only memory /memoria de sólo lectura, programable y borrable) también es una memoria rápida y de bajo coste y, en comparación con la RAM tiene la ventaja añadida de que no es volátil, es decir, es remanente. Por ello, el contenido de la memoria permanece inalterable incluso ante un fallo de tensión.
Sin embargo, a efectos de modificar un programa, debe borrarse primero toda la memoria y, tras un tiempo de enfriamiento, reprogramarse completamente. El borrado requiere generalmente un dispositivo borrador y para su programación se utiliza un dispositivo especial (grabador de EPROMs). A pesar de su relativamente complejo proceso de borrado, - enfriado reprogramación, las EPROMs se utilizan con bastante frecuencia en los PLCs ya que poseen una gran fiabilidad y un bajo coste. En la práctica, a menudo se utiliza una RAM durante la fase de programación y puesta a punto de la máquina. Una vez finalizada la puesta en marcha, el programa se transfiere a una EPROM.
EEPROM La EEPROM (electrically erasable programmable ROM 1 ROM programable y borrable eléctricamente ), EEROM (electrically erasable ROM 1 ROM borrable eléctricamente) y la EAROM (electrically alterable ROM 1 ROM alterable eléctricamente) o las flash-EPROM han sido utilizadas desde hace algún tiempo. La EEPROM es especial, es ampliamente utilizada como memoria de aplicación en PLCs. La EEPROM es una memoria borrable eléctricamente, que puede reescribirse.
-
Capítulo 4
4.5
Módulode entradas
El módulo de entradas de un PLC es el módulo al cual están conectados los sensores del proceso. Las señales de los sensores deben pasar a la unidad central. Las funciones importantes de un módulo de entradas (para la aplicación) es como sigue:
=
Detección fiable de la señal Ajuste de la tensión, desde la tensión de control a la tensión lógica Protección de la electrónica sensible de las tensiones externas Filtrado de las entradas
Sefial entrad Fig. B4.7: Diagrama de bloques de un módulo de entradas
Señal a la unidad de control
1 El principal componente de los actuales módulos de entradas, que cumple con estos requerimientos es el optoacoplador. El optoacoplador transmite la información del censor por medio de la luz, creando así un aislamiento eléctrico entre el control y los circuitos lógicos, protegiendo con ello a la sensible electrónica de las tensiones espúreas externas. Actualmente, los optoacopladores avanzados garantizan protección a picos de aproximadamente 5 kv, lo que es adecuado para aplicaciones industriales. El ajuste de la tensión de control y de lógica, en el caso corriente de una tensión de mando de 24 V, puede realizarse con la ayuda de un circuito diodo/resistencia. En el caso de 220 V AC, se conecta un rectificador en serie. Dependiendo del fabricante del PLC, se asegura una detección fiable de la señal por medio un detector de umbral adicional o los correspondientes de diodos y optoacopladores. Los datos precisos en relación con las señales a detectar se especifican en DIN 19240.
Capítulo 4
El filtrado de la señal emitida por el sensor es crítica en automatización industrial. En la industria, las Iíneas eléctricas están generalmente muy cargadas-debido a tensiones de interferencia inductivas, que producen muchas interferencias en las señales. Las Iíneas de las señales pueden protegerse con apantallamientos, canaletas metálicas o, alternativamente, el módulo de entrada del PLC realiza un filtrado por medio de un retardo de la señal de entrada. Esto necesita que la señal de entrada sea aplicada un período de tiempo suficientemente largo, antes de que sea reconocida como una señal de entrada. Dado que, debido a su naturaleza inductiva, los impulsos de interferencia son principalmente señales transitorias, es suficiente un retardo de la señal de entrada relativamente corto, del orden de milisegundos, para filtrar la mayor parte de los impulsos~parásitos. El retardo de las señal de entrada se realiza principalmente por hardware, es decir, a través de un circuito RC en la entrada del PLC. Sin embargo, en casos aislados, también es posible producir un retardo de la señal por software. La duración de un retardo de entrada es de aproximadamente entre 1 y 20 milisegundos - dependiendo del fabricante y del tipo. Muchos fabricantes ofrecen entradas especialmente rápidas para aquellas tareas en las que el retardo de la señal de entrada es demasiado larga para reconocer la señal requerida. Cuando se conectan censores a las entradas del PLC, debe distinguirse entre conexiones de conmutación positiva y de conmutación negativa. En otras palabras, hay que distinguir entre entradas que representan un consumo de corriente o una fuente de corriente. En Alemania, por ejemplo, cumpliendo con VD1 2880, se utilizan principalmente las conexiones de conmutación positiva, ya que ello permite la utilización de un tierra de protección. Conmutación positiva significa que la entrada del PLC representa un drenaje de corriente. El sensor suministra la tensión de funcionamiento o tensión de control a la entrada en forma de señal-l. Si se utiliza tierra de protección, la tensión de salida del sensor es cortocircuitada hacia los O voltios o se funde el fusible en caso de cortocircuito en la linea de señal. Esto significa que se aplica una lógica O en la entrada del PLC.
En muchos países, es común utilizar sensores de conmutación negativa, es decir, las entradas del PLC funcionan como fuente de potencia. En estos casos, deben utilizarse diferentes medidas de protección para evitar que se aplique una señal 1 a la entrada del PLC en el caso de un cortocircuito en la línea de la señal. Un posible método es la puesta a tierra de la tensión de control positiva o la supervisión del aislamiento, es decir, tierra de protección como medida de protección.
4.6
Módulo de salida
Los módulos de salida llevan las señales de la unidad central a los elementos finales de control, que son activados según la tarea. Principalmente, la función de una salida - vista desde la aplicación del PLC incluye lo siguiente: m
Ajuste de la tensión desde la tensión lógica a la de control Protección de la electrónica sensible de tensiones espúreas hacia el control Amplificación de potencia suficiente para el accionamiento de elementos finales de control Protección de cortocircuito y sobrecarga de los módulos de salida
En el caso de módulos de salida, hay disponibles dos métodos fundamentalmente diferentes para conseguir lo indicado: El uso de relés o de electrónica de potencia.
Fig. B4.8: Diagrama de bloques de un-m6dulo de salida
Setial de la unidad central
Señal de salida
1 El optoacoplador, forma de nuevo la base para la electrónica de potencia y asegura la protección de la electrónica y posiblemente también el ajuste de la tensión. Un circuito de protección formado por diodos debe proteger el transistor de potencia de los picos de tensión.
TP301
Festo Didactic
Capítulo 4
Actualmente, la protección ante cortocircuito, protección ante sobrecargas y amplificación de potencia, se ofrecen a menudo como módulos completamente integrados. Las medidas estándar de protección ante cortocircuito miden el flujo de corriente a través de una resistencia de potencia para desconectar en caso de cortocircuito; un sensor de temperatura proporciona una protección ante sobrecargas; una etapa de Darlington o una etapa de transistor de potencia proporcionan la potencia necesaria. La potencia admisible de salida se utiliza específicamente de forma que permita una distinción entre la potencia admisible de una salida y la potencia acumulada admisible de un módulo de salidas. La potencia acumulada de un módulo de salidas es siempre considerablemente inferior a la suma total de la potencia de cada salida, ya que los transistores de potencia se transmiten el calor unos a otros. Si se utilizan relés para las salidas, entonces el relé puede asumir prácticamente todas las funciones de un módulo de salida: El contacto del relé y la bobina del relé están eléctricamente aislados uno de otra; el relé representa un excelente amplificador de potencia y está especialmente protegido de sobrecargas, con lo que solamente debe preverse una protección ante cortocircuito con un fusible. Sin embargo, en la práctica se conectan optoacopladores en serie con el relé, ya que ello facilita el accionamiento del relé y pueden utilizarse relés más sencillos. Las salidas por relé, tienen la ventaja de que pueden utilizarse para diferentes tensiones de salida. En contraste, las salidas electrónicas tienen velocidades de conmutación considerablemente más elevadas y una vida útil más larga que la de los relés. En muchos casos, la potencia de reles muy pequeños utilizados en los PLCs, corresponde a la de las etapas de potencia de las salidas electrónicas. En Alemania, por ejemplo, las salidas también se conectan a conmutación positiva, según VD1 2880, es decir, la salida representa una fuente de potencia y suministra la tensión de funcionamiento para el dispositivo consumidor. En el caso de un cortocircuito de la línea de señal de salida a tierra, la salida se cortocircuita si se utilizan medidas normales de puesta a tierra de protección. La electrónica conmuta a protección de cortocircuito o se funde el fusible, es decir, el dispositivo consumidor no puede drenar corriente por lo que se desconecta y queda en estado seguro. (De acuerdo con DIN 0113, el estado de seguridad debe ser siempre el estado sin energía.)
Festo Didaciic TP301
Capítulo 4
Si se utilizan salidas de conmutación negativa, es decir, la salida representa un drenaje de corriente, deben adoptarse medidas de protección del tal forma que el dispositivo consumidor quede en un estado seguro en el caso de cortocircuito en la línea de señal. De nuevo, un tierra de protección con supervisión del aislamiento o la neutralización de la tensión de control positiva son prácticas estándar en este caso.
4.7
Dispositivo programador / Ordenador personal
Cada PLC tiene una herramienta de diagnosis y programación para soportar la aplicación del PLC
m
m
Programación Verificación Puesta punto Localización de averías Documentación del programa Almacenamiento del programa
Estas herramientas de programación y diagnosis son o bien dispositivos de programación específicos del fabricante u ordenadores personales con su software correspondiente. Actualmente, estos últimos son casi exclusivamente las variantes preferidas, ya que la enorme capacidad de los modernos PCs, combinada con su comparativamente bajo coste inicial y alta flexibilidad, representan ventajas cruciales. . También se han desarrollado los denominados programadores de mano para pequeños sistemas de control y para tareas de mantenimiento. Con la creciente utilización de ordenadores personales .portátiles (LapTop), funcionando con baterías, la importancia de los programadores de mano disminuye paulatinamente.
TP301 *.Festo Didactic
-
Capítulo 4
Las funciones esenciales del sistema de software forman parte de la herramienta de programación y diagnosis Cualquier software de programación segun IEC 1131-1 deben proporcionar al usuario una serie de funciones. Así, el software de programación comprende módulos de software para: Introducción de programas Creación y modificación de programas en uno de los lenguajes de programación del un PLC Verificación de la sintaxis Comprobación de la sintaxis del programa y los datos, minimizando asl la introducción de programas defectuosos. m
Traductor Traducción del programa introducido en un programa que puede ser leido y procesado por el PLC, es decir, la generación del código máquina del correspondiente PC. Conexión entre PLC y PC A través de este enlace se realiza la carga de los programas al PLC y la ejecución de funciones de verificación Funciones de verificación Ayuda al usuario durante la escritura y en la eliminación de fallos y verificación a través de: o una verificación del estado de las entradas, salidas temporizadores, contadores, etc. verificación de secuencias de programa por medio de operaciones de paso a paso, órdenes de STOP, etc. o simulación por medio de activación manual de entradadsalidas, establecimiento de valores, etc. Indicación del estado de sistemas de control Emisión de información relacionada con la máquina, proceso y estado del sistema PLC: ci Indicación del estado de señales de entrada y salida ci Registro/indicación de cambios de estado en señales externas y datos internos o Supervisión de los tiempos de ejecución o Formato en tiempo real de la ejecución del programa
Capítulo 4
Documentación Creación de una descripción del sistema PLC y el programa del usuario. Esto consiste en: a Descripción de la configuración del hardware Impresión del programa de usuario con los correspondientes datos e identificadores para las señales y comentarios a Lista de referencias cruzadas para todos los datos procesados tales como entradas, salidas, temporizadores, etc. a Descripción de las modificaciones
=
Archivado del programa de usuario Protección del programa de usuario en memorias no volátiles tales como EPROM, etc.
Capítulo 5
Capítulo 5 Programación de un PLC
-
-
Capítulo 5
5.1
Búsqueda de una solución sistemática
Los programas de control representan un componente importante en un sistema de automatización. Los programas de control deben ser diseñados sistemáticamente, bien estructurados y completamente documentados, para que sean: libres de errores, fáciles de mantener y económicos Modelo de fases para la generación de software para PLC El procedimiento para el desarrollo de un programa de PLC que se muestra en la fig. 85.1 ha sido probado y verificado. La división en secciones definidas conduce a un funcionamiento sistemático y objetivado, y proporciona una disposición de resultados clara, que puede verificarse en relación con la tarea.
El modelo de fases consiste en las siguientes secciones:
=
Especificación: Descripción de la tarea Diseño: Descripción de la solución Realización: Puesta en práctica de la solución Integración/puesta a punto: Incorporación en el entorno y verificación de la solución,
que básicamente pueden aplicarse a todos los proyectos técnicos. Se producen diferencias en los métodos y herramientas utilizados en las fases individuales.
D Especificación
- Tecnología, croquis de situacion - Macroestructura de los programas de control
D Diseño
- Diagrama de funciones según IEC 848
- Diagrama de funciones, tal como el Diagrama espacio-tiempo
- Tabla de funciones
- Definición de los m6dulos de software
- Lista de piezas y esquemas del circuito Realización ST y10 SFC
- Simulación de subprogramas y del conjunto de programas
m Puesta a punto
Fig. 85.1: Modelo de fases para la generación de software de PLC
- Verificación de los subprogramas - Verificación del conjunto de programas
TP301 Festo Dídactic
Capítulo 5
El modelo de fases puede aplicarse a programas de control de cornplejidad diversa; para tareas de control complejas, es absolutamente esencial la utilización de tales modelos. Las fases individuales del modelo se describen abajo.
Fase 1: Especificación (Formulación del problema) En esta fase, se formula una descripción detallada y precisa de la tarea de control. La descripción especifica de la función del sistema de control, formalizada al máximo, revela cualquier requerimiento conflictivo, especificaciones incompletas o equivocadas. Al final de esta fase se dispone de lo siguiente: m
m
Descripción escrita de la tarea de control Estructura.distnbuci6n Macroestructuración del sistema o proceso y con ello un esbozo de la estructura de la soluci6n. -
Fase 2: Diseño (Forma concreta del concepto de la solución) Un concepto de solución se desarrolla basándose en las definiciones establecidas en la fase 1. El método utilizado para describir la solución debe proporcionar un gráfico y una descripción orientada al proceso, a la función y comportamiento del sistema de control, y debe ser independiente de la realización técnica. Estos requerimientos se cumplen con el diagrama de funciones (FCH) segun define DIN 40 719, Parte 6 o IEC 848. Empezando con una representación de una visión de conjunto del control (esbozo de la estructura de la solución), la solución puede refinarse paso a paso hasta que se obtenga un nivel de descripción que contenga todos los detalles de la solución (refinamiento de un esbozo de estructura). En el caso de tareas de control complejas, la solución es estructurada, en paralelo con esto, en m6dulos de software individuales. Estos módulos de software realizan las etapas de trabajo del sistema de control. Estos pueden ser funciones especiales como la realización de un interface para la visualización del proceso, o sistemas de comunicación, o incluso etapas de trabajo recurrentes permanentemente. El diagrama desplazamiento-fase, representa otra forma estándar para la descripción de sistemas de control aparte del diagrama de funciones según DIN 40 719, Parte 6.
Capítulo 5
Fase 3: Realización (Programación del concepto de la solución) La traducción del concepto de la solución en un programa de control se realiza a través de los lenguajes de programación definidos en IEC 1131-3. Estos son: diagrama de funciones secuencial, diagrama de bloques de función, diagrama de contactos, lista de instrucciones y texto estructurado. Los sistemas de control que funcionan en un proceso tiempoAógica y están disponibles en FCH según DIN 40 719, P.6, pueden ser clara y fácilmente programados en diagrama de funciones secuencial. Un diagrama de funciones secuencial, en la medida de los posible, utiliza los mismos componentes para la programación que los utilizados para la descripción en el diagrama de funciones según DIN 40 719, P.6. Diagrama de contactos, diagrama de bloques de función y lista de instrucciones son los lenguajes de programación adecuados para la formulación de operaciones básicas y para sistemas de control que pueden ser descritos por simples señales lógicas combinadas por operaciones booleanas. El lenguaje de alto nivel denominado 'texto estructurado' se utiliza principalmente para crear módulos de software de contenido matemático, tales como módulos para la descripción de algoritmos de regulación. En la medida en que los sistemas de programación de PLCs lo perrnitan, los programas de control o parte de los programas creados, deberfan ser simulados antes de la puesta a punto. Esto permite la detección y eliminación de errores ya en una etapa inicial.
Fase 4: Puesta a punto (Construcción y verificación de una tarea de control) Esta fase verifica la interacción del sistema de automatización y la planta conectada. En casos de tareas complejas, es aconsejable poner a punto el conjunto de forma sistemática, paso a paso. Los fallos, tanto en el sistema como en el programa de control, pueden hallarse y eliminarse fácilmente utilizando este método.
Capítulo 5
-
Documentación Un componente importante y crucial de un sistema es la documentación, ya que es un requerimiento esencial para el mantenimiento y ampliación de un sistema. La documentación, incluyendo los programas de control, debería estar disponible tanto en papel como en un soporte de almacenamiento de datos. La documentación consiste en la información sobre las fases individuales, listados del programa de control y de cualquier información adicional posible concerniente al programa de control. Individualmente estos son: Descripcibn del problema Croquis de situación Esquema del circuito Esquema técnico Listados del programa de control en SFC, FBD, etc. Lista de asignaciones de entradas y salidas (esto también forma parte de los listados del programa de control) Documentación adicional
IEC 1131-3 es un estándar para la programación, no sólo de un PLC individual, sino tambikn para sistemas de automatización complejos. Los programas de control para grandes aplicaciones deben ser claramente estructurados para ser inteligibles, fáciles de mantener y si es posible también portátiles, es decir, transferibles a otros sistema de PLC.
5.2 Recursos de estrvcturación IEC 1131-3
Las definiciones se necesitan no sólo para las instrucciones de lenguaje elemental, sino también para los elementos de lenguaje para estructuración. Los recursos de estructuración (fig. 85.2) se refieren a programas de control y a la configuración del sistema de automatización.
[ ] RECURSO DE CONFIGURACI~N
vAR-GLoBAL
RUTA-ACCESO
Diagrama de funciones
(
)
fK]
BLOQUE-FUNCl6N FUNCIÓN
\
Estructuraci6n del nivel de configuración
- Configuración un sistema de de automatización
- Representación de la secuencia - Refinamiento
Estructuración del nivel de programa
- Modularización
TIPO-DATOS
L
Festo Didaciic
J
TP301
I
Fig. B5.2: IEC 1131-3 metodo de estructuracibn
Capítulo 5
~ecursosde estructuración del programa Los recursos de estructuración - programa, bloque de funciones y función - contienen la verdadera lógica de control (reglas) del programa de control. Estos se conocen también como unidades de organización del programa. Estos recursos de estructuración están disponibles para cualquier lenguaje de programación. Se utilizan para la modularización de programas de control y del programa de usuario esto concierne principalmente a programas y bloques de función - o también suministrados por el fabricante - en lo que se refiere a programas y bloques de función.
-
IEC 1131-3 define un amplio juego que funciones y bloques de función estandarizados. Estos pueden ser ampliados por funciones propias del usuario, para tareas especiales o de continua recurrencia. Los módulos de software, que pueden utilizarse de diversas maneras, se introducen en librerías, de las que puede disponerse en cualquier momento. Los programas representan la capa más exterior de la organización del programa y pueden diferenciarse del bloque de función principalmente por el hecho de que no pueden ser invocados por ninguna otra unidad de organización del programa. El diagrama de funciones secuencial representa otro recurso para la estructuración de un programa. Los contenidos de los programas reales y los bloques de función pueden de nuevo representarse clara e inteligiblemente por medio de un diagrama de funciones secuencial.
Recursos de estructuración a nivel de configuración Los elementos de lenguaje para configuración describen la incorporación de programas de control en el sistema de automatización y su control en relación con el tiempo.
El sistema de automatización representa una configuración (elemento del lenguaje CONFIGURACION). Dentro de la configuración hay las variables globales (elemento de lenguaje VAR-GLOBAL).
TP301 Festo Didactic
Capítulo 5
Un recurso (elemento de lenguaje RECURSO) corresponde al procesador de un sistema multiprocesador, al cual se asignan uno o varios programas. Además, comprende elementos de control, que incluyen el control de programas en relación con el tiempo. Este elemento de control es una tarea (elemento de lenguaje TAREA). El elemento de control Tarea define si un programa debe procesarse cíclicamente o sólo una vez, disparado por un evento especifico. Los programas que no están específicamente enlazados a una tarea son procesados cíclicamente en segundo plano y con la prioridad más baja. f
>
Configuración de la fabricacidn de válvulas f
\ Recurso montaje de válvulas
\ T
Recurso control transportador
Recurso control de calidad
j
Programa montaje
\
Programa
transporlador i
,
Programa estadística
Programa
'i
J
Programa Guarda-datos i L.
f
J
-..
J
1
Variables globales y directamente representadas L
J
Los recursos de estructuración para la configuración se muestran en un resumen combinado en la fig. 05.3. A continuación se explica el ejemplo que aplica este concepto a una tarea de automatización. La tarea planteada es la de diseñar y automatizar una linea de producción para el montaje de válvulas neumáticas. Se ha elegido un PLC multiprocesador con tres tarjetas de procesador para el montaje de las válvulas. Las tarjetas de procesador están asignadas al montaje de las válvulas, el control del transportador y el control de calidad.
Festo Didactic. TP301
Fig. 85.3: Ejemplo gráfico de UM configuracion
Capítulo 5
-
Los programas Estadísticas y Guarda-datos está asociados con diferentes tareas. Como tales, poseen diferentes características de ejecución. El programa Estadísticas evalúa y comprime los datos de calidad a intervalos regulares. La prioridad de este programa es baja. Se pone en marcha regularmente, p. ej. cada 20 minutos, por la tarea Tarea-ciclica. En el caso de un PARO DE EMERGENCIA, el programa Guarda-datos transmite todos los datos disponibles a un ordenador de célula de nivel superior para prevenir cualquier posible pérdida de datos. El programa se pone en marcha activado por un evento de la más alta prioridad con la señal de PARO DE EMERGENCIA. IEC 1131-3 proporciona interfaces definidos y por lo tanto estandarizados para el intercambio de datos dentro de una configuración. Si se requiere información específica, tal como la lectura de una variable, en diferentes unidades de organización de programas, esta variable es designada como variable global. Entonces los datos pueden ser intercambiados con una variable designada como tal. A las variables globales sólo se puede acceder desde programas y bloques de función. Lo que tiene interés para sistemas en red es la comunicación más allá de una configuración. Para ello, están a disposición del usuario bloques de funciones de comunicación estandarizados. Estos se definen en IEC 1131-5 y se utilizan en IEC 1131-3. Otra posibilidad es la definición de rutas de acceso (recurso de lenguaje RUTA-ACCESO) para variables específicas. Estas también pueden ser leídas o escritas desde otras posiciones.
5.3
Lenguajes de programación
IEC 1131-3 define cinco lenguajes de programación. Aunque la funcionalidad y estructura de estos lenguajes es muy diferente, son tratados como una sola familia de lenguajes por IEC 1131-3, con elementos de estructura solapados (declaración de variables, partes de organización tales como funciones y bloques de función, etc.) y elementos de configuración. Los lenguajes pueden mezclarse de cualquier forma dentro de un proyecto de PLC. La unificación y estandarización de estos cinco lenguajes representa un compromiso de requerimientos históricos, regionales y específicos de cada sector. Se ha previsto la futura expansión (tal como el principio de bloque de función o el lenguaje de Texto Estructurado); además, se ha incorporado la información necesaria sobre detalles tecnológicos (tipo de datos, etc.)
TP301 Festo Didactic
Capítulo 5
Los elementos del lenguaje son explicados con la ayuda de un proceso de mecanizado involucrado en la producción de válvulas. Se utilizan dos censores para establecer si una pieza con los talados correctamente realizados está disponible en la posición de mecanizado. Si la válvula a mecanizar es del tipo A o el tipo B esto se establece con dos interruptores selectores el cilindro avanza y mete la funda en el taladro realizado.
-
-
El Diagrama de contactos o Diagrama en escalera (Ladder diagram) LD El Diagrama de contactos es un lenguaje de programación gráfico denvado de los esquemas de circuitos de los mandos por relés directamente cableados. El diagrama de contactos contiene líneas de alimentación a derecha e izquierda del diagrama; a estas lineas están conectados los reglones, que se componen de contactos (normalmente abiertos y normalmente cerrados) y de elementos de bobina.
Eg. 85.4: Ejemplo del lenguaje en diagrama de contactos
Diagrama de bloques de función (Function block diagram) FBD En el diagrama de bloques de función, las funciones y los bloques de función están representados gráficamente e interconectados en redes. El diagrama de bloques de función tiene su origen en el diagrama Iógico que se utiliza en el diseño de circuitos electrónicos.
Fig. 65.5: Ejemplo del lenguaje en bloques de funciones
Capítulo 5
Lista de Instrucciones (Statement list o lnstruction bist) IL La lista de instrucciones es un lenguaje textual tipo assembler, caracterizado por un modelo de máquina simple (procesador con un sólo registro). La lista de instrucciones se formula a partir de instrucciones de control consistentes en un operador y un operando.
Fig. 85.6: Ejemplo de lenguaje en lista de instrucciones
LD Pieza-TipoA OR Pieza-TipoB AND P i e z ~ r e s e n t e AND Taladro-ok ST Mete-funda
En lo que se refiere a filosofía de lenguaje, el diagrama de contactos, el diagrama de bloques de función y la lista de instrucciones han sido definidos en la forma en que son utilizados en la actual tecnología de PLC. Sin embargo, están limitados a las funciones básicas en lo que concierne a sus elementos. Esto los aparta esencialmente de los dialectos que las empresas utilizan en la actualidad. La competitividad de estos lenguajes es mantenida debido al uso de bloques y bloques de función. Texto estructurado (Structured text) ST El texto estructurado es un lenguaje de alto nivel basado en Pascal, que consiste en expresiones e instrucciones. Las instrucciones pueden definirse principalmente como: Instrucciones de selección, tales como IF...THEN...ELSE, etc, instrucciones de repetición tales como FOR, WHlLE etc. y llamadas a bloques de función.
Fig. B5.7: Ejemplo de lenguaje en texto estructurado
Mete-funda := (Pieza-TrpoA OR Pieza-TpoB) AND Piezagresente AND Taladro-OK; -
El texto estructurado permite la formulación de numerosas aplicaciones, más allá de la pura tecnología de funciones, tales como algoritmos (algoritmos de regulación de nivel superior, etc.) y manejo de datos (análisis de datos, procesamiento de estructuras de datos complejas, etc.)
TP301 Festo Didactic
Capítulo 5
Diagrama de funciones secuencial (Sequential function chart) SFC El diagrama de funciones secuencial (casi idéntico al GRAFCET francés) es un recurso de lenguaje para la estructuración de los programas de control orientados a secuencias. Los elementos del diagrama de funciones secuencial son las etapas, las transiciones y las derivaciones alternativas y en paralelo. Cada etapa representa un estado del proceso de un programa de control, que se halla activo o inactivo. Una etapa consiste en acciones que, al igual que las transiciones, están formuladas en los lenguajes IEC 1131-3. Las propias acciones pueden contener de nuevo estructuras secuenciales. Esta caracteristica permite la estructura jerárquica de un programa de control. Por lo tanto, el diagrama de funciones secuencial es una herramienta excelente para el diseño y la estructuración de programas de control.
Festo Didactic
Tí301
Capítulo 6
Capítulo 6 Elementos comunes de los lenguajes de programación
Capítulo 6
6.1
Recursos de un PLC
Según IEC 1131-3, sólo las entradas, las salidas y los elementos de memoria pueden ser direccionados directamente por un programa de control. En este caso, el direccionamiento directo significa que en el programa, una entrada, salida o elemento de memoria del control esta afectado inmediatamente y no indirectamente a través de una variable simbólica definida. Naturalmente, IEC 1131-3 reconoce muchos otros recursos, p. ej. temporizadores y contadores. Sin embargo, estos están integrados en funciones y bloques de función para asegurar el más alto grado posible de portabilidad del programa de control entre los diferentes sistemas. Entradas, salidas y la memoria Los constituyentes más importantes de un control incluyen las entradas, salidas y la memoria. Sólo a través de estas entradas puede un control recibir información de los procesos conectados. De forma similar, sólo puede influir en ellos a través de sus salidas o almacenar información para la subsecuente continuación del proceso. Las denominaciones para los recursos entradas, salidas y elementos de memoria, están definidos por IEC 1131-3 y son obligatorios.. Entradas (Inputs) Salidas
Fg.B6.1: Designacionespara Entradas, Salidas y
Memorias
Sin posteriores referencias, estos designan sólo entradas y salidas binarias y elementos de memoria de un sólo bit, designados como flags (tambien denominado marcas). El estándar habla generalmente de variables representadas directamente. Estas son variables que están referidas directamente a las entradas, salidas y elementos de memoria del control disponibles, relacionadas con el hardware. La asignación de entradas, salidas y memorias (flags), y su posición física o lógica en el sistema de control es definido por el correspondiente fabricante del control.
Capítulo 6
Siempre que el control lo soporte, pueden direccionarse recursos que excedan de un bit. IEC 1311-3 emplea otra letra para decribirlos, que sigue a la abreviación 1, Q y M y, por ejemplo, designa bytes y words. IEC 1131-3 designa los tipos de datos mostrados en la fig. B6.2 en relación con las entradas, salidas y flags. Secuencia de bits de longitud 1 Secuencia de bi de longitud 8
WORD
Secuencia de bits de longitud16
Fig. B6.2: Tipos de datos
Los tamaños de 1 bit, tal como describe el tipo de datos BOOL (booleana) solamente pueden asumir los valores O ó 1. Consecuentemente, el margen de valores para un dato del tipo BOOL consiste en dos valores "O" y "1".
A diferencia de esto, hay que destacar que en el caso de los tipos de datos de secuencia de bits, que consisten en más de un bit, no hay un rango de valores relacionado inmediatamente. Todos los tipos de datos de secuencias de bits, tales como p. ej. BYTE y WORD son meramente una combinación de varios bits. Cada uno de estos bits tiene el valor O ó 1, pero su combinación no tiene su propio valor. Los métodos de designación obligatorios para entradas, salidas y flags de diferentes longitudes de bits están representados en la fig. B6.3. 1, 0, M o bien IX, QX, MX
Bit de entrada, bit de salida, bl de memoria
1b i t
IB, QB, MB
Byte de entrada, byte de salida, byte de memoria
8b R
IW, QW, MW
Word de entrada, word de salida, word de memoria
16 bit
Festo Didactic
TP301
Fig. 86.3: Designación para Entradas, Salidas y Memorias
Capítulo 6
Un bit individual de una entrada, salida o flag también puede ser direccionado sin la abreviación adicional X para el tipo de dato. Como sea que los controles siempre tienen un número relativamente grande de entradas, salidas y flags disponibles, estos deben ser especialmente identificados a efectos de diferenciación. Para ello se utiliza la numeración indicada por IEC 113'1-3, como en el siguiente ejemplo: Il
Entrada 1
1x9
Entrada 9
11 5
Entrada 15
QW3
Word de salida 3
MI35
Byte de memoria 5
MX2
Memoria 2
IEC 1131-3 no especifica el margen de números que se permite para esta numeración ni si deben empezar por O 6 por 1. Esto lo especifica el fabricante del control. También deben utilizarse una cantidad jerárquica de entradas, salidas y flags, si el control utilizado ha sido adecuadamente configurado. Se utiliza un punto para separar los niveles individuales de la jerarquia. El número de niveles de jerarquia no ha sido definido. En el caso de numeración jerárquica, la posición más alta en el número de la izquierda debe ser codificado, los números que siguen a la derecha representan consecutivamente las posiciones más bajas.
Ejemplo
13.8.5
TP301 Festo Didactic
Capítulo 6
La estrada especificadas 13.8.5 puede por lo tanto representar:
1
Entrada en inserto No. 3 en tarjeta No. 8 como Entrada No. 5 I
3.
8.
5
1 IEC 1131-4 no hace ningún comentario en relación con la asignación de bits individuales en un BYTE o WORD. Los fabricantes de los controles a menudo eligen métodos de designación jerárquica para asignar bits individuales como partes de words. Así, F6.2 podría representar, por ejemplo, el bit número 2 de la flag word número 6. Sin embargo, esto no tiene que ser necesariamente así, ya que el flag bit F6.2 y la flag word FW6 no necesariamente tienen que estar conectadas de alguna forma. Además, no se ha hecho ninguna definición sobre si la numeración de los bits individuales en una word deben empezar por la derecha o por la izquierda (hasta ahora, el bit número O en el extremo derecho ha sido el más frecuentemente utilizado) Variables directamente direccionadas Si los recursos en un programa de control deben ser direccionados directamente, a la designación del recurso debe anteponerse el recurso %. Ejemplos de variables directamente direccionables: %IX12 o %112
Bit de entrada 12
%IW5
Word de Entrada 5
%QB8
Byte de Output 8
%MW27
Word de Memoria 27
El uso de variables directamente direccionadas solamente es permisible en programas, configuraciones y recursos. Las unidades de organización de programas Función y Bloque de Función deben operar exclusivamente con variables simbólicas, para mantener el programa lo más independiente posible del control y, con ello, lo más ampliamente utilizable.
Festb Didactic TP301
designaciones jerárquicas
Capítulo 6
6.2
Variables y tipos de datos
La utilización de variables representadas exclusiva y directamente (recursos, entradas, salidas y memoria) no es suficiente para crear programas de control. Frecuentemente, se requieren datos, que contienen información específica, también de una naturaleza más compleja. Estos datos pueden ser especificados directamente, es decir, datos de tiempo o valores de recuento, o accesibles sólo a través de variables es decir, a través de una representación simbólica. Las definiciones más importantes para tratar con datos o variables se indica abajo.
Direccionamiento simbólico Un identificador simbólico siempre consiste en una letra mayúscula o minúscula, dígitos y un guión de subrayado. Un identificador debe empezar siempre con una letra o un guión de subrayado. El guión de subrayado puede utilizarse para hacer más leíble un identificador. Sin embargo, es un carácter significativo. Por ello, los dos identificadores Marcha-motor y Marchamotor son diferentes. No se permiten varios guiones de subrayado. Si el control permite letras mayúsculas y minúsculas, su utilización indistinta no debe tener significación alguna. Los dos identificadores MARCHAMOTOR y Marchamotor se interpretan idénticamente y designan el mismo objeto.
Los siguientes identificadores no son permisibles:
no es ni una letra ni un número
Además, los identificadores simbólicos no deben ser idénticos que las palabras clave. Como regla, las palabras clave son palabras reservadas para tareas específicas. Representación de datos En un programa de control, debe ser posible especificar valores de tiempo, de recuento, etc.
Consecuentemente, IEC 1131-3 ha establecido las definiciones para la representación de los datos a especificar m m
Valores de recuento Valores de tiempo Cadenas
TP301 Festo Dídactic
Capítulo 6
Descripción
Ejemplos
Enteros
12, -8, 123-456*, +75
Números en coma flotante
-12.0, -8.0, 0.123-4*
Números de base 2 (Números binarios)
2#1111-1111 2#1101-O011
(255 decimal) (211 decimal)
Números de base 8 (Números actales)
8#377 8#323
(255 decimal) (211 decimal)
Números de base 16 (Números hexadecimales)
16#FF o 1 6 M 16#D3 o 16#d3
(255 decimal) (211 decimal)
Cero y Uno Booleanoc
O, 1
El uso de subrayados entre dígitos es permisible para mejorar la legibilidad. Sin embargo, el subrayado no es significativo.
Tabla B6.1: Representación de datos numéricos
IEC 1131-3 prevé diferentes tipos de datos de tiempo: Duración, es decir, para medición de resultados m Fecha m Hora del dia, p. ej. para sincronización desde el inicio o el final de un evento (también juntamente con la fecha) m
Descripción
Ejemplos
Duración de tiempo
T#18ms, t#3rn4s, t#3.5s t#6h_20m_8s T1ME#18ms
Fecha
D#1994-07-21 DATE#1994-07-21
Hora del dia
TOD#13:18:42.55 TIME-OF-DAY#13:18:42.55
Fecha y Hora
DT#1994-07-21-13:18:42.55 DATE-AND-TlME#1994-07-21-13:18:42.55
La especificación de la duración de un tiempo consiste en una parte introductoria, la palabra clave T# o t#, y una secuencia de secciones relacionadas con el tiempo - es decir, días, horas, minutos, segundos y milisegundos.
Festo Didactic TP301
Tabla 86.2: Representación de tiempo, fecha y hora
Capítulo 6
Abreviaciones para datos de tiempo: d
Dias
h
Horas
m
Minutos
S
Segundos
rns
Milisegundos
También pueden utilizarse mayúsculas en lugar de minúsculas y guiones de subrayado para mejorar la lectura del dato. También IEC 1131-3 ha especificado un formato fijo para la indicación de una fecha, hora del día o una combinación de ambos. Cada especificación empieza con una palabra clave; la información real se representa como se muestra en la tabla B6.2. Otro método importante de representación de fechas es el uso de una secuencia de caracteres también conocida como cadena, que puede ser requerida para el intercambio de información, es decir, entre diferentes controles, con otros componentes de un sistema de automatización o también para la programación de textos para visualización en el control y en dispositivos de visualización. Una cadena consiste en ninguno o varios caracteres, que empiezan y terminan conuna coma volada.
- Tabla B6.3: Representación de cadenas
Ejemplo
Descripción
'6'
Cadena de longitud 1, conteniendo el carácter 6
'Atención'
Cadena de longitud 7, conteniendo el mensaje Atención cadena vacía
TP301 Festo Didactic
Capítulo 6
Tipos de datos IEC 1131-3 define un gran número de tipos de datos para diferentes tareas. Uno de estos tipos de datos, BOOL, ya ha sido mencionado. Una variable del tipo BOOL asume el valor O ó bien el valor 1.
Palabra clave
Tipo de Dato
Margen de valores
BOOL
Número Booleano
0, 1
SlNT
Entero corto
O a 255
INT
Entero
-32 768 a +32 767
DlNT
Entero doble
-2 147483 648a+2 147483647
UlNT
Entero sin signo
O a 65 535
REAL
Número en coma flotante
+/-2.9E-39 a +/-3.4E+38
TIME
Duración de tiempo
dependiendo de la implementación
STRING
Cadena de longitud variable
dependiendo de la irnplementación
BYTE
Secuencia de 8 bits
sin rango de valores declarable
WORD
Secuencia de 16 bits
sin rango de valores declarable
Otros dos importantes tipos de datos, denominados INT e UlNT definen números enteros. Las variables del tipo de datos INT (integerlentero) permiten valores numéricos de -32 768 hasta +32 767. El margen de valores del tipo de dato INT cubre tanto valores negativos como positivos. Las variables del tipo UNlT (unsigned integerlentero sin signo) sólo permiten valores positivos. El margen de valores para las UlNT va desde O a 65 535..SINT (short integerlentero corto) y DlNT (double integerlentero doble) son tipos de datos adicionales que definen números enteros. Sin embargo, estos tiene un margen de valores inferior o superior que el tipo de datos INT. El tipo de datos REAL contiene números en coma flotante. Estos son números que pueden contener lugares tras la coma, tales como el 3,24 ó -1,5. El tipo de datos TIME se utiliza para especificar el tiempo, y puede contener una duración de tiempo como por ejemplo: 2 minutos y 30 segundos.
Festo Didactic TP301
Tabla 86.4: Un número de tipos de datos elementales
--
Capítulo 6
Aparte de estos tipos de datos predefinidos elementales, el usuario tiene la posibilidad de definir sus propios tipos de datos. Esto es Útil en casos en donde la definición del problema va más allá del ámbito de la pura tecnología de control. Los tipos de datos derivados se declaran dentro de la construcción TYPE...END-TYPE. La declaración completa se indica abajo para la enumeración del tipo Color en la tabla B6.5: TYPE Colo: (ROJO, AZUL, AMARILLO, NEGRO); END-TYPE
Tabla 86.5: Tipos de datos derivados
Tipo de dato derivado
Declaración TYPE END-NPE
Tipo de enumeración
Cdor: (ROJO, AZUL, AMARILLO, NEGRO);
Tipo de subrango
Margen-referencia: INT(80..110);
Campos (array)
Posicion: ARRAY[l..l O] OF REAL;
Estructuras
Coordenadas: STRUCT X:REAL; Y:REAL; END-STRUCT;
...
El significado de los tipos de datos individuales en la tabla 86.5 se explica brevemente abajo: Un dato del tipo Color solamente puede asumir uno de los valores ROJO, VERDE, AMARILLO o NEGRO. Un dato del tipo Margen-referencia sólo puede asumir valores entre 80 y 110, incluyen los limites inferior y superior 80 6 110. = Un dato del tipo Posicion, representa una lista con 10 entradas. Cada entrada tiene el valor de un número REAL. Con este indice pueden indexarse las entradas individuales. m Un elemento del tipo de datos Coordenadas contiene dos números REAL, a los que puede accederse a través de sus nombres X e Y. No todos los controles necesitan reconocer todos estos tipos de datos. Cada fabricante dispone un juego de tipos de datos, que pueden utilizarse en el correspondiente control.
Capítulo 6
Declaración de variables Con el uso de datos, debe definirse claramente el derecho de acceso a estos datos. Con este fin, IEC 1131-3 utiliza una declaración de variables.
Para comprender la función de una declaración de variables, es necesario establecer antes que el programa del control está construido en unidades de organización individuales. Estas unidades son: m
m 8
m
Configuración Recurso Programas Bloques de función Funciones
Todas las variables tienen una posición especifica. En el caso de lenguajes de programación en forma textual (IL y ST), las declaraciones de variables con aproximadamente las mismas que las utilizadas en el lenguaje Pascal. Para las formas gráficas de representación sería factible una forma tabular con el contenido equivalente. Sin embargo, esto no está especificado en IEC 1131-3. Todas las declaraciones de variables (fig. 86.5) siempre empiezan con una palabra clave, que designa la posición de la variable en la unidad de organización del control, y termina con la palabra clave END-VAR.
VAR Temp Manual Ueno, Abierto END-VAR
: INT; ('Temperatura : BOOL; ('Flag para funcionamiento manual : BOOL; ('Flag para 'lleno' y 'abierto'
*) *) *)
Las variables y su asignación a un tipo de datos, se introduce entre estas palabras clave en las que se especifica un identificador o identificadores simbólicos de las variables, el tipo de dato se indica tras dos puntos y la declaración se cierra con un punto y coma. Si se declaran varias variables, se repiten correspondientemente. Normalmente, cada declaración se escribe en una línea separada en este caso.
Festo Didactic TP307
Fig. B6.5: Dedaración de variables
Capítulo 6
IEC 1131-3 distingue entre seis tipos diferentes de acceso a las variables. Cada tipo tiene una palabra clave, que introduce la declaración de la variable.
Tabla B6.6: Palabras clave para la declaración de variables
Variables de Entrada
VAR-INPUT
Variables de Salida
VAR-OUTPUT
Variables de Entradaalida
VAR-INOUT
Variables locales
VAR
Variables globales
VARGLOBAL
Variables externas
VAR-EXTERN
Las variables de entrada son declaradas con las palabras clave VAR-INPUT y END-VAR.
Fig. 86.6: Declaración de una variables de entrada
VAR-INPUT Input : INT; END-VAR
('Valor de entrada
Las variables especificadas de esta forma representan variables de entrada, alimentadas externamente a una unidad de organización, p. ej, un bloque de función. Estas sólo pueden leerse dentro de la unidad de organización. . No es posible hacer modificaciones. Análogamente a esto, las variables de salida se definen con las palabras clave VAR-OUTPUT y END-VAR
Fig. B6.7: Declaración de una variable de salida
VAR-OUTPUT Result : INT; END-VAR
('Valor de realimentación
El dato que calcula una unidad de organización y devuelve de nuevo el exterior se declara arriba. Todos los resultados de una unidad de organización deben ser transferidos más allá de la unidad de organización a través de variables declaradas de esta forma. Dentro de las unidades de organización, estas pueden ser leidas y escritas. Externamente, sólo se permite el acceso de lectura.
TP301 Festo Didactic
Capítulo 6
En los casos en que se permitan variables conteniendo valores de entrada y salida, estos deben crearse con las palabras clave VAR-INOUT y END-VAR.
VAR-IN-OUT Value END-VAR
: INT;
Fig. B6.8: Declaración de una variable de entradalsalida
Esta forma representa una tercera opción y permite la declaración de variables, que pueden ser leídas y utilizadas dentro de una unidad de organización. En el caso de una variable declarada como VAR-IN-OUT, se asume que ambos valores serán suministrados hacia y desde la unidad de organización. A menudo, se requieren variables para resultados intermedios, que deben permanecer desconocidos externamente. La declaración de tales variables, denominadas locales, empieza con VAR y termina con END-VAR.
VAR
z
: INT;
('Resultado intermedio
END-VAR
Fig. 66.9: Dedaraddn de una variable local
Las variables especificadas aquí son locales para una unidad de organización y solame te pueden ser utilizadas en ella. Son desconocidas para otras unidades organizacionales y por lo tanto inaccesibles. Una aplicación tipica son las posiciones de memoria para resultados intermedios, que no son de interés en otras zonas del programa. En el caso de estas variables, hay que observar que también pueden existir varias veces en diferentes unidades de organización. De esta forma, es posible, por ejemplo, que varios bloques de función declaren la variable local 2. Estas variables locales son completamente independientes y difieren unas de otras. Una variable también puede ser declarada globalmente, en cuyo caso puede ser accedida universalmente. La necesaria declaración se realiza de una forma similar, utilizando las palabras clave VAR-GLOBAL y VAR-EXTERNAL.
.
Capítulo 6
VAR-GLOBAL Global-value: INT; END-VAR
Fig. B6.1O: Declaración de una variable global
Así es como se declaran todos los datos globales para un programa de control. Los datos globales son accesibles universalmente. Esta declaración sólo puede hallarse en unidades de organización, configuración y recurso. VAR-EXTERNAL Global-value: INT; END-VAR
Fig. B6.11: Declaración de acceso a una variable global
Para facilitar el acceso de, datos global a una unidad de organización, esta declaración debe ser registrada en la unidad de organización. Sin la declaración mostrada arriba, el acceso a los datos globales no sería permisible. Esta estricta unidad de declaración para todas las variables define unicamente .qué variables son reconocidas por una unidad de organización y cómo pueden ser usadas. Un bloque de función puede, por ejemplo, leer pero no cambiar sus variables de salida. Se utiliza la palabra clave AT para asignar variables a las entradas y salidas del control.
Fig. B6.12: Declaración de variables con asignación a entradas de un control
1
VAR Pulsador-paro AT %12.3: BOOL; Temperatura AT %IW3: INT; END-VAR
Las declaraciones hechas de esta forma son el mejor medio para definir el significado de todas las entradas y salidas del control. Si se produce un cambio en el sistema y su conexión al controlador, sólo deberán ser cambiadas estas declaraciones. Cualquier utilización p. ej. del Pulsador-paro, o de la Temperatura en un programa existente, no se ve afectada por el cambio.
TP301 Festo Didactic
Capítulo 6
Sin embargo, según IEC 1131-3 siempre es posible utilizar variables direccionadas directamente sin tener que asignarlas a un identificador simbólico. La declaración en este caso es como sigue: VAR AT %14.2 AT %M1 END-VAR
: BOOL; : WORD;
Inicialización A menudo es esencial que a una variable se le asigne un valor inicial. Este valor puede cambiar varias veces durante el procesamiento del programa, incluso aunque haya estado definida el principio. Los estados iniciales como estos también son importantes para otros datos. Tales valores iniciales se especifican conjuntamente con la declaración de las variables. Una variable global de este tipo denominada p. ej. Docena se declara para que al principio del programa asuma el valor 12. VAR-GLOBAL Docena END-VAR
Fig. 66.13: Declaración de una variable global con valor inicial
: IM:= 12;
Como se ha mostrado en este ejemplo, el valor de inicialización se inserta siempre entre el tipo de dato en este caso INT - y el punto y coma de cierre. La especificación del valor de inicialización siempre requiere el signo :=.
-
De esta forma, a cada variable se le puede especificar un valor inicial. Fundamentalmente, las variables siempre tienen un valor inicial definido al inicio del programa. Esto lo facilita la característica definida en IEC 1131-3, en donde los tipos de datos tienen un valor preestablecido. Cada variable es preasignada al valor inicial correspondiente al tipo de dato - a no ser que se especifique lo contrario en el programa. Una lista de los valores iniciales de una selección de tipos de datos elementales puede verse en la tabla B6.7. Tipo de dato
Valor inicial
BOOL, SINT, INT, DlNT UlNT BYTE, WORD REAL TIME STRING
O O O 0.0
Festo Didactic TP301
T#Oc " (cadena vacia)
Tabla 86.7: Valores iniciales preestablecidos
-
-
Capítulo 6
6.3 Programa
El programa para un control está dividido en unidades de organización individuales, que son como sigue en el nivel de programación: Programas Bloques de función Funciones Estas unidades de organización de programa están disponibles en todos los lenguajes de programación IEC 1131-3 define una amplia gama de funciones estandarizadas y bloques de función para tareas de control típicas. Aparte de estas funciones especificadas y bloques de función, IEC 1131-3 permite la.definición de sus propias funciones y bloques de función. Los fabricantes o los usuarios pueden así crear módulos de software hechos a su medida para determinadas aplicaciones. Funciones Las funciones son módulos de software que, cuando se les invoca, proporcionan exactamente un resultado (elemento de datos). Esta es la razón por la que en un lenguaje textual, la invocación de una función puede ser utilizada como un operando en una expresión. Las funciones no pueden contener información de estado; Esto significa que la invocación de una función con los mismos argumentos (parámetros de entrada) deben proporcionar el mismo resultado. La suma de valores enteros INT o la función lógica OR con ejemplos de funciones. Las funciones y su invocación puede representarse gráficamente o en forma de texto.
Fig. B6.14: Representación grdfica de una función
Entradas
Salida
TP301 Festo Didactic
Capítulo 6
Gráficamente, una función se representa en forma de rectángulo. Todos los parámetros de entrada se relacionan en el lado izquierdo, mientras que los parámetros de salida se muestran en el lado derecho. En el interior del rectángulo se indica el nombre de la función. Los parámetros formales de entrada pueden especificarse a lo largo de los lados dentro del rectángulo. Esto es necesario con algunos grupos de funciones, tales como las funciones de desplazamientos de bis, por ejemplo (fig. B6.15b). Para funciones con entradas idénticas, como es el caco de la función de suma ADD (fig. B6.15a) no se requieren nombres de los parámetros formales. VAR AT AT AT AT
%QW4 : INT; %IW9 : INT; %IW7 : INT; %MW1 : INT;
%MW1
a) sin nombres de parámetros formales
%MW5
b) con nombres de parámetros formales
%IW9
-
%IW2 4-
-
Fig. ffi. 15: Uso de parzímetros fonnales con funciones
Las entradas o salidas booleanas de una función pueden ser negadas, es decir, invertidas especificando un circulo directamente fuera del rectángulo (fig. 86.1 6).
Fig. 86.16: Representación de negaciones Booleanas
Festo Didactic
TP301
Capítulo 6
Si se invoca una función, deben conectarse sus entradas y la salida de la función. La función suma ADD ilustrada en la fig. B6.16 procesa valores enteros INT, por lo cual, las variables direccionadas directamente tales como %QW4 etc. están declaradas como variables de tipo de dato INT. De la misma forma, la función ADD podría aplicarse a valores del tipo SINT o REAL. Las funciones como estas, que funcionan para entrar parámetros de tipos de datos diferentes, se denominan en IEC 1131-3 como funciones sobrecargadas, independientes del tipo. La Fig. 66.17 ilustra las características de una función sobrecargada utilizando el ejemplo de una función ADD. Función ADD como ejemplo de función sobrecargada Todos los tipos de datos que definen números son permisibles como parametros de entrada de resultado
1
a) Parámetros de Entrada del tipo INT ejemplo VAR AT%IWI : INT; AT%IW2 : INT; AT %MW3 : INT;
general
i
1
I
1
b) Parametros de entrada del tipo SINT ejemplo
general
.s~s: 4 T f
VAR
SINT
AT %IB4 %IB5 : SINT; AT %MB6 : SINT;
.
Fig. B6.17: Función sobrecargada de tipo independiente
TP301 Festo Didactic
Capítulo 6
Si una función sobrecargada está limitada a un determinado tipo de datos por el control - p. ej., el tipo de datos INT como se muestra en la fig 66.18 - esto se conoce como una función con tipo. Las funciones con tipo son reconocibles por el nombre de su función. El tipo se indica añadiendo un guión de subrayado, seguido del tipo deseado.
general
ejemplo VAR AT%IWI AT%IW2
: INT; : INT:
%IW2 Fig. 86.18: Una función con tipo
Funciones estándar Las funciones estándar más importantes para la realización de tareas básicas de tecnología de control se relacionan a continuación. Dado que una gran variedad de funciones estándar pueden funcionar utilizando parámetros de entrada de diferentes tipos de datos, los tipos de datos se han combinado en grupos. A cada grupo se le ha dado un tipo de datos genérico. Los tipos de datos genéricos más importantes se muestran en la tabla B6.8. ANY-NUM
Todos los tipos de datos para números en coma flotante. tales como REAL y para números enteros tales como INT, UINT, etc. están contenidos en ANY-REAL y ANY-INT.
ANY-INT
Todos los tipos de datos para enteros tales como INT, UINIT, etc.
ANY-REAL
Todos los tipos de datos, definiendo números en coma flotante
tales como REAL e LREAL ANY-BIT
Todos los tipos de datos de secuencia de bits, tales como BOOL, BYTE, WORD etc.
Tabla B6.8: Tipos de datas genéricos
Capítulo 6
ANY-BIT] ANY-BIT
:::
ANY-BIT
*-
t--
ANY-BIT
3-l
* = nombre o símbolo Nombre
Tabla B6.9: Funciones booleanas Bit-a-bit
Tabla B6.10: Funciones de desplazamiento de birs
Símbolo
AND
&
OR
>=1
XOR
=2k+l
Descrjpcidn
Operación AND de todas las entradas Operación OR de todas las entradas Operación OR-exclusiva de todas las entradas Entrada negada
NOT
Nombre
Descn'pci6n
SHL
Desplazar IN por N b i s hacia la izquierda, llenar con ceros la derecha
SHR
Desplazar IN por N b i s hacia la derecha, llenar con ceros la izquierda
ROR
Desplazar IN cíclicamente por N bits hacia la derecha
ROL
Desplazar IN cíclicamente por N bits hacia la izquierda
Capítulo 6
ANY-BIT or ANY-NUM
...
]"t'
AY-BIT or ANYNUM
= nombre o símbolo
Nombre SNnbolo
Descripción
GT
>
Mayor que (secuencia descendiente)
GE
>=
Mayor o igual1 (secuencia monotbnica)
EQ
--
Igual
LE
View more...
Comments