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 sabidura ni su fuerza si no lo que trasmite asus semejantes por que por ello sera recordado por siempre Bien hecho en Mxico

Ejercicio 11

Descripcin del problema

Un cilindro es accionado por medio de una electrovlvula con retroceso por muelle (bobina Y1). Dos censores de proximidad indican las posiciones "extendida" (82)y "retraldan (B1). El pulsador (SI) se utiliza para accionar el cilindro de tal forma que avance desde la posicin retraida a la extendida y viceversa. El cilindro debe avanzar una sola vez por accionamiento de pulsador. Para disparar un segundo movimiento del cilindro, el pulsador debe soltarse y accionarse de nuevo.

croquis de situacin

1
--y

Definicin del ejercicio

1. Trazado del esquema del circuito y montaje del equipo

2. Declaracin de las variables del programa PLC


3. Formulacin del programa de PLC en uno de los diversos lenguajes de programacin
4. Verificacin y puesta a punto del programa de PLC y del sistema

Ejercicio 11

1. Trazado del esquema del circuito y montaje del equipo

Realizacin

Completar el esquema elctrico del circuito en la HOJA DE TRABAJO.

a Montar el equipo necesario en la placa perfilada:


Cantidad
1
1

Descripcin Control lgico programable Cable de unin con la unidad de conexin Unidad de conexin Unidad de mantenimiento Distribuidor Distribuidor de enchufe rpido Cilindro de simple efecto Electrovlvula de 512 vlas de una bobina Entrada de seales elctricas Sensor de proximidad inductivo Sensor de proximidad capacitivo Tubo de plstico
Lista de componentes

1 1
1

1
1 1

1
1 1

Antes k h e d l e a r y conectar tubos: Desconectar la alimentacin1 Desconectar la alimentacin del aire!

a Establecer las conexiones elctricas y neumticas.

Ejercicio 1 1

2. Declaracin de las variables de programa del PLC

+ Todas

variables deben ser declaradas como variables locales del programa

a Especificar slo aquellas partes de la declaracin requeridas por la


aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin

- slo si se utilizan variables directamente direccionadas - y comentario sobre las variables. Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

3. Formulacin del programa de PLC en uno de los lenguajes de

programacin

a Seleccionar uno de los lenguajes de programacin soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la forrnulacin de sistemas de control lgico son el diagrama de contactos, el diagrama de funciones, la lista de instrucciones y el texto estructurado.
L

4. Verificacin y puesta a punto de un programa y un sistema PLC

Antes de poner a punto la instalacin:

Comprobar el circuito montado con ayuda del esquema

Puesta a punto de la instalacin:

m
m

Conectar la fuente de alimentacin utilizando una tensin estn-

dar de 24 V DC!
Aumentar la presin del aire hasta la de funcionamiento (ver las fichas tcnicas de los componentes neumticos)

Funcionamiento de la instalacin:
m

jmantener despejada la zona de trabajo!

Cargar el programa en el PLC

a Realizar una funcin de prueba


3 Corregir

cualquier error que pudiera haber en el programa del PLC.

Documentar la solucin.

TP301 Festo Didactic

Ejercicio 11

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema elctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.

Esquema del

circuito elcfrico

Festo Didactc

TP301

Ejercicio 11
HOJA DE TRABAJO
Configurar el sistema de control

Esquema del circuito electroneumdtiw

2. Declaracin de las variables del programa del PLC

Declarar las variables requeridas en el programa del PLC:


Designacin Tipo de dato Direccin Comentario

Declaracin de variables

TP301 Festo Didactic

Ejercicio 1 1

HOJA DE TRABAJO
3. Formulacin del programa de PLC en uno de los lenguajes de

programacin
o

Formular la solucin de la tarea de control en uno de estos lenguajes: Diagrama de funciones (FBD) Diagrama de contactos (LD) Lista de instrucciones (IL) Texto estructurado (ST)

Programa del PLC

Festo Ddacfic 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 actuacin en la ejecucin del programa?

TP301 Festo Didactic

Ejercicio 12

Controles lgicos programables Encolado de componentes Pulso Ser capaz de utilizar el bloque de funcin estndar TP para generar un pulso de tiempo. Un gran nmero de tareas de control requieran la programacin de tiempos. A travs de IEC 1311-3, se dispone de bloques de funcin estndar para temporizadores con diferentes tipos de respuesta. Los temporizadores estn disponibles para la realizacin de un pulso temporal, un retardo a la conexin y un retardo a la desconexin. Bloque de funcin TP, temporizador de pulso El bloque de funcin estndar TP (fig. A12.1) es un temporizador de pulso

Tema Ttulo Objetivo didctico Conocimientos tcnicos

La respuesta del bloque de funcin TP es como sigue: El bloque de funcin TP se pone en marcha con una seal corta o larga en la entrada IN. Una vez que el temporizador ha arrancado, aparece una seal 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 slo puede arrancar de nuevo una vez que haya expirado.

Festo Didactic JP301

--

Ejercicio 1 2

Programacin de un temporizador de pulso en los diferentes lenguajes La utilizacin del temporizador de pulso en los diferentes lenguajes de programacin se muestra con la ayuda del ejemplo dado abajo.

Ejemplo

Unas piezas deben sujetarse de forma segura durante un perodo de 12 segundos para un proceso de mecanizado, por medio de un dispositivo especial accionado por el cilindro Y1. El proceso se inicia accionando el pulsador de marcha SI.
VAR

S1 AT %IX1 : BOOL; Y1 AT %QX1 : BOOL; TP-Y 1 : TP;


END-VAR

(* Pulsador S1 *) (* Bobina Y1 para el cilindro *) (' Temporizador de pulso TP-YI*) (* para el proceso de sujecin *)

FBD TP-Y 1
S1 T#IZs

PT

ET

Bloque temporizador TP-Y1 , conectado con los parametros indicados.

LD

TP-Y 1 Interconexin del bloque temporizador TP-Y1 en el rengln.


Tabla A 12.1:

Utilizacin de un
temporizador de pulso

TP301 Festo Didactic

Ejercicio 1 2

IL

BEInvocacin del bloque de funcin TP-Y 1. Lectura de la salida Q de TP-Y l . Almacenamiento del resultado actual en Y1.

CAL TP-Y1 (IN := S I , PT := T#12s) LD ST


TP-Y1.Q Y1

ST
TP-Y1 (IN := S I , PT := T#12s); Y1 := TP-Y1.Q;

Invocacin del bloque de funcin TP-Y 1. Asignacin de la salida Q de TP-Y1 a Y1.


Tabla A 12.1: Utilizacin de un temporizador de pulso (contiuacidn)

Festo Didactic

TP301

Ejercicio 12

Descripcin del problema

Dos componentes deben ser encolados con la ayuda de un cilindro neumtico 1.0. Para ello, las superficies a encolar se presionan entre s con una determinada fuerza por un perodo de 5 segundos. El tiempo empieza a contar desde que el cilindro abandona su posicin final retrada (sensor B1). Una vez transcurridos los 5 segundos, el cilindro regresa a su posicin inicial. El proceso de encolado se inicia por medio del pulsador SI.

Croquis de situacin

Definicin del ejercicio

1. Trazado del esquema del circuito y montaje del equipo

2. Declaracin de las variables del programa PLC


3. Formulacin del programa de PLC en uno de los diversos lenguajes de programacin 4. Verificacin y puesta a punto del programa de PLC y del sistema.

TP301 Festo Didactic

Ejercicio 1 2

1. Trazado del esquema del circuito y montaje del equipo

Realizacin

* Completar el esquema elctrico del circuito en la HOJA DE TRABAJO. * Montar el equipo necesario en la placa perfilada:
Quantty
1
1

Description

Control 16gico programable Cable de unin de la unidad de conexin Unidad de conexin Unidad de matenimiento Distribuidor Distribuidor de enchufe rpido Cilindro de simple efecto Electrov~lvula de 512 vlas de una bobina Entrada de seales el6ctricas Sensor de proximidad inductivo-magntico

1 1
1

1
1

1
1

Tubo de plstico

Lista de componentes

Antes de cablear y conectar los tubos: jDesconectar la alimentacin!


m

Cortar el aire comprimido en la unidad de mantenimiento!

a Establecer las conexiones elctricas y neumticas.

Festo Didactic

TP301

Ejercicio 1 2

2. Declaracin de las variables del programa del PLC

a Todas variables deben ser declaradas como variables locales del programa.
3

Especificar slo aquellas partes de la declaracin requeridas por la aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin - slo si se utilizan variables directamente direccionadas - y comentario sobre las variables.

Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

3. Formulacin del programa de PLC en uno de los lenguajes de

programacin

= . Seleccionar uno de los lenguajes de programacin soportados por el


sistema PLC que se utilice. Los lenguajes adecuados para la formulacin de sistemas de control lgico son el diagrama de contactos, el diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificacin y puesta a punto de un programa y un sistema PLC

Antes de la puesta en marcha de la instalacin:


m

Comprobar el circuito montado con ayuda del esquema

Puesta a punto de la instalacin:


m
m

Conectar la fuente de alimentacin utilizando una tensin estndar de 24 V DC! Aumentar la presin del aire de alimentacin en la unidad de mantenimiento (ver ficha tcnica de los componentes neumticos)

Funcionamiento de la instalacin
m

Mantener el entorno de trabajo despejado

Cargar el programa en el PLC


3

Realizar una funcin de prueba Corregir cualquier error que pudiera haber en el programa del PLC. Documentar la solucin.

3
3

TP301 Festo Didactic

Ejercicio 12

HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo

Completar el esquema elctrico 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 1 2

HOJA DE TRABAJO
Configurar el sistema de control

Esquema del circuito eleclroneumtico

2. Declaracin de las variables del programa del PLC

Declarar las variables requeridas en el programa del PLC:


Denominacin

Tipo de datos

Direccin

Comentario

Declaracin de variables

TP301 Festo Didactic

Ejercicio 1 2

HOJA DE TRABAJO
3. Formulacin del programa de PLC en uno de los lenguajes de

programacin Formular la solucin de la tarea de control en uno de estos lenguajes:


n Diagrama de funciones (FBD)

Diagrama de contactos (LD) Lista de instrucciones-flL) Texto estructurado (ST)

Programa del PLC

Festo Didacffc TP301

Ejercicio 12

HOJA DE TRABAJO
Preguntas

Responder a las siguientes preguntas::


1. Especificar en nombre y la funcin de los parmetros del temporizador de pulso.

2. Cul es la respuesta del temporizador, si se da una nueva seal

de marcha antes de que expire el tiempo? Completar el diagrama.

Fig. A12.2: Tiempo de respuesta del ternporizador de pulso

Ejercicio 13

Controles lgicos programables Dispositivo de marcado Seal con retardo a la conexin Ser capaz de realizar un retardo a la conexin de una seal utilizando el bloque de funcin estndar TON Bloque de funcin TON, Retardo a la conexin El bloque de funcin estndar TON se utiliza para generar un retardo a la conexin.

Tema Ttulo

Objetivo didctico
Conocimientos tcnicos

BOOL

El comportamiento del bloque de funcin TON es como sigue: El bloque de funcin TON se pone en marcha por medio de una seal 1 en la entrada IN. m Una vez que ha expirado el tiempo especificado en la entrada PT, en la salida Q aparece una seal 1. La seal 1 en la salida Q permanece hasta que la seal de entrada IN vuelve a O. m Si la duracin de la seal de entrada IN es menor que el tiempo especificado en PT, el valor de la salida Q permanece en O. m El valor actual del tiempo (el tiempo transcurrido desde el comienzo) est disponible en la salida ET.
m

Festo Didactic TP301

Ejercicio 7 3

Programacin de un seal con retardo a la conexin en los distintos lenguajes En el siguiente ejemplo se demuestra la utilizacin de un retardo a la conexin de una seal: Ejemplo
La puerta de un autobs se cierra cuando la zona de embarque ha permanecido despejada durante un tiempo especificado (5 segundos). Esto se supervisa por medio de una barrera fotoelctrica.
VAR B1 AT : BOOL; Y1 AT %QX1 : BOOL; TON-Y 1 END-VAR FBD TON-Y 1 B1 T#5s
(' Barrera fotoelctrica ( . Bobina Y1 del cilindro de (' cerrar la puerta (* Seal temporizada a la conexin (' TON-Y1 para cerrar la puerta

: TON;

*) *) *) *) *)

jzt
PT

ET

Conexin de entradas y salidas del bloque de funcin TON-Y1 con 10s pargmetros actuales.

LD TON-Y 1 Interconexindel bloque de funcin TON-Y1 en el rengln.


Tabla A 13.1: Utilizacin de un temponzador a la conexin

Ejercicio 13

