Está en la página 1de 457

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 Un cilindro es accionado por medio de una electroválvula con retroceso
problema por muelle (bobina Y1). Dos censores de proximidad indican las posi-
ciones "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 movi-
miento del cilindro, el pulsador debe soltarse y accionarse de nuevo.

croquis de situación 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
Lista de componentes

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.


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 comen-
tario 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 siste-
mas 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 forrnula-
ció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 jmantener despejada la zona de trabajo!

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.

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:
o Diagrama de funciones (FBD)
Diagrama de contactos (LD)
Lista de instrucciones (IL)
Texto estructurado (ST)

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 Título


Pulso
Ser capaz de utilizar el bloque de función estándar TP para generar un Objetivo didáctico
pulso de tiempo.
Un gran número de tareas de control requieran la programación de Conocimientos
tiempos. A través de IEC 1311-3, se dispone de bloques de función técnicos
estándar para temporizadores con diferentes tipos de respuesta.
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.
Ejemplo Unas piezas deben sujetarse de forma segura durante un período de
12 segundos para un proceso de mecanizado, por medio de un dispo-
sitivo especial accionado por el cilindro Y1. El proceso se inicia accio-
nando el pulsador de marcha SI.

VAR
S1 AT %IX1 : BOOL; (* Pulsador S1 *)
Y1 AT %QX1 : BOOL; (* Bobina Y1 para el cilindro *)
TP-Y 1 : TP; (' Temporizador de pulso TP-YI*)
(* para el proceso de sujeción *)
END-VAR

FBD

TP-Y 1
Bloque temporizador TP-Y1 ,
conectado con los parametros
S1 indicados.
T#IZs PT ET

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

BE-
- .
IL

CAL TP-Y1 (IN := S I , PT := T#12s) Invocación del bloque de


función TP-Y 1.
LD TP-Y1.Q Lectura de la salida Q de
TP-Y l .
ST Y1 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 Tabla A 12.1:


de TP-Y1 a Y1. Utilización de un
temporizador de pulso
(contiuacidn)

Festo Didactic TP301


Ejercicio 12

Descripción del Dos componentes deben ser encolados con la ayuda de un cilindro
problema 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 tiem-
po 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 me-
dio del pulsador SI.

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 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
Lista de componentes

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


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 comen-
tario 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 siste-
mas 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 formula-
ció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án-
dar de 24 V DC!
m Aumentar la presión del aire de alimentación en la unidad de man-
tenimiento (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)
Diagrama de contactos (LD)
Lista de instrucciones-flL)
D 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 temporiza-
dor 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 Título


Señal con retardo a la conexión
Ser capaz de realizar un retardo a la conexión de una señal utilizando Objetivo didáctico
el bloque de función estándar TON
Bloque de función TON, Retardo a la conexión Conocimientos
El bloque de función estándar TON se utiliza para generar un retardo a técnicos
la conexión.

BOOL

El comportamiento del bloque de función TON es como sigue:


m 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.

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; (' Barrera fotoeléctrica *)
Y1 AT %QX1 : BOOL; (. Bobina Y1 del cilindro de *)
(' cerrar la puerta *)
TON-Y 1 : TON; (* Señal temporizada a la conexión *)
(' TON-Y1 para cerrar la puerta *)
END-VAR

FBD

TON-Y 1
Conexión de entradas y salidas

jzt
del bloque de función TON-Y1
B1 con 10s pargmetros actuales.
T#5s PT ET

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) Invocación del bloque de


función TON-Y1.
LD TON-Y1.Q ' Lectura de la salida Q de
TON-Y 1.
ST Y1 Almacenamiento del resultado
actual en Y1.

ST

TON-Y 1 (IN := 61, PT := T#5s); Invocación del bloque de


función TON-Y1 .
Tabla A13.1:
Y1 := TON-Y1.Q; Asignación de la salida Q UtilUacíón de un
de TON-Y1 a Y1. ternporizador a la conexión
(continuacidn)
Ejercicio 13

Descripción del Una pieza debe marcarse accionando un pulsador (SI). Para asegurar
problema que el ciclo de marcado no se pone en marcha inadvertidamente, de-
berá mantenerse presionado el pulsador durante más de tres segun-
dos. La posición de cilindro 1.0 se establece por medio de los interrup-
tores de proximidad B1 (retrafdo) y 82 (extendido).

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 Realización


3 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
Lista de wmponentes

Antes de cablear y conectar los tubos:


iDesconectar la alimentación!
m ¡Cortar el aire comprimido en la unidad de mantenimiento!

3 Establecer las conexiones eléctricas y neumáticas.

Festo Didactic TP301


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 comen-
tario 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 siste-
mas 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 formula-
ció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án-
dar de 24 V DC!
m Aumentar la presión del aire de alimentación en la unidad de man-
tenimiento (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 Tipo de datos Dirección Comentario

Declaración de variables 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 Título


Señal con retardo a la desconexión
Ser capaz de realizar una temporización a la desconexión utilizando el Objetivo diddctiw
bloque de función estándar TOF
Bloque de función TOF, retardo a la desconexión Conocimientos
El bloque de función estándar TOF (fig. A14.l)'se utiliza para generar técnicos
retardos de señales a la desconexión.

BOOL

El comportamiento de un bloque de función TOF es como sigue:


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.
m 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 temporiza-
dor 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 %MX1: BOOL; Memoriapara enclavamien-*)
(' to de la puerta del horno *)
Y1 AT %QX1: BOOL; (' Bobina Y1 para el cil. de *)
(' apertura de la puerta. *)
TOF-Door 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
Door-closed TOF-Door con los parhrnetros
actuales.

LD

D o o
TOF-Door
~ l o q ~ lq
~ y
t

Interconexión del bloque de


función TOF-Door
Tabla A14.1: en el renglón.
T#lOm PT ET
Utilización de un retardo a
la desconexió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.
Tabla A14.7:
Y1 := TOF-D0or.Q; Asignación de la salida Utjlización de un retardo a
Q de TOF-Door a Y 1. la desconexión
(continuación)
Ejercicio 14

Descripcidn del Un8 pieza debe sujetarse activando el pulsador de marcha SI.Cuando
problema 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.

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


Tabla A 14.1:
Tubo de plástico Lista de componentes

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


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 comen-
tario 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 siste-
mas 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 formula-
ció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án-
dar de 24 V DC!
m Aumentar la presión del aire de alimentación en la unidad de man-
tenimiento (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 Título


Secuencia lineal
Ser capaz de diseñar y representar sistemas secuenciales de control Objetivo didáctico
simples según IEC 848.
m Ser capaz de programar un sistema de control secuencial consisten-
te en una secuencia lineal
m Ser capaz de utilizar el lenguaje de programación Diagrama de Fun-
ciones Secuencia1
Sistemas de control secuenciales Conocimientos
Los sistemas de control secuencial describen procesos que suceden técnicos
en varias etapas claramente separadas.
La transición de una etapa a la siguiente depende del estado del pro-
ceso. 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:
vación de salidas
Activación y desactl-
Etapa
vación de memorias.
Activación y arranque
de temporizadores y
contadores

tradas y memorias
Condiciones de tran- Interrogación de
sición (condiciones de temporizadores
Interrogación de
contadores

recorrido para la con-


tinuación del programa - recorrido
Seguimiento de reco-
ridos en paralelo
Derivaciones

I
Fig. A15.1:
Funciones de un
programa de control

Festo Didaciic TP301


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. Per-
mite una clara representación gráfica del comportamiento y funciona-
miento de un sistema de control secuencial.

6 Establecer posición inicial

t Pieza en almacén, cilindro 1.O y cilindro 2.0

o
en posición retralda

S Cilindro 1.O avanza

t 2.1: Cilindro 1.O avanzado y


pieza expulsada

0
t
S Cilindro 2.0 avanza

3.1: Cilindro 2.0 avanzado

S 1 Cilindro 2..0 retrocede ( 1 1

I t 4.1: Cilindro 2.0 ha retrocedido

S ( Cilindro 1.O retrocede ( 1 1

Fíg. A 15.2:
Ejemplo de un sistema
l t 5.1: Cilindro 1.0 ha retrocedido

de control secuencia/

El ejemplo mostrado describe la siguiente tarea de control:


Se alimenta una pieza desde un almacén por gravedad para su poste-
rior 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 Etapa => Clasificación en acciones
m Transición => Descripción por medio de condiciones de transición
m Derivación alternativa y unión
m 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 ejem-
plo mostrado', la etapa S1 es una etapa vacía. Si se cumplen las condi-
ciones 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 medi-
da 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 resulta-
do del cualificador S (=SeVActivar). En la etapa 3, el cilindro 2.0 avan-
za 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 tam-
bié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 repi-
te de nuevo.

Festo Didactic TP301


Ejercicio 15

VAR
Y1 AT %QX1 : BOOL; (* Bobina Y1, Cilindro 1.O
Y2 AT %QX2 : BOOL; (' Bobina Y2, Cilindro 2.0
B1 AT %IX1 : BOOL; (' Pieza en almacén
82 AT %IX2 : BOOL; (' Pieza expulsada
B3 AT %IX3 : BOOL; (' Cilindro 1.O retraído
B4 AT %IX4 : BOOL; (* Cilindro 1.O extendido
B5 AT %IX5 : BOOL; (* Cilindro 2.0 retraído
B6 AT %IX6 : BOOL; (' Cilindro 2.0 extendido

Fig. A 15.3:
Ejemplo de un diagrama
de funciones secuencial
Ejercicio 15

VAR
Y1 AT : BOOL; (* Bobina Y1, Cilindro 1.O
Y2 AT : BOOL; (* Bobina Y2, Cilindro 2.0
B1 AT : BOOL; (* Pieza en almacén
82 AT : BOOL; (* Pieza expulsada
83 AT : BOOL; (* Cilindro 1.0 retraído
B4 AT : BOOL; (* Cilindro 1.O extendido
B5 AT : BOOL; (* Cilindro 2.0 retraido
B6 AT : BOOL; (* 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 memori-
zantes si el lenguaje de diagrama de funciones -secuencial no es so-
portado 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 ta-
reas de control en la fig. A15.2 Todas las acciones se producen como
aciones booleanas.
--

Ejercicio 15

VAR
Y1 AT %QX1 : BOOL; (' Bobina Y1, Cilindro 1.O
Y2 AT %QX2 : BOOL; (' Bobina Y2, Cilindro 2.0
B1 AT %IX1 : BOOL; (' Pieza en almacén
B2 AT %IX2 : BOOL; (' Pieza expulsada
B3 AT %IX3 : BOOL; (* Cilindro 1.O retraído
B4 AT %IX4 : BOOL; (' Cilindro 1.O extendido
85 AT %IX5 : BOOL; (' Cilindro 2.0 retraido
B6 AT %IX6 : BOOL; (* Cilindro 2.0 extendido
RS-S1 : RS; (' Flip-flop para Etapa S1
RS S2 : RS; (* Flip-flop para Etapa S2
R S ~ S ~ : RS; (' Flip-flop para Etapa S3
RS-S4 : RS; (' Flip-flop para Etapa S4
RSS5 : RS; (' Flip-flop para Etapa S5
RS-Y 1 : RS; (' Flip-flop para bobina Y1
RS-Y2 : RS; (' Flipflop para bobina Y2

(' Programación de la secuencia de etapas *)

RS-S 1

(* Activación del ")

RS-S2.Ql (' Etapa S1 *)

RS-SI.Ql - & -
B3 - RS-S2
85 -
B1 - RS (* Activación del *)
-S Q1 (* flipflop para *)
Fig. A 75.5: RS-S3.Ql (* Etapa S2 *)
R1
Ejemplo de una secuencia
de etapas con elementos
memorizantes RS

TP301 Festo Didactic


- ~ - -

Ejercicio 15

RS-S3

(' Activación del *)


(* flip-flop para *)
n
i---R
-Q
c
S
4
I. 1 iEtapa S3 *)

RS-S4

(' Activación del *)


(' fligflop para *)
RS-S5.QI ('Etapa S4 *)

RS-S5

(' Activacidn del *)


(* flip-flop para *)
RS-S1 .Q1 R1 (' Etapa S5 *)

(* Programación de la sección de potencia *)


I

RS-S.QI
RS_S5.Q1
4 RS-Y 1

;l RsQqk (' Cilindro


(* Bobina Y11.Opara *)
*)

RS-Y 2

RS-S3.QI
RS-9.Ql
$:I RSQl Y2 (' Cilindro
(* Bobina Y22.0para *) Fig. A15.5:
Ejemplo de una secuencia
de etapas con elementos
memorizantes RS
(continuación)

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 Secuencia de etapas
m Sección de potencia (para la activación de las salidas)
Ejercicio 15

Descripción del Un transportador de rodillos es supervisado por un sensor de proximi-


problema dad 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 cilin-
dro 2.0 (cilindro de transferencia).
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.dis-
puestos de forma tal que llegan al dispositivo de alimentación indivi-
dualmente.

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 funcio-
nes 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 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 la HOJA DE TRABAJO.
3 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


Lista de componentes

¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!

+ Establecer las conexiones eléctricas y neumáticas.


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 comen-
tario 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 siste-
mas 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 se-


cuencial
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á direc-
tamente 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án-
dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-
tenimiento (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 la solución.

Festo Didactic 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 se-


cuencial

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 se-


cuencial si la acción de la etapa S3: "Avanzar cilindro 2.0" se pro-
grama como acción no-memorizante?

TP301 Festo Didactic


Ejercicio 16

Controles lógicos programabks Tema

Dispositivo elevador y clasificador para paquetes Título


Secuencia con desvío alternativo
Ser capaz de programar un sistema de control secuencial con una de- Objetivo didáctico
rivación alternativa
Sistema de control, secuencia1 con derivación alternativa Conocimientos
Hay sistemas de control secuencial, en los que deben preverse dife- técnicos
rentes secuencias. Una secuencia es seleccionada dependiendo de las
señales originadas por el proceso.

1 1 Verificar posicion iniciai 1

t Pieza pequeiia
t Pieza grande

t 2.1 : Pieza fijada t 4.1: Pieza fijada

N 1 Estampar pieza 111 N 1 Estampar pieza 11]


3.1: Pieza estampada 5.1: Pieza estampada

1 t 16rKr_=.. S Liberar pieza

6.1: Pieza liberada

w
u
N Expulsar pieza

7.1: Pieza expulsada Fíg. A16.1:


Ejemplo de sistema de
control secuencial con
derivación alternativa

Festo Didactic TP301


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 se-
cuencias 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 transi-
ció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 AT %IX1.0 : BOOL; (* pieza grande o pequeña *)
B2 AT %lX1.1 : BOOL; (* sólo para pieza grande *)
B3 AT %IX2.0 i: BOOL; (* cilindro 1.O retraído *)
B4 AT %IX2.1 : BOOL; (* cilindro 1.O extendido *)
B5 AT %IX2.2 : BOOL; (' cilindro 2.0 retraído *)
B6 AT %IX2.3 : BOOL; (* cilindro 2.0 extendido *)
B7 AT %IX2.4 : BOOL; (* cilindro 3.0 retraído *)
88 AT %IX2.5 : BOOL; (* cilindro 3.0 extendido *)
B9 AT %IX2.6 : BOOL; (' cilindro 4.0 retraído *)
B10 AT %IX2.7 : BOOL; (* cilindro 4.0 extendido *)
Y1 AT %QX1.0 : BOOL; (* cilindro 1.0: fijación *)
Y2 AT %QX1.1 : BOOL; (* cilindro 2.0: estampar pequ. *)
Y3 AT %QX1.2 : BOOL; (* cilindro 3.0: estampar grande *)
Y4 AT %QX1.3 : BOOL; (' 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 rnien-
tras 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 Descripción del


un transportador de rodillos para establecer su tamaño. Hay dos tama- problema
ñ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.
A continuación, el paquete llega a una plataforma elevadora. La se-
cuencia 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 trans-
portador 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 alcanza-
do su posición final retraída.
Las posiciones del cilindro se detectan por medio de interruptores de pro-
ximidad 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 Croquis de siluaci6n

Festo Didactic TP301


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 funcio-
nes 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
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 Designación

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 Sensor de proximidad inductivo


- Tubo de plástico
Lista de componentes

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 comen-
tario 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 siste-
mas 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 se-


cuencial
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á direc-
tamente 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án-
dar de 24 V DC!
m Aumentar la presión del aire de alimentación en la unidad de man-
tenimiento (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 del programa en diagrama de funciones según IEC 848.
Preguntas Responder a las siguientes preguntas:
1. 'Cuál es el criterio de clasificación según el cual se evalúan los pa-
quetes?

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

Controles lógicos programables Tema

Dispositivo de estampación con contador


Ciclos de conteo
Poder realizar ciclos de conteo por medio de la utilización de los módu- Objetivo didáctico
los de función estándar CTU o CTD
Los ciclos de conteo forma parte de las operaciones básicas de un Conocimientos
PLC. IED 1131-3 define tres bloques de función estándar: CTU (conta- técnicos
dor incremental), C I D (contador decremental) y CTUD (contador incre-
mentalldecremental) para la realización de estas operaciones.
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 conta-
dor 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:


m 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.

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. Ejemplo
Una vez llena una caja, aparece otra. Cada ciclo de envasado se dis-
para con una memoria (flag) M-init. Las piezas son detectadas por
medio de un censor B1. El estado del contador es copiado a una me-
moria M-new.

VAR
B1 AT %IXl.O : BOOL; (' detecta pieza para envasar ')
M-init AT %MX1.O : BOOL; (* detecta si el contador tiene *)
(' que ser inicializado *)
M-new AT %MX1.1 : BOOL; (* detecta si se requiere una *)
(* nueva caja *)
CTU-1 : CTU; (' Contador incremental *)
(' CTU-1 para el recuento *)

END-VAR

FBD

B1
M-init
12
4-1
'

PV cv
M-new
Bloque de función CTU-1,
conectado con los
parámetros actuales.

LD

CTU-1

Interconexióndel bloque de
función CTU-1 en el renglón.

PV cv Tabla A17.1:
Aolicación de un
contador incremental

Festo Didactic TP301


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); Invocación del bloque


de función CTU-1

M-new := CTU-1 .Q; 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 progra- Descripción del
ma se inicia poy medio de un pulsador SI. El interruptor de proximidad problema
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.
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 inte-
rruptores de proximidad B1 a B6.

1 Croquis de situacibn

Festo Didactic TP307


Ejercicio 17

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
, .

2. Descripción de la tarea de control por medio del diagrama de funcio-


nes 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
0 Programación de las condiciones de transición directamente en
uno de los lenguajes FBD, LD o ST
D Especificación de las acciones

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 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

Tubo de plástico
Lista de componentes I
I I

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 comen-
tario 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 siste-
mas 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 se-


cuencial
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 intro-
ducir 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á direc-
tamente 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án-
dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-
tenimiento (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 se-


cuencial

TP301 Fesfo Didactic


Ejercicio 17

HOJA DE TRABAJO

Responder a la siguiente pregunta: Preguntas


1. ¿Cuando cambia el estado del contador?

Festo Didactic TP301


.
Capítulo 1 Automatizando con un PLC .................... B-1
1.1 Introducción ...................................... 8-2
1.2 Campos de aplicación de un PLC ..................... B-2
1.3 Diseño básico de un PLC ........................... 8-5
1.4 El nuevo estándar para PLC IEC 1131 ................. 8-8

Capítulo 2 Fundamentos ............................... B-11


2.1 El sistema de numeración decimal ................... B-12
2.2 El sistema de numeración binario .................... 8-12
2.3 El código BCD ................................... 8-14
2.4 El sistema de numeración hexadecimal............... 8-14
2.5 Números binarios con signo ........................ 8-15
2.6 Números reales .................................. 8-15
2.7 Generación de señales binarias y digitales ............. 5 1 6

Capítulo 3 Operaciones Booleanas ...................... 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.1 Estructura de un PLC............................. 8-34
4.2 Unidad de procesamiento principal de un PLC .......... 8-36
4.3 Modo de funcionamiento de un PLC .................. B-38
4.4 ...............
Memoria del programa de la aplicación B-40
4.5 Módulo de Entradas............................... 542
4.6 Módulo de Salidas ................................ 8-44
4.7 Aparato programador / Ordenador personal ............ B-46

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
Recursos de estructuración de IEC 1131-3
5.3 Lenguajes de programación......................... B-56

Capítulo 6 Elementos comunes de los lenguajes .......... B-61


6.1 Recursos de un PLC .............................. 8-62
6.2 Tipos de datos y variables.......................... B-66
6.3 Unidades de organización de programas .............. B-76

Capítulo 7 Diagrama de bloques de función .............. 591


7.1 Elementos del diagrama de bloques de función ......... 8-92
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 ........................ B-99

Capítulo 9 Lista de instrucciones ...................... 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 ......
Elementos del diagrama de funciones secuencial 8-120
11.3 Transiciones.................................... B-130
11.4 Pasos ......................................... B-133
11.5 Ejemplo ....................................... 8-143

Capítulo 12 Sistemas de control lógico .................. 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

Capítulo 13 Temporizadores .......................... 8-161


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 ........................... 8-172
14.2 Contador incremental............................. B-172
14.3 Contador decremental ............................ 8-176
14.4 Contador incrernental/decremental .................. B-178

Capítulo 15 Sistemas de control secuencia1 .............. B-179


15.1 Qué es un sistema de control secuencial ............. B-180
15.2 Diagrama de funciones según IEC 848 .............. B-180
15.3 Diagrama desplazamiento-fase ..................... 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 .................... B-198

Festo Didactic TP301


Prefacio
Los Controles Lógicos ~ro~ramables') representan un factor clave en
la automatización industrial. Su utilización permite una adaptación flexi-
ble 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 Lo-
gic 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', pro-
cedente 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 reque-
rimientos:
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 correspondien-
tes 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 conec-
tadas 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 enor-
mes 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 progra-
ma y con ello la necesidad de reducir la ocupación de memoria repre-
sentaba 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 ana-
lógico o incluso la utilización de un PLC como un regulador, eran con-
siderados 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, describire-
mos el diseño básico de un PLC junto con las tareas y aplicaciones
más importantes actualmente.
Áreas de Todas las máquinas o sistemas automáticos tienen un control: Dependien-
aplicación do del tipo de tecnología utilizada, los controles pueden dividirse en neumá-
de un PLC 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 prin-
cipalmente 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 ha-
llarse 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 senci-
llos, 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, am-
pliar 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 interco-
nexión es "cierta", activar la correspondiente salida. El álgebra de Boole
forma la base matemática para esta operación, ya que solamente recono-
ce 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 funcio-
nes de temporización y recuento, operaciones de cálculo matemático,
conversión de señales analógicas, etc. representan funciones que pue-
den ejecutarse en casi todos los PLCs actuales.
Las demandas que se requieren de los PLCs siguen creciendo al mis-
mo ritmo que su amplia utilización y desarrollo en la tecnología de
automatización. Por ejemplo: la visualización, es decir, la repre-
sentación de los estados de las máquinas o la supervisión de la ejecu-
ció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 armo-
nizar 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 com-
patibles con sistemas de bus abiertos estandarizados, tales como Pro-
fibus según DIN 19 245. Gracias al enorme aumento de la potencia y
capacidad de los PLCs avanzados, estos pueden incluso asumir direc-
tamente la función de un ordenador master.
Hacia finales de los setenta, las entradas y salidas binarias fueron fi-
nalmente ampliadas con la adición de entradas y salidas analógicas,
ya que hay muchas aplicaciones técnicas que emiten y requieren seña-
les analógicas (medición de fuerzas, velocidades, sistemas de posicio-
nado 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 su-
giere 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 dispo-
nibles actualmente desde PLCs en miniatura con unas decenas de entra-
dadsalidas 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 tiem-
po (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, 1.3 Definición básica
como sigue: de un PLC
'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ógi-
cos, 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 sis-
tema de control industrial y ser fácilmente utilizados en todas las apli-
caciones para las que están previstos."

Festo Didaciic TP301


Capítulo 1

Por lo tanto, un control lógico programable es sencillamente un ordena-


dor, 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 ade-
cuadas 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 me-
moria.
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 dia-
gramas de funciones con simbolos gráficos para puertas lógicas (logi-
gramas) 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 cuer-
po) 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ódu-


los 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 desa-
rrollado durante los Últimos años. Con este tipo, varios módulos reali-
zados sobre tarjetas de circuito impreso se montan en una caja estan-
darizada. 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 alimen-
tació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 es-
IEC-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ña-
les 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 hombre-
máquina, etc.). En este contexto, un dispositivo configurado por el
usuario y compuesto por los elementos citados anteriormente, se cono-
ce como un sistema PLC.
El nuevo estándar IEC 1131 consta de cinco partes:
Parte 1: Información general
Parte 2: Requerimientos y verificaciones del equipo
m Parte 3: Lenguajes de programación
m Parte 4: Directrices para el usuario
m 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 programa-
ció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 es-
tá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 men-
cionar 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 mer-


cado 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 La característica del sistema de numeración decimal, comunmente utili-
numeración zado, es la disposición lineal de los digitos y su emplazamiento signifi-
decimal cativo. 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 si-
guiente arrastre se realiza cuando se alcanza el valor 99.
Utilizaremos el número 71.718.71 1 como ejemplo:

Como puede verse arriba, el significado del 7" en el extremo izquierdo


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 significati-
vo' 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 Fue Leibnitz quien aplicó por primera vez las estructuras del sistema
numeración de numeración decimal al calculo con dos dígitos. Allá por el año 1679,
binario 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 pue-
de 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 0 ~ 2Ix x~5 1 x24 0 x 2 ~ 0 x 2 ~ 0x2' 1x ~ O

= 128 +32 +16 +1


= 177
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 nu-
meració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 repre-


sentar 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 co-
rrespondientes 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 La utilización de números binarios es dificil y la utilización del código


numeración BCD ocupa bastante espacio de memoria. Por esta razón se desarro-
hexadecimal llaron 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 combi-


nan 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 positi- 2.5 Números binarios
vos, sin tener en cuenta los números negativos. Para poder trabajar con signo
con estos números, se decidió que el bit más significativo en el extre-
mo izquierdo de un número binario se utilizaría para representar el
signo: así "O" corresponde al "+" y "1" al "-".
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 si-
guiente margen de valores:

Entero Margen de valores

sin signo O a 65535 Tabla 822:


Margen de valores para
con signo -32768 a +32767 los números binarios

Aunque ahora ya es posible representar con O y 1 números enteros 2.6 Números reales
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.
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 Generación de Como ya parece haber quedado claro en la sección anterior, todos los
señales ordenadores, y por lo tanto todos los PLCs, funcionan utilizando seña-
digitales y les digitales o binarias. Por binario, entendemos una señal que sólo
binarias reconoce dos valores definidos.

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árge-
nes 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 asu-
mir 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:
Conversión de una
señal analógim en
1 una señal digital

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.
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 cual-
quier valor intermedio entre sus valores minimo y máximo. A diferencia
de la señal digital, cambia continuamente. En el caso del procesamien-
to 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. ' 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

Ejemplo Ejemplo3 O O O O O O O O O

Este proceso se utiliza, por ejemplo, para la realización de temporiza-


dores o de contadores.

TP301 Festo Didactic


. a .

Capítulo 3

Capítulo 3

Operadores Booleanos

Festa Didactic TP307


Capítulo 3

Funciones lógicas Como se ha descrito en el capítulo anterior, cualquier ordenador e


básicas igualmente cualquier PLC, funcionan utilizando el sistema de numera-
ció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 ál-
gebra de Boole. Los enlaces entre variables también pueden repre-
sentarse 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 si-
guiente 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 nor-
malmente 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 opera-
lógicas ciones 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ógi-
cas. La siguiente tabla proporciona un resumen de ellas.

Tabla 83.1:
Conexiones lógicas

Nombre Ewaci6n Tabla verd. S(rnbolo lógico Realización neuMtiw Realiz. el6drica Realiz. electrhica

ldentidad

Negación
I=A

T=o
$

1 o
l

1
0
-
a 0
I

-r
lo
7T

10

lb
1:E0
o+ - ; :

11 12 O
Conjunci6n ~= 0
l l 12 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 Establecimiento Derivación de ecuaciones booleanas de la tabla de la verdad


de funciones de A menudo, las operaciones lógicas mostradas en la sección anterior no
conmutación son suficientes para describir adecuadamente un estado en la tecnolo-
gia de control.
A menudo, hay combinaciones de diferentes operaciones Iógicas. La
conexión lógica en forma de una ecuación booleana puede establecer-
se 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.

Fig B3.8;
estación de clasificación 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 transporta-
dora 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 op-
ciones, que conducen a dos expresiones diferentes. Naturalmente am-
bas 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 Ambas ecuaciones para el ejemplo dado son bastante amplias, si bien
funciones lógicas 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 con-
juntiva: 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 "A" ha sido


expresamente omitido en las ecuaciones indicadas.
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éto-
do 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 En el caso de los diagramas de Karnaugh-Veitch (KV) la tabla de la


Karnaugh- Veitch 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 repre-
sentació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 Estructura de En los ordenadores, generalmente se distingue entre hardware, firmwa-


un PLC re y software. Los mismo se aplica a los PLCs, ya que esencialmente
también están basados en un microprocesador.
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 ha-
llan 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 proce-
sador 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
1
r

un microordenador

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 mi-
croordenadores actuales - está basado en un sistema de bus. Un sis-
tema 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 micro-


procesador 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 En esencia, la unidad central de un PLC consiste en un microordena-
de un PLC dor. 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
3

-
l

8
Bus de control 46
- Bus de
I
1-1
Unidad aritrnetica Unldad de control
Bus de
Fig. 84.3: h direcciones 1
Diseti0 de un
micmprocesador

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 proce-
sar como los resultados de una operación.
El registro de instrucciones almacena cada orden o instrucción Ila-
mada 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 opera-
ció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 aparta-
do con más detalle.
La unidad de control regula y controla toda la secuencia de operacio-
nes requeridas para la ejecución de una orden.

Ciclo de instrucciones en la unidad central


Los sistemas microordenadores convencionales de hoy en día funcio-
nan 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 repre-
sentació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

Seiiales de control
I
Contador de
programa
v
Direcciones

Bus de direcciones Fig. B4.4:


Secuencia de instrucciones

Festo Didactic TP301


Capítulo 4

El contenido del contador de programa es transferido al bus de direc-


ciones. 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 secuen-
cia de señales de control para su ejecución.
Durante la ejecución de un programa, las instrucciones se van a bus-
car 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 Los programas para el procesamiento convencional de datos, general-


funcionamiento mente se procesan una sola vez, de arriba a abajo y terminan. A dife-
de un PLC rencia de estos, el programa de un PLC se procesado continua y cícli-
camente.

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ática-
mente 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, inclu-
so 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. Solamen-
te 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 cen-
tral de un PLC ocupa un tiempo que, dependiendo del PLC y de la
instrucción que contenga puede variar desde unos pocos microsegun-
dos hasta unos pocos milisegundos.
El tiempo requerido por el PLC para una simple ejecución de un pro-
grama, incluyendo la actualización de las salidas y la imagen del pro-
ceso, 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 Las señales de entrada de una duración inferior al tiempo de ciclo,
posiblemente no serán reconocidas.
m 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.
m Dado que las instrucciones se procesan secuencialmente, el com-
portamiento específico de la secuencia de un programa de PLC
puede ser crucial.
En algunas aplicaciones, es esencial que pueda accederse directamen-
te a entradas y salidas durante un ciclo. Por ello, este tipo de procesa-
miento de programa, saltándose la imagen del proceso, también es
posible en algunos sistemas PLC.
Capítulo 4

4.4 Memoria de Los programas específicamente desarrollados para determinadas apli-


programas de caciones requieren una memoria de programa, de la cual puedan ser
aplicación leídos por la unidad central. Los requerimientos para tal memoria de
programa son relativamente simples de formular:
m 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 inter-
ferencia
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.
Actualmente, se utilizan tres tipos de memoria en la práctica:
m RAM
m EPROM
m EEPROM

RAM
La memoria RAM (random acceso memory/memoria de acceso aleato-
rio) 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 me-
morias 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 pri-


mero toda la memoria y, tras un tiempo de enfriamiento, reprogramarse
completamente. El borrado requiere generalmente un dispositivo borra-
dor 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 programa-
ció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 progra-
mable 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 El módulo de entradas de un PLC es el módulo al cual están conecta-
entradas dos los sensores del proceso. Las señales de los sensores deben pa-
sar 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 Señal a la
entrad unidad de
Fig. B4.7:
control
Diagrama de bloques
de un módulo de entradas 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 ga-
rantizan protección a picos de aproximadamente 5 kv, lo que es ade-
cuado 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 correspon-
dientes 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 automa-


tización industrial. En la industria, las Iíneas eléctricas están general-
mente 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 tiem-
po 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 hard-
ware, 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 ta-
reas 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 distinguir-
se entre conexiones de conmutación positiva y de conmutación negati-
va. En otras palabras, hay que distinguir entre entradas que repre-
sentan un consumo de corriente o una fuente de corriente. En Alema-
nia, por ejemplo, cumpliendo con VD1 2880, se utilizan principalmente
las conexiones de conmutación positiva, ya que ello permite la utiliza-
ción de un tierra de protección. Conmutación positiva significa que la
entrada del PLC representa un drenaje de corriente. El sensor suminis-
tra 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ógi-
ca O en la entrada del PLC.
En muchos países, es común utilizar sensores de conmutación negati-
va, 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 pues-
ta a tierra de la tensión de control positiva o la supervisión del aisla-
miento, 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. Princi-
palmente, 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 ele-
mentos 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 funda-
mentalmente diferentes para conseguir lo indicado: El uso de relés o
de electrónica de potencia.

Setial de Señal de
la unidad salida
Fig. B4.8:
central
Diagrama de bloques
de un-m6dulo de salida 1

El optoacoplador, forma de nuevo la base para la electrónica de poten-


cia 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 transis-
tor de potencia de los picos de tensión.

TP301 Festo Didactic


Capítulo 4

Actualmente, la protección ante cortocircuito, protección ante so-


brecargas y amplificación de potencia, se ofrecen a menudo como
módulos completamente integrados. Las medidas estándar de protec-
ción ante cortocircuito miden el flujo de corriente a través de una resis-
tencia de potencia para desconectar en caso de cortocircuito; un sen-
sor 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 in-
ferior a la suma total de la potencia de cada salida, ya que los transis-
tores 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á espe-
cialmente protegido de sobrecargas, con lo que solamente debe pre-
verse 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 sen-
cillos.
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 poten-
cia 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 conmuta-
ción positiva, según VD1 2880, es decir, la salida representa una fuente
de potencia y suministra la tensión de funcionamiento para el dispositi-
vo 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 tie-
rra de protección. La electrónica conmuta a protección de cortocircuito
o se funde el fusible, es decir, el dispositivo consumidor no puede dre-
nar 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 repre-


senta 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 ten-
sión de control positiva son prácticas estándar en este caso.

4.7 Dispositivo Cada PLC tiene una herramienta de diagnosis y programación para
programador / soportar la aplicación del PLC
Ordenador
personal
m Programación
Verificación
Puesta punto
Localización de averías
Documentación del programa
m Almacenamiento del programa

Estas herramientas de programación y diagnosis son o bien dispositi-


vos de programación específicos del fabricante u ordenadores perso-
nales con su software correspondiente. Actualmente, estos últimos son
casi exclusivamente las variantes preferidas, ya que la enorme capaci-
dad 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 manteni-
miento. Con la creciente utilización de ordenadores personales .portáti-
les (LapTop), funcionando con baterías, la importancia de los progra-
madores 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 propor-
cionar al usuario una serie de funciones. Así, el software de programa-
ció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 temporizado-
res, contadores, etc.
verificación de secuencias de programa por medio de operacio-
nes 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 esta-
do 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 da-
tos 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 Los programas de control representan un componente importante en


una solución un sistema de automatización.
sistemática
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 objeti-
vado, 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 verifica-
ció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

Fig. 85.1:
Modelo de fases para
la generación de
mPuesta a punto
- Verificación de los subprogramas
- Verificación del conjunto de programas
software de PLC

TP301 Festo Dídactic


Capítulo 5

El modelo de fases puede aplicarse a programas de control de cornple-


jidad 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 ta-
rea de control. La descripción especifica de la función del sistema de
control, formalizada al máximo, revela cualquier requerimiento conflicti-
vo, especificaciones incompletas o equivocadas.
Al final de esta fase se dispone de lo siguiente:
m Descripción escrita de la tarea de control
m 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 inde-
pendiente 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 es-
tructura 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 deta-
lles 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 inter-
face 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 tex-
to 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 dia-
grama 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 ins-
trucciones son los lenguajes de programación adecuados para la for-
mulación de operaciones básicas y para sistemas de control que pue-
den ser descritos por simples señales lógicas combinadas por opera-
ciones booleanas.
El lenguaje de alto nivel denominado 'texto estructurado' se utiliza prin-
cipalmente 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 perrni-
tan, los programas de control o parte de los programas creados, debe-
rfan ser simulados antes de la puesta a punto. Esto permite la detec-
ció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 elimi-
narse fácilmente utilizando este método.
Capítulo 5

-
Documentación
Un componente importante y crucial de un sistema es la documenta-
ción, ya que es un requerimiento esencial para el mantenimiento y am-
pliació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 infor-
mació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 5.2 Recursos de


individual, sino tambikn para sistemas de automatización complejos. estrvcturación
Los programas de control para grandes aplicaciones deben ser clara- IEC 1131-3
mente estructurados para ser inteligibles, fáciles de mantener y si es
posible también portátiles, es decir, transferibles a otros sistema de PLC.
Las definiciones se necesitan no sólo para las instrucciones de lengua-
je elemental, sino también para los elementos de lenguaje para estruc-
turación. Los recursos de estructuración (fig. 85.2) se refieren a pro-
gramas de control y a la configuración del sistema de automatización.

[ ] -
RECURSO DE
CONFIGURACI~N

vAR-GLoBAL
RUTA-ACCESO
- Configuración
un sistema de de

automatización
Estructuraci6n
del nivel de
configuración

Diagrama de funciones - Representación


( ) de la secuencia
- Refinamiento Estructuración
del nivel de

fK]
BLOQUE-FUNCl6N programa
FUNCIÓN
- Modularización
TIPO-DATOS

L J

I Fig. B5.2:
IEC 1131-3
metodo de estructuracibn

Festo Didaciic TP301


Capítulo 5

~ecursosde estructuración del programa


Los recursos de estructuración - programa, bloque de funciones y fun-
ció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 suminis-
trados 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 re-
ales 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 incorpora-
ció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 procesa-


dor 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 con-
trol es una tarea (elemento de lenguaje TAREA). El elemento de con-
trol 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íclica-
mente en segundo plano y con la prioridad más baja.

f
Configuración de la fabricacidn de válvulas
>
f \ \ T \
Recurso Recurso Recurso
montaje de válvulas control transportador control de calidad

Programa j Programa
montaje transporlador
i
,
Programa
Programa estadística
'i J

Programa
Guarda-datos
i J
L. f -
J -.. 1
Variables globales y directamente representadas Fig. 85.3:
L J Ejemplo gráfico de
UM configuracion

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 produc-
ció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 asig-
nadas al montaje de las válvulas, el control del transportador y el con-
trol de calidad.

Festo Didactic. TP301


Capítulo 5

-
Los programas Estadísticas y Guarda-datos está asociados con dife-
rentes tareas. Como tales, poseen diferentes características de ejecu-
ció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-ci-
clica. 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 da-
tos. 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 estandariza-
dos 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 inter-
cambiados con una variable designada como tal. A las variables globa-
les 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 blo-
ques 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 IEC 1131-3 define cinco lenguajes de programación. Aunque la funcio-
programación nalidad 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 confi-
guración.
Los lenguajes pueden mezclarse de cualquier forma dentro de un pro-
yecto de PLC. La unificación y estandarización de estos cinco lengua-
jes 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 Estructu-
rado); además, se ha incorporado la información necesaria sobre deta-
lles 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 correcta-
mente 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 den-
vado de los esquemas de circuitos de los mandos por relés directa-
mente cableados. El diagrama de contactos contiene líneas de alimen-
tación a derecha e izquierda del diagrama; a estas lineas están conec-
tados 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ógi-
co 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, caracte-
rizado por un modelo de máquina simple (procesador con un sólo re-
gistro). La lista de instrucciones se formula a partir de instrucciones de
control consistentes en un operador y un operando.

LD Pieza-TipoA
OR Pieza-TipoB
AND P i e z ~ r e s e n t e
Fig. 85.6: AND Taladro-ok
Ejemplo de lenguaje en ST Mete-funda
lista de instrucciones

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 dia-
lectos 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: Mete-funda := (Pieza-TrpoA OR Pieza-TpoB) AND Piezagresente AND Taladro-OK; -


Ejemplo de lenguaje en
texto estructurado

El texto estructurado permite la formulación de numerosas aplicacio-


nes, más allá de la pura tecnología de funciones, tales como algorit-
mos (algoritmos de regulación de nivel superior, etc.) y manejo de da-
tos (análisis de datos, procesamiento de estructuras de datos comple-
jas, 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 fran-
cé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 con-
trol, 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 estructu-
ras secuenciales. Esta caracteristica permite la estructura jerárquica de
un programa de control. Por lo tanto, el diagrama de funciones secuen-
cial 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 Según IEC 1131-3, sólo las entradas, las salidas y los elementos de
un PLC 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 entra-
das, salidas y la memoria. Sólo a través de estas entradas puede un
control recibir información de los procesos conectados. De forma simi-
lar, 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 Memorias
Entradas, Salidas y

Sin posteriores referencias, estos designan sólo entradas y salidas bi-


narias y elementos de memoria de un sólo bit, designados como flags
(tambien denominado marcas).
El estándar habla generalmente de variables representadas directa-
mente. Estas son variables que están referidas directamente a las en-
tradas, salidas y elementos de memoria del control disponibles, relacio-
nadas 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 (boo-
leana) 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 meramen-
te 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 Bit de entrada, bit de salida, bl de memoria 1b


i
t
o bien
IX, QX, MX

IB, QB, MB Byte de entrada, byte de salida, byte de memoria 8b


R Fig. 86.3:
Designación para
IW, QW, MW Word de entrada, word de salida, word de memoria 16 bit Entradas, Salidas y
Memorias

Festo Didactic TP301


Capítulo 6

Un bit individual de una entrada, salida o flag también puede ser direc-
cionado 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 espe-
cialmente 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úme-
ro 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:

Entrada 1
en inserto No. 3

en tarjeta No. 8

como Entrada No. 5

I 3. 8. 5
1 designaciones jerárquicas

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 con-
troles 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 al-
guna 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 recur-
so %.
Ejemplos de variables directamente direccionables:

%IX12 Bit de entrada 12


o
%112

%IW5 Word de Entrada 5

%QB8 Byte de Output 8

%MW27 Word de Memoria 27

El uso de variables directamente direccionadas solamente es permisi-


ble en programas, configuraciones y recursos.
Las unidades de organización de programas Función y Bloque de Fun-
ción deben operar exclusivamente con variables simbólicas, para man-
tener el programa lo más independiente posible del control y, con ello,
lo más ampliamente utilizable.

Festb Didactic TP301


Capítulo 6

6.2 Variables y La utilización de variables representadas exclusiva y directamente (re-


tipos de datos cursos, entradas, salidas y memoria) no es suficiente para crear pro-
gramas de control. Frecuentemente, se requieren datos, que contienen
información específica, también de una naturaleza más compleja. Es-
tos 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 em-
pezar 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ús-
culas, 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 reserva-
das 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
Valores de recuento
m Valores de tiempo
m 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 2#1111-1111 (255 decimal)


(Números binarios) 2#1101-O011 (211 decimal)

Números de base 8 8#377 (255 decimal)


(Números actales) 8#323 (211 decimal)

Números de base 16 16#FF o 1 6 M (255 decimal)


(Números hexadecimales) 16#D3 o 16#d3 (211 decimal)

Cero y Uno Booleanoc O, 1


Tabla B6.1:
El uso de subrayados entre dígitos es permisible para mejorar la Representación de
legibilidad. Sin embargo, el subrayado no es significativo. datos numéricos

IEC 1131-3 prevé diferentes tipos de datos de tiempo:


m 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)

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 Tabla 86.2:


DATE-AND-TlME#1994-07-21-13:18:42.55 Representación de tiempo,
fecha y hora

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


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 guio-


nes 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 especi-
ficación empieza con una palabra clave; la información real se repre-
senta 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 dife-
rentes controles, con otros componentes de un sistema de automati-
zació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.

Ejemplo Descripción

'6' Cadena de longitud 1, conteniendo el carácter 6

'Atención' Cadena de longitud 7, conteniendo el mensaje Atención


- Tabla B6.3: cadena vacía
Representación de cadenas

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 Tabla 86.4:


Un número de tipos de
WORD Secuencia de 16 bits sin rango de valores declarable
datos elementales

Otros dos importantes tipos de datos, denominados INT e UlNT defi-


nen números enteros. Las variables del tipo de datos INT (integerlen-
tero) 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 sig-
no) 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 defi-
nen 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


--

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

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;
Tabla 86.5: END-STRUCT;
Tipos de datos derivados

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 utili-
zarse 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 varia-
bles.
Para comprender la función de una declaración de variables, es nece-
sario establecer antes que el programa del control está construido en
unidades de organización individuales.
Estas unidades son:
m Configuración
Recurso
m Programas
8 Bloques de función
m Funciones
Todas las variables tienen una posición especifica. En el caso de len-
guajes 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 facti-
ble 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 : INT; ('Temperatura *)
Manual : BOOL; ('Flag para funcionamiento manual *)
Ueno, Abierto : BOOL; ('Flag para 'lleno' y 'abierto' *)
END-VAR Fig. B6.5:
Dedaración de variables

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 identifi-
cadores 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


Capítulo 6

IEC 1131-3 distingue entre seis tipos diferentes de acceso a las varia-
bles. Cada tipo tiene una palabra clave, que introduce la declaración
de la variable.

Variables de Entrada VAR-INPUT

Variables de Salida VAR-OUTPUT

Variables de Entradaalida VAR-INOUT

Variables locales VAR

Tabla B6.6: Variables globales VARGLOBAL


Palabras clave para la
Variables externas VAR-EXTERN
declaración de variables

Las variables de entrada son declaradas con las palabras clave


VAR-INPUT y END-VAR.

VAR-INPUT
Fig. 86.6: Input : INT; ('Valor de entrada
Declaración de una END-VAR
variables de entrada

Las variables especificadas de esta forma representan variables de en-


trada, 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 pala-
bras clave VAR-OUTPUT y END-VAR

VAR-OUTPUT
Fig. B6.7: Result : INT; ('Valor de realimentación
Declaración de una END-VAR
variable de salida

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 transfe-
ridos más allá de la unidad de organización a través de variables de-
claradas 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 en-


trada y salida, estos deben crearse con las palabras clave
VAR-INOUT y END-VAR.

VAR-IN-OUT
Value : INT; Fig. B6.8:
END-VAR 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 de-
ben permanecer desconocidos externamente. La declaración de tales
variables, denominadas locales, empieza con VAR y termina con
END-VAR.

VAR
z : INT; ('Resultado intermedio Fig. 66.9:
END-VAR Dedaraddn de una
variable local

Las variables especificadas aquí son locales para una unidad de orga-
nizació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 va-
riable local 2. Estas variables locales son completamente inde-
pendientes 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 reali-
za de una forma similar, utilizando las palabras clave VAR-GLOBAL y
VAR-EXTERNAL.
Capítulo 6

VAR-GLOBAL
Fig. B6.1O: Global-value: INT;
Declaración de una END-VAR
variable global

Así es como se declaran todos los datos globales para un programa de


control. Los datos globales son accesibles universalmente. Esta decla-
ración sólo puede hallarse en unidades de organización, configuración
y recurso.

VAR-EXTERNAL
Fig. B6.11: Global-value: INT;
Declaración de acceso a END-VAR
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 uni-
camente .qué variables son reconocidas por una unidad de organiza-
ció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:
1 VAR
Pulsador-paro AT %12.3: BOOL;
Declaración de variables Temperatura AT %IW3: INT;
con asignación a entradas END-VAR
de un control

Las declaraciones hechas de esta forma son el mejor medio para defi-
nir el significado de todas las entradas y salidas del control. Si se pro-
duce un cambio en el sistema y su conexión al controlador, sólo debe-
rá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 : BOOL;
AT %M1 : WORD;
END-VAR

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 de-
claració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 Fig. 66.13:


Docena : IM:= 12; Declaración de una
END-VAR variable global
con valor inicial

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 defini-
do al inicio del programa. Esto lo facilita la característica definida en
IEC 1131-3, en donde los tipos de datos tienen un valor preestableci-
do. 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 elemen-
tales puede verse en la tabla B6.7.

Tipo de dato Valor inicial

BOOL, SINT, INT, DlNT O


UlNT O
BYTE, WORD O
REAL 0.0
TIME T#Oc Tabla 86.7:
STRING " (cadena vacia) Valores iniciales
preestablecidos

Festo Didactic TP301


- -

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 to-
dos 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 fun-
ciones especificadas y bloques de función, IEC 1131-3 permite la.defi-
nició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 medi-
da 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 signifi-
ca 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: Entradas Salida


Representación
grdfica de una función

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 funcio-
nes 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 %QW4 : INT;
AT %IW9 : INT;
AT %IW7 : INT;
AT %MW1 : INT;

%MW1 a) sin nombres de


%IW9 parámetros formales

%IW2 - - %MW5 b) con nombres de


4- parámetros formales
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 rec-
tá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 ente-
ros 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 funcio-
nes 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

general ejemplo
VAR
i AT%IWI : INT;
AT%IW2 : INT;
AT %MW3 : INT;

1 b) Parametros de entrada del tipo SINT

I general ejemplo
VAR

1 .s~s: 4 T f SINT
%IB5 : SINT;
AT %IB4
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 : INT;
AT%IW2 : 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,
Tabla B6.8:
BYTE, WORD etc. Tipos de datas genéricos
Capítulo 6

-
ANY-BIT]
ANY-BIT
*- t-- ANY-BIT

:::
ANY-BIT 3-l
* = nombre o símbolo

Nombre Símbolo Descrjpcidn

AND & Operación AND de todas las entradas

OR >=1 Operación OR de todas las entradas

Tabla B6.9: XOR =2k+l Operación OR-exclusiva de todas las entradas


Funciones booleanas NOT Entrada negada
Bit-a-bit

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


Tabla B6.10:
Funciones de ROL Desplazar IN cíclicamente por N bits hacia la izquierda
desplazamiento de birs
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 <= menor o igual (secuencia monotbnica)

LT < Menor que (rsecuencia ascendente)


Tabla 86.1 1:
NE <> No igual, no expandible Funciones de wmparacidn

a) Representación grhfica

Descripción:
Convierte variables del tipo BYTE, WORD etc. en
variables del tipo INT.
La variable de secuencia de b i s contiene datos en
formato BCD (número decimal codificado en binano)

Ejemplo:

Descripción:
Convierte variables de tipo INT en variables de tipo BYTE,
WORD etc.
La variable de secuencia de bits contlene datos en formato
BC.
Ejemplo:

25 i-b 2#00l0~0101 Tabla 86.12:


Funciones para
cmversión de tipo

Festo Didactic TP301


Capitulo 6

ANY-NUM r? - ANY-NUM

ANY-NUM
- . m 4-l
Nombre Símbolo Descrlpciidn

ADD Suma todas las entradas

MUL Multiplica todas las entradas

SUB - Resta la segunda entrada de la primera

DIV 1 Divide la primera entrada por la segunda

MOVE .- Asigna una entrada a una salida. no ampliable

Bloques de función
Los bloques de función son módulos de software que proporcionan uno
o varios parámetros resultantes.
Una característica importante es la posibilidad de reutilización de los
bloques de función. Si debe utilizarse un bloque de control en un pro-
grama, debe crearse una copia. Esto se realiza a través de la asigna-
ción de un nombre para cada caso. Junto con este identificador hay
una estructura de datos, que almacena los estados de esa copia del
bloque de función (valores de los parámetros de salida y variables in-
ternas). La información del estado de la copia del bloque de función
permanece inalterable entre un procesamiento y el siguiente.
Esto puede demostrarse utilizando el ejemplo del bloque de función
estándar para operaciones de recuento. El valor actual del contador
permanece de una operación de recuento a la siguiente y puede así
ser interrogada en cualquier momento. Este tipo de comportamiento no
puede realizarse a través del recurso lenguaje, como se describe arriba.

TP301 Festo Didactic


Capítulo 6

Identificador
Tipo FB
Tipo dato
Tipo dato Tipo dato
Fig. 86.19:
Representación gráfica
Entradas Salidas de una copia de un
bloque de función

También se dispone de la representación gráfica de bloques de función


(aparte de la representación en uno de los lenguajes textuales). Estos
se representan por rectángulo de la misma forma que las funciones
(fig. 66.19). Los parámetros de entrada se introducen por la izquierda y
los parámetros de salida aparecen por la derecha. El tipo de bloque de
función se especifica dentro del rectángulo. A continuación se introdu-
cen los nombres de los parámetros formales junto a los lados derecho
e izquierdo dentro del rectángulo o caja. El identificador, bajo el cual se
direcciona el módulo, se direcciona como se ha descrito para el bloque
de función.
Si se utiliza un bloque de función, se le debe dar un identificador. Si
las entradas están asignadas - es decir, hay disponibles parámetros
-
de transferencia actuales entonces se utilizan estos para el procesa-
miento. Si las entradas no están conectadas, entonces se accede de
nuevo a los valores almacenados en invocaciones anteriores o se utili-
zan los correspondientes valores iniciales.
La Fig. 66.20 muestra el uso (invocación) del bloque de función
estándar para un contador.

.OoL
BOOL
INT
d
q PV CV
.OoL

INT
Bloque de función - tipo CTU
(contador incremental)

Count-Pack
Use una copia del bloque de

de control Rg.86.20:
Uso (invocacidn) del
bloque de función CTü
( (contador incremental)
Capítulo 6

La copia utilizada del bloque de función CTU lleva el identificador


Count-Pack. A cada flanco positivo de la entrada %11.3 el valor actual
del contador se incrementa en 1 unidad. Cuando se alcanza el valor
preestablecido de 10, la salida Q del Countgack, y con ello la salida
%Q2.5 asume una señal 1; en los demás casos se asume una señal 0.
También es posible crear varias copias de uno y del mismo bloque de
función dentro de un programa de control, como se muestra en la fig.
86-21.

Bloque de función - .
tipo TP (pulse timer)

Uso de vanas copias del


Fig. 136.21:
Uso de varias copias de
bloque de funciónTP
un bloque de función

TP301 Festo Didactíc


--

Capítulo 6

Bloques de función estándar


La Tabla B6.14 relaciona los bloques de función más importantes es-
tandarizado~por IEC 1131-3.

SR Bloque de íunción biestable (activacih prioritaria)

RS Bloque de función biestable (desactivación prioritaria)

CTU Contador incremental

CTD Contador decremental

TP Pulso de tiempo

TON Retardo a la conexión

TOF Retardo a la desconexión

R-TRlG Detección de flanco: flanco ascendente Tabla 86.14:


Bloques de función
F-TFÍIG Detección de flanco: flanco descendente
estándar

Funciones definidas de usuario


Aparte de las funciones especificadas, IEC 1131-3 permite la definición
de funciones propias .
Para la declaración gráfica se aplican las siguientes reglas:
m Declaración de la función dentro de la construcción FUNCTION...
END-FUNCTION.
m Especificación del nombre de la funcián y los nombres de los pará-
metros formales y tipos de datos de entradas y salidas de la función
Especificación de los nombres y tipos de datos de variables intemas
utilizadas en la función; para ello puede utilizarse una construcción
VAR ... END-VAR. No pueden utilizarse copias de bloques de fun-
ción como variables intemas, ya que estas necesitarían el almace-
namiento de información del estado.
Programación del cuerpo de la función en uno de los lenguajes LD,
FBD, IL, o ST.

Festo Didactk TP301


Capítulo 6

A la función ejemplo SPEC-MUL en la fig. B6.22 se le dan dos pará-


metros del tipo INT. Los dos valores de parámetros son multiplicados y
se le añade la cifra 15. El valor así calculado es devuelto a la función
como resultado.

FUNCTION
(* Descripción del interface externo *)

INT

(* Cuerpo de la función: *)
(* Programado en lenguaje FBD *)

q hTC * SPEZ-MUL

Fig. B6.22: END-FUNCTION


Ejemplo de una
función SPQ-MUL

El uso de la función podria ser como el que se ha mostrado en la fig.


86.23.

VAR
AT Y ' 1 : INT;
AT YdJlW2 : INT;
AT %MW3 : INT;
AT%IW4 : INT;
AT W W 5 : INT; .
END-VAR

Fig. B6.23:
Uso de la función
SPU-MUL

TP301 Festo Didactic


Capítulo 6

Bloques de función definidos por el usuario


La generación de los propios bloques de función por el usuario es una
caracteristica importante de IEC 1131-3.
Se aplican las siguientes reglas para una declaración gráfica:
= Declaración de bloques de función en una construcción FUNC-
...
TION-BLOCK END-FUNCTION-BLOCK.
Especificación del nombre del bloque de función y de los nombres
de los parámetros formales y tipos de datos de las entradas y sali-
das del bloque de función.
Especificación de los nombres y tipos de datos de variables inter-
nas; puede emplearse una construcción VAR ... END-VAR.
Programación del cuerpo de la función en uno de los lenguajes LD,
FBD,IL, o ST.
Aquí no se ha tenido en cuenta el acceso de datos ampliado, tal como
las variables globales.

FUNCTION-BLOCK
(' Descripción del interface externo *)

Filtro-rebotes

(* Cuerpo del bloque de función: *)


(' programado en lenguaje FBD *)

:mi r
EP-ON EP-S

S1 Ql S O F F
s-oNrdrT

E-TI ME PT ET

I Fig. 86.24 :
Dedaración de un
bloque de funuón

Festo Didactic TP301


Capítulo 6

El bloque de función ilustrado en la fig. 86.24 representa un b l q u e de


función para la eliminación de rebotes en las señales, consistentes en
dos parámetros de entrada, es decir, una entrada booleana para la
señal y una entrad de tiempo para el ajuste del tiempo de rebotes. El
parámetros de salida S O F F suministra la señal de salida sin rebotes.

Programas
Un programa consiste en cualquier cantidad de elementos de lenguaje
y construcciones, necesarios para conseguir el comportamiento desea-
do de la máquina o proceso a través del PLC.
Por ello, los programas están construidos principalmente por funciones,
bloques de función y los elementos del diagrama de funciones secuencial.
Por ello, las características de los programas son en gran parte idénti-
cos a los de los bloques de función. Lo único que nos interesa en esta
etapa son las diferencias:
Las palabras clave delimitadoras para las declaraciones de progra-
ma son PROGRAM... END-PROGRAM.
m La utilización de variables directamente direccionables solamente se
permite dentro de programas.
Un ejemplo de estose muestra en la figura 86.25.

PROGRAM luz-escalera
VAR
Intermptor-F AT %IXO.O : BOOL; (^ Interruptor en la puerta *)
Interruptor-A AT %IX0.1 : BOOL; (* Interruptor interior apartamento *)
Luz AT %QXO.O : BOOL; (* Luz de la escalera *)
Duracion : TP; (* Tiempo de encendido *)

Interruptor-F
Interruptor-A
Luz
T#3m PT ET

END-PROGRAM
Fig. B6.25:
Ejemplo de un programa

TP301 Festo Didactic


Capítulo 6

El nombre del programa es "Luz-escalera". Tres variables booleanas


Interruptor-F, Interruptor-A y Luz, asignadas a dos entradas y una sali-
da del PLC, han sido declaradas como variables internas. A esto se
añade la declaración de una copia del bloque de función del tipo Pulse
Timer (TP).
El programa realiza la siguiente pequeña tarea:
La luz de una escalera está encendida durante tres minutos, si se a o
ciona uno de los dos interruptores; el de la puerta o el del apartamento.

Festo Didactic TP301


Capítulo 7

-
Capítulo 7

Diagrama de bloques de función

Festo Didactic TP301


Capítulo 7

-
7.1 Elementos del da- El diagrama de bloques de función es un lenguaje de programación
grama de bloques gráfico que es consistente, en la medida de lo posible, con la docu-
de fundón mentación estándar IEC 617, P.12.

a) Operación lógica de funciones

b) Uso de bloques de función

T-Arranque

Fig. B7.1:
Diagrama de bloques
de función (FBD)
Los elementos del diagrama de bloques de funcidn son funciones
representadas gráficamente y bloques de función. Estas están interco-
nectadas por líneas de flujo de señal, los elementos directamente enla-
zados formando una red de trabajo (Network)

La Fig. 87.1 ilustra dos simples ejemplos del diagrama de bloques de


función. En la Fig. B7.la, la variable Manual-desc y el resultado de
una comparación 'mayor que' están enlazados en OR. El resultado es
asignado a la variable Puerta-cerrada. La Fig. B7.lb representa el uso
de un bloque de función. El retardo de la señal T-arranque se pone en
marcha con la entrada W1.3 con el tiempo preestablecido de 7 segun-
dos. El estado del retardo de la señal, T-arranque.Q, se asigna a la
salida %Q2.4.
Capítulo 7

-
La dirección del flujo de señales es una red de izquierda a derecha. Si 7.2 Evaluación
una unidad de organización del programa consta de varias redes, es- de redes
tas son procesadas en secuencia de arriba a abajo.
La secuencia de procesamiento dentro de una unidad de programa de
organización puede ser influida por el uso de elementos para control
de la ejecución. Este grupo de elementos incluye por ejemplo los sal-
tos condicionales e incondicionales. En la fig. B7.2 se utiliza un salto
condicional para realizar una derivación en el programa.

Fig. B7.2:
Uso de un salto en FBD

El salto condicional, representado por una doble flecha, se ejecuta si


se cumple la condición para el salto. Por ello, si la entrada %I1.1 y el
flag %M2.5 llevan ambos señal 1, entonces se ejecutará un salto a la
red con el identiíicador Variante-1 y el proceso continuará en este punto.
Si hay que ejecutar un salto a una red, la red correspondiente debe
prefijarse con un nombre simbólico, el flag del salto, terminando con
dos puntos. El flag de salto debe identificarse según las reglas para los
nombres simbólicos.

Festo Didactic TP301


Capítulo 7

7.3 Estructuras Cuando se programa en el lenguaje FBD, hay que observar que dentro
en bucle de las redes no se permiten estructuras de bucle. Las estructuras de
este tipo sólo deben realizarse a través del uso adicional de una ruta
de realimentación. La Fig. B7.3b ilustra un ejemplo de esto.

a) estructura en bucle no permitida

b) estructura en bucle permitida

Fig. B7.3:
FBD con
estructuras en bucle

Por medio de la utilización de rutas de realimentación, la tercera entrada


de la función OR asume un valor definido durante su procesamiento.

TP301 Festo Didactic


- --

Capítulo 8

. , -- .
. Capitulo 8

Diagrama de contactos

Festo Didaotic TP301


Capítulo 8

-
8.1 Elementos del El lenguaje de diagrama de contactos (o diagrama en escalera), al
diagrama de igual que del diagrama de bloques de función representa un lenguaje
contactos de programación gráfico. Los elementos disponibles en un diagrama de
contactos son los contactos y las bobinas en diferentes formas. Estas
están dispuestas en renglones (rungs) entre las dos líneas verticales
de mando a derecha e izquierda.

de un renglón 1

La Fig. 88.1 ilustra la estructura básica de un reglón. En este ejemplo,


el estado del flag xM1.5 está directamente asignado a la salida
%Q3.5. La tabla 88.1 contiene una lista de los elementos más impor-
tantes asignados a un diagrama de contactos.

I -+E
Contactos

11 -(I
Contacto normalmente abierto

Contacto normalmente cerrado

---(PE
Contacto de flanco positivo

-+NE. Contacto de flanco negativo

I Bobinas

1 - - Bobina

1 3lk Bobina negada

1 -(S;- Activaci6n de una bobina remanente

1 -
-0-
Desadivaci6n de una bobina remanente

Tabla B8.1:
1 --e
Bobina activada por flanco positivo

Bobina activada por flanco negativo


Elementos del
diagrama de contactos

TP301 Festo Didactic


Capítulo 8

Un contacto normalmente abierto suministra el valor 1 cuando se acti-


va el accionamiento del correspondiente interruptor. Un contacto. nor-
malmente cerrado reacciona correspondientemente con el valor 1,
cuando no se activa el correspondiente interruptor o pulsador.
Hay dos señales de flanco, que suministran señal 1 para la transición
de O a 1 (flanco positivo) y de 1 a O (flanco negativo).
Con una bobina normal, el resultado (resultado de la operación lógica
entre los contactos) es copiado a la variable especifica; en el caso de
una bobina negada, se transfiere el inverso (negación) del resultado.
La bobina de activación remanente asume el valor 1, si el resultado es
1, y permanece inalterable aunque el resultado pase a ser O. De forma
similar, la bobina de desactivación remanente asume el valor O si el
resultado es 1. Se mantiene el estado O de la bobina.
Los flancos de las bobinas se activan si el resultado cambia de O a 1
(flanco positivo) o de 1 a O (flanco negativo).
Las funciones básicas AND y OR pueden ser realizadas por medio de
una configuración correspondiente de contactos en el renglón actual.

a) Función AND
%1 1.3 YiM3.2 %Q2.1

b) Función OR

I lógicas en diagrama
de contactos

La función AND es representada por medio de la conexión en serie de


dos contactos (fíg. B8.2a). La salida %Q2.1 sólo se activa si ambas
entradas %11.3 y el flag xM3.2 se hallan activados. En todos los de-
más casos, la salida %Q2.1 es desactivada.

Festo Didactic TP301


Capítulo 8

La función OR se obtiene a través de la conexion en paralelo de con-


tactos (fig. B8.2b). La salida xQ2.3asume el valor 1, si la entrada
%11.5 o el flag xF3.3 asumen el valor 1, o si ambas condiciones se
cumplen simultáneamente.

8.2 Funciones y Aparte de los elementos de contacto y bobina, LD proporciona el uso


bloques de ilimitado de funciones y bloques de función siempre que esta función
función esté soportada por el control utilizado.
Un requisito previo para la incorporación de las denominadas unidades
de organización, es la disponibilidad de por lo menos una entrada boo-
leana y una salida booleana del bloque en cuestión. Si no es este el
caso, la entrada booleana con el parámetro formal EN (enablelhabilita-
ción) se añada a las correspondientes funciones o módulos de función
así como una salida booleana EN0 (enable OK habilitación correcta).
Las entradas/salidas booleanas son necesarias para permitir que la go-
tencia fluya a través del bloque.

a) Incorporación de funciones

1 b) lnvocacidnde un bloque de funci6n


T-Arranque

Fig. B8.3:
Funciones y
blooues de función
en diagrama de contactos 1

La adición mostrada en la Fig. B8.3a solamente se realiza si se aplica


una señal 1 a la entrada EN. Si es este el caso, las variables Canti-
dad-l y Cantidad2 se suman y el resultado de estas variables se
asigna a la variable Nivel-llenado. Al mismo tiempo, el valor de la sali-
da EN0 indica si la adición ha sido ejecutada, activada y correcta
(ENO=I). Si. el bloque no ha sido procesado correctamente, la salida
EN0 asume el valor O.
Capítulo 8

Los módulos de función, tales como por ejemplo el retardo de señal


mostrado en la fig. B8.3 pueden incorporarse al diagrama de contactos
sin una entrada EN adicional ni una salida ENO. El bloque de función
es conectado con los elementos del renglón actual en la forma usual
con la entrada booleana IN y la salida booleana Q. Si la entrada %1.3
en la fig. B8.3b asume el valor 1, la copia del bloque de función
T-Marcha es procesada con la duración de tiempo preestablecida de 7
segundos. El valor de la salida Q de T-Marcha se asigna a la salida
%Q2.4.

De forma simular al lenguaje de programación gráfico FBD,el flujo de 8.3 Evaluación de


potencia, y como tal el procesamiento de una unidad de organización los renglones
del programa, es de izquierda a derecha y de arriba a abajo. De forma actuales.
similar la secuencia de procesamiento también puede cambiar en LD
utilizando elemento para el control de la ejecución.

1 Rg.88.4:
S s b mndicionaI en LD

Si la condición del saito, en este caso la operación AND de la entrada


%I1.1 y el flag %M23 se cumple, se ejecuta un salto al renglón actual
con el identificador Variante-l. El procesamiento continua entonces a
partir de este renglón.

Festo Didactic TP301

También podría gustarte