IL
CAL TON-Y1 (IN := 81, PT := T#5s)

LD
ST

TON-Y1.Q Y1

'

Invocacin del bloque de funcin TON-Y1. Lectura de la salida Q de TON-Y 1. Almacenamiento del resultado actual en Y1.

ST

TON-Y 1 (IN := 61, PT := T#5s); Y1 := TON-Y1.Q;

Invocacin del bloque de funcin TON-Y1 . Asignacin de la salida Q de TON-Y1 a Y1.


Tabla A13.1: UtilUacn de un ternporizador a la conexin (continuacidn)

Ejercicio 13

Descripcin del problema

Una pieza debe marcarse accionando un pulsador (SI). Para asegurar que el ciclo de marcado no se pone en marcha inadvertidamente, deber mantenerse presionado el pulsador durante ms de tres segundos. La posicin de cilindro 1.0 se establece por medio de los interruptores de proximidad B1 (retrafdo) y 82 (extendido).

Croquis de situacin

1
1. Trazado del esquema del circuito y montaje del equipo 2. Declaracin de las variables del programa PLC
3. Formulacin del programa de PLC en uno de los diversos lenguajes

. .-

Definicin del ejercicio

de programacin
4. Verificacin y puesta a punto del programa de PLC y del sistema

TP301 'e Festo Didactic

Ejercicio 13

1. Trazado del esquema del circuito y montaje del equipo


3

Realizacin

Completar el esquema elctrico del circuito en la HOJA DE TRABAJO. Montar el equipo necesario en la placa perfilada:

Cantidad
1 1

Descripcin Control lgico programable Cable de unin para la unidad de conexin Unidad de conexin Unidad de mantenimiento Distribuidor Distribuidor de enchufe rpido Cilindro de simple efecto Electrovivula de 512 vias de una bobina Entra& de seales elctricas Sensor de proximidad inductivo Sensor de proximidad capacitivo Tubo de plstico Lista de wmponentes

1 1

1
1
1 1

1
1

Antes de cablear y conectar los tubos: iDesconectar la alimentacin!


m

Cortar el aire comprimido en la unidad de mantenimiento!

Establecer las conexiones elctricas y neumticas.

Festo Didactic TP301

Ejercicio 13

2. Declaracin de las variables del programa del

PLC

Todas variables deben ser declaradas como variables locales.


3

Especificar slo aquellas partes de la declaracin requeridas por la aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin - slo si se utilizan variables directamente direccionadas y comentario sobre las variables.

Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

3. Formulacin del programa de PLC en uno de los lenguajes de programacin


3

Seleccionar uno de los lenguajes de programacin soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la formulacin de sistemas de control lgico son el diagrama de contactos, el diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificacin y puesta a punto de un programa y un sistema PLC

Antes de poner a punto la instalacin: Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalacin:
m
m

Conectar la fuente de alimentacin utilizando una tensin estndar de 24 V DC! Aumentar la presin del aire de alimentacin en la unidad de mantenimiento (ver ficha tcnica de los componentes neumticos)

Funcionamiento de la instalacin
m

Mantener el entorno de trabajo despejado

+ Cargar el programa en el PLC


3
3

Realizar una funcin de prueba Corregir cualquier error que pudiera haber en el programa del PLC.

+ Documentar la solucin.

TP301 Festo Didactic

Ejercicio 13

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo

Completar el esquema elctrico 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-neumtico

2. Declaracin de las variables del programa del PLC

Declarar las variables requeridas en el programa del PLC:


Designacin Tipo de datos Direccin Comentario

Declaracin de variables

TP301 e Festo Ddactic

Ejercicio 13

3. Formulacin del programa de PLC en uno de los lenguajes de

programacin Formular la solucin 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 ejecucin del programa?

TP301 Festo Didactic

Ejercicio 14

Controles lgicos programables


Dispositivo de fijacin Seal con retardo a la desconexin

Tema Ttulo Objetivo diddctiw Conocimientos tcnicos

Ser capaz de realizar una temporizacin a la desconexin utilizando el bloque de funcin estndar TOF
Bloque de funcin TOF, retardo a la desconexin El bloque de funcin estndar TOF (fig. A14.l)'se utiliza para generar retardos de seales a la desconexin.

BOOL

El comportamiento de un bloque de funcin TOF es como sigue:


m

El bloque de funcin TOF se pone en marcha con una seal 1 en la entrada IN. Inmediatamente la salida Q adopta el valor 1. Una vez que la seal IN ha pasado de nuevo al valor O, la salida Q sigue teniendo seal 1 durante el fiempo especificado en la entrada PT, transcurrido el cual vuelve a adoptar el valor O.

Festo Didactic

JP301
4

Ejercicio 14

Programacin d e un temporizador c o n retardo a la desconexin e n l o s diferentes lenguajes A continuacin se muestra un ejemplo de utilizacin de un temporizador a la desconexin:

Ejemplo

La puerta de un horno incluye un bloqueo de forma que no debe poder abrirse instantneamente durante el proceso. Si se emite una seal de apertura d e l horno, la puerta solamente se desbloquear una vez transcurridos 10 minutos. VAR Doo~-closed AT
Y1

%MX1: BOOL;

AT

TOF-Door END-VAR FBD TOF-Door Door-closed

para enclavamien-*) (' to de la puerta del horno *) %QX1: BOOL; (' Bobina Y1 para el cil. de *) (' apertura de la puerta. *) TOF; (. Seal de desconexin re- *) (' tardada TOF-Door *)

Memoria

Conexin de entradas y salidas del bloque de funcin TOF-Door con los parhrnetros actuales.

LD TOF-Door ~ l o q

D
Tabla A14.1: Utilizacin de un retardo a la desconexin

lq
~ y

T#lOm

PT

ET

Interconexin del bloque de funcin TOF-Door en el rengln.

TP301 Festo Ddactic

Ejercicio 14

IL

CAL TOF-Door (IN := Door-closed, PT := T#lOrn) Invocacin del bloque de funcin 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); Y1 := TOF-D0or.Q; Invocacin del bloque de funcin TOF-Door. Asignacin de la salida Q de TOF-Door a Y 1.
Tabla A14.7: Utjlizacin de un retardo a la desconexin (continuacin)

Ejercicio 14

Descripcidn del problema

Un8 pieza debe sujetarse activando el pulsador de marcha SI.Cuando la pieza es sujeta por el cilindro 1.O, el cilindro 2.0 avanza y marca la pieza. Dado que la pieza necesita un tiempo para enfriarse, permanece sujeta durante 3 segundos. Este tiempo empieza con el avance del cilindro 1:O.

Croquis de situacin

(
1. Trazado del esquema del circuito y montaje del equipo

Definicin del ejercicio

2. Declaracin de las variables del programa PLC


3. Formulacin del programa de PLC en uno de los diversos lenguajes de programacin

4. Verificacin 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 .

Realizacin

Completar el esquema elctrico del circuito en la HOJA DE TRABAJO Montar el equipo necesario en la placa perfilada:

Cantidad
1 1

Descnjlcin

Control lgico programable Cable de unin para la unidad de conexin Unidad de conexin Unidad de mantenimiento Distribuidor Distribuidor de enchufe rpido Cilindro de simple efecto Cilindro de doble efecto Electrovlvula de 52 vlas de una bobina Electrovlvula de 52 vias de dos bobinas Entrada de seales elctricas Sensor de proximidad inductivo Disiribuidor de enchufe rpido Tubo de plstico
Tabla A 14.1: Lista de componentes

1
1 1

1
1 1

1
1 1 4 1

Antes de cablear y conectar los tubos: Desconectar la alimentacin! Cortar el aire comprimido en la unidad de mantenimiento!

Establecer las conexiones elctricas y neumticas.

Festo Didactic TP301

Ejercicio 14

2. Declaracin de las variables del programa del PLC

* Todas variables deben ser declaradas como variables locales del


programa

* Especificar slo aquellas partes de la declaracin requeridas por la


aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin

- slo si se utilizan variables directamente direccionadas - y comentario sobre las variables. Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

3. Formulacin del programa de PLC en uno de los lenguajes de

programacin Seleccionar uno de los lenguajes de programacin soportados por el sistema PLC que se utilice. Los lenguajes adecuados para la formulacin de sistemas de control lgico son el diagrama de contactos, el diagrama de funciones, la lista de insttycciones y el texto estructurado.

4. Verificacin y puesta a punto de u n programa y un sistema PLC

Antes de poner a punto la instalacin: Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalacin: iconectar la fuente de alimentacin utilizando una tensin estndar de 24 V DC!

Aumentar la presin del aire de alimentacin en la unidad de mantenimiento (ver ficha tcnica de los componentes neumticos)

Funcionamiento de la instalacin

Mantener el entorno de trabajo despejado

a Cargar el programa en el PLC


Realizar una funcin de prueba Corregir cualquier error que pudiera haber en el programa del PLC. Documentar la solucin.

TP301 Festo Didactic

Ejercicio 14

HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo Completar el esquema elctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.
\

PLC

Esquema del circuito elctrico

Festo Didactic TP301

Ejercicio 14

HOJA DE TRABAJO
Configurar el sistema de control

Esquema del circuito electroneumtico

2. Declaracin de las variables del programa del PLC

Declarar las variables requeridas en el programa del PLC:

Declaracin de variables

TP301 Festo Didaclic

HOJA DE TRABAJO
3. Formulacin del programa de PLC en uno de los lenguajes de programacin

Formular la solucin 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 travs de qu seal empieza a contar el temporizador con retar-

do a la desconexin?

Ejercicio 15

Controles lgicos programables Dispositivo elevador para paquetes Secuencia lineal Ser capaz de disear y representar sistemas secuenciales de control simples segn IEC 848. m Ser capaz de programar un sistema de control secuencial consistente en una secuencia lineal m Ser capaz de utilizar el lenguaje de programacin Diagrama de Funciones Secuencia1 Sistemas de control secuenciales Los sistemas de control secuencial describen procesos que suceden en varias etapas claramente separadas. La transicin de una etapa a la siguiente depende del estado del proceso. El proceso puede derivarse en procesos parciales en relacin con el estado del proceso establecido. Por lo tanto, el programa de un sistema de control secuencial debe cumplir con tres funciones bsicas:

Tema Ttulo Objetivo didctico

Conocimientos tcnicos

Acciones ejecutivas: Etapa

vacin de salidas Activacin y desactlvacin de memorias. Activacin y arranque de temporizadores y contadores

Condiciones de transicin (condiciones de

tradas y memorias Interrogacin de temporizadores Interrogacin de contadores

recorrido para la continuacin del programa Derivaciones

recorrido Seguimiento de recoridos en paralelo

I
Festo Didaciic TP301

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

Ejercicio 15

Representacin general de un sistema de control secuencial El diagrama de funciones secuencial segn IEC 848 es adecuado para la descripcin y planificacin de sistemas de control secuenciales. Permite una clara representacin grfica del comportamiento y funcionamiento de un sistema de control secuencial.

6
Establecer posicin inicial

0 t
S

o t
S

Pieza en almacn, cilindro 1.O y cilindro 2.0 en posicin retralda Cilindro 1.O avanza

2.1: Cilindro 1.O avanzado y

pieza expulsada

Cilindro 2.0 avanza

3.1: Cilindro 2.0 avanzado


S

Cilindro 2..0 retrocede

I t
Fg. A 15.2: Ejemplo de un sistema de control secuencia/

4.1: Cilindro 2.0 ha retrocedido


S

( Cilindro 1.O retrocede (

l t

5.1: Cilindro 1.0 ha retrocedido

El ejemplo mostrado describe la siguiente tarea de control:


Se alimenta una pieza desde un almacn por gravedad para su posterior mecanizado. La pieza es extrada del almacn 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

Programacin de un sistema de control secuencial por medio del Diagrama de Funciones Secuencia1 Los sistemas de control secuencial pueden programarse de forma fcil y sencilla utilizando el diagrama de funciones secuencial. El diagrama de funciones secuencial procede del diagrama de funciones segn IEC 848. El ejemplo mostrado en la fig. A15.3 ilustra la utilizacin del diagrama de funciones secuencial para el control de la tarea mencionada arriba.
m
m

m m

Etapa => Clasificacin en acciones Transicin => Descripcin por medio de condiciones de transicin Derivacin alternativa y unin Derivacin en paralelo y unin

Cuando se pone en marcha el programa del PLC, la etapa designada como inicial S1 se activa automticamente. A menudo, en esta etapa inicial suele situarse el sistema en su posicin de partida. En el ejemplo mostrado', la etapa S1 es una etapa vaca. Si se cumplen las condiciones de habilitacin de la siguiente etapa - los cilindros 1.0 y 2.0 estn retraldos y el almacn 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. Adems, en la medida que esto es posible por el proceso concerniente, en el tercer campo se especifica la variable que se ver afectada al final de la accin indicada. En la etapa S2, el cilindro 1.0 ha avanzado por la activacin de la bobina de la electrovlvula Y1. Al llegar a su posicin final delantera y estando la pieza en posicin correcta (B2 = l), se desactiva la etapa S2 y se activa la S3. El cilindro 1.0 permanece extendido como resultado del cualificador S (=SeVActivar). En la etapa 3, el cilindro 2.0 avanza por el efecto de la activacin de la electrovAlvula Y2 y transfiere la pieza a una rampa. El cilindro 2.0 retrocede de nuevo una vez que ha alcanzado su posicin final delantera. Si el sensor 85 seala que se ha alcanzado la posicin final retrada del cilindro 2.0, el cilindro 1.0 tambin retrocede. El sensor 83 seala ahora el final de la secuencia y el programa regresa al principio. Toda la secuencia de las etapas se repite de nuevo.

Festo Didactic TP301

Ejercicio 15

VAR Y1 Y2 B1 82 B3 B4 B5 B6 AT AT AT AT AT AT AT AT %QX1 %QX2 %IX1 %IX2 %IX3 %IX4 %IX5 %IX6

: BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL;

(* Bobina Y1, Cilindro 1.O (' Bobina Y2, Cilindro 2.0 (' Pieza en almacn (' Pieza expulsada (' Cilindro 1.O retrado (* Cilindro 1.O extendido (* Cilindro 2.0 retrado (' Cilindro 2.0 extendido

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

Ejercicio 15

VAR Y1 Y2 B1 82 83 B4 B5 B6

AT AT AT AT AT AT AT AT

: : : : : : :

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; : BOOL;

(* Bobina Y1, Cilindro 1.O (* Bobina Y2, Cilindro 2.0 (* Pieza en almacn (* Pieza expulsada (* Cilindro 1.0 retrado (* Cilindro 1.O extendido (* Cilindro 2.0 retraido (* Cilindro 2.0 extendido

Fig. A 15.3: Ejemplo de un diagrama de funciones secuencia1

TP301 Festo Didactic

Ejercicio 15

Generacin de una secuencia de etapas por medio de elementos memorizantes RS La secuencia de etapas puede generarse utilizando elementos memorizantes si el lenguaje de diagrama de funciones -secuencial no es soportado directamente como programa del PLC que se utilice.

Etapa n-1 Condiciones de habilitacin 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 condicin de habilitacin 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 programacin de las tareas de control en la fig. A15.2 Todas las acciones se producen como aciones booleanas.

--

Ejercicio 15

VAR Y1 AT %QX1 Y2 AT %QX2 B1 AT %IX1 B2 AT %IX2 B3 AT %IX3 B4 AT %IX4 85 AT %IX5 B6 AT %IX6 RS-S1 RS S2 R S ~ S ~ RS-S4 RSS5 RS-Y 1 RS-Y2

: BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : BOOL; : RS; : RS; : RS; : RS; : RS; : RS; : RS;

(' Bobina Y1, Cilindro 1.O (' Bobina Y2, Cilindro 2.0 (' Pieza en almacn (' Pieza expulsada (* Cilindro 1.O retrado (' Cilindro 1.O extendido (' Cilindro 2.0 retraido (* Cilindro 2.0 extendido (' Flip-flop para Etapa S1 (* Flip-flop para Etapa S2 (' Flip-flop para Etapa S3 (' Flip-flop para Etapa S4 (' Flip-flop para Etapa S5 (' Flip-flop para bobina Y1 (' Flipflop para bobina Y2

(' Programacin de la secuencia de etapas *)

RS-S 1
(* Activacin del ")

RS-S2.Ql

(' Etapa S1

*)

RS-SI.Ql B3 85 B1
Fig. A 75.5: Ejemplo de una secuencia de etapas con elementos memorizantes RS

&

RS-S2 RS Q1 -S R1 (* Activacin del *) (* flipflop para *) (* Etapa S2 *)

RS-S3.Ql

TP301 Festo Didactic

Ejercicio 15

RS-S3
(' Activacin del *) (* flip-flop para *) i Etapa S3 *)

n i--R Q c S 4 I . RS-S4

RS-S5.QI RS-S5

(' Activacin del *) (' fligflop para *) ('Etapa S4 *)

RS-S1 .Q1

R1

(' Activacidn del *) (* flip-flop para *) (' Etapa S5 *)

(* Programacin de la seccin de potencia *)

RS-S.QI RS_S5.Q1

I
*) *)

RS-Y 1 RsQqk
(* (' Cilindro Bobina Y1 1.Opara

;l

RS-S3.QI RS-9.Ql

$:I

RS-Y 2 RSQl Y2

(' Cilindro (* Bobina Y2 2.0para *)

Fig. A15.5:
Ejemplo de una secuencia de etapas con elementos memorizantes RS (continuacin)

La programacin de la secuencia de etapas requiere una ampliacin de la seccin de declaracin en la fig. A15.3.
Se necesita un flip-flop RS adicionalmente para cada etapa. Adems, el estado de las bobinas Y1 e Y2 estn almacenadas por medio de flip-flops.

El programa consiste en
m
m

Secuencia de etapas Seccin de potencia (para la activacin de las salidas)

Ejercicio 15

Descripcin del

problema

Un transportador de rodillos es supervisado por un sensor de proximidad 61, para comprobar si hay un paquete presente. Si es este el caso, el paquete es empujado por un cilindro 1.O (cilindro de elevacin) y a continuacin es transferido a otro transportador por medio del cilindro 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 electrovlvulas (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 alimentacin, los paquetes han sido previamente.dispuestos de forma tal que llegan al dispositivo de alimentacin individualmente.

Croquis de situacidn

TP301 Fesio Didactic

Ejercicio 15

1. Trazado del esquema del circuito y montaje del equipo

Definicin del ejercicio

2. Descripcin de la tarea de control por medio del diagrama de funciones secuencial IEC 848
3. Declaracin de las variables del programa PLC
4. Formulacin del programa de PLC por medio del diagrama de funciones secuencial IEC 848
o Programacin de las condiciones de transicin directamente en

uno de los lenguajes FBD, LD o ST


o Especificacin de las acciones como acciones booleanas

5. Verificacin 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 elctrico del circuito en 3

la HOJA DE TRABAJO.

Montar el equipo necesario en la placa perfilada:


Descn'pcin

Cantidad

Control lgico programable Cable de unin para la unidad de conexin Unidad de conexin Unidad de mantenimiento Disttibuidor Cilindro de doble efecto Electrovlvulade 512 vas de una bobina Sensw de proximidad ptico Censor de proximidad inductivo

1
1
1

2
1
4

Tubo & plstico

Lista de componentes

Desconectar la alimentacin! Cortar el aire comprimido en la unidad de mantenimiento!

+ Establecer las conexiones elctricas y neumticas.

Ejercicio 15

2. Descripcin de la tarea de control por medio del diagrama de funciones segn IEC 848

+ Creacin del programa en diagrama de funciones segn IEC 848.


3. Declaracin de las variables del programa del PLC

Todas variables deben ser declaradas como variables locales del programa. Especificar slo aquellas partes de la declaracin requeridas por la aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin - slo si se utilizan variables directamente direccionadas - y comentario sobre las variables. Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

4. Formulacin del programa de PLC en diagrama de funciones secuencial


3 Disear la

estructura de la secuencia en etapas y transiciones.

Programar las condiciones de transicin directamente en uno de los lenguajes FBD, LD o ST.

* Formular las acciones asociadas con las etapas directamente como


acciones booleanas.

* Crear la estructura de etapas copiando los pasos en los elementos


memorizantes si el diagrama de funciones secuencial no est directamente soportado por el PLC que se utilice.

TP301 Festo Didactic

Ejercicio 15

5. Verificacin y puesta a punto de un programa y un sistema PLC

Antes de poner a punto la instalacin: Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalacin: Conectar la fuente de alimentacin utilizando una tensin estndar de 24 V DC! Aumentar la presin del aire de alimentacin en la unidad de mantenimiento (ver ficha tcnica de los componentes neumticos) Puesta a punto de la instalacin:
B

Mantener el entorno de trabajo despejado

Cargar el programa en el PLC

a Realizar una funcin de prueba


Corregir cualquier error que pudiera haber en el programa del PLC.
3 Documentar

la solucin.

Festo Didactic

TP301

Ejercicio 15

HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo

Completar el esquema elctrico 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 electroneumtico

2. Descripcin de la tarea de control por medio del diagrama de funciones segn IEC 848

a Creacin del programa en diagrama de funciones segn IEC 848.

TP301 Festo Ddactic

HOJA DE TRABAJO
3. Declaracin de las variables del programa del PLC

Declarar las variables requeridas en el programa del PLC:

Declaracin de variables

4. Formulacin del programa de PLC en diagrama de funciones secuencial

Festo Didactic TP301

Ejercicio 15

HOJA DE TRABAJO
Preguntas

Responder a las siguientes preguntas:


1. &Cules la funcin de una etapa sin acciones asociadas?

2. Cul es la respuesta del programa en diagrama de funciones secuencial si la accin de la etapa S3: "Avanzar cilindro 2.0" se programa como accin no-memorizante?

TP301 Festo Didactic

Ejercicio 16

Controles lgicos programabks


Dispositivo elevador y clasificador para paquetes Secuencia con desvo alternativo

Tema Ttulo Objetivo didctico Conocimientos tcnicos

Ser capaz de programar un sistema de control secuencial con una derivacin alternativa
Sistema de control, secuencia1 con derivacin alternativa Hay sistemas de control secuencial, en los que deben preverse diferentes secuencias. Una secuencia es seleccionada dependiendo de las seales originadas por el proceso.

1 Verificar posicion iniciai 1

t
t

Pieza pequeiia

t
t
111

Pieza grande

2.1 : Pieza fijada N

4.1: Pieza fijada

Estampar pieza

Estampar pieza

11]

3.1: Pieza estampada

5.1: Pieza estampada

w u
N
Expulsar pieza 7.1: Pieza expulsada
Festo Didactic TP301

1 t

16rKr_=..
S Liberar pieza 6.1: Pieza liberada
Fg. A16.1: Ejemplo de sistema de control secuencial con derivacin alternativa

Ejercicio 16

Un ejemplo de una secuencia de control as, puede representarse por una herramienta de estampacin que estampa piezas pequeas o grandes por medio de dos cilindros diferentes. La fig. A16.1 ilustra el diagrama de funciones segn IEC 848 para el ejemplo mencionado arriba. El desvfo alternativo es representado por tantas transiciones como secuencias posibles existan. Para seleccionar slo una opcin, las condiciones de transicin deben excluirse mutuamente. Hay disponibles dos, secuencias para la seleccin en el ejemplo dado. S se detectan piezas pequeas, 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 despus de la etapa 1.

Programacin de un control secuencia1 con derivacin alternativa Los sistemas secuenciales representados en diagrama de funciones segn IEC 848 son fciles de programar con el diagrama de funciones secuenciales. En el programa listado abajo, las condiciones de transicin han sido formuladas en el lenguaje ST. La etapa inicial S1 est activa tras el arranque del programa. S1 es una etapa vaca, es decir, no se han asignado acciones a esta etapa. Si todos los cilindros estn retrados y hay presente una pieza pequea, se activa la etapa S2 y se desactiva la etapa SI. La pieza es a continuacin 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 continuacin, el procesamiento de las etapas empieza de nuevo con la etapa SI.

TP301 Festo Didactic

Ejercicio 16

VAR B1 B2 B3 B4 B5 B6 B7 88 B9 B10 Y1 Y2 Y3 Y4

AT AT AT AT AT AT AT AT AT AT AT AT AT AT

%IX1.0 : %lX1.1 : %IX2.0 i : %IX2.1 : %IX2.2 : %IX2.3 : %IX2.4 : %IX2.5 : %IX2.6 : %IX2.7 : %QX1.0 : %QX1.1 : %QX1.2 : %QX1.3 :

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL;

(* pieza grande o pequea *) (* slo para pieza grande *) (* cilindro 1.O retrado *) (* cilindro 1.O extendido *) (' cilindro 2.0 retrado *) (* cilindro 2.0 extendido *) (* cilindro 3.0 retrado *) (* cilindro 3.0 extendido *) (' cilindro 4.0 retrado *) (* cilindro 4.0 extendido *) (* cilindro 1.0: fijacin *) (* cilindro 2.0: estampar pequ. *) (* cilindro 3.0: estampar grande *) (' cilindro 4.0: explusor *)

Fig. A 16.2: Ejemplo de diagrama de funciones secuencia1 con derivacin 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 seal 1 rnientras las etapas asociadas estn activas.

Si el PLC utilizado no dispone de la opcin de programar directamente en diagrama de funciones secuencial, la secuencia de etapas puede generarse en este caso utilizando elementos memorizantes.

TP301 Festo Didactic

Ejercicio 16

Unos paquetes son transportados hacia un dispositivo de medida en un transportador de rodillos para establecer su tamao. Hay dos tamaos de paquetes diferentes: Paquetes largos y cortos. El dispositivo de medicin lineal suministra seal O para; los paquetes cortos y seal 1 para paquetes largos.
A continuacin, el paquete llega a una plataforma elevadora. La secuencia empieza con el pulsador de MARCHA SI. Los paquetes son . 0 . A continuacin los paquetes elevados por un dispositivo elevador 1 son clasificados: los paquetes cortos se transfieren a un segundo transportador por medio del cilindro 2 . 0 y los largos a un tercer transportador por medio del cilindro 3.0. El cilindro de elevacin 1 . O debe . 0 y 3.0 hayan alcanzaretroceder de nuevo una vez que los cilindros 2 do su posicin final retrada.

Descripcin del problema

Las posiciones del cilindro se detectan por medio de interruptores de proximidad 6 1 a B6. El cilindro 1 . 0 avanza y retrocede por medio de una . 0 y 3.0 avanzan y electrovlvula de dos bobinas Y1 e Y2. Los cilindros 2 retroceden por medio de las electrovlwlas de una sola bobina (bobinas Y3 e Y 4 ) .

1
Festo Didactic

Croquis de siluaci6n

TP301

Ejercicio 16

Definicin del ejercicio

Trazado del esquema del circuito y montaje del equipo


2. Descripcin de la tarea de control por medio del diagrama de funciones secuencial IEC 848
3. Declaracin de las variables del programa PLC

4. Formulacin del programa de PLC por medio del diagrama de funciones secuencial o Programacin de las condiciones de transicin directamente en uno de los lenguajes FBD, LD o ST o Especificacin de las acciones como acciones booleanas 5. Verificacin y puesta a punto del programa de PLC y del sistema.

Realizacin

1. Trazado del esquema del circuito y montaje del equipo


3 Completar el

esquema elctrico del circuito en la HOJA DE TRABAJO.

Montar el equipo necesario en la placa perfilada:


Cantidad
1 1 1 1

Designacin

Control 16gico programable Cable de unin para la unidad de conexin Unidad de conexin Unidad de mantenimiento Distribuidor Conector de enchufe rpido Cilindro de simple efecto Cilindro de doble efecto Electrovlvula de 5/2 vlas de una bobina Electrovlvula de 5/2 vlas de dos bobinas Entrada de sefiales elctricas Sensor de proximidad capacitivo Sensor de proximidad ptico Sensor de proximidad inductivo - Tubo de plstico

1
1

2
2
1

1
1

1
4

Lista de componentes

TP301 Festo Didactic

Ejercicio 16

Antes de cablear y conectar los tubos: Desconectar la alimentacin! Cortar el aire comprimido en la unidad de mantenimiento!

+ Establecer las conexiones elctricas y neumticas.


2. Descripcin de la tarea de control por medio del diagrama de funciones segn IEC 848

+ Creacin del programa en diagrama de funciones segn IEC 848.


3. Declaracin de las variables del programa del PLC

a Todas variables deben ser declaradas como variables locales del


programa.

* Especificar slo aquellas partes de la declaracin requeridas por la aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin - slo si se utilizan variables directamente direccionadas - y comentario sobre las variables.
.

Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

4. Formulacin del programa de PLC en diagrama de funciones secuencial

Disear la estructura de la secuencia en etapas y transiciones.

a Programar las condiciones de transicin directamente en uno de los lenguajes FBD, LD o ST.
3

Formular las acciones asociadas con las etapas directamente como acciones booleanas. la estructura de etapas copiando los pasos en los elementos memorizantes si el diagrama de funciones secuencia1 no est directamente soportado por el PLC que se utilice.

3 Crear

Festo Didactic

TP301

Ejercicio 16

5. Verificacin y puesta a punto de un programa y un sistema PLC

Antes de poner a punto la instalacin:


m

Comprobar el circuito montado con ayuda del esquema

Puesta a punto de la instalacin:


m m

Conectar la fuente de alimentacin utilizando una tensin estndar de 24 V DC! Aumentar la presin del aire de alimentacin en la unidad de mantenimiento (ver ficha tcnica de los componentes neumticos) .

Funcionamiento de la instalacin
m

Mantener el entorno de trabajo despejado

3 Cargar

el programa en el PLC

a Realizar una funcin de prueba


3 Corregir

cualquier error que pudiera haber en el programa del PLC.

+ Documentar la solucin.

TP307

Festo Didactic

Ejercicio 16

HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo

Completar el esquema elctrico del circuito e introducir las direcciones disponibles de entrada y salida en e l PLC que se utilice.

24V -

r OV
O

PLC

Esquema del
circuito elctrico

Fesio TP301 . Didactic .

Ejercicio 16

HOJA DE TRABAJO
Configurar el sistema de control

Esquema del circuito electroneumtico

2. Descripcin de la tarea de control por medio del diagrama de funciones segn IEC 848
2 Creacin

del programa en diagrama de funciones segn IEC 848.

Preguntas

Responder a las siguientes preguntas:

1. 'Cul es el criterio de clasificacin segn el cual se evalan los paquetes?

2. Cmo se asegura que se seleccione una sola secuencia de etapas durante la ejecucin del programa?

TP301 Festo Didactic

Ejercicio 16

HOJA DE TRABAJO
3. Declaracin de las variables del programa del PLC

Declarar las variables requeridas en el programa del PLC:

Declaracin de variables

4. Formulacin 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 cules son las condiciones de transicin que siempre son ciertas. Por qu se formulan estas condiciones de transicin?

TP301 Festo Didactic

Ejercicio 17

Controles lgicos programables


Dispositivo de estampacin con contador

Tema

Ciclos de conteo Poder realizar ciclos de conteo por medio de la utilizacin de los mdulos de funcin estndar CTU o CTD Los ciclos de conteo forma parte de las operaciones bsicas de un PLC. IED 1131-3 define tres bloques de funcin estndar: CTU (contador incremental), C I D (contador decremental) y CTUD (contador incrementalldecremental) para la realizacin de estas operaciones.
1

Objetivo didctico

Conocimientos tcnicos

Bloque de funcin CTU, contador incremental El bloque de funcin CTU (fig. A17.1) realiza un contador incremental.

Su interface est definido por medio de tres parmetros de entrada y dos de salida.

BOOL INT

El comportamiento caracterstico de un contador incremental es como sigue: Una seal 1 en la entrada de reset R, pone el estado CV del contador a O. A continuacin, el valor CV del contador se incrementa en 1 a cada flanco ascendente en la entrada CU. Aparece una seal 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 funcin CTD, contador decremental Bloque de funcin CTD (fig. A17.2) siendo un contador decremental funciona de forma opuesta al bloque de funcin CTU.

BOOL INT

El comportamiento de un contador decremental es como sigue: Una seal 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 seal 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 seal 1 en la salida Q.
m

TP301 Festo Didactic

Ejercicio 17

Uso del bloque de funcin CTU en cada uno de los lenguajes de programacin La utilizacin del bloque de funcin se demuestra con un ejemplo de una pequea tarea de envasado.

En una caja hay que poner 12 unidades de una determinada pieza. Una vez llena una caja, aparece otra. Cada ciclo de envasado se dispara con una memoria (flag) M-init. Las piezas son detectadas por medio de un censor B1. El estado del contador es copiado a una memoria M-new.
VAR B1 AT %IXl.O : BOOL; M-init AT %MX1.O : BOOL; M-new AT %MX1.1 : BOOL; CTU-1 END-VAR

Ejemplo

: CTU;

(' detecta pieza para envasar (* detecta si el contador tiene (' que ser inicializado (* detecta si se requiere una (* nueva caja (' Contador incremental (' CTU-1 para el recuento

') *) *) *) *) *) *)

FBD

B1 M-init 12

4-1
'

M-new

Bloque de funcin CTU-1, conectado con los parmetros actuales.

PV

cv

LD
CTU-1

Interconexindel bloque de funcin CTU-1 en el rengln. PV

cv

Tabla A17.1: Aolicacin de un contador incremental

Festo Didactic

TP301

Ejercicio 17

IL

CAL CTU-1 (CU := 61, R := M-init, PV := 12) Invocacin del bloque de funcin CTU-1

LD
ST

CTU-1.Q M-new

Lectura de la salida Q de CTU-1 Almacenamiento del resultado actual en M-new

ST Invocacin del bloque de funcin CTU-1

CTU-1 (CU := B1, R := M-init, PV := 12);

M-new := CTU-1 .Q;


Tabla A17.1: (Continuacin)

Asignacin de la salida Q de CTU-1 a M-new

TP301 Festo Didactic

Ejercicio 17

En una mquina se estampan 10 piezas cada vez. El ciclo del programa se inicia poy medio de un pulsador SI. El interruptor de proximidad 87 indica "Pieza en almacn". Cada pieza se alimenta hacia la mquina por medio de un cilindro 1.0 y se sujeta. A continuacin se estampa a travs del cilindro 2.0 y despus se expulsa por medio del cilindro 3.0. El cilindro de sujecin 1.0 funciona por medio de una electrovlvula de doble bobina Y1 (sujecin) e Y2 (liberacin). Los cilindros 2.0 y 3.0 son controlados por electrovlvulas con retorno por muelle con las bobinas Y3 e Y4. Las posiciones de los cilindros son detectadas por los interruptores de proximidad B1 a B6.

Descripcin del problema

Croquis de situacibn

Festo Didactic TP307

Ejercicio 17

Definicin del ejercicio

1. Trazado del esquema del circuito y montaje del equipo


,

2. Descripcin de la tarea de control por medio del diagrama de funciones secuencial IEC 848
3. Declaracin de las variables del programa PLC
4. Formulacin del programa de PLC por medio del diagrama de fun-

ciones secuencial Programacin de las condiciones de transicin directamente en uno de los lenguajes FBD, LD o ST D Especificacin de las acciones
0

5. Verificacin y puesta a punto del programa de PLC y del sistema.

Realizacin

1. Trazado del esquema del circuito y montaje del equipo


3

Completar el esquema elctrico del circuito en la HOJA DE TRABAJO. Montar el equipo necesario en la placa perfilada:

Cantidad
1

Descripcin

Control lgico programable Cable de unin para la unidad de conexin Unidad de conexin Unidad de mantenimiento Distribuidor Distribuidor de enchufe rpido Cilindro de simple efecto Cilindro de doble efecto Electrovlvula de 512 vas de una bobina Electrovlvula de 512 vias de dos bobinas Entrada de seales elctricas Sensor de proximidad capacitivo Sensor de proximidad ptico Sensor de proximidad inductivo Sensor de proximidad inductivo
I

1 1

1
1

1
1 2 2 1 1
1

1
1 4

Lista de componentes

Tubo de plstico

TP301 Festo Didactic

Ejercicio 17

Antes de cablear y conectar los tubos:

m m

Desconectar la alimentacin! Cortar el aire comprimido en la unidad de mantenimiento!

+ Establecer las conexiones elctricas y neumticas.


2. Descripcin de la tarea de control por medio del diagrama de funciones segn IEC 848
3 Creacin del

programa en diagrama de funciones segn IEC 848.

3. Declaracin de las variables del programa del PLC

Todas variables deben ser declaradas como variables locales del programa.
L

+ Especificar slo aquellas partes de la declaracin requeridas por la

- slo si se utilizan variables directamente direccionadas - y comentario sobre las variables.

aplicacin del PLC. Estas son: Designacin, tipo de dato, direccin

Nota: Las partes componentes de la declaracin de variables en esta seccin del ejercicio estn representadas en forma tabular. Si se utilizan sistemas de PLC reales, las entradas y la representacin de la declaracin de variables depende del sistema utilizado.

4. Formulacin del programa de PLC en diagrama de funciones secuencial

Disear la estructura de la secuencia en etapas y transiciones.

+ Programar las condiciones de transicin directamente en uno de los


lenguajes FBD, LD o ST. Formular las acciones asociadas con las etapas. Para las acciones consistentes en ms de una variable booleana, es obligatorio introducir un nombre para la accin.
3 Crear

la estructura de etapas copiando los pasos en los elementos memorizantes si el diagrama de funciones secuencia1 no est directamente soportado por el PLC que se utilice.

Ejercicio 1 7

5. Verificacin y puesta a punto de un programa y un sistema PLC

Antes de poner a punto la instalacin:

Comprobar el circuito montado con ayuda del esquema Puesta a punto de la instalacin: Conectar la fuente de alimentacin utilizando una tensin estndar de 24 V DC! Aumentar la presin del aire de alimentacin en la unidad de mantenimiento (ver ficha tcnica de los componentes neumticos) Funcionamiento de la instalacin Mantener el entorno de trabajo despejado

Cargar el programa en el PLC


4

Realizar una funcin de prueba


= , Corregir cualquier error que pudiera haber en el programa del PLC.

a Documentar la solucin.

TP301 Festo Didactic

Ejercicio 17

HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo

Completar el esquema elctrico del circuito e introducir las direcciones disponibles de entrada y salida en el PLC que se utilice.

Esquema del circuito elctrico

Festo Didactic

TP301

A- 168
Ejercicio 17

HOJA DE TRABAJO
Configurar el sistema de control.

Esquema del circuito electroneumtico

2. Descripcin de la tarea de control por medio del diagrama de funciones segn IEC 848
3

Creacin del programa en diagrama de funciones segn IEC 848.

TP301 Festo Didactic

Ejercicio 17

HOJA DE TRABAJO
3. Declaracin 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. Formulacin del programa de PLC e n diagrama de funciones secuencial

TP301 Fesfo Didactic

Ejercicio 17

HOJA DE TRABAJO
Responder a la siguiente pregunta:
1. Cuando cambia el estado del contador?

Preguntas

Festo Didactic

TP301

Captulo 1 Automatizando con un PLC


1.1 1.2 1.3 1.4

.................... B-1
8-2 8-5 8-8

Introduccin ......................................

Campos de aplicacin de un PLC ..................... B-2

........................... El nuevo estndar para PLC IEC 1131 .................


Diseo bsico de un PLC

Captulo 2 Fundamentos
2.1 2.2 2.3 2.4 2.5 2.6
2.7

...............................
...................

B-11 B-12

El sistema de numeracin decimal

El sistema de numeracin binario .................... 8-12 El cdigo BCD ................................... 8-14

............... Nmeros binarios con signo ........................ Nmeros reales ..................................


El sistema de numeracin hexadecimal

8-14
8-15 8-15

Generacin de seales binarias y digitales ............. 5 1 6

Captulo 3 Operaciones Booleanas


3.1 3.2 3.3 3.4 3.5

...................... 6-19

Funciones lgicas bsicas .......................... 8-20 Otras operaciones lgicas .......................... 0-24 Establecimiento de funciones de conmutacin .......... B-26 Simplificacin de funciones lgicas ................... Diagrama de Karnaugh.Veitch
B-28 B-30

.......................

Captulo 4 Diseo y modo de funcionamiento de un PLC


4.1

... 6-33
8-34 8-36

4.2 4.3 4.4 4.5 4.6 4.7

............................. Unidad de procesamiento principal de un PLC ..........


Estructura de un PLC

Modo de funcionamiento de un PLC .................. B-38

............... Mdulo de Entradas...............................


Memoria del programa de la aplicacin Mdulo de Salidas ................................

B-40 542 8-44

Aparato programador / Ordenador personal ............ B-46

TP301 Festo Didactic

Captulo 5 Programacin de un PLC


5.1 5.2 5.3

................... .-

B-49

Bsqueda de una solucin sistemtica ................ 8-50

............ B-53 Lenguajes de programacin......................... B-56


Recursos de estructuracin de IEC 1131-3

Captulo 6 Elementos comunes de los lenguajes


6.1 6.2 6.3

..........

B-61 8-62

Recursos de un PLC

..............................

Tipos de datos y variables

.......................... B-66 Unidades de organizacin de programas .............. B-76

Captulo 7 Diagrama de bloques de funcin


7.1 7.2 7.3

..............

591

Elementos del diagrama de bloques de funcin

......... 8-92

Evaluacin de redes ............................... 8-93 Estructuras de bucle............................... 8-94

Captulo 8 Diagrama de contactos


8.1 8.2 8.3

......................

8-95

Elementos del diagrama de contactos ................. B-96 Funciones y bloques de funcin...................... B-98 Evaluacin de los renglones

........................

B-99

Captulo 9 Lista de instrucciones


9.1 9.2 9.3

...................... B-101

Instrucciones.................................... 8-102 Operadores..................................... 8-103 Funciones y bloques de funcin...................... 8-104

Captulo 10 Texto estructurado


10.1 10.2 10.3 10.4

........................

B-107

Expresiones .................................... B-108 Instrucciones.................................... 6-110 Instrucciones de seleccin ......................... B-112 Instrucciones de iteracin.......................... 8-115

Festo Didactk

TP307

Captulo 11 Diagrama de funciones secuencia1


11.1 11.2 11.3 11.4 11.5

..........

B-119

Introduccin .................................... B-120

...... Transiciones.................................... Pasos ......................................... Ejemplo .......................................


Elementos del diagrama de funciones secuencial

8-120 B-130 B-133 8-143

Captulo 12 Sistemas de control lgico


12.1 12.2 12.3 12.4

..................

8-147

Qu es un sistema de control lgico ................. B-148 Sistema de control Igico sin propiedades memorizantes B-148 Sistema de control Igico con propiedades memorizantes 8-154 Evaluacin de flancos

.............................

8-157

Captulo 13 Temporizadores
13.1 13.2 13.3 13.4

..........................

8-161

Introduccin .................................... B-162 Temporizador de pulsos........................... B-163 Seal con retado a la conexin ..................... 8-165 Seal con retado a la desconexin .................. B-167

Captulo 14 Contadores
14.1 14.2 14.3 14.4

............................... B-171
...........................
8-172

Funciones de contador

Contador incremental............................. B-172 Contador decremental ............................ 8-176 Contador incrernental/decremental .................. B-178

Captulo 15 Sistemas de control secuencia1


15.1 15.2 15.3

.............. B-179
B-180 B-186

Qu es un sistema de control secuencial ............. B-180

.............. Diagrama desplazamiento-fase .....................


Diagrama de funciones segn IEC 848

TP301 Festo Didactic

Captulo 16 Puesta a punto y seguridad en el manejo de un PLC


16.1 16.2

...............................

B-187

Puesta a punto .................................. 8-188 Seguridad en el manejo de un PLC.................. B-190

Captulo 17 Comunicaciones
17.1 17.2 17.3 17.4

..........................

8-195

La necesidad de comunicacin ..................... B-196 Transmisin de datos ............................. 8-196 Interfaces ...................................... 5197 Comunicacin a nivel de campo

....................

B-198

Festo Didactic TP301

Prefacio
Los Controles Lgicos ~ro~ramables') representan un factor clave en la automatizacin industrial. Su utilizacin permite una adaptacin flexible a los procesos cambiantes, as como una rpida localizacin de averas y eliminacin de errores. Este libro de texto explica los principios de un control programable y su interaccin con sus~perifricos. Uno de los puntos centrales de este libro de texto trata del nuevo estndar internacional para programacin de PLCs, el IEC-1131, Parte 3. Este estndar tiene en cuenta las ampliaciones y desarrollos, para los cuales no existan elementos de lenguaje estandarizado hasta ahora. El objetivo de IEC-1131-3 es estandarizar el diseo, la funcionalidad y la programacin de un PLC de tal forma que el usuario pueda manejar con facilidad los diferentes sistemas. En inters de la posterior mejora de este libro, se invita a los lectores a contribuir con sus sugerencias, ideas y crticas constructivas.

Los autores

1) Nota del traductor: La traduccin ms extendida de la expresin Inglesa 'Programable Logic Control' es %ontrol Lgico Programable'. A pesar de ello, su acrnimo castellanizado CLP no ha tenido una plena aceptacin en los medios industriales, que siguen utilizando con ms frecuencia el acrnimo Ingls PLC. Otras denominaciones de estos equipos son: 'Autmata Programable Industrial' o simplemente 'Autmata Industrial' (Al), procedente del francs y 'Mando Programable en Memoria', procedente del alemn 'SpeicherprogrammierbareSteuerungen' (SPS).

En este libro de texto hemos utilizado la denominacin Control Lgico Programable, con su acrnimo Ingls PLC.

JP301

Festo Didactic

Captulo 1

Captulo 1 El PLC en la tecnologa de automatizacin

Festo Didactic

TP301

Captulo 1

1.1

Introduccin

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 rels. El nuevo sistema de control tena que cumplir con los siguientes requerimientos: Programacin sencilla Cambios de programa sin intervencin en el sistema (sin tener que rehacer el cableado interno) Ms pequeo, ms econmico y ms fiable que los correspondientes sistemas de control por rels Sencillo y con bajo coste de mantenimiento Los sucesivos desarrollos llevaron a un sistema que permitia la conexin sencilla de seales binarias. Los requerimientos de cmo estaban conectadas estas seales se especificaba en el programa de control. Con los nuevos sistemas, fue posible por primera vez mostrar las seales en una pantalla y archivar los programas en memorias electrnicas. Desde entonces han pasado tres dcadas, durante las cuales los enormes progresos hechos en el desarrollo de la micro electrnica han favorecido la proliferacin de los controles Igicos programables. Por ejemplo, a pesar de que en sus comienzos, la optimizacin del programa y con ello la necesidad de reducir la ocupacin de memoria representaba una tarea importante para el programador, en la actualidad esto apenas tiene importancia. Adems, las funciones disponibles han crecido considerablemente. Hace quince aos, la visualizacin de procesos, el procesamiento analgico o incluso la utilizacin de un PLC como un regulador, eran considerados una utopa. Actualmente, muchos de estos elementos son parte integral de muchos PLCs. En las pginas siguientes de este captulo de introduccin, describiremos el diseo bsico de un PLC junto con las tareas y aplicaciones ms importantes actualmente.

reas de aplicacin de un PLC

Todas las mquinas o sistemas automticos tienen un control: Dependiendo del tipo de tecnologa utilizada, los controles pueden dividirse en neumticos, hidrulicos, elctricos y electrnicos. Con frecuencia se utiliza una combinacin de las diferentes tecnologas. Adems, debe distinguirse entre controles con programa cableado (es decir, conexionado fsico de c o m p nentes electromecnicos (rels, etc) o componentes electrnicos (circuitos integrados)) y controles lgicos programables. Los primeros se utilizan principalmente en casos en los que la reprogramacin 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 tpicas de tales controles pueden hallarse en los electrodomsticos, vdeo cmaras, vehculos, etc.

Captulo 1

Sin embargo, si la tarea de control no justifica el desarrollo de un control especial, o si el usuario debe tener la posibilidad de hacer cambios sencillos, o de modificar tiempos o valores de contadores, entonces el uso de un control universal, en el que el programa se escribe en una memoria electrnica, es la opcin preferida. El PLC representa un control universal. Puede utilizarse para dierentes aplicaciones y, dado que el programa se halla escrito en su memoria electrnica, el usuario puede modificar, ampliar y optimizar con cierta sencillez sus procesos de control.

Fig. 61.1: Ejemplo de aplicacin de un PLC

La tarea original de un PLC es la interconexin de seales de entrada, de acuerdo con un determinado programa y, si el resultado de esta interconexin es "cierta", activar la correspondiente salida. El lgebra de Boole forma la base matemtica para esta operacin, ya que solamente reconoO " (falso) y "1" (cierto) (vase ce dos estados definidos de una variable: ' tambin el captulo 3). Consecuentemente, una salida slo asume estos dos estados. Por ejemplo, una electrovhnila conectada a la salida puede o desactivada, es decir, controlada. estar act~ada

Capitulo 1

Esta funcin ha acuado el nombre de PLC: Programmable Logic Control o Control Lgico Programable. En l, el comportamiento de las entradaskalidas es similar al de los controles realizados con rels electromagnticos o con elementos lgicos neumticos o electrnicos; la diferencia reside en que el programa en lugar de estar 'tableado' est almacenado en una memoria electrnica. Sin embargo las tareas del PLC se ampliaron rpidamente: las funciones de temporizacin y recuento, operaciones de clculo matemtico, conversin de seales analgicas, etc. representan funciones que pueden ejecutarse en casi todos los PLCs actuales. Las demandas que se requieren de los PLCs siguen creciendo al mismo ritmo que su amplia utilizacin y desarrollo en la tecnologa de automatizacin. Por ejemplo: la visualizacin, es decir, la representacin de los estados de las mquinas o la supervisin de la ejecucin del programa por medio de una pantalla o monitor. Tambin el control directo, es decir, la facilidad de intervenir en los procesos de control o, alternativamente, impedir tal intervencin a las personas no autorizadas. Tambin se ha visto la necesidad de interconectar y armonizar sistemas individuales controlados por PLC, por medio de redes o buses de campo. Aqu, un ordenador master permite la generacin de rdenes de mayor nivel para el procesamiento de programas en los diversos sistemas PLC interconectados. La conexin en red de varios PLCs, asi como la de un PLC con el ordenador master se realiza por medio de interfaces de comunicacin especiales. Para ello, la mayoria de los ms recientes PLCs son compatibles con sistemas de bus abiertos estandarizados, tales como Profibus segn DIN 19 245. Gracias al enorme aumento de la potencia y capacidad de los PLCs avanzados, estos pueden incluso asumir directamente la funcin de un ordenador master. Hacia finales de los setenta, las entradas y salidas binarias fueron finalmente ampliadas con la adicin de entradas y salidas analgicas, ya que hay muchas aplicaciones tcnicas que emiten y requieren seales analgicas (medicin de fuerzas, velocidades, sistemas de posicionado servoneumticos. etc.). Al mismo tiempo la adquisicin y emisin de seales analgicas permite la comparacin de valores reales con los de consigna y, como consecuencia, la realizacin de funciones de regulacin automtica; una tarea que va ms all del mbito que sugiere el nombre de control lgico programable.

TP301 Festo Didactic

Captulo 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 aplicacin. As, hay disponibles actualmente desde PLCs en miniatura con unas decenas de entradadsalidas hasta grandes PLCs con miles de entradashlidas. Muchos PLCs pueden ampliarse por medio de mdulos adicionales de entradaslsalidas, mdulos analgicos y de comunicacin. Hay PLCs disponibles para sistemas de seguridad, barcos o tareas de mineria. Otros PLCs son capaces de procesar varios programas al mismo tiempo (Multitarea). Finalmente, los PLCs pueden conectarse con otros componentes de automatizacin, creando as reas considerablemente amplias de aplicacin.

Fig. 81.2: Eiem~lo de un PLC:

El trmino 'Control Lgico Programable' se define en IEC 1131, Parte 1, como sigue: 'Un sistema electrnico de funcionamiento digital, diseado para ser utilizado en un entorno industrial, que utiliza una memoria programable para el almacenamiento interno de instrucciones orientadas al usuario, para la realizacin de funciones especificas tales como enlaces lgicos, secuenciacin, temporizacin, recuento y clculo, para controlar, a travs de entradas y salidas digitales o analgicas, diversos tipos de mquinas o procesos. Tanto el PLC como sus periifricos asociados estn diseados de forma que puedan integrarse fcilmente en un sistema de control industrial y ser fcilmente utilizados en todas las aplicaciones para las que estn previstos."

1.3

Definicin bsica de un PLC

Festo Didaciic TP301

Captulo 1

Por lo tanto, un control lgico programable es sencillamente un ordenador, adaptado especificamente para ciertas tareas de control. La Fig. B1.3 ilustra los componentes del sistema de un PLC

Fig. B1.3:

Componentes de un sistema PLC

La funcin de un mdulo de entrada es la de convertir seales de entrada en seales que puedan ser procesadas por el PLC y pasarlas a la unidad de control central. La tarea inversa es realizada por el mdulo de salida. Este convierte las seales del PLC en seales adecuadas para los actuadores. El verdadero procesamiento de las seales se realiza en la unidad central de control, de acuerdo con el programa almacenado en la memoria. El programa de un PLC puede crearse de varias formas: a travs 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 utilizacin de los diagramas de bloques de funcin basados en los diagramas de funciones con simbolos grficos para puertas lgicas (logigramas) es ampliamente utilizado. En Amrica el lenguaje preferido por los usuarios es el 'diagrama de contactos' o 'diagrama en escalera' (ladder diagram). Dependiendo de cmo se halle conectada la unidad central a los mdulos de entrada y salida, hay que distinguir entre PLCs compactos (mdulo de entrada, unidad central y mdulo de salida en un slo cuerpo) o PLCs modulares.

Captulo 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 mdulos requeridos por la aplicacin prctica - aparte de los mdulos de entradaslsalidas digitales que pueden, por ejemplo, incluir mdulos analgicos , de posicionamiento y comunicacin - se insertan en un rack, en el que todos los mdulos estn enlazados por un sistema de bus. Este diseo se conoce tambin como tecnologa 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 ms recientes. Esto incluyen tanto las caractersticas compactas como las modulares y caracterlsticas importantes tales como el ahorro de espacio, flexibilidad y,posibilidad de ampliacin. La tarjeta con formato PLC es un tipo especial de PLC modular desarrollado durante los ltimos aos. Con este tipo, varios mdulos realizados sobre tarjetas de circuito impreso se montan en una caja estandarizada. El FPC 405 de Festo es representativo de este tipo de diseo (Fig. 81.4).

Festo Didactc

TP301

Captulo 7

El diseo del hardware de un control lgico programable est hecho de forma que pueda soportar los entornos tipicos industriales en cuanto a los niveles de las seales, calor, humedad, fluctuaciones en la alimentacin de corriente e impactos mecnicos.

1.4

El nuevo estndar A finales de los setenta, se plantearon en Europa algunos estndares para PLC, vlidos para la programacin de PLCs, enfocados principalmente al esIEC-1311 tado de la tecnologla en aquel momento. Tenlan en cuenta sistemas de PLC no interconectados, que realizaban operaciones lgicas con seales binarias. DIN 19 239, por ejemplo, especifica un lenguaje de programacin 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 aos ochenta, tales como el procesamiento de seales analgicas, interconexin de mdulos inteligentes, sistemas de PLC en red, etc. agravaron el problema. Consecuentemente, los sistemas PLC de diferentes fabricantes requeran tcnicas de programacin completamente diferentes. Desde 1992, existe un estndar internacional para controles lgicos programables y dispositivos perifricos asociados (herramientas de programaci6n y diagnosis, equipos de verificacin, interfaces hombremquina, etc.). En este contexto, un dispositivo configurado por el usuario y compuesto por los elementos citados anteriormente, se conoce como un sistema PLC. El nuevo estndar IEC 1131 consta de cinco partes: Parte 1: Informacin general Parte 2: Requerimientos y verificaciones del equipo Parte 3: Lenguajes de programacin Parte 4: Directrices para el usuario Parte 5: Especificacin del servicio de mensajes

m m m

Las partes 1 a 3 de este estndar se adoptaron sin enmiendas como el estndar Europeo EN 61 131, Partes 1 a 3. La finalidad del nuevo estndar era definir y estandarizar el diseo y funcionalidad de un PLC y los lenguajes requeridos para la programacin 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

Captulo 1

Los siguientes captulos tratarn con detalle sobre este estndar. Por el momento, ser suficiente la siguiente informacin:
m

El nuevo estndar tiene en cuenta la mayora de aspectos posibles en relacin con el diseo, aplicacin y utilizacin de sistemas PLC. Las amplias especificaciones sirven para definir sistemas de PLC abiertos y estandarizados. Los fabricantes deben ajustarse a las especificaciones de este estndar, tanto en el aspecto puramente tcnico de los requerimientos de un PLC como en lo que se refiere a la programacin 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 estndar. La mayora de los principales proveedores de PLC son miembros de la asociacin, es decir, Allen Bradley, Klkker-Moeller, Philips, para mencionar algunos. Otros fabricantes de PLC como Siemens o Mitsubishi tambin ofrecen controles y sistemas de programacin conformes con IEC-1131.
,

Los sistemas de programacin iniciales ya estn disponibles en el mercado y otros estn siendo desarrollados. Sin embargo, la norma tiene una buena oportunidad de aceptacin y de xito. Esperamos que este libro de texto contribuir, en cierto modo, al desarrollo de este estndar.

Captulo 2

Capitulo 2
Fundamentos

Captulo 2

2.1

El sistema de
numeracin decimal

La caracterstica del sistema de numeracin decimal, comunmente utilizado, es la disposicin lineal de los digitos y su emplazamiento significativo. El nmero 4344, por ejemplo, puede representarse como sigue:

El nmero 4 que se halla en el extremo izquierdo, tiene un significado diferente del nmero 4 situado en el extremo derecho. La base del sistema de numeracin decimal es la disponibilidad de 10 dgitos diferentes (decimal: originario del latn 'decem' = 10). Estos diez diferentes dgitos permiten contar de O a 9. Si la cuenta sobrepasa el nmero 9, esto constituye un arrastre para el dgito de la siguiente posicin a la izquierda. El significado de esta posicin en 10, y el siguiente arrastre se realiza cuando se alcanza el valor 99. Utilizaremos el nmero 71.718.71 1 como ejemplo:

en el extremo izquierdo Como puede verse arriba, el significado del 7" es 70 000 000 = 70 millones, mientras que el significado del "7" en la tercera posicin desde la izquierda es de 700. El dlgito del extremo derecho se conoce como el 'digito menos significativo' y el dgito del extremo izquierdo, como el 'dgito ms significativo'. Cualquier sistema de numeracin puede ser configurado basndose en este ejemplo, cuya estructura fundamental puede aplicarse a sistemas de numeracin de cualquier cantidad de dgitos. Consecuentemente, cualquier operacin de clculo y mtodo de computacin que utilice el sistema de numeracin decimal puede ser utilizado con otros sistemas de numeracin.

2.2

El sistema de numeracin binario

Fue Leibnitz quien aplic por primera vez las estructuras del sistema de numeracin decimal al calculo con dos dgitos. All por el ao 1679, esto cre las premisas esenciales para el desarrollo de los actuales ordenadores, ya que la tensin elctrica o la corriente elctrica, slo permite un clculo utilizando dos valores: es decir "circula corrienten o "no circula corriente". Estos dos valores se representan en forma de dgitos '1" y "On.

TP301 Festo Didactic

Captulo 2

Si en un nmero estuiiramos limitados a exactamente 2 dgitos por posicin, el sistema de numeracin quedara configurado como sigue:

El principio es exactamente el mismo que el del mtodo utilizado para crear un nmero decimal. Sin embargo, slo se dispone de dos dgitos, razn por la cual la posicin significativa no se calcula con la base loX, sino con al base 2'. As, el nmero menos significativo en el extremo derecho es 2' = 1, y para la siguiente posicin 2' = 2, etc. Dado el uso exclusivo de dos digitos, este sistema de numeracin se conoce como sistema binario o sistema dual. Con ocho posiciones, pueden representarse un mximo de:

valores que alcanzaran hasta el numero 1111 11112 Cada una de las posiciones de un sistema de numeracin binario puede adoptar uno de los dos digitos O o 1. La menor unidad posible del sistema binario es de 1 bit. En el ejemplo citado arriba, se ha configurado un nmero consistente en 8 bits, es decir, un byte (en un ordenador que utilice 8 seales elctricas representando "tensin disponible" o "tensin no disponible"). El nmero considerado, 1011 00012, corresponde al valor decimal 17/10.

1 x27

2Ix x ~ 5

1 x24

0 x 2 ~ 0 x 2 ~ 0x2'

1x

= 128
= 177

+32

+16

+1
Ejemplo

Captulo 2

2.3

El cdigo BCD

Para las personas acostumbradas a tratar con el sistema decimal, los nmeros binarios son difciles de leer. Por esta razn, se introdujo una representacin numrica de ms fcil lectura, es decir, una notacin decimal codificada de un nmero binario: el denominado BCD (binary coded decimal). Con este cdigo BCD, cada digito del sistema de numeracin decimal representa a su correspondiente nmero binario.

Tabla 8 2 . 1: Representacin de nmeros decimales en cddigo BCD

Por lo tanto, se necesitan 4 dgitos en la notacin binaria para representar el sistema decimal. A pesar de que en una notacin binaria de 4 dgitos pueden representarse los valores del O al 15, los valores correspondientes a 10, 11, 12, 13, 14 y 15 no se usan en BCD Asi, el nmero decimal 7133 se representa como sigue en cdigo BCD:

Por lo tanto, se necesitan 16 bits para representar un nmero decimal de cuatro dgitos en cdigo BCD. La codificacin en BCD se utiliza a menudo para visualizadores de siete segmentos y para interruptores rotativos de introduccin de valores.

2.4

El sistema de numeracin hexadecimal

La utilizacin de nmeros binarios es dificil y la utilizacin del cdigo BCD ocupa bastante espacio de memoria. Por esta razn se desarrollaron los sistemas octal y hexadecimal. En el caso del sistema octal se utilizan grupos de tres dgitos. Esto permite contar de O hasta 7, es decir, contar con "ochos".

TP307

Festo Didactic

Captulo 2

Alternativamente, en el sistema de numeracin hexadecimal se combinan 4 bits. Estos 4 bits permiten la representacin de los nmeros O al 15, es decir, contar en "dieciseises". Para representar estos nmeros se utilizan los dgitos 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 posicin significativa de cada digito se evala con las potencias de 16.

Ejemplo

Por lo tanto, el nmero 87BCls dado como ejemplo se lee como sigue:
8~16~+7~16~+11~16~+12~16~=3474810

Hasta ahora, hemos tratado solamente con nmeros enteros y positivos, sin tener en cuenta los nmeros negativos. Para poder trabajar con estos nmeros, se decidi que el bit ms significativo en el extremo izquierdo de un nmero binario se utilizara para representar el signo: as "O" corresponde al "+" y "1" al "-". AsC, 1111 11112= -1271oy0111 11112= +12810 Cuando se utiliza el bit ms significativo para el signo, se dispone de un bit menos para la representacin de un nmero con signo. Para la representacin de un nmero binario de 16 dgitos, se obtiene el siguiente margen de valores:
Entero Margen de valores
O a 65535

2.5

Nmeros binarios con signo

sin signo
con signo

-32768 a +32767

Tabla 822: Margen de valores para los nmeros binarios

Aunque ahora ya es posible representar con O y 1 nmeros enteros positivos con signo, an hay la necesidad de poder representar los decimales o nmeros reales. Para representar un nmero real en notacin binaria de ordenador, el nmero se descompone en dos grupos, una potencia de 10 y un factor de multiplicacin. Esto se conoce tambin como notacin cientifica de nmeros.

2.6

Nmeros reales

Captulo 2

El nmero 27,334 se convierte as en 273 341 x lo? Por lo tanto se necesitan dos nmeros enteros con signo para representar un nmero real en un ordenador.

2.7

Generacin de seales digitales y binarias

Como ya parece haber quedado claro en la seccin anterior, todos los ordenadores, y por lo tanto todos los PLCs, funcionan utilizando seales digitales o binarias. Por binario, entendemos una seal que slo reconoce dos valores definidos.

Estos valores se les llama "On o "l",aunque tambin se utilizan los trminos "bajony "alton. Las seales pueden realizarse muy fcilmente con componentes de contactos. Un contacto activado corresponde a una seal de Igica 1 y uno sin activar a una de lgica O. Cuando se trabaja con elementos sin contacto, esto puede forzar unos ciertos mrgenes de tolerancia. Por esta razn, hay que definir ciertos mrgenes de tensin para definirlos como Igica O 6 lgica 1.

Fig. B2.2: Mrgenes de tensin

TP301 Festo Didactic

Captulo 2

IEC 1131-2 define un margen de valores de -3 V a 5 V como seal de Igica 0, y de 11 V a 30 V como seal de Igica 1. Esto es de obligado cumplimiento para PLCs cuya tecnologa deba seguir la norma IEC 1131-2. En la prctica existen tensiones muy parecidas para Igica O y Igica 1: Ampliamente usadas son: -30 V a +5V para Igica O y +13 V a +30 V para Igica 1.

A diferencia de las seales binarias, las seales digitales pueden asumir cualquier valor. Se les conoce tambin como etapas de valor. Asi, una seal digital se define por cualquier cantidad de etapas de valor. El cambio entre estas etapas no es secuencial. La siguiente ilustracin muestra tres posibles mtodos de convertir una seal analgica en una seal digital.

Fig. B2.3:

1
Las seales digitales pueden formarse a partir de seales analgicas. Este mtodo se utiliza, por ejemplo, para el procesamiento analgico a travs de un PLC. Consecuentemente, una seal de entrada analgica 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 resolucin, la seal digital ser capaz de operar en etapas de valores de 0,1 V, 0,01 V 0,001 V. Naturalmente, en este caso se seleccionara el margen ms pequeo para poder reproducir la seal analgica con la mayor precisin posible.

Conversin de una seal analgim en una seal digital

Captulo 2

Un ejemplo simple de una seal analgica es la presin, que se mide y se visualiza en un manmetro. La setial de presin puede asumir cualquier valor intermedio entre sus valores minimo y mximo. A diferencia de la seal digital, cambia continuamente. En el caso del procesamiento de valores analgicos a travs de un PLC, como se ha descrito, las seales analgicas de tensin se evalan y se convierten. Por otra parte, las seales digitales pueden formarse reuniendo un cierto nmero de seales binarias. De esta forma, de nuevo como se ha descrito en el prrafo anterior, con ocho sehales binarias es posible generar una seal digital con 256 valores.

Bit No.

'
1
O
O

Valor digital 187 51


O

Ejemplo 1 Ejemplo 2
Ejemplo

1 1
O

1 1
O

1
O O

0
O O

1
1 O

1 1
O

O
O

Ejemplo3

Este proceso se utiliza, por ejemplo, para la realizacin de temporizadores o de contadores.

TP301 Festo Didactic

Captulo 3

Captulo 3 Operadores Booleanos

Festa Didactic TP307

Captulo 3

Funciones lgicas bsicas

Como se ha descrito en el captulo anterior, cualquier ordenador e igualmente cualquier PLC, funcionan utilizando el sistema de numeracin de base 2. Esto se aplica tambin a los sistemas octal (z3)y 'hexadecimal (z4). Por ello, las variables individuales pueden asumir slo dos valores, "0"o "1". Se utilizan unas matemticas especiales para poder enlazar las relaciones entre variables la denominada lgebra de Boole. Los enlaces entre variables tambin pueden representarse claramente por medio de contactos elctricos.

Funcin NOT, negacin


El pulsador mostrado representa un contacto normalmente cenado. Cuando no est fsicamente 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 acta 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 Ecuacin Booleana es como sigue:

I = O (lase: No-l igual a O)

Captulo 3

El smbolo lgico es:

Fig. B3.2: Funcin NOT

Dos negaciones consecutivas se cancelan entre s.

Fig. B3.3:
Dos funciones i'gicas NOT

Funcin AND, conjuncin Si dos contactos abiertos se conectan en serie, el piloto conectado slo lucir si ambos pulsadores estn fsicamente accionados.

Fig. 83.4: Esquema del circuito

Captulo 3

La tabla de la verdad asigna la conjuncin. La salida asume el valor 1 slo si ambas entradas 1 y 2 se hallan con seal 1. Esto se conoce como una operacin AND (operacin Y), que se representa con la siguiente ecuacin:

Funcin AND

Adems, valen las siguientes ecuaciones para la conjuncin

TP301 Festo Didactic

Captulo 3

Funcin OR, disyuncin Otra funcin Igica bsica es la funcin OR (O). Si dos contactos normalmente abiertos se conectan en paralelo, el piloto luce siempre que por menos uno de los pulsadores se halle fsicamente accionado.

Fig. 8 3 . 6 : Esquema del circuito

Fig. 8 3 . 7 :

Funcin OR La operacin lgica se escribe en forma de la siguiente ecuacin:


11 v 12 = O

Capitulo 3

Valen tambin las siguientes ecuaciones para la disyuncin:

3.2 Otras operaciones En la seccin 83.1 se ha descrito la realizacin elctrica de las operalgicas

ciones NOT-IAND-IOR. Naturalmente, cada una de estas funciones puede tambin realizarse con componentes neumticos y electrnicos. El lgebra de Boole reconoce tambin las siguientes operaciones Igicas. La siguiente tabla proporciona un resumen de ellas.
Tabla 83.1:

Conexiones lgicas
Nombre Ewaci6n Tabla verd. S(rnbolo lgico Realizacin neuMtiw Realiz. el6drica Realiz. electrhica

ldentidad

I=A

$
1

I
l a 0

lo
7T

1:E0
o+ - ; :
O

1 0

Negacin

T=o

1 0 -r

lb

1 1 1 2 O Conjunci6n
l l1 2 ~= 0

@-

0 0 0

~=El-O
- -

Disyunci6n

Il u12 = O

TP301 Festo Didactic

--

--

Captulo 3

Tabla 83.1: Conexiones lgicas (continuacin)

Eesio Didactic TP301

Captulo 3

3.3

Establecimiento de funciones de conmutacin

Derivacin de ecuaciones booleanas de la tabla de la verdad A menudo, las operaciones lgicas mostradas en la seccin anterior no son suficientes para describir adecuadamente un estado en la tecnologia de control.

A menudo, hay combinaciones de diferentes operaciones Igicas. La conexin lgica en forma de una ecuacin booleana puede establecerse fcilmente a partir de la tabla de la verdad.

El ejemplo inferior clarificar esto:

Tarea en una estacin de clasificacin Diversas piezas para cocinas prefabricadas son mecanizadas en un sistema de produccin (mquina 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 estn previstos para la deteccin de estos agujeros.

estacin de clasificacin Fig B3.8;

1
Las piezas con la siguiente distribucin de agujeros son para el tipo de cocina 'Estndar'. Estas piezas deben extraerse de la cinta transportadora por medio del cilindro de doble efecto 1.O.

TP301 Fesio Didactic

Captulo 3

Asumiendo que un taladro realizado se lee como seal-1, se obtiene la siguiente tabla de la verdad:

Tabla de la verdad

Captulo 3

Para obtener la ecuacin lgica a partir de esta tabla existen dos opciones, que conducen a dos expresiones diferentes. Naturalmente ambas expresiones producen el mismo resultado, ya que se describen las mismas circunstancias.

Forma estndar disyuntiva


En la forma estndar disyuntiva, se agrupan todas las conjunciones (operaciones AND) de las variables de entrada que producen la seal de salida 1, en una operacin disyuntiva (operacin OR). El estado O de la seal de entrada se toma como valor negado, y el estado 1 de la seal de entrada, como no-negada (directa). Por lo tanto, en el caso del ejemplo dado, la operacin Igica es la siguiente:

Forma estndar conjuntiva


En la forma estndar conjuntiva, se agrupan todas las disyunciones (operaciones OR) de las variables de entrada que producen la seal de salida O, en una operacin conjuntiva (operacin AND). A diferencia de la forma estndar disyuntiva, en este caso la variable de entrada es negada con el estado "1" y no-negada con el estado "O"

3.4

Simplifiacin de funciones lgicas

Ambas ecuaciones para el ejemplo dado son bastante amplias, si bien ms larga an es la que se ha dado como forma estndar conjuntiva. Esto define el criterio para utilizar la forma estndar disyuntiva o conjuntiva: La decisin se hace en favor de la forma ms corta de la ecuacin. En este caso la forma estndar disyuntiva.

Esta expresin puede simplificarse con le ayiida de las propiedades del lgebra de Boole,

TP307

Festo Didactic

Captulo 3

Las propiedades ms impomntes del lgebra de Boole se muestran a continuacin:

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 smbolo de la operacin AND expresamente omitido en las ecuaciones indicadas.

"A"

ha sido

El principio bsico de la simplificacin es sacar el factor comn de las variables y reducir las expresiones definidas. Sin embargo, este mtodo requiere un buen conocimiento de las propiedades del lgebra de Boole y un cierto grado de prctica. Otra opcin para la simplificacin se presenta en la siguiente seccin.

Feota Didactic TP301

Captulo 3

3 . 5 Diagrama de
Karnaugh- Veitch

En el caso de los diagramas de Karnaugh-Veitch (KV) la tabla de la verdad de transforma en una tabla de valores.

Tabla de valores

Para el ejemplo se dispone de un total de 16 posiciones, con lo que la tabla de valores debe tener tambin 16 cuadrados.

Fig. m.7: Tabla de valores

~ ~ 3 0Festo 1 Didactic

Captulo 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 representacin en la forma estndar disyuntiva o conjuntiva. Sin embargo, en este ejemplo nos limitaremos a la forma estndar disyuntiva.

Fig. B3.11: Tabla de valores

El siguiente paso consiste en la combinacin 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 combinacin de estados en el diagrama KV debe ser en forma de rectngulo o de cuadrado La cantidad de estados combinados debe ser el resultado de una funcin p.

De esto resulta lo siguiente

cd

cd

cd

cd

Fig. B3.12:
Tabla de valores

Festo Didactic TP301

Captulo 3

Los valores de las variables, se selecc~onan para el bloque establecido y estos a su vez se combinan en forma disyuntiva.
y1 = cd y 2 = acd

= 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 ( 2 6 ) .

TP301 Festo Didactic

Captulo 4

Captulo 4 Diseo y modo de funcionamiento de un PLC

Captulo 4

4.1

Estructura de un PLC

En los ordenadores, generalmente se distingue entre hardware, firmware y software. Los mismo se aplica a los PLCs, ya que esencialmente tambin estn basados en un microprocesador. El Hardware se refiere a las partes fsicas del dispositivo, el decir, los circuitos impresos, los circuitos integrados, el cableado, la batera, el chasis, etc. El firmware los constituyen aquellos programas (software) que se hallan permanentemente instalados en el hardware del ordenador y que son suministrados por el fabricante del PLC. Esto incluye las rutinas fundamentales del sistema, utilizadas para poner en marcha el procesador al aplicar la tensin. Adicionalmente, hay el sistema operativo que, en el caso de los controles lgicos programables, generalmente se halla almacenado en una memoria ROM de slo 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 fcilmente modificados.

Fig. 84.1: Diseiio fundamental de un microordenador

La Fig. 84.1 ilustra el diseo fundamental de un microordenador. El hardware del PLC o como es el caso de casi todos los sistemas microordenadores actuales - est basado en un sistema de bus. Un sistema de bus es un determinado nmero de lneas elctricas divididas en Ineas de direcciones, de datos y de control. La lnea de direcciones se utiliza para seleccionar la direccin de un elemento conectado al bus y la Inea de datos para transmitir la informacin requerida. Las Ineas de control son necesarias para habilitar el dispositivo conectado el bus como emisor o como receptor..

Captulo 4

Los principales elementos conectados al sistema de bus son el microprocesador y la memoria. La memoria puede dividirse en memoria para el firmware y memoria para el programa y los datos del usuario. Segn la estructura del PLC, los mdulos de entradas y salidas se conectan a un simple bus comn 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 ms usual un bus externo de ES. Finalmente, se necesita una conexin para el aparato programador o un PC, actualmente y en la mayora 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 Lgico Programable Festo FPC 101

Festo Didactic

TP301

Captulo 4

4.2

Unidad Central de un PLC

En esencia, la unidad central de un PLC consiste en un microordenador. El sistema operativo del fabricante del PLC hace que el ordenador que hay en el PLC este optimizado especlficamente para tareas de tecnologa de control. Diseo de la unidad central La Fig. 84.3 muestra una versin simplificada de un microprocesador, que representa el corazn de un microordenador.

Bus de datos
l

Bus de control Bus de direcciones

8
Bus de

4 6 1-1
Unldad de control

Unidad aritrnetica

Fig. 84.3: Diseti0 de un micmprocesador

Un microprocesador consiste principalmente en una unidad aritmtica y lgica, una unidad de control y un pequeo nmero de unidades de memoria internas, denominadas registros. La tarea de la unidad aritmtica y Igica - la ALU (arithmetic logic unit) - es ejecutar las operaciones lgicas y aritmticas con los datos transmitidos. El acumulador, AC para abreviar, es un registro especial asignado directamente a la unidad ALU. Este almacena tanto los datos a procesar como los resultados de una operacin. El registro de instrucciones almacena cada orden o instruccin Ilamada desde la memoria del programa hasta que es decodificada y ejecutada. Una orden o instruccin (command) tiene una parte de ejecucin y una parte de direccin. La parte de ejecucin indica qu operacin debe realizarse. La parte de direccin define la direccin de los operandos (seriales de entrada, flags, etc.) con los que hay que realizar la operacin indicada.

TP301 Festo Didactic

Captulo 4

El contador de programa es un registro, que contiene la direccin de la siguiente orden a procesar. La seccin siguiente tratar este apartado con ms detalle. La unidad de control regula y controla toda la secuencia de operaciones requeridas para la ejecucin de una orden.

Ciclo de instrucciones en la unidad central Los sistemas microordenadores convencionales de hoy en da funcionan segn el denominado "principio de von-Neumann". Segn este principio, el ordenado procesa el programa Inea a Inea. En trminos sencillos, podramos decir que cada Inea del programa de usuario del PLC es procesada secuencialmente. Esto es vlido independientemente del lenguaje de programacin en el que haya sido escrito el programa de PLC, sea en forma textual (lista de instrucciones) o en forma grfica (diagrama de contactos, diagrama de funciones secuencial). Dado que estas diversas formas de representacin siempre resultan en una serie de lneas de programa dentro del ordenador, se procesan consecuentemente una tras otra. En principio, una Inea de programa, es decir, generalmente una orden se procesa en dos etapas:
8

recogida de la orden desde la memoria de programa ejecucin de la orden


Bus de datos

Mkro

Seiiales de control Contador de programa

Direcciones

Bus de direcciones

Fig. B4.4: Secuencia de instrucciones

Festo Didactic TP301

Captulo 4

El contenido del contador de programa es transferido al bus de direcciones. A continuacin, la unidad de control hace que la instruccin en la direccin especificada de la memoria del programa, sea depositada en el bus de datos. Desde aqu, se lee en el registro de instrucciones. Una vez ha sido decodificada, la unidad de control genera una secuencia de seales de control para su ejecucin. Durante la ejecucin de un programa, las instrucciones se van a buscar secuencialmente. Para ello se necesita un mecanismo que permita esta secuencia. Esta tarea se realiza por un simple incrementador. es decir, un elemento de habilitacin de pasos en el contador de programa.

4.3

Modo de funcionamiento de un PLC

Los programas para el procesamiento convencional de datos, generalmente se procesan una sola vez, de arriba a abajo y terminan. A diferencia de estos, el programa de un PLC se procesado continua y cclicamente.

Tabla de imagen Entradas

Entradas

Programa PLC

Tabla de imagen Salidas

Salidas

Fig. 8 4 . 5 : Procesamiento cclico de un programa de PLC

TP301 Festo Didactic

Captulo 4

Las caractersticas del procesamiento cclico son:


m

As que el programa ha sido ejecutado una vez, salta automticamente al principio y se va repitiendo el proceso continuamente. Antes de que se procese la primera Inea 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 Igico de una entrada permanece constante durante un ciclo, incluso aunque en este intervalo haya cambiado fsicamente. De forma similar a la entradas, .las salidas no son inmediatamente activadas o desactivadas durante un ciclo, sino que su estado es almacenado temporalmente en la tabla imagen de salidas. Solamente al final del ciclo se activan o desactivan fsicamente las salidas segn el estado Igico almacenado en la memoria.

El procesamiento de una Inea de programa a travs de la unidad central de un PLC ocupa un tiempo que, dependiendo del PLC y de la instruccin que contenga puede variar desde unos pocos microsegundos hasta unos pocos milisegundos. El tiempo requerido por el PLC para una simple ejecucin de un programa, incluyendo la actualizacin de las salidas y la imagen del proceso, se denomina tiempo de ciclo o tiempo de scan. Cuanto ms largo sea el programa y cuanto ms tiempo necesite el PLC respectivo para procesar cada Inea del programa, tanto ms largo ser el tiempo de ciclo. Los tiempos reales de ciclo varan aproximadamente entre 1 y 100 milisegundos. Las consecuencias del procesamiento cclico de un programa de PLC que utilice una imagen del proceso son las siguientes:
m

Las seales de entrada de una duracin inferior al tiempo de ciclo, posiblemente no sern reconocidas. En algunos casos, puede haber un retardo de dos ciclos entre la presencia de una seal de entrada y la deseada reaccin de una salida ante esta seal. Dado que las instrucciones se procesan secuencialmente, el comportamiento especfico de la secuencia de un programa de PLC puede ser crucial.

En algunas aplicaciones, es esencial que pueda accederse directamente a entradas y salidas durante un ciclo. Por ello, este tipo de procesamiento de programa, saltndose la imagen del proceso, tambin es posible en algunos sistemas PLC.

Captulo 4

4.4

Memoria de programas de aplicacin

Los programas especficamente desarrollados para determinadas aplicaciones requieren una memoria de programa, de la cual puedan ser ledos por la unidad central. Los requerimientos para tal memoria de programa son relativamente simples de formular: Deberla ser lo muy sencilla de modificar o de crear y almacenar nuevos programas con la ayuda de un dkpositivo programador o un PC. m Debe haber mecanismos que aseguren que el programa no pueda perderse - incluso ante un fallo de tensin o por tensiones de interferencia La memoria de programa debe ser econmica m La memoria de programa debera ser suficientemente rpida para no retardar el funcionamiento de la unidad central.
m

Actualmente, se utilizan tres tipos de memoria en la prctica:


m

m
m

RAM EPROM EEPROM

RAM La memoria RAM (random acceso memory/memoria de acceso aleatorio) es una memoria muy rpida y econmica. Dado que la memoria principal de los ordenadores (y tambin de los PLCs) consiste en memorias RAM, se producen en grandes cantidades, lo que le permite disponer de tales memorias a costes relativamente bajos.
Las RAMs son memorias de lectura/escritura y pueden programarse y modificarse fcilmente. La desventaja de una RAM es que es voltil, es decir, el programa almacenado en la RAM se pierde en el caso de un fallo de tensin. esta es la razn 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 aos, el respaldo de una RAM por pila es relativamente simple. A pesar de que se utilizan pilas o bateras de altas prestaciones, es esencial sustituirlas en las fechas indicadas por el fabricante del PLC.

TP301 Festo Didactic

Captulo 4

EPROM La EPROM (erasable programmable read-only memory /memoria de slo lectura, programable y borrable) tambin es una memoria rpida y de bajo coste y, en comparacin con la RAM tiene la ventaja aadida de que no es voltil, es decir, es remanente. Por ello, el contenido de la memoria permanece inalterable incluso ante un fallo de tensin.

Sin embargo, a efectos de modificar un programa, debe borrarse primero toda la memoria y, tras un tiempo de enfriamiento, reprogramarse completamente. El borrado requiere generalmente un dispositivo borrador y para su programacin se utiliza un dispositivo especial (grabador de EPROMs). A pesar de su relativamente complejo proceso de borrado, - enfriado reprogramacin, las EPROMs se utilizan con bastante frecuencia en los PLCs ya que poseen una gran fiabilidad y un bajo coste. En la prctica, a menudo se utiliza una RAM durante la fase de programacin y puesta a punto de la mquina. Una vez finalizada la puesta en marcha, el programa se transfiere a una EPROM.

EEPROM La EEPROM (electrically erasable programmable ROM 1 ROM programable y borrable elctricamente ), EEROM (electrically erasable ROM 1 ROM borrable elctricamente) y la EAROM (electrically alterable ROM 1 ROM alterable elctricamente) o las flash-EPROM han sido utilizadas desde hace algn tiempo. La EEPROM es especial, es ampliamente utilizada como memoria de aplicacin en PLCs. La EEPROM es una memoria borrable elctricamente, que puede reescribirse.

Captulo 4

4.5

Mdulode entradas

El mdulo de entradas de un PLC es el mdulo al cual estn conectados los sensores del proceso. Las seales de los sensores deben pasar a la unidad central. Las funciones importantes de un mdulo de entradas (para la aplicacin) es como sigue: Deteccin fiable de la seal Ajuste de la tensin, desde la tensin de control a la tensin lgica Proteccin de la electrnica sensible de las tensiones externas Filtrado de las entradas

Sefial entrad
Fig. B4.7: Diagrama de bloques de un mdulo de entradas

Seal a la unidad de control

1
El principal componente de los actuales mdulos de entradas, que cumple con estos requerimientos es el optoacoplador. El optoacoplador transmite la informacin del censor por medio de la luz, creando as un aislamiento elctrico entre el control y los circuitos lgicos, protegiendo con ello a la sensible electrnica de las tensiones espreas externas. Actualmente, los optoacopladores avanzados garantizan proteccin a picos de aproximadamente 5 kv, lo que es adecuado para aplicaciones industriales. El ajuste de la tensin de control y de lgica, en el caso corriente de una tensin 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 deteccin fiable de la seal por medio un detector de umbral adicional o los correspondientes de diodos y optoacopladores. Los datos precisos en relacin con las seales a detectar se especifican en DIN 19240.

Captulo 4

El filtrado de la seal emitida por el sensor es crtica en automatizacin industrial. En la industria, las Ineas elctricas estn generalmente muy cargadas-debido a tensiones de interferencia inductivas, que producen muchas interferencias en las seales. Las Ineas de las seales pueden protegerse con apantallamientos, canaletas metlicas o, alternativamente, el mdulo de entrada del PLC realiza un filtrado por medio de un retardo de la seal de entrada. Esto necesita que la seal de entrada sea aplicada un perodo de tiempo suficientemente largo, antes de que sea reconocida como una seal de entrada. Dado que, debido a su naturaleza inductiva, los impulsos de interferencia son principalmente seales transitorias, es suficiente un retardo de la seal de entrada relativamente corto, del orden de milisegundos, para filtrar la mayor parte de los impulsos~parsitos. El retardo de las seal de entrada se realiza principalmente por hardware, es decir, a travs de un circuito RC en la entrada del PLC. Sin embargo, en casos aislados, tambin es posible producir un retardo de la seal por software. La duracin de un retardo de entrada es de aproximadamente entre 1 y 20 milisegundos - dependiendo del fabricante y del tipo. Muchos fabricantes ofrecen entradas especialmente rpidas para aquellas tareas en las que el retardo de la seal de entrada es demasiado larga para reconocer la seal requerida. Cuando se conectan censores a las entradas del PLC, debe distinguirse entre conexiones de conmutacin positiva y de conmutacin negativa. En otras palabras, hay que distinguir entre entradas que representan un consumo de corriente o una fuente de corriente. En Alemania, por ejemplo, cumpliendo con VD1 2880, se utilizan principalmente las conexiones de conmutacin positiva, ya que ello permite la utilizacin de un tierra de proteccin. Conmutacin positiva significa que la entrada del PLC representa un drenaje de corriente. El sensor suministra la tensin de funcionamiento o tensin de control a la entrada en forma de seal-l. Si se utiliza tierra de proteccin, la tensin de salida del sensor es cortocircuitada hacia los O voltios o se funde el fusible en caso de cortocircuito en la linea de seal. Esto significa que se aplica una lgica O en la entrada del PLC.

En muchos pases, es comn utilizar sensores de conmutacin negativa, es decir, las entradas del PLC funcionan como fuente de potencia. En estos casos, deben utilizarse diferentes medidas de proteccin para evitar que se aplique una seal 1 a la entrada del PLC en el caso de un cortocircuito en la lnea de la seal. Un posible mtodo es la puesta a tierra de la tensin de control positiva o la supervisin del aislamiento, es decir, tierra de proteccin como medida de proteccin.

4.6

Mdulo de salida

Los mdulos de salida llevan las seales de la unidad central a los elementos finales de control, que son activados segn la tarea. Principalmente, la funcin de una salida - vista desde la aplicacin del PLC incluye lo siguiente:
m

Ajuste de la tensin desde la tensin lgica a la de control Proteccin de la electrnica sensible de tensiones espreas hacia el control Amplificacin de potencia suficiente para el accionamiento de elementos finales de control Proteccin de cortocircuito y sobrecarga de los mdulos de salida

En el caso de mdulos de salida, hay disponibles dos mtodos fundamentalmente diferentes para conseguir lo indicado: El uso de rels o de electrnica de potencia.

Fig. B4.8: Diagrama de bloques de un-m6dulo de salida

Setial de la unidad central

Seal de salida

1
El optoacoplador, forma de nuevo la base para la electrnica de potencia y asegura la proteccin de la electrnica y posiblemente tambin el ajuste de la tensin. Un circuito de proteccin formado por diodos debe proteger el transistor de potencia de los picos de tensin.

TP301

Festo Didactic

Captulo 4

Actualmente, la proteccin ante cortocircuito, proteccin ante sobrecargas y amplificacin de potencia, se ofrecen a menudo como mdulos completamente integrados. Las medidas estndar de proteccin ante cortocircuito miden el flujo de corriente a travs de una resistencia de potencia para desconectar en caso de cortocircuito; un sensor de temperatura proporciona una proteccin ante sobrecargas; una etapa de Darlington o una etapa de transistor de potencia proporcionan la potencia necesaria. La potencia admisible de salida se utiliza especficamente de forma que permita una distincin entre la potencia admisible de una salida y la potencia acumulada admisible de un mdulo de salidas. La potencia acumulada de un mdulo de salidas es siempre considerablemente inferior a la suma total de la potencia de cada salida, ya que los transistores de potencia se transmiten el calor unos a otros. Si se utilizan rels para las salidas, entonces el rel puede asumir prcticamente todas las funciones de un mdulo de salida: El contacto del rel y la bobina del rel estn elctricamente aislados uno de otra; el rel representa un excelente amplificador de potencia y est especialmente protegido de sobrecargas, con lo que solamente debe preverse una proteccin ante cortocircuito con un fusible. Sin embargo, en la prctica se conectan optoacopladores en serie con el rel, ya que ello facilita el accionamiento del rel y pueden utilizarse rels ms sencillos. Las salidas por rel, tienen la ventaja de que pueden utilizarse para diferentes tensiones de salida. En contraste, las salidas electrnicas tienen velocidades de conmutacin considerablemente ms elevadas y una vida til ms larga que la de los rels. En muchos casos, la potencia de reles muy pequeos utilizados en los PLCs, corresponde a la de las etapas de potencia de las salidas electrnicas. En Alemania, por ejemplo, las salidas tambin se conectan a conmutacin positiva, segn VD1 2880, es decir, la salida representa una fuente de potencia y suministra la tensin de funcionamiento para el dispositivo consumidor. En el caso de un cortocircuito de la lnea de seal de salida a tierra, la salida se cortocircuita si se utilizan medidas normales de puesta a tierra de proteccin. La electrnica conmuta a proteccin de cortocircuito o se funde el fusible, es decir, el dispositivo consumidor no puede drenar corriente por lo que se desconecta y queda en estado seguro. (De acuerdo con DIN 0113, el estado de seguridad debe ser siempre el estado sin energa.)

Festo Didaciic TP301

Captulo 4

Si se utilizan salidas de conmutacin negativa, es decir, la salida representa un drenaje de corriente, deben adoptarse medidas de proteccin del tal forma que el dispositivo consumidor quede en un estado seguro en el caso de cortocircuito en la lnea de seal. De nuevo, un tierra de proteccin con supervisin del aislamiento o la neutralizacin de la tensin de control positiva son prcticas estndar en este caso.

4.7

Dispositivo programador / Ordenador personal

Cada PLC tiene una herramienta de diagnosis y programacin para soportar la aplicacin del PLC

Programacin Verificacin Puesta punto Localizacin de averas Documentacin del programa Almacenamiento del programa

Estas herramientas de programacin y diagnosis son o bien dispositivos de programacin especficos del fabricante u ordenadores personales con su software correspondiente. Actualmente, estos ltimos son casi exclusivamente las variantes preferidas, ya que la enorme capacidad de los modernos PCs, combinada con su comparativamente bajo coste inicial y alta flexibilidad, representan ventajas cruciales. . Tambin se han desarrollado los denominados programadores de mano para pequeos sistemas de control y para tareas de mantenimiento. Con la creciente utilizacin de ordenadores personales .porttiles (LapTop), funcionando con bateras, la importancia de los programadores de mano disminuye paulatinamente.

TP301 *.Festo Didactic

Captulo 4

Las funciones esenciales del sistema de software forman parte de la herramienta de programacin y diagnosis Cualquier software de programacin segun IEC 1131-1 deben proporcionar al usuario una serie de funciones. As, el software de programacin comprende mdulos de software para: Introduccin de programas Creacin y modificacin de programas en uno de los lenguajes de programacin del un PLC Verificacin de la sintaxis Comprobacin de la sintaxis del programa y los datos, minimizando asl la introduccin de programas defectuosos.
m

Traductor Traduccin del programa introducido en un programa que puede ser leido y procesado por el PLC, es decir, la generacin del cdigo mquina del correspondiente PC. Conexin entre PLC y PC A travs de este enlace se realiza la carga de los programas al PLC y la ejecucin de funciones de verificacin Funciones de verificacin Ayuda al usuario durante la escritura y en la eliminacin de fallos y verificacin a travs de: o una verificacin del estado de las entradas, salidas temporizadores, contadores, etc. verificacin de secuencias de programa por medio de operaciones de paso a paso, rdenes de STOP, etc. o simulacin por medio de activacin manual de entradadsalidas, establecimiento de valores, etc. Indicacin del estado de sistemas de control Emisin de informacin relacionada con la mquina, proceso y estado del sistema PLC: ci Indicacin del estado de seales de entrada y salida ci Registro/indicacin de cambios de estado en seales externas y datos internos o Supervisin de los tiempos de ejecucin o Formato en tiempo real de la ejecucin del programa

Captulo 4

Documentacin Creacin de una descripcin del sistema PLC y el programa del usuario. Esto consiste en: a Descripcin de la configuracin del hardware Impresin del programa de usuario con los correspondientes datos e identificadores para las seales y comentarios a Lista de referencias cruzadas para todos los datos procesados tales como entradas, salidas, temporizadores, etc. a Descripcin de las modificaciones

Archivado del programa de usuario Proteccin del programa de usuario en memorias no voltiles tales como EPROM, etc.

Captulo 5

Captulo 5
Programacin de un PLC

Captulo 5

5.1

Bsqueda de una solucin sistemtica

Los programas de control representan un componente importante en un sistema de automatizacin. Los programas de control deben ser diseados sistemticamente, bien estructurados y completamente documentados, para que sean: libres de errores, fciles de mantener y econmicos
Modelo de fases para la generacin 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 divisin en secciones definidas conduce a un funcionamiento sistemtico y objetivado, y proporciona una disposicin de resultados clara, que puede verificarse en relacin con la tarea.

El modelo de fases consiste en las siguientes secciones:

Especificacin: Descripcin de la tarea Diseo: Descripcin de la solucin Realizacin: Puesta en prctica de la solucin Integracin/puesta a punto: Incorporacin en el entorno y verificacin de la solucin,

que bsicamente pueden aplicarse a todos los proyectos tcnicos. Se producen diferencias en los mtodos y herramientas utilizados en las fases individuales.

D
Especificacin

- Tecnologa, croquis de situacion - Macroestructura de los programas de


control

D
Diseo Realizacin

- Diagrama de funciones segn IEC 848

- Diagrama de funciones, tal como


- Tabla de funciones
el Diagrama espacio-tiempo

- Lista de piezas y esquemas del circuito

- Definicin de los m6dulos de software

- Simulacin de subprogramas y del


conjunto de programas

ST y10 SFC

Fig. 85.1: Modelo de fases para la generacin de software de PLC

m
Puesta a punto

- Verificacin de los subprogramas - Verificacin del conjunto de programas

TP301 Festo Ddactic

Captulo 5

El modelo de fases puede aplicarse a programas de control de cornplejidad diversa; para tareas de control complejas, es absolutamente esencial la utilizacin de tales modelos. Las fases individuales del modelo se describen abajo.

Fase 1: Especificacin (Formulacin del problema) En esta fase, se formula una descripcin detallada y precisa de la tarea de control. La descripcin especifica de la funcin del sistema de control, formalizada al mximo, revela cualquier requerimiento conflictivo, especificaciones incompletas o equivocadas. Al final de esta fase se dispone de lo siguiente:
m

Descripcin escrita de la tarea de control Estructura.distnbuci6n Macroestructuracin del sistema o proceso y con ello un esbozo de la estructura de la soluci6n.
-

Fase 2: Diseo (Forma concreta del concepto de la solucin) Un concepto de solucin se desarrolla basndose en las definiciones establecidas en la fase 1. El mtodo utilizado para describir la solucin debe proporcionar un grfico y una descripcin orientada al proceso, a la funcin y comportamiento del sistema de control, y debe ser independiente de la realizacin tcnica. Estos requerimientos se cumplen con el diagrama de funciones (FCH) segun define DIN 40 719, Parte 6 o IEC 848. Empezando con una representacin de una visin de conjunto del control (esbozo de la estructura de la solucin), la solucin puede refinarse paso a paso hasta que se obtenga un nivel de descripcin que contenga todos los detalles de la solucin (refinamiento de un esbozo de estructura). En el caso de tareas de control complejas, la solucin es estructurada, en paralelo con esto, en m6dulos de software individuales. Estos mdulos de software realizan las etapas de trabajo del sistema de control. Estos pueden ser funciones especiales como la realizacin de un interface para la visualizacin del proceso, o sistemas de comunicacin, o incluso etapas de trabajo recurrentes permanentemente. El diagrama desplazamiento-fase, representa otra forma estndar para la descripcin de sistemas de control aparte del diagrama de funciones segn DIN 40 719, Parte 6.

Captulo 5

Fase 3: Realizacin (Programacin del concepto de la solucin) La traduccin del concepto de la solucin en un programa de control se realiza a travs de los lenguajes de programacin definidos en IEC 1131-3. Estos son: diagrama de funciones secuencial, diagrama de bloques de funcin, diagrama de contactos, lista de instrucciones y texto estructurado. Los sistemas de control que funcionan en un proceso tiempoAgica y estn disponibles en FCH segn DIN 40 719, P.6, pueden ser clara y fcilmente programados en diagrama de funciones secuencial. Un diagrama de funciones secuencial, en la medida de los posible, utiliza los mismos componentes para la programacin que los utilizados para la . 6 . descripcin en el diagrama de funciones segn DIN 40 719, P Diagrama de contactos, diagrama de bloques de funcin y lista de instrucciones son los lenguajes de programacin adecuados para la formulacin de operaciones bsicas y para sistemas de control que pueden ser descritos por simples seales lgicas combinadas por operaciones booleanas. El lenguaje de alto nivel denominado 'texto estructurado' se utiliza principalmente para crear mdulos de software de contenido matemtico, tales como mdulos para la descripcin de algoritmos de regulacin. En la medida en que los sistemas de programacin de PLCs lo perrnitan, los programas de control o parte de los programas creados, deberfan ser simulados antes de la puesta a punto. Esto permite la deteccin y eliminacin de errores ya en una etapa inicial.

Fase 4: Puesta a punto (Construccin y verificacin de una tarea de control) Esta fase verifica la interaccin del sistema de automatizacin y la planta conectada. En casos de tareas complejas, es aconsejable poner a punto el conjunto de forma sistemtica, paso a paso. Los fallos, tanto en el sistema como en el programa de control, pueden hallarse y eliminarse fcilmente utilizando este mtodo.

Captulo 5

Documentacin Un componente importante y crucial de un sistema es la documentacin, ya que es un requerimiento esencial para el mantenimiento y ampliacin de un sistema. La documentacin, incluyendo los programas de control, debera estar disponible tanto en papel como en un soporte de almacenamiento de datos. La documentacin consiste en la informacin sobre las fases individuales, listados del programa de control y de cualquier informacin adicional posible concerniente al programa de control. Individualmente estos son: Descripcibn del problema Croquis de situacin Esquema del circuito Esquema tcnico Listados del programa de control en SFC, FBD, etc. Lista de asignaciones de entradas y salidas (esto tambin forma parte de los listados del programa de control) Documentacin adicional

IEC 1131-3 es un estndar para la programacin, no slo de un PLC individual, sino tambikn para sistemas de automatizacin complejos. Los programas de control para grandes aplicaciones deben ser claramente estructurados para ser inteligibles, fciles de mantener y si es posible tambin porttiles, es decir, transferibles a otros sistema de PLC. Las definiciones se necesitan no slo para las instrucciones de lenguaje elemental, sino tambin para los elementos de lenguaje para estructuracin. Los recursos de estructuracin (fig. 85.2) se refieren a programas de control y a la configuracin del sistema de automatizacin.

5.2 Recursos de
estrvcturacin IEC 1131-3

[ ] RECURSO DE CONFIGURACI~N
RUTA-ACCESO

- Configuracin un sistema de de
automatizacin

vAR-GLoBAL

Estructuraci6n del nivel de configuracin

(
L

Diagrama de funciones

- Representacin de la secuencia - Refinamiento - Modularizacin


J

fK]

BLOQUE-FUNCl6N
FUNCIN

Estructuracin del nivel de programa

TIPO-DATOS

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

Festo Didaciic

TP301

Captulo 5

~ecursos de estructuracin del programa Los recursos de estructuracin - programa, bloque de funciones y funcin - contienen la verdadera lgica de control (reglas) del programa de control. Estos se conocen tambin como unidades de organizacin del programa. Estos recursos de estructuracin estn disponibles para cualquier lenguaje de programacin. Se utilizan para la modularizacin de programas de control y del programa de usuario esto concierne principalmente a programas y bloques de funcin - o tambin suministrados por el fabricante - en lo que se refiere a programas y bloques de funcin.

IEC 1131-3 define un amplio juego que funciones y bloques de funcin estandarizados. Estos pueden ser ampliados por funciones propias del usuario, para tareas especiales o de continua recurrencia. Los mdulos de software, que pueden utilizarse de diversas maneras, se introducen en libreras, de las que puede disponerse en cualquier momento. Los programas representan la capa ms exterior de la organizacin del programa y pueden diferenciarse del bloque de funcin principalmente por el hecho de que no pueden ser invocados por ninguna otra unidad de organizacin del programa. El diagrama de funciones secuencial representa otro recurso para la estructuracin de un programa. Los contenidos de los programas reales y los bloques de funcin pueden de nuevo representarse clara e inteligiblemente por medio de un diagrama de funciones secuencial.

Recursos de estructuracin a nivel de configuracin Los elementos de lenguaje para configuracin describen la incorporacin de programas de control en el sistema de automatizacin y su control en relacin con el tiempo.

El sistema de automatizacin representa una configuracin (elemento del lenguaje CONFIGURACION). Dentro de la configuracin hay las variables globales (elemento de lenguaje VAR-GLOBAL).

TP301 Festo Didactic

Captulo 5

Un recurso (elemento de lenguaje RECURSO) corresponde al procesador de un sistema multiprocesador, al cual se asignan uno o varios programas. Adems, comprende elementos de control, que incluyen el control de programas en relacin con el tiempo. Este elemento de control es una tarea (elemento de lenguaje TAREA). El elemento de control Tarea define si un programa debe procesarse cclicamente o slo una vez, disparado por un evento especifico. Los programas que no estn especficamente enlazados a una tarea son procesados cclicamente en segundo plano y con la prioridad ms baja.
f

Configuracin de la fabricacidn de vlvulas


f

>
\ T

\ Recurso montaje de vlvulas

Recurso control transportador

Recurso control de calidad

Programa montaje Programa

j
transporlador

Programa
i

,
J

Programa estadstica

'i

Programa Guarda-datos
i
L.
f
J

. .

Variables globales y directamente representadas


L

Fig. 8 5 . 3 : Ejemplo grfico de UM configuracion

Los recursos de estructuracin para la configuracin se muestran en un resumen combinado en la fig. 05.3. A continuacin se explica el ejemplo que aplica este concepto a una tarea de automatizacin. La tarea planteada es la de disear y automatizar una linea de produccin para el montaje de vlvulas neumticas. Se ha elegido un PLC multiprocesador con tres tarjetas de procesador para el montaje de las vlvulas. Las tarjetas de procesador estn asignadas al montaje de las vlvulas, el control del transportador y el control de calidad.

Festo Didactic. TP301

Captulo 5

Los programas Estadsticas y Guarda-datos est asociados con diferentes tareas. Como tales, poseen diferentes caractersticas de ejecucin. El programa Estadsticas evala y comprime los datos de calidad a intervalos regulares. La prioridad de este programa es baja. Se pone en marcha regularmente, p. ej. cada 20 minutos, por la tarea Tarea-ciclica. En el caso de un PARO DE EMERGENCIA, el programa Guarda-datos transmite todos los datos disponibles a un ordenador de clula de nivel superior para prevenir cualquier posible prdida de datos. El programa se pone en marcha activado por un evento de la ms alta prioridad con la seal de PARO DE EMERGENCIA. IEC 1131-3 proporciona interfaces definidos y por lo tanto estandarizados para el intercambio de datos dentro de una configuracin. Si se requiere informacin especfica, tal como la lectura de una variable, en diferentes unidades de organizacin de programas, esta variable es designada como variable global. Entonces los datos pueden ser intercambiados con una variable designada como tal. A las variables globales slo se puede acceder desde programas y bloques de funcin. Lo que tiene inters para sistemas en red es la comunicacin ms all de una configuracin. Para ello, estn a disposicin del usuario bloques de funciones de comunicacin estandarizados. Estos se definen en IEC 1131-5 y se utilizan en IEC 1131-3. Otra posibilidad es la definicin de rutas de acceso (recurso de lenguaje RUTA-ACCESO) para variables especficas. Estas tambin pueden ser ledas o escritas desde otras posiciones.

5.3

Lenguajes de programacin

IEC 1131-3 define cinco lenguajes de programacin. Aunque la funcionalidad y estructura de estos lenguajes es muy diferente, son tratados como una sola familia de lenguajes por IEC 1131-3, con elementos de estructura solapados (declaracin de variables, partes de organizacin tales como funciones y bloques de funcin, etc.) y elementos de configuracin. Los lenguajes pueden mezclarse de cualquier forma dentro de un proyecto de PLC. La unificacin y estandarizacin de estos cinco lenguajes representa un compromiso de requerimientos histricos, regionales y especficos de cada sector. Se ha previsto la futura expansin (tal como el principio de bloque de funcin o el lenguaje de Texto Estructurado); adems, se ha incorporado la informacin necesaria sobre detalles tecnolgicos (tipo de datos, etc.)

TP301 Festo Didactic

Captulo 5

Los elementos del lenguaje son explicados con la ayuda de un proceso de mecanizado involucrado en la produccin de vlvulas. Se utilizan dos censores para establecer si una pieza con los talados correctamente realizados est disponible en la posicin de mecanizado. Si la vlvula 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 programacin grfico denvado de los esquemas de circuitos de los mandos por rels directamente cableados. El diagrama de contactos contiene lneas de alimentacin a derecha e izquierda del diagrama; a estas lineas estn conectados los reglones, que se componen de contactos (normalmente abiertos y normalmente cerrados) y de elementos de bobina.

Eg. 85.4: Ejemplo del lenguaje en diagrama de contactos

Diagrama de bloques de funcin (Function block diagram) FBD En el diagrama de bloques de funcin, las funciones y los bloques de funcin estn representados grficamente e interconectados en redes. El diagrama de bloques de funcin tiene su origen en el diagrama Igico que se utiliza en el diseo de circuitos electrnicos.

Fig. 65.5: Ejemplo del lenguaje en bloques de funciones

Captulo 5

Lista de Instrucciones (Statement list o lnstruction bist) IL La lista de instrucciones es un lenguaje textual tipo assembler, caracterizado por un modelo de mquina simple (procesador con un slo registro). 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 AND Taladro-ok ST Mete-funda

Fig. 85.6: Ejemplo de lenguaje en lista de instrucciones

En lo que se refiere a filosofa de lenguaje, el diagrama de contactos, el diagrama de bloques de funcin y la lista de instrucciones han sido definidos en la forma en que son utilizados en la actual tecnologa de PLC. Sin embargo, estn limitados a las funciones bsicas en lo que concierne a sus elementos. Esto los aparta esencialmente de los dialectos que las empresas utilizan en la actualidad. La competitividad de estos lenguajes es mantenida debido al uso de bloques y bloques de funcin. 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 seleccin, tales como IF...THEN...ELSE, etc, instrucciones de repeticin tales como FOR, WHlLE etc. y llamadas a bloques de funcin.

Fig. B5.7: Ejemplo de lenguaje en texto estructurado

Mete-funda := (Pieza-TrpoA OR Pieza-TpoB) AND Piezagresente AND Taladro-OK; -

El texto estructurado permite la formulacin de numerosas aplicaciones, ms all de la pura tecnologa de funciones, tales como algoritmos (algoritmos de regulacin de nivel superior, etc.) y manejo de datos (anlisis de datos, procesamiento de estructuras de datos complejas, etc.)

TP301 Festo Didactic

Captulo 5

Diagrama de funciones secuencial (Sequential function chart) SFC El diagrama de funciones secuencial (casi idntico al GRAFCET francs) es un recurso de lenguaje para la estructuracin de los programas de control orientados a secuencias. Los elementos del diagrama de funciones secuencial son las etapas, las transiciones y las derivaciones alternativas y en paralelo. Cada etapa representa un estado del proceso de un programa de control, que se halla activo o inactivo. Una etapa consiste en acciones que, al igual que las transiciones, estn formuladas en los lenguajes IEC 1131-3. Las propias acciones pueden contener de nuevo estructuras secuenciales. Esta caracteristica permite la estructura jerrquica de un programa de control. Por lo tanto, el diagrama de funciones secuencial es una herramienta excelente para el diseo y la estructuracin de programas de control.

Festo Didactic

T301

Captulo 6

Captulo 6 Elementos comunes de los lenguajes de programacin

Captulo 6

6.1

Recursos de un PLC

Segn IEC 1131-3, slo las entradas, las salidas y los elementos de memoria pueden ser direccionados directamente por un programa de control. En este caso, el direccionamiento directo significa que en el programa, una entrada, salida o elemento de memoria del control esta afectado inmediatamente y no indirectamente a travs de una variable simblica definida. Naturalmente, IEC 1131-3 reconoce muchos otros recursos, p. ej. temporizadores y contadores. Sin embargo, estos estn integrados en funciones y bloques de funcin para asegurar el ms alto grado posible de portabilidad del programa de control entre los diferentes sistemas. Entradas, salidas y la memoria Los constituyentes ms importantes de un control incluyen las entradas, salidas y la memoria. Slo a travs de estas entradas puede un control recibir informacin de los procesos conectados. De forma similar, slo puede influir en ellos a travs de sus salidas o almacenar informacin para la subsecuente continuacin del proceso. Las denominaciones para los recursos entradas, salidas y elementos de memoria, estn definidos por IEC 1131-3 y son obligatorios..
Entradas (Inputs) Salidas

Fg.B6.1: Designacionespara Entradas, Salidas y

Memorias

Sin posteriores referencias, estos designan slo entradas y salidas binarias y elementos de memoria de un slo bit, designados como flags (tambien denominado marcas). El estndar habla generalmente de variables representadas directamente. Estas son variables que estn referidas directamente a las entradas, salidas y elementos de memoria del control disponibles, relacionadas con el hardware. La asignacin de entradas, salidas y memorias (flags), y su posicin fsica o lgica en el sistema de control es definido por el correspondiente fabricante del control.

Captulo 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 abreviacin 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 relacin 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 tamaos de 1 bit, tal como describe el tipo de datos BOOL (booleana) solamente pueden asumir los valores O 1. Consecuentemente, el margen de valores para un dato del tipo BOOL consiste en dos valores "O" y "1".

A diferencia de esto, hay que destacar que en el caso de los tipos de datos de secuencia de bits, que consisten en ms de un bit, no hay un rango de valores relacionado inmediatamente. Todos los tipos de datos de secuencias de bits, tales como p. ej. BYTE y WORD son meramente una combinacin de varios bits. Cada uno de estos bits tiene el valor O 1, pero su combinacin no tiene su propio valor.
Los mtodos de designacin obligatorios para entradas, salidas y flags de diferentes longitudes de bits estn representados en la fig. B6.3.
1, 0, M o bien IX, QX, MX IB, QB, MB IW, QW, MW Bit de entrada, bit de salida, b l de memoria
1b i t

Byte de entrada, byte de salida, byte de memoria Word de entrada, word de salida, word de memoria

8b R

16 bit

Fig. 8 6 . 3 : Designacin para Entradas, Salidas y Memorias

Festo Didactic

TP301

Captulo 6

Un bit individual de una entrada, salida o flag tambin puede ser direccionado sin la abreviacin adicional X para el tipo de dato. Como sea que los controles siempre tienen un nmero relativamente grande de entradas, salidas y flags disponibles, estos deben ser especialmente identificados a efectos de diferenciacin. Para ello se utiliza la numeracin indicada por IEC 113'1-3, como en el siguiente ejemplo:
Il
1x9

Entrada 1 Entrada 9 Entrada 15 Word de salida 3


Byte de memoria 5

11 5
QW3

MI35

MX2

Memoria 2

IEC 1131-3 no especifica el margen de nmeros que se permite para esta numeracin ni si deben empezar por O 6 por 1. Esto lo especifica el fabricante del control. Tambin deben utilizarse una cantidad jerrquica 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 nmero de niveles de jerarquia no ha sido definido. En el caso de numeracin jerrquica, la posicin ms alta en el nmero de la izquierda debe ser codificado, los nmeros que siguen a la derecha representan consecutivamente las posiciones ms bajas.

Ejemplo

13.8.5

TP301 Festo Didactic

Captulo 6

La estrada especificadas 13.8.5 puede por lo tanto representar:


Entrada en inserto No. 3 en tarjeta No. 8 como Entrada No. 5 I
3. 8.

1
IEC 1131-4 no hace ningn comentario en relacin con la asignacin de bits individuales en un BYTE o WORD. Los fabricantes de los controles a menudo eligen mtodos de designacin jerrquica para asignar bits individuales como partes de words. As, F6.2 podra representar, por ejemplo, el bit nmero 2 de la flag word nmero 6. Sin embargo, esto no tiene que ser necesariamente as, ya que el flag bit F6.2 y la flag word FW6 no necesariamente tienen que estar conectadas de alguna forma. Adems, no se ha hecho ninguna definicin sobre si la numeracin de los bits individuales en una word deben empezar por la derecha o por la izquierda (hasta ahora, el bit nmero O en el extremo derecho ha sido el ms frecuentemente utilizado) Variables directamente direccionadas Si los recursos en un programa de control deben ser direccionados directamente, a la designacin del recurso debe anteponerse el recurso %. Ejemplos de variables directamente direccionables:
%IX12 o %112
Bit de entrada 12

designaciones jerrquicas

%IW5
%QB8

Word de Entrada 5
Byte de Output 8

%MW27

Word de Memoria 27

El uso de variables directamente direccionadas solamente es permisible en programas, configuraciones y recursos. Las unidades de organizacin de programas Funcin y Bloque de Funcin deben operar exclusivamente con variables simblicas, para mantener el programa lo ms independiente posible del control y, con ello, lo ms ampliamente utilizable.

Festb Didactic TP301

Captulo 6

6.2

Variables y
tipos de datos

La utilizacin de variables representadas exclusiva y directamente (recursos, entradas, salidas y memoria) no es suficiente para crear programas de control. Frecuentemente, se requieren datos, que contienen informacin especfica, tambin de una naturaleza ms compleja. Estos datos pueden ser especificados directamente, es decir, datos de tiempo o valores de recuento, o accesibles slo a travs de variables es decir, a travs de una representacin simblica. Las definiciones ms importantes para tratar con datos o variables se indica abajo.

Direccionamiento simblico Un identificador simblico siempre consiste en una letra mayscula o minscula, dgitos y un guin de subrayado. Un identificador debe empezar siempre con una letra o un guin de subrayado. El guin de subrayado puede utilizarse para hacer ms leble un identificador. Sin embargo, es un carcter significativo. Por ello, los dos identificadores Marcha-motor y Marchamotor son diferentes. No se permiten varios guiones de subrayado. Si el control permite letras maysculas y minsculas, su utilizacin indistinta no debe tener significacin alguna. Los dos identificadores MARCHAMOTOR y Marchamotor se interpretan idnticamente y designan el mismo objeto.

Los siguientes identificadores no son permisibles:

no es ni una letra ni un nmero

Adems, los identificadores simblicos no deben ser idnticos que las palabras clave. Como regla, las palabras clave son palabras reservadas para tareas especficas.
Representacin 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 representacin de los datos a especificar
m
m

Valores de recuento Valores de tiempo Cadenas

TP301 Festo Ddactic

Captulo 6

Descripcin Enteros Nmeros en coma flotante Nmeros de base 2 (Nmeros binarios) Nmeros de base 8 (Nmeros actales) Nmeros de base 16 (Nmeros hexadecimales) Cero y Uno Booleanoc

Ejemplos 12, -8, 123-456*, +75 -12.0, -8.0, 0.123-4* 2#1111-1111 2#1101-O011 8#377 8#323 16#FF o 1 6 M 16#D3 o 16#d3
O, 1

(255 decimal) (211 decimal) (255 decimal) (211 decimal) (255 decimal) (211 decimal)

El uso de subrayados entre dgitos es permisible para mejorar la legibilidad. Sin embargo, el subrayado no es significativo.

Tabla B6.1: Representacin de datos numricos

IEC 1131-3 prev diferentes tipos de datos de tiempo: Duracin, es decir, para medicin de resultados m Fecha m Hora del dia, p. ej. para sincronizacin desde el inicio o el final de un evento (tambin juntamente con la fecha)
m

Descripcin Duracin de tiempo

Ejemplos T#18ms, t#3rn4s, t#3.5s t#6h_20m_8s T1ME#18ms D#1994-07-21 DATE#1994-07-21 TOD#13:18:42.55 TIME-OF-DAY#13:18:42.55
DT#1994-07-21-13:18:42.55 DATE-AND-TlME#1994-07-21-13:18:42.55

Fecha Hora del dia Fecha y Hora

Tabla 86.2: Representacin de tiempo, fecha y hora

La especificacin de la duracin 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, das, horas, minutos, segundos y milisegundos.

Festo Didactic TP301

Captulo 6

Abreviaciones para datos de tiempo:


d Dias Horas Minutos Segundos Milisegundos

m
S

rns

Tambin pueden utilizarse maysculas en lugar de minsculas y guiones de subrayado para mejorar la lectura del dato. Tambin IEC 1131-3 ha especificado un formato fijo para la indicacin de una fecha, hora del da o una combinacin de ambos. Cada especificacin empieza con una palabra clave; la informacin real se representa como se muestra en la tabla B6.2. Otro mtodo importante de representacin de fechas es el uso de una secuencia de caracteres tambin conocida como cadena, que puede ser requerida para el intercambio de informacin, es decir, entre diferentes controles, con otros componentes de un sistema de automatizacin o tambin para la programacin de textos para visualizacin en el control y en dispositivos de visualizacin. Una cadena consiste en ninguno o varios caracteres, que empiezan y terminan conuna coma volada.
Ejemplo Descripcin Cadena de longitud 1, conteniendo el carcter 6 Cadena de longitud 7, conteniendo el mensaje Atencin cadena vaca

' 6 '
'Atencin'

- Tabla B6.3: Representacin de cadenas

TP301 Festo Didactic

Captulo 6

Tipos de datos IEC 1131-3 define un gran nmero 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
Nmero Booleano Entero corto Entero Entero doble Entero sin signo Nmero en coma flotante Duracin de tiempo Cadena de longitud variable Secuencia de 8 bits Secuencia de 16 bits

Margen de valores

BOOL SlNT INT DlNT UlNT REAL TIME STRING BYTE WORD

0, 1
O a 255

-32 768 a +32 767

-2 147483 648a+2 147483647


O a 65 535

+/-2.9E-39 a +/-3.4E+38 dependiendo de la implementacin dependiendo de la irnplementacin sin rango de valores declarable sin rango de valores declarable

Tabla 86.4: Un nmero de tipos de datos elementales

Otros dos importantes tipos de datos, denominados INT e UlNT definen nmeros enteros. Las variables del tipo de datos INT (integerlentero) permiten valores numricos de -32 768 hasta +32 767. El margen de valores del tipo de dato INT cubre tanto valores negativos como positivos. Las variables del tipo UNlT (unsigned integerlentero sin signo) slo permiten valores positivos. El margen de valores para las UlNT va desde O a 65 535..SINT (short integerlentero corto) y DlNT (double integerlentero doble) son tipos de datos adicionales que definen nmeros enteros. Sin embargo, estos tiene un margen de valores inferior o superior que el tipo de datos INT. El tipo de datos REAL contiene nmeros en coma flotante. Estos son nmeros 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 duracin de tiempo como por ejemplo: 2 minutos y 30 segundos.

Festo Didactic TP301

--

Captulo 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 definicin del problema va ms all del mbito de la pura tecnologa de control. Los tipos de datos derivados se declaran dentro de la construccin TYPE...END-TYPE. La declaracin completa se indica abajo para la enumeracin del tipo Color en la tabla B6.5:
TYPE Colo: (ROJO, AZUL, AMARILLO, NEGRO); END-TYPE

Tipo de dato derivado

Declaracin TYPE END-NPE

...

Tipo de enumeracin Tipo de subrango Campos (array) Estructuras

Cdor: (ROJO, AZUL, AMARILLO, NEGRO); Margen-referencia: INT(80..110); Posicion: ARRAY[l..l O ] OF REAL; Coordenadas: STRUCT X:REAL; Y:REAL; END-STRUCT;

Tabla 86.5: 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 slo 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 nmero REAL. Con este indice pueden indexarse las entradas individuales. m Un elemento del tipo de datos Coordenadas contiene dos nmeros REAL, a los que puede accederse a travs de sus nombres X e Y. No todos los controles necesitan reconocer todos estos tipos de datos. Cada fabricante dispone un juego de tipos de datos, que pueden utilizarse en el correspondiente control.

Captulo 6

Declaracin 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 declaracin de variables.

Para comprender la funcin de una declaracin de variables, es necesario establecer antes que el programa del control est construido en unidades de organizacin individuales. Estas unidades son:
m

m
8

Configuracin Recurso Programas Bloques de funcin Funciones

Todas las variables tienen una posicin especifica. En el caso de lenguajes de programacin en forma textual (IL y ST), las declaraciones de variables con aproximadamente las mismas que las utilizadas en el lenguaje Pascal. Para las formas grficas de representacin sera factible una forma tabular con el contenido equivalente. Sin embargo, esto no est especificado en IEC 1131-3. Todas las declaraciones de variables (fig. 86.5) siempre empiezan con una palabra clave, que designa la posicin de la variable en la unidad de organizacin del control, y termina con la palabra clave END-VAR.

VAR Temp Manual Ueno, Abierto END-VAR

: INT; ('Temperatura : BOOL; ('Flag para funcionamiento manual : BOOL; ('Flag para 'lleno' y 'abierto'

*) *) *) Fig. B6.5: Dedaracin de variables

Las variables y su asignacin a un tipo de datos, se introduce entre estas palabras clave en las que se especifica un identificador o identificadores simblicos de las variables, el tipo de dato se indica tras dos puntos y la declaracin se cierra con un punto y coma. Si se declaran varias variables, se repiten correspondientemente. Normalmente, cada declaracin se escribe en una lnea separada en este caso.

Festo Didactic TP307

Captulo 6

IEC 1131-3 distingue entre seis tipos diferentes de acceso a las variables. Cada tipo tiene una palabra clave, que introduce la declaracin de la variable.
Variables de Entrada Variables de Salida Variables de Entradaalida Variables locales Tabla B6.6: Palabras clave para la declaracin de variables Variables globales Variables externas VAR-INPUT VAR-OUTPUT VAR-INOUT VAR VARGLOBAL VAR-EXTERN

Las variables de entrada son declaradas con las palabras clave VAR-INPUT y END-VAR.

Fig. 86.6: Declaracin de una variables de entrada

VAR-INPUT Input : INT; END-VAR

('Valor de entrada

Las variables especificadas de esta forma representan variables de entrada, alimentadas externamente a una unidad de organizacin, p. ej, un bloque de funcin. Estas slo pueden leerse dentro de la unidad de organizacin. . No es posible hacer modificaciones. Anlogamente a esto, las variables de salida se definen con las palabras clave VAR-OUTPUT y END-VAR

Fig. B6.7: Declaracin de una variable de salida

VAR-OUTPUT Result : INT; END-VAR

('Valor de realimentacin

El dato que calcula una unidad de organizacin y devuelve de nuevo el exterior se declara arriba. Todos los resultados de una unidad de organizacin deben ser transferidos ms all de la unidad de organizacin a travs de variables declaradas de esta forma. Dentro de las unidades de organizacin, estas pueden ser leidas y escritas. Externamente, slo se permite el acceso de lectura.

TP301 Festo Didactic

Captulo 6

En los casos en que se permitan variables conteniendo valores de entrada y salida, estos deben crearse con las palabras clave VAR-INOUT y END-VAR.

VAR-IN-OUT Value END-VAR

: INT;

Fig. B6.8: Declaracin de una variable de entradalsalida

Esta forma representa una tercera opcin y permite la declaracin de variables, que pueden ser ledas y utilizadas dentro de una unidad de organizacin. En el caso de una variable declarada como VAR-IN-OUT, se asume que ambos valores sern suministrados hacia y desde la unidad de organizacin. A menudo, se requieren variables para resultados intermedios, que deben permanecer desconocidos externamente. La declaracin de tales variables, denominadas locales, empieza con VAR y termina con END-VAR.

VAR

: INT;

('Resultado intermedio

END-VAR

Fig. 66.9: Dedaraddn de una variable local

Las variables especificadas aqu son locales para una unidad de organizacin y solame te pueden ser utilizadas en ella. Son desconocidas para otras unidades organizacionales y por lo tanto inaccesibles. Una aplicacin tipica son las posiciones de memoria para resultados intermedios, que no son de inters en otras zonas del programa. En el caso de estas variables, hay que observar que tambin pueden existir varias veces en diferentes unidades de organizacin. De esta forma, es posible, por ejemplo, que varios bloques de funcin declaren la variable local 2. Estas variables locales son completamente independientes y difieren unas de otras. Una variable tambin puede ser declarada globalmente, en cuyo caso puede ser accedida universalmente. La necesaria declaracin se realiza de una forma similar, utilizando las palabras clave VAR-GLOBAL y VAR-EXTERNAL.

Captulo 6

Fig. B6.1O: Declaracin de una variable global

VAR-GLOBAL Global-value: INT; END-VAR

As es como se declaran todos los datos globales para un programa de control. Los datos globales son accesibles universalmente. Esta declaracin slo puede hallarse en unidades de organizacin, configuracin y recurso.
VAR-EXTERNAL Global-value: INT; END-VAR

Fig. B6.11: Declaracin de acceso a una variable global

Para facilitar el acceso de, datos global a una unidad de organizacin, esta declaracin debe ser registrada en la unidad de organizacin. Sin la declaracin mostrada arriba, el acceso a los datos globales no sera permisible. Esta estricta unidad de declaracin para todas las variables define unicamente .qu variables son reconocidas por una unidad de organizacin y cmo pueden ser usadas. Un bloque de funcin 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: Declaracin de variables con asignacin a entradas de un control

VAR Pulsador-paro AT %12.3: BOOL; Temperatura AT %IW3: INT; END-VAR

Las declaraciones hechas de esta forma son el mejor medio para definir el significado de todas las entradas y salidas del control. Si se produce un cambio en el sistema y su conexin al controlador, slo debern ser cambiadas estas declaraciones. Cualquier utilizacin p. ej. del Pulsador-paro, o de la Temperatura en un programa existente, no se ve afectada por el cambio.

TP301 Festo Didactic

Captulo 6

Sin embargo, segn IEC 1131-3 siempre es posible utilizar variables direccionadas directamente sin tener que asignarlas a un identificador simblico. La declaracin en este caso es como sigue:
VAR AT %14.2 AT % M 1 END-VAR

: BOOL; : WORD;

Inicializacin 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 tambin son importantes para otros datos. Tales valores iniciales se especifican conjuntamente con la declaracin de las variables. Una variable global de este tipo denominada p. ej. Docena se declara para que al principio del programa asuma el valor 12.
VAR-GLOBAL Docena END-VAR Fig. 66.13: Declaracin de una variable global con valor inicial

: IM:= 12;

Como se ha mostrado en este ejemplo, el valor de inicializacin se inserta siempre entre el tipo de dato en este caso INT - y el punto y coma de cierre. La especificacin del valor de inicializacin siempre requiere el signo :=.

De esta forma, a cada variable se le puede especificar un valor inicial. Fundamentalmente, las variables siempre tienen un valor inicial definido al inicio del programa. Esto lo facilita la caracterstica definida en IEC 1131-3, en donde los tipos de datos tienen un valor preestablecido. Cada variable es preasignada al valor inicial correspondiente al tipo de dato - a no ser que se especifique lo contrario en el programa. Una lista de los valores iniciales de una seleccin de tipos de datos elementales puede verse en la tabla B6.7.
Tipo de dato

Valor inicial
O O O 0.0

BOOL, SINT, INT, DlNT UlNT BYTE, WORD REAL TIME STRING

T#Oc " (cadena vacia)

Tabla 86.7: Valores iniciales preestablecidos

Festo Didactic TP301

Captulo 6

6.3 Programa

El programa para un control est dividido en unidades de organizacin individuales, que son como sigue en el nivel de programacin: Programas Bloques de funcin Funciones Estas unidades de organizacin de programa estn disponibles en todos los lenguajes de programacin IEC 1131-3 define una amplia gama de funciones estandarizadas y bloques de funcin para tareas de control tpicas. Aparte de estas funciones especificadas y bloques de funcin, IEC 1131-3 permite la.definicin de sus propias funciones y bloques de funcin. Los fabricantes o los usuarios pueden as crear mdulos de software hechos a su medida para determinadas aplicaciones. Funciones Las funciones son mdulos de software que, cuando se les invoca, proporcionan exactamente un resultado (elemento de datos). Esta es la razn por la que en un lenguaje textual, la invocacin de una funcin puede ser utilizada como un operando en una expresin. Las funciones no pueden contener informacin de estado; Esto significa que la invocacin de una funcin con los mismos argumentos (parmetros de entrada) deben proporcionar el mismo resultado. La suma de valores enteros INT o la funcin lgica OR con ejemplos de funciones. Las funciones y su invocacin puede representarse grficamente o en forma de texto.

Fig. B6.14: Representacin grdfica de una funcin

Entradas

Salida

TP301 Festo Didactic

Captulo 6

Grficamente, una funcin se representa en forma de rectngulo. Todos los parmetros de entrada se relacionan en el lado izquierdo, mientras que los parmetros de salida se muestran en el lado derecho. En el interior del rectngulo se indica el nombre de la funcin. Los parmetros formales de entrada pueden especificarse a lo largo de los lados dentro del rectngulo. Esto es necesario con algunos grupos de funciones, tales como las funciones de desplazamientos de bis, por ejemplo (fig. B6.15b). Para funciones con entradas idnticas, como es el caco de la funcin de suma ADD (fig. B6.15a) no se requieren nombres de los parmetros formales.
VAR AT AT AT AT

%QW4 : INT; %IW9 : INT; %IW7 : INT; %MW1 : INT;

%MW1 %IW9

a) sin nombres de parmetros formales

%IW2 4-

%MW5

b) con nombres de parmetros formales

Fig. ffi. 15: Uso de parzmetros fonnales con funciones

Las entradas o salidas booleanas de una funcin pueden ser negadas, es decir, invertidas especificando un circulo directamente fuera del rectngulo (fig. 86.1 6).

Fig. 86.16: Representacin de negaciones Booleanas

Festo Didactic

TP301

Captulo 6

Si se invoca una funcin, deben conectarse sus entradas y la salida de la funcin. La funcin suma ADD ilustrada en la fig. B6.16 procesa valores enteros INT, por lo cual, las variables direccionadas directamente tales como %QW4 etc. estn declaradas como variables de tipo de dato INT. De la misma forma, la funcin ADD podra aplicarse a valores del tipo SINT o REAL. Las funciones como estas, que funcionan para entrar parmetros de tipos de datos diferentes, se denominan en IEC 1131-3 como funciones sobrecargadas, independientes del tipo. La Fig. 66.17 ilustra las caractersticas de una funcin sobrecargada utilizando el ejemplo de una funcin ADD.
Funcin ADD como ejemplo de funcin sobrecargada Todos los tipos de datos que definen nmeros son permisibles como parametros de entrada de resultado

1
i

a) Parmetros de Entrada del tipo INT general ejemplo VAR AT%IWI : INT; AT%IW2 : INT; AT %MW3 : INT;

b) Parametros de entrada del tipo SINT general ejemplo VAR

1
Fig. B6.17: Funcin sobrecargada de tipo independiente

.s~s: 4 T f

SINT

AT %IB4 %IB5 : SINT; AT %MB6 : SINT;

TP301 Festo Didactic

Captulo 6

Si una funcin 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 funcin con tipo. Las funciones con tipo son reconocibles por el nombre de su funcin. El tipo se indica aadiendo un guin de subrayado, seguido del tipo deseado.

general

ejemplo VAR AT%IWI AT%IW2

: INT; : INT:

%IW2
Fig. 86.18: Una funcin con tipo

Funciones estndar Las funciones estndar ms importantes para la realizacin de tareas bsicas de tecnologa de control se relacionan a continuacin. Dado que una gran variedad de funciones estndar pueden funcionar utilizando parmetros 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 genrico. Los tipos de datos genricos ms importantes se muestran en la tabla B6.8.
ANY-NUM Todos los tipos de datos para nmeros en coma flotante. tales como REAL y para nmeros enteros tales como INT, UINT, etc. estn contenidos en ANY-REAL y ANY-INT. Todos los tipos de datos para enteros tales como INT, UINIT, etc. Todos los tipos de datos, definiendo nmeros en coma flotante

ANY-INT ANY-REAL ANY-BIT

tales como REAL e LREAL


Todos los tipos de datos de secuencia de bits, tales como BOOL, BYTE, WORD etc.
Tabla B6.8: Tipos de datas genricos

Captulo 6

ANY-BIT] ANY-BIT

*-

t--

ANY-BIT

ANY-BIT

:::

3 l

* = nombre o smbolo
Nombre
AND
OR

Smbolo
&

Descrjpcidn

Operacin AND de todas las entradas Operacin OR de todas las entradas Operacin OR-exclusiva de todas las entradas Entrada negada

>=1

Tabla B6.9: Funciones booleanas Bit-a-bit

XOR NOT

=2k+l

Nombre

Descn'pci6n

SHL SHR

Desplazar IN por N b i s hacia la izquierda, llenar con ceros la derecha Desplazar IN por N b i s hacia la derecha, llenar con ceros la izquierda Desplazar IN cclicamente por N bits hacia la derecha Desplazar IN cclicamente por N bits hacia la izquierda

Tabla B6.10: Funciones de desplazamiento de birs

ROR
ROL

Captulo 6

ANY-BIT or ANY-NUM

...

]"t'

AY-BIT or ANYNUM

= nombre o smbolo

Nombre SNnbolo

Descripcin
Mayor que (secuencia descendiente) Mayor o igual1 (secuencia monotbnica) Igual menor o igual (secuencia monotbnica) Menor que (rsecuencia ascendente) No igual, no expandible

GT GE
EQ

>

>=

<=
<

LE
LT

NE

<>

Tabla 86.1 1: Funciones de wmparacidn

a) Representacin grhfica

Descripcin: 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 (nmero decimal codificado en binano) Ejemplo:

Descripcin: 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 cmversin de tipo

Festo Didactic TP301

Capitulo 6

ANY-NUM

r ?
4-l

- ANY-NUM

ANY-NUM
- . m

Nombre Smbolo

Descrlpciidn Suma todas las entradas Multiplica todas las entradas

ADD
MUL

SUB
DIV MOVE

Resta la segunda entrada de la primera Divide la primera entrada por la segunda Asigna una entrada a una salida. no ampliable

.-

Bloques de funcin Los bloques de funcin son mdulos de software que proporcionan uno o varios parmetros resultantes.

Una caracterstica importante es la posibilidad de reutilizacin de los bloques de funcin. Si debe utilizarse un bloque de control en un programa, debe crearse una copia. Esto se realiza a travs de la asignacin 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 funcin (valores de los parmetros de salida y variables internas). La informacin del estado de la copia del bloque de funcin permanece inalterable entre un procesamiento y el siguiente. Esto puede demostrarse utilizando el ejemplo del bloque de funcin estndar para operaciones de recuento. El valor actual del contador permanece de una operacin de recuento a la siguiente y puede as ser interrogada en cualquier momento. Este tipo de comportamiento no puede realizarse a travs del recurso lenguaje, como se describe arriba.

TP301 Festo Didactic

Captulo 6

Identificador Tipo FB Tipo dato Entradas Tipo dato Tipo dato Salidas
Fig. 86.19: Representacin grfica de una copia de un bloque de funcin

Tambin se dispone de la representacin grfica de bloques de funcin (aparte de la representacin en uno de los lenguajes textuales). Estos se representan por rectngulo de la misma forma que las funciones (fig. 66.19). Los parmetros de entrada se introducen por la izquierda y los parmetros de salida aparecen por la derecha. El tipo de bloque de funcin se especifica dentro del rectngulo. A continuacin se introducen los nombres de los parmetros formales junto a los lados derecho e izquierdo dentro del rectngulo o caja. El identificador, bajo el cual se direcciona el mdulo, se direcciona como se ha descrito para el bloque de funcin. Si se utiliza un bloque de funcin, se le debe dar un identificador. Si las entradas estn asignadas - es decir, hay disponibles parmetros de transferencia actuales entonces se utilizan estos para el procesamiento. Si las entradas no estn conectadas, entonces se accede de nuevo a los valores almacenados en invocaciones anteriores o se utilizan los correspondientes valores iniciales.

La Fig. 66.20 muestra el uso (invocacin) del bloque de funcin estndar para un contador.

.OoL BOOL

d q
PV CV

.OoL

Bloque de funcin - tipo CTU (contador incremental)

INT

INT

Count-Pack
Use una copia del bloque de

de control

Rg.86.20:

Uso (invocacidn) del bloque de funcin CT (contador incremental)

Captulo 6

La copia utilizada del bloque de funcin 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 seal 1; en los dems casos se asume una seal 0. Tambin es posible crear varias copias de uno y del mismo bloque de funcin dentro de un programa de control, como se muestra en la fig. 86-21. Bloque de funcin tipo TP (pulse timer)

Fig. 136.21: Uso de varias copias de un bloque de funcin

Uso de vanas copias del bloque de funcinTP

TP301 Festo Didactc

--

Captulo 6

Bloques de funcin estndar La Tabla B6.14 relaciona los bloques de funcin ms importantes estandarizado~ por IEC 1131-3.
SR RS CTU CTD TP TON TOF R-TRlG F-TFIG Bloque de uncin biestable (activacih prioritaria) Bloque de funcin biestable (desactivacin prioritaria) Contador incremental Contador decremental Pulso de tiempo Retardo a la conexin Retardo a la desconexin Deteccin de flanco: flanco ascendente Deteccin de flanco: flanco descendente

Tabla 86.14: Bloques de funcin estndar

Funciones definidas de usuario Aparte de las funciones especificadas, IEC 1131-3 permite la definicin de funciones propias

Para la declaracin grfica se aplican las siguientes reglas: Declaracin de la funcin dentro de la construccin FUNCTION... END-FUNCTION. m Especificacin del nombre de la funcin y los nombres de los parmetros formales y tipos de datos de entradas y salidas de la funcin Especificacin de los nombres y tipos de datos de variables intemas utilizadas en la funcin; para ello puede utilizarse una construccin VAR ... END-VAR. No pueden utilizarse copias de bloques de funcin como variables intemas, ya que estas necesitaran el almacenamiento de informacin del estado. Programacin del cuerpo de la funcin en uno de los lenguajes LD, FBD, IL, o ST.
m

Festo Didactk TP301

Captulo 6

A la funcin ejemplo SPEC-MUL en la fig. B6.22 se le dan dos parmetros del tipo INT. Los dos valores de parmetros son multiplicados y se le aade la cifra 15. El valor as calculado es devuelto a la funcin como resultado.
FUNCTION

(* Descripcin del interface externo *)

INT

(* Cuerpo de la funcin: *) (* Programado en lenguaje FBD *)

q hTC
*
Fig. B6.22: Ejemplo de una funcin SPQ-MUL

SPEZ-MUL

END-FUNCTION

El uso de la funcin 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 funcin SPU-MUL

TP301 Festo Didactic

Captulo 6

Bloques de funcin definidos por el usuario La generacin de los propios bloques de funcin por el usuario es una caracteristica importante de IEC 1131-3. Se aplican las siguientes reglas para una declaracin grfica:

Declaracin de bloques de funcin en una construccin FUNCTION-BLOCK END-FUNCTION-BLOCK. Especificacin del nombre del bloque de funcin y de los nombres de los parmetros formales y tipos de datos de las entradas y salidas del bloque de funcin. Especificacin de los nombres y tipos de datos de variables internas; puede emplearse una construccin VAR ... END-VAR. Programacin del cuerpo de la funcin 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 Filtro-rebotes

(' Descripcin del interface externo *)

(* Cuerpo del bloque de funcin: *) (' programado en lenguaje FBD *)

EP-ON

s-oNrdrT

:mi r
EP-S

S1

Ql S O F F

E-TI ME

PT

ET

I
Festo Didactic TP301

Fig. 86.24 : Dedaracin de un bloque de funun

Captulo 6

El bloque de funcin ilustrado en la fig. 86.24 representa un b l q u e de funcin para la eliminacin de rebotes en las seales, consistentes en dos parmetros de entrada, es decir, una entrada booleana para la seal y una entrad de tiempo para el ajuste del tiempo de rebotes. El parmetros de salida S O F F suministra la seal de salida sin rebotes.

Programas Un programa consiste en cualquier cantidad de elementos de lenguaje y construcciones, necesarios para conseguir el comportamiento deseado de la mquina o proceso a travs del PLC.
Por ello, los programas estn construidos principalmente por funciones, bloques de funcin y los elementos del diagrama de funciones secuencial. Por ello, las caractersticas de los programas son en gran parte idnticos a los de los bloques de funcin. Lo nico que nos interesa en esta etapa son las diferencias: Las palabras clave delimitadoras para las declaraciones de programa son PROGRAM... END-PROGRAM. La utilizacin 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-A AT %IX0.1 : BOOL; AT %QXO.O : BOOL; Luz : TP; Duracion

(^ Interruptor en la puerta *) (* Interruptor interior apartamento *)

(* Luz de la escalera (* Tiempo de encendido

*) *)

Interruptor-F Interruptor-A T#3m


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

Luz
PT ET

TP301 Festo Didactic

Captulo 6

El nombre del programa es "Luz-escalera". Tres variables booleanas Interruptor-F, Interruptor-A y Luz, asignadas a dos entradas y una salida del PLC, han sido declaradas como variables internas. A esto se aade la declaracin de una copia del bloque de funcin del tipo Pulse Timer (TP). El programa realiza la siguiente pequea 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

Captulo 7

Captulo 7
Diagrama de bloques de funcin

Festo Didactic

TP301

Captulo 7

7.1

Elementos del dagrama de bloques de fundn

El diagrama de bloques de funcin es un lenguaje de programacin grfico que es consistente, en la medida de lo posible, con la documentacin estndar IEC 617, P.12.

a) Operacin lgica de funciones

b) Uso de bloques de funcin T-Arranque

Fig. B7.1: Diagrama de bloques de funcin (FBD)

Los elementos del diagrama de bloques de funcidn son funciones representadas grficamente y bloques de funcin. Estas estn interconectadas por lneas de flujo de seal, los elementos directamente enlazados formando una red de trabajo (Network)

La Fig. 87.1 ilustra dos simples ejemplos del diagrama de bloques de funcin. En la Fig. B7.la, la variable Manual-desc y el resultado de una comparacin 'mayor que' estn enlazados en OR. El resultado es asignado a la variable Puerta-cerrada. La Fig. B7.lb representa el uso de un bloque de funcin. El retardo de la seal T-arranque se pone en marcha con la entrada W1.3 con el tiempo preestablecido de 7 segundos. El estado del retardo de la seal, T-arranque.Q, se asigna a la salida %Q2.4.

Captulo 7

La direccin del flujo de seales es una red de izquierda a derecha. Si una unidad de organizacin del programa consta de varias redes, estas son procesadas en secuencia de arriba a abajo. La secuencia de procesamiento dentro de una unidad de programa de organizacin puede ser influida por el uso de elementos para control de la ejecucin. Este grupo de elementos incluye por ejemplo los saltos condicionales e incondicionales. En la fig. B7.2 se utiliza un salto condicional para realizar una derivacin en el programa.

7 . 2 Evaluacin
de redes

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

El salto condicional, representado por una doble flecha, se ejecuta si se cumple la condicin para el salto. Por ello, si la entrada %I1.1 y el flag %M2.5 llevan ambos seal 1, entonces se ejecutar un salto a la red con el identiicador 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 simblico, el flag del salto, terminando con dos puntos. El flag de salto debe identificarse segn las reglas para los nombres simblicos.

Festo Didactic

TP301

Captulo 7

7.3

Estructuras en bucle

Cuando se programa en el lenguaje FBD, hay que observar que dentro de las redes no se permiten estructuras de bucle. Las estructuras de este tipo slo deben realizarse a travs del uso adicional de una ruta de realimentacin. 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 utilizacin de rutas de realimentacin, la tercera entrada de la funcin OR asume un valor definido durante su procesamiento.

TP301 Festo Didactic

- -

Captulo 8

Capitulo 8

--

Diagrama de contactos

Festo Didaotic TP301

Captulo 8

8.1

Elementos del diagrama de contactos

El lenguaje de diagrama de contactos (o diagrama en escalera), al igual que del diagrama de bloques de funcin representa un lenguaje de programacin grfico. Los elementos disponibles en un diagrama de contactos son los contactos y las bobinas en diferentes formas. Estas estn dispuestas en renglones (rungs) entre las dos lneas verticales de mando a derecha e izquierda.

de un rengln

1
La Fig. 8 8 . 1 ilustra la estructura bsica de un regln. 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 ms importantes asignados a un diagrama de contactos.

11 1
I

-+ E

Contactos

Contacto normalmente abierto

(I Contacto normalmente cerrado ---(PE Contacto de flanco positivo

-+NE.
Bobinas

Contacto de flanco negativo

1
Tabla B8.1: Elementos del diagrama de contactos

- - Bobina
3 l k Bobina negada
-(S;Activaci6n de una bobina remanente Desadivaci6n de una bobina remanente Bobina activada por flanco positivo Bobina activada por flanco negativo

1 1

0 -

TP301 Festo Didactic

Captulo 8

Un contacto normalmente abierto suministra el valor 1 cuando se activa el accionamiento del correspondiente interruptor. Un contacto. normalmente cerrado reacciona correspondientemente con el valor 1, cuando no se activa el correspondiente interruptor o pulsador. Hay dos seales de flanco, que suministran seal 1 para la transicin de O a 1 (flanco positivo) y de 1 a O (flanco negativo). Con una bobina normal, el resultado (resultado de la operacin lgica entre los contactos) es copiado a la variable especifica; en el caso de una bobina negada, se transfiere el inverso (negacin) del resultado. La bobina de activacin 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 desactivacin 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 bsicas AND y OR pueden ser realizadas por medio de una configuracin correspondiente de contactos en el rengln actual.

a) Funcin AND
%1 1.3

YiM3.2

%Q2.1

b) Funcin OR

I
La funcin AND es representada por medio de la conexin en serie de dos contactos (fg. B8.2a). La salida %Q2.1 slo se activa si ambas entradas %11.3 y el flag xM3.2 se hallan activados. En todos los dems casos, la salida %Q2.1 es desactivada.

lgicas en diagrama de contactos

Festo Didactic TP301

Captulo 8

La funcin OR se obtiene a travs de la conexion en paralelo de contactos (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 simultneamente.

8.2

Funciones y bloques de funcin

Aparte de los elementos de contacto y bobina, LD proporciona el uso ilimitado de funciones y bloques de funcin siempre que esta funcin est soportada por el control utilizado. Un requisito previo para la incorporacin de las denominadas unidades de organizacin, es la disponibilidad de por lo menos una entrada booleana y una salida booleana del bloque en cuestin. Si no es este el caso, la entrada booleana con el parmetro formal EN (enablelhabilitacin) se aada a las correspondientes funciones o mdulos de funcin as como una salida booleana EN0 (enable OK habilitacin correcta). Las entradas/salidas booleanas son necesarias para permitir que la gotencia fluya a travs del bloque.

a) Incorporacin de funciones

b) lnvocacidnde un bloque de funci6n


T-Arranque

Fig. B8.3: Funciones y blooues de funcin en diagrama de contactos

1
La adicin mostrada en la Fig. B8.3a solamente se realiza si se aplica una seal 1 a la entrada EN. Si es este el caso, las variables Cantidad-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 salida EN0 indica si la adicin ha sido ejecutada, activada y correcta (ENO=I). Si. el bloque no ha sido procesado correctamente, la salida EN0 asume el valor O.

Captulo 8

Los mdulos de funcin, tales como por ejemplo el retardo de seal mostrado en la fig. B8.3 pueden incorporarse al diagrama de contactos sin una entrada EN adicional ni una salida ENO. El bloque de funcin es conectado con los elementos del rengln 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 funcin T-Marcha es procesada con la duracin 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 programacin grfico FBD,el flujo de potencia, y como tal el procesamiento de una unidad de organizacin del programa, es de izquierda a derecha y de arriba a abajo. De forma similar la secuencia de procesamiento tambin puede cambiar en LD utilizando elemento para el control de la ejecucin.

8.3

Evaluacin de

los renglones actuales.

1
Si la condicin del saito, en este caso la operacin AND de la entrada %I1.1 y el flag %M23 se cumple, se ejecuta un salto al rengln actual con el identificador Variante-l. El procesamiento continua entonces a partir de este rengln.

Rg.88.4:
S s b mndicionaI en LD

Festo Didactic

TP301