Está en la página 1de 57

AUTÓMATAS

PROGRAMABLES

(PLC)

Puerto Ordaz, Venezuela. Marzo de 1996

Prof.: Héctor J. Garcini Leal

I.- INTRODUCCIÓN A LOS AUTÓMATAS

3

1.1 SOLUCIONES PARA EL

3

1.2 NOCIONES SOBRE SISTEMAS LÓGICOS

5

1.3 EL AUTÓMATA PROGRAMABLE

8

Tamaño de los autómatas

10

1.4 ARQUITECTURA INTERNA DEL

11

1.5 UNIDADES DE ENTRADA/SALIDA

15

Tarjetas de Entrada/Salida analógicas

16

Tarjetas de E/S de Códigos Numéricos

17

Tarjetas de E/S

17

1.6 UNIDADES DE PROGRAMACIÓN

19

1.7 MONTAJE

20

1.8 CONDICIONES AMBIENTALES DEL ENTORNO

21

1.9 PUESTA A PUNTO Y EN

21

1.10 MANTENIMIENTO

21

1.11 CARACTERÍSTICAS TÉCNICAS DE LOS AUTÓMATAS

23

II.- ELEMENTOS DE

24

2.1 GENERALIDADES

24

2.2 LENGUAJES DE

26

2.3 LENGUAJE DE PROGRAMACIÓN

28

2.3.1 Acceso a los recursos externos

30

2.3.2 Estructura de la PAE y la PAA

32

2.3.3 Definiciones necesarias a tener en cuenta en

32

2.3.4 Instrucciones

32

2.3.5 Introducción a los módulos

37

2.3.6 Introducción a los módulos de Programación

39

2.3.7 Banderas de control ANZ0, ANZ1, OV

40

2.3.8 operaciones

Grupo de

42

2.3.9 Ejercicio

46

III.- CORRECCIÓN DE ERRORES EN EL PROGRAMA STEP5

49

IV.-

52

V.- EVOLUCIÓN DE LOS AUTÓMATAS PROGRAMABLES. TENDENCIAS

57

2

I.- Introducción a los autómatas programables.

La automatización de cualquier proceso productivo sustituye el trabajo directo del hombre por el de un conjunto de dispositivos que ejecutan la misión de controlar el proceso. Para esto se requieren dispositivos que obtengan información sobre el estado del proceso, a los que denominaremos captadores, dispositivos que actúen sobre el proceso, a los que denominaremos actuadores, y del dispositivo capaz de realizar la acción de control como tal, al que denominaremos automatismo. Este sistema puede ilustrarse mediante el siguiente esquema:

Este sistema puede ilustrarse mediante el siguiente esquema: automatismo señales de detección captadores proceso

automatismo

señales de detección

señales de detección

captadores

proceso

actuadores

señales de detección captadores proceso actuadores órdenes de funcionamiento 1.1 Soluciones para el
señales de detección captadores proceso actuadores órdenes de funcionamiento 1.1 Soluciones para el
órdenes de funcionamiento

órdenes de funcionamiento

1.1 Soluciones para el automatismo.

trabajo

La labor a realizar por el automatismo generalmente puede expresarse en forma de una secuencia de operaciones que deben ser gobernadas convenientemente. Esto podría representarse mediante un conjunto de funciones lógicas que pueden ser implementadas de diferentes formas, es decir, pueden realizarse con diferentes tecnologías. Estas opciones tecnológicas pueden agruparse en dos categorías:

lógica cableada

lógica programada

Lógica cableada:

particular

la solución del automatismo se logra mediante el diseño de un "hardware"

para el caso. En esta categoría pueden distinguirse dos familias:

Eléctrica: relés electromagnéticos electroneumática (neumática-fluídica) electrohidráulica

Electrónica: relés estáticos circuitos integrados (SSI, MSI, LSI)

Lógica programada:

La realización de la operación o función lógica se efectúa con un "hardware" de características generales, no concebido específicamente para una aplicación particular, con el empleo de un medio de cómputo programable, como puede ser un microprocesador, un microcontrolador, una

3

microcomputadora o un autómata programable y la aplicación concreta se resuelve mediante un programa particular.

El siguiente cuadro muestra las opciones tecnológicas posibles.

Tipo

Familia tecnológica

Subfamilias específicas

   

Relés electromagnéticos

Lógica

Eléctrica

Electroneumática

cableada

Electrohidráulica

Electrónica

Electrónica estática

   

Sistemas

Microordenadores

Lógica

Electrónica

informáticos

Miniordenadores

programada

Microsistemas (universales específicos)

Autómatas programables (PLC)

Estudio para la decisión del proyecto del automatismo:

Es claro que la decisión en cada caso de emplear lógica cableada o lógica programada requiere un estudio que debe cumplir diferentes pasos:

Estudio previo:

a) especificaciones del proceso o sistema a automatizar y su correcta interpretación.

b) respaldo económico.

c) materiales, equipos, etc. en el mercado, teniendo en cuenta la calidad de la información técnica,

la disponibilidad y rapidez de recambios y la asistencia técnica.

Estudio técnico-económico:

Implica la resolución de las diferentes opciones tecnológicas y el estudio económico de las mismas, planteando las especificaciones del automatismo en cuanto a:

a) materiales y aparatos.

b) adaptación al sistema y al entorno.

c) mantenimiento y fiabilidad.

d) balance de costo-efecto económico (prestaciones).

Decisión final:

En la toma de decisión deberá tener en cuenta:

a) ventajas e inconvenientes de cada una de las dos opciones generales en cuanto a fiabilidad, vida

media y mantenimiento.

b) posibilidades de ampliación y aprovechamiento de lo existente.

c) posibilidades económicas y rentabilidad de la inversión.

d) ahorro en necesidades parael manejo y mantenimiento.

e) aspectos particulares.

4

1.2

Nociones sobre sistemas lógicos.

Sistemas de numeración:

Los sistemas de numeración son el medio con que se cuenta para expresar una cantidad, en otras palabras, las cantidades se expresan mediante números. El número depende del sistema numérico o de numeración empleado, y de forma general puede expresarse como:

#

n

a

i 0

i

b

a

i

,

01

,

,

b

1

Existen tantos sistemas de numeración como a Ud. se le pueda ocurrir, estando entre los más empleados:

Sistema decimal:

Ejemplo:

b = 10

a i = 0,1,2,

,9

1·10 3 + 2·10 2 + 4·10 1 + 8·10 0 = 1000 +200 + 40 + 8 = 1248

Sistema binario:

b = 2

a i = 0,1

Ventaja: facilidad de representar dos valores diferentes en un ente físico.

Ejemplo:

1011001 = 1·2 6 + 0·2 5 + 1·2 4 + 1·2 3 + 0·2 2 + 0·2 1 + 1·2 0 = 64 + 16 + 8 + 1 = 89

BCD:

- cada dígito decimal se codifica en binario

Ejemplo:

(binary coded decimal)

639 = 011000111001

Hexadecimal:

b = 16

a i = 0,1,2,

,9,10,11,

,15

= 0,1,2,

,9,A,B,C,D,E,F

Ejemplo: 27F H = 2·16 2 +7·16 1 + F·16 0 = 512 + 112 + 15 = 639 10 .

Variable y función lógica:

Se entiende por variable lógica una variable que representa si determinada condición es cierta o falsa, por lo que se expresa mediante dos valores bien diferenciados.

Véase esto por el siguiente ejemplo:

variable x : existe alto nivel del líquido en el tanque Según la definición hecha, esta variable tiene dos valores posibles que se corresponden a si es verdadero el planteamiento que la define o si es falso dicho planteamiento. A estos dos valores se le asignan respectivamente el valor de “1” lógico y el de “0” lógico. Nótese que estos dos valores físicamente deben corresponder con dos valores de una señal física bien diferentes entre sí, p.e. dos voltajes, corrientes, presión neumática, etc.

Las relaciones de las variables lógicas se denominan funciones lógicas, que son combinaciones de las operaciones lógicas básicas. Las operaciones lógicas básicas son:

- Suma o unión

5

- Producto o intersección - Negación

Suma o unión: la operación de suma o unión tendrá valor lógico de “1” si cualquiera de las variables vale “1”. Esto puede expresarse, para dos variables, por la siguiente tabla:

 

x

y

f

0

0

0

0

1

1

1

0

1

1

1

1

Esta operación se expresa:

f = x + y

Esta operación se conoce también (y es la forma en que más frecuentemente se denomina) OR (“Ológico). Nótese que esto implica que :

0

+ 0 = 0

0

+ 1 = 1

1

+ 0 = 1

1

+ 1 = 1

Producto o intersección: la operación producto tendrá valor lógico “1” si y sólo si todas las variables tienen valor “1”. Esto para dos variables se corresponde con la tabla:

x

y

f

0

0

0

0

1

0

1

0

0

1

1

1

Esta operación se expresa: f = x · y = xy

Esta operación se le denomina comúnmente AND (“Y” lógico) e implica que:

0

· 0 = 0

0

· 1 = 0

1

· 0 = 0

1 = 1

1

·

Otra manera de expresar esta función es que el producto o intersección (función AND) tiene salida 0 siempre que al menos una de las entradas tenga valor 0. Nótese que esto equivale a decir que la

función AND equivale a un OR de ceros, como a veces también se le dice.

Negación: la negación de una variable tendrá valor “1” cuando la variable tiene valor “0” y viceversa. Luego, la negación de una variable será:

6

x

0 1

1 0

f

Esta operación se expresa: f = x’ = x

Existen funciones lógicas de empleo común, entre ellas la llamada OR exclusivo (EXOR), denominada también “suma sin acarreo”. La tabla que describe su funcionamiento es:

x

y

f

0

0

0

0

1

1

1

0

1

1

1

0

En este caso, la función será 1 sólo si las entradas son diferentes. La función OR exclusivo se puede expresar de la forma:

f x y

Las funciones lógicas pueden implementarse de diferentes maneras. En fin, todo elemento físico al que se le puedan distinguir dos estados bien diferenciados puede servir para realizar una variable, operación o función lógica. En la práctica, se han empleado diferentes elementos o dispositivos. Principalmente, las variables lógicas se implementan con medios eléctricos y electrónicos. De esta forma, podemos hablar de la lógica de contactos, las compuertas lógicas y la lógica programada.

Implementación de las funciones lógicas:

Lógica de contactos:

contacto normalmente contacto normalmente abierto cerrado _ x x
contacto normalmente
contacto normalmente
abierto
cerrado
_
x
x

7

f = x . y x y x f = x + y y x
f
= x . y
x
y
x
f
= x + y
y
x
_
f
= x + y
_
y
_
f
= x . y

Compuertas lógicas:

x

y

_
y

x

x

y

x

y

x

f = x . y f = x + y _ f = x
f = x . y
f = x + y
_
f = x
++
++

f

f

x y

Sistemas combinacionales: las variables de salida en cada instante dependen de las variables de entrada en ese instante.

Sistemas secuenciales: la salida depende de las entradas en ese instante y de la "historia". Para ésto, el sistema tiene que ser capaz de almacenar los estados del mismo, "tener capacidad de memoria".

1.3 El Autómata Programable.

8

Se llama controlador lógico programable (PLC: programmable logic controler) o autómata programable a toda máquina electrónica diseñada para controlar en tiempo real y en medio industrial procesos secuenciales. Su manejo y programación puede ser realizada por personal eléctrico o electrónico sin conocimientos informáticos. Realiza funciones serie, paralelo, temporizaciones, conteos y otras más potentes como cálculos, regulaciones, etc. Su historia comienza en 1968 cuando Ford y General Motors encargan el estudio de un sistema de control electrónico.

Los Autómatas programables (PLC, API) se utilizan a nivel mundial en casi todos los sectores y para las aplicaciones más diversas. Tienen estructura modular y las diversas funciones de automatización son realizadas por diferentes tarjetas o módulos; esto permite configurar al autómata según las necesidades del usuario.

El sistema ofrece diferentes facilidades de comunicación y una gama escalonada de aparatos de operación, observación y programación. El editor (Compilador) con un extenso catálogo de software posibilita una programación muy sencilla.

Si de hacer una comparación se tratara se puede plantear que son semejantes a los microcontroladores, ya que estos poseen memoria de datos (RAM), memoria de programa (EPROM), Interrupciones externas, Timers, Puertos y otros recursos que facilitan su aplicación en el control de procesos.

Los Macrocontroladores o Autómatas Programables (PLC), presentan una estructura modular, con componentes tales como:

Fuente de Alimentación Procesador Central (CPU) Módulos de Entrada Módulos de salida Módulos de comunicación Módulos acondicionadores de señal

En cuanto a las particularidades de la programación de los autómatas de la SIEMENS se puede plantear que los fabricantes decidieron predeterminados módulos de programación para cada uno de los casos según las necesidades del usuario, dándole la facilidad de no tener que preocuparse por las eliminaciones del ruido, niveles de señal, etc. Es muy usado el concepto de parametrización y no de programación, el cual facilita mucho el trabajo para el usuario, pues solamente se prefijan algunos parámetros y el módulo se encarga de realizar las funciones correspondientes.

El diseño del hardware queda reducido a seleccionar correctamente el tipo de procesador que se necesite y un número y tipo de módulos periféricos según corresponda.

Los autómatas programables también permiten el trabajo en forma centralizada o descentralizada por medio de las redes locales, con procesadores alejados unos de otros. Al mismo tiempo con los módulos de comunicación es posible conectar al autómata diferentes periféricos como videoterminales, impresoras, teclados, etc.

9

La siguiente figura presenta el esquema básico del autómata programable:

capta-

dores

sección

de

entradas

unidad alimentación

CPU

interfaces

sección

de

salidas

alimentación CPU interfaces sección de salidas consola de programación dispositivos periféricos actua-
consola de programación
consola de
programación
dispositivos periféricos
dispositivos
periféricos
salidas consola de programación dispositivos periféricos actua- dores Características técnicas fundamentales de

actua-

dores

de programación dispositivos periféricos actua- dores Características técnicas fundamentales de un Autómata

Características técnicas fundamentales de un Autómata

Estructura (Redundante, No redundante, Alta disponibilidad). Volumen de funciones y Algoritmos incorporados. Lenguaje de programación. Tipo y velocidad del procesador. Tiempo de reacción a las Interrupciones. Capacidad de la Memoria de Programa. Capacidad de la memoria de Datos. Cantidad de Marcas (Banderas de un bit). Cantidad de temporizadores. Cantidad de contadores. Posibilidad máxima de Entradas Digitales. Posibilidad máxima de Salidas Digitales. Posibilidad máxima de Entradas Analógicas. Posibilidad máxima de Salidas Analógicas. Diversidad de módulos que suministra el fabricante. Factibilidad de los aparatos de programación.

Tamaño de los autómatas programables.

Gama baja: Hasta un máximo de 128 entradas/salidas. La memoria de usuario de que disponen suele alcanzar un valor máximo de hasta 4 K instrucciones. Gama media: De 128 a 512 ent./sal. La memoria de usuario suele alcanzar un valor máximo de hasta 16 K instrucciones. Gama Alta: Más de 512 ent./sal. Su memoria de usuario supera en algunos de ellos los 100 K instrucciones.

10

Estructura externa de los autómatas programables.

La misma puede ser compacta o modular. Dentro de la estructura modular se distinguen las siguientes variantes:

Americana: Se caracteriza por separar las entradas/ salidas del resto del autómata, de forma tal que en un bloque compacto estén reunidas la CPU, memoria de usuario o de programa y fuente de alimentación, y separadamente las unidades de entrada/salida en los bloques o tarjetas necesarias. Europea: Su característica fundamental es que existe un módulo para cada función: fuente de alimentación, CPU, entradas/salidas, etc. La unidad de programación se une mediante cable y conector. La sujeción de los mismos se hace bien sobre carril o placa perforada, bien sobre rack, en donde va alojado el bus externo de unión de los distintos módulos que lo componen.

1.4 Arquitectura Interna del Autómata.

La arquitectura interna del Autómata está compuesta por una unidad de control (CPU), el área de memorias, el área de interfaces, el área de entrada-salida, la fuente de alimentación, el “bus” de comunicación, y otros elementos analógicos y digitales. La siguiente figura muestra su distribución.

área de CPU

área de memorias

P

área de CPU área de memorias  P   memoria de datos RAM memoria ROM RAM
 

memoria

de datos

RAM

memoria

ROM

RAM

firmware

de trabajo

RAM memoria ROM RAM firmware de trabajo elementos analógicos y digitales bus fuente de
RAM memoria ROM RAM firmware de trabajo elementos analógicos y digitales bus fuente de
RAM memoria ROM RAM firmware de trabajo elementos analógicos y digitales bus fuente de
elementos analógicos y digitales
elementos
analógicos
y digitales
bus

busfirmware de trabajo elementos analógicos y digitales fuente de alim. interfaz interfaces interfaces

fuente

de

alim.

analógicos y digitales bus fuente de alim. interfaz interfaces interfaces de unidad de

interfaz

interfaces

interfaces

de unidad

de program. de periféricos

de E/S

área de

interfaces

de unidad de program. de periféricos de E/S área de interfaces CPU entradas salidas área de

CPUinterfaces de unidad de program. de periféricos de E/S área de interfaces entradas salidas área de

entradas

salidas

área de

E/S

CPU entradas salidas área de E/S de red de alimen- tación a unidad de progra- mación

de red

de alimen-

tación

salidas área de E/S de red de alimen- tación a unidad de progra- mación a perifé-

a unidad

de progra-

mación

E/S de red de alimen- tación a unidad de progra- mación a perifé- ricos de capta-

a perifé-

ricos

alimen- tación a unidad de progra- mación a perifé- ricos de capta- dores a actua- dores

de capta-

dores

a unidad de progra- mación a perifé- ricos de capta- dores a actua- dores a BUS

a actua-

dores

a BUS

externo

Como se observa en la figura, se pueden distinguir en el API diferentes áreas o secciones:

Unidad Central de Procesos (CPU)

Sección de entradas

Sección de salidas

Unidad de alimentación

Unidad de programación

Periféricos

11

Interfaces

Memoria

Las funciones generales de cada área son:

Unidad Central de Procesos (CPU) Interpretación y ejecución de las instrucciones del programa de usuario. El CPU puede considerarse compuesto de 3 partes:

- El procesador

- Memorias

- Circuitos auxiliares

El microprocesador es un Circuito Integrado LSI que realiza las siguientes funciones:

· Operaciones de tipo lógico

· Operaciones de tipo aritmético

·Operaciones de control de transferencia de información dentro del autómata.

Los circuitos internos del p son:

· Unidad aritmética y lógica (ALU). Realiza los cálculos y las decisiones lógicas.

· Unidad de control. Emite las señales de control para cada instrucción.

· Registros. Son memorias de almacenamiento temporal de:

- instrucciones

- datos

- direcciones

Los registros básicos son:

- el acumulador

- el contador de programa

- registro de trabajo

- registro de banderas o de estado

· Buses. Conductores para la transmisión en paralelo de datos, direcciones, instrucciones, señales de control. Los buses son:

- internos (dentro de un chip)

- externos (entre chips)

Existen CPU sin p, que emplean los llamados dispositivos lógicos programables (PLD) o los arreglos lógicos programables (PLA o ASIC).

Sección de entradas Interfaz que adapta y codifica de forma comprensible por la CPU las señales procedentes de los dispositivos de entrada (captadores). Los captadores son: detectores de valores límites, pulsadores, sensores, etc. La sección de entradas debe garantizar también la protección de los dispositivos internos del autómata, su separación eléctrica.

Sección de salidas Interfaz que decodifica las señales de la CPU, las amplifica y manda a los actuadores. Los actuadores pueden ser: lámparas, relés, contactores, arrancadores, electroválvulas, etc. La sección de salidas debe también proteger los circuitos internos del autómata.

Unidad de alimentación

12

Suministro de la alimentación a los circuitos del autómata. Generalmente 220 V c.a. ; 24 V c.c.

Unidad de programación Dispositivo externo mediante el cual se introducen las instrucciones del programa del usuario.

Periféricos

Dispositivos independientes que facilitan el uso del autómata o amplían su campo de aplicación.

Interfaces Permiten la conexión con la CPU de la programadora y los periféricos.

Memorias La información en el CPU se almacena en forma binaria. La información binaria se organiza en "octetos". Un octeto contiene 8 dígitos binarios (bits) y se le llama Byte. Dos bytes conforman una "palabra". Cada palabra define:

- una instrucción

- un dato numérico

- un grupo de estados de E/S.

La cantidad de palabras de una memoria se expresa en K, donde 1 K= 2 10 bytes = 1024 bytes

La siguiente tabla muestra las diferentes memorias que puede tener un autómata programable.

Programas ejecutivos, firmware del sistema (ROM o EPROM)

Programa y memorias del sistema o firmware

 

Memorias temporales (RAM o EEPROM)

Memoria imagen o tabla de estados de E/S (RAM)

Memoria de la tabla de datos

Memoria del

Memoria de datos numéricos y variables internas (RAM)

usuario

Memoria programa de usuario (RAM)

del

Memoria del programa de usuario

El firmware o programa del sistema es ligeramente variable para cada autómata, pero, en general, contiene las siguientes funciones:

 Supervisión y control de tiempo de ciclo (watch dog), tabla de datos, alimentación, batería, etc.  Autotest en la conexión y durante la ejecución del programa.  Inicio del ciclo de exploración de programa y de la configuración del conjunto.  Generación del ciclo base de tiempo.  Comunicación con periféricos y unidad de programación, etc.

El autómata funciona según el programa que se le ha escrito previamente en la EPROM y tal programa escrito por el usuario es interpretado por otro programa monitor llamado Sistema Operativo que

13

controla todos los recursos internos del Autómata. Los Contadores, Temporizadores, Marcas y otros recursos son posiciones de memorias que se actualizan cada cierto intervalo de tiempo o según especifica el programador.

El usuario escribe el programa en un equipo de programación y después de convertido a código intermedio es transferido a la memoria RAM del AP para poderlo ejecutar, al estar este programa en RAM el autómata tiene que tener en buen estado de funcionamiento su batería para en el caso que falle el suministro de energía eléctrica el programa no se pierda.

Cuando se conecta a la red de alimentación el programa monitor o Firmware del autómata se encarga de limpiar, poner a cero los contadores, marcas etc.

El autómata es por naturaleza un secuenciador; su funcionamiento es cíclico. Al comienzo del ciclo realiza la lectura de todas las entradas y forma con estos datos en la memoria RAM una imagen de entrada llamada PAE, que no es más que el estado en que se encuentran todas las entradas en ese momento.

Seguidamente pasa a la ejecución del programa, ejecutando una a una todas las instrucciones según indique el programa y si en el transcurso de él se modifican algunas salidas, lo que se hace es actualizar su estado en otra zona de memoria RAM llamada PAA, que es donde se refleja el estado de todas las salidas del autómata.

Como parte final de la tarea cíclica del autómata ahora corresponde chequear la PAA y asignarle el

valor que corresponda a cada salida propiamente dicha, por lo que

salidas no se modifican con la ejecución del programa, sino al concluir el mismo (Si otras cosas no

son implementadas).

debe tenerse presente que las

El ciclo básico de trabajo del Autómata puede representarse por:

imagen o estado de las entradas entradas 0 o 1 elaboración de las instruccio- nes
imagen o estado
de las entradas
entradas
0 o 1
elaboración
de las instruccio-
nes del programa
ejecución del es-
tado de las sali-
salidas
das 0 o 1
14

Junto a la ejecución del programa, la unidad de control chequea todas las funciones del sistema y si detecta cualquier problema detiene el programa y activa la correspondiente señalización según el caso.

El Acumulador es un registro mediante el cual es posible cargar los Timer y Contadores y realizar otras operaciones, incluyendo las matemáticas.

Las marcas son posiciones de memoria de un bit que el programador puede usar para señalizar el estado de entradas y salidas, así como la ocurrencia de cualquier otro evento.

1.5 Unidades de Entrada/Salida

Las funciones de las unidades de Entrada y de Salida pueden resumirse en:

1)

adaptación de la tensión y la corriente de trabajo

2)

separación eléctrica del autómata y el medio externo

3)

identificación de los captadores y actuadores

Las entradas se pueden clasificar:

a) En cuanto a la tensión:

- libres de tensión

- a c.c.

- a c.a.

b) En cuanto al tipo de señal

- analógicas

- digitales

El circuito básico de entrada digital es:

led optoacoplador
led
optoacoplador

Las salidas se pueden clasificar:

a) En cuanto al dispositivo

- a relé

- a triac

- a transistor

El circuito básico de salida a triac es:

15

b) En cuanto al tipo de señal - digitales - analógicas Tarjetas de Entrada/Salida analógicas

b) En cuanto al tipo de señal

- digitales

- analógicas

b) En cuanto al tipo de señal - digitales - analógicas Tarjetas de Entrada/Salida analógicas 1

Tarjetas de Entrada/Salida analógicas

1

- analógicas Tarjetas de Entrada/Salida analógicas 1 1c 2 2c 16 16c M x acoplador A/D

1c

2

2c

16

16c

Tarjetas de Entrada/Salida analógicas 1 1c 2 2c 16 16c M x acoplador A/D a bus

M x

acoplador A/D a bus optoacoplador ACS P P calibración sección sección automática analógica
acoplador
A/D
a bus
optoacoplador
ACS
P
P
calibración
sección
sección
automática
analógica
analógica
sección sección automática analógica analógica - Un solo conversor A/D, 8 a 12 bits. - Un

- Un solo conversor A/D, 8 a 12 bits.

- Un P para su control.

- Mx 4,8,16 canales analógicos en las entradas.

- Mx 4 canales en las salidas.

Tarjetas de E/S de Códigos Numéricos.

16

conversor de código conversor de código I 1 I 16 E 1 E 16
conversor de código
conversor de código
I
1
I
16
E
1
E
16

Tarjetas de E/S Especiales.

Entradas de Termopar

TC1+ TC1- SHD TC2+ TC2- SHD TCn+ TCn- SHD
TC1+
TC1-
SHD
TC2+
TC2-
SHD
TCn+
TCn-
SHD

Acepta voltaje en mV.

17

Controlador de motor de paso

V+ M/A JOG+ JOG- MOV CCW CW COM 5-24 V c.c.
V+
M/A
JOG+
JOG-
MOV
CCW
CW
COM
5-24 V
c.c.

selector man/aut

giro/man

giro/man

V+

 

Avance

 

Retroceso

 

0

Driver

datos
datos
Avance   Retroceso   0 Driver datos Servocontrolador: Posicionamiento de un eje o multieje. -

Servocontrolador:

Posicionamiento de un eje o multieje.

- tiempos cortos de posicionado

- alta precisión

- buena fiabilidad

- alta repetibilidad

Representa una alternativa económica al CNC

Módulos de Control PID

man control MAN/AUT aut salida analógica retroalimentación proceso entrada analógica CPU módulo PID Módulo
man
control MAN/AUT
aut
salida analógica
retroalimentación
proceso
entrada analógica
CPU
módulo PID
Módulo ASCII
Son
interfaces
con
unidades
de programación
y dispositivos periféricos.
Sus

funciones son:

18

·Introducción, verificación y depuración del programa.

· Grabación del programa a cassette, EPROM.

· Comunicación con TRC, impresora, teclado, etc.

Los módulos ASCII más empleados son el RS232 y RS 422.

Módulo RS232: 25 líneas y señales (3 a 5 líneas necesarias) distancia máxima 15 m. velocidad máxima 20 Kbaudios

< -3 V

> +3 V SPACE (0 lógico)

velocidades:

MARK (1 lógico)

110 baudios

300

600

1200

2400

9600

19200

+5 a +15 V máximo

600 1200 2400 9600 19200 +5 a +15 V máximo inicio DATOS par fin Módulo RS422:
inicio DATOS par fin
inicio
DATOS
par fin

Módulo RS422:

velocidad máxima 10 Mbaudios

la distancia máxima depende de la velocidad; para 100 Kbaudios, 1000 m máximo 10 receptores en paralelo cualquier estación puede comenzar la transmisión.

1.6 Unidades de Programación.

Es el medio material para grabar o introducir en la memoria de usuario las instrucciones del programa. Además realiza otras tareas. Las funciones principales son:

a) Programación

· introducción de instrucciones

· búsqueda de instrucciones o posiciones de memoria

· modificación del programa

- borrado de instrucciones

- inserción de instrucciones

- modificación de instrucciones

· detección de errores de sintaxis o formato

· visualización del programa de usuario o parte del mismo

· forzamiento del estado de marcas, registros, contadores, temporizadores, etc.

b) Grabación de programas

· en casete

· en EPROM o EEPROM

· en papel mediante impresora

19

· en diskette mediante PC

c) Visualización y verificación dinámica del programa

· del programa o prate de él

· de entradas y salidas

· de temporizadores, contadores, registros, etc.

Modos de servicio:

STOP (off-line) o salidas en reposo

RUN (on-line) o ejecutando el programa

Otros modos intermedios

Hay tres tipos de módulos:

a) Tipo calculadora. Se emplean comúnmente en los autómatas de la gama Baja. Constan de teclado, conmutador de modos, display de cristal líquido o siete segmentos de dos o más líneas. En las de dos líneas sólo se pueden escribir mnemónicos.

b) Consola de programación. Consta de pantalla de plasma o similar y tamaño para 20-30 líneas y 60-80 caracteres por línea y teclado. Los programas son almacenados en diskette.

c) Unidad con PC. Se adapta al autómata mediante la interfaz correspondiente. La grabación del programa se realiza en diskette o disco duro.

Las instrucciones que se introducen en la unidad de programación no son directamente interpretables por el procesador, que se auxiliará de un circuito intermedio llamado compilador. Para programar los autómatas de la SIEMENS directamente desde la microcomputadora existe un programa en disco que brinda una serie de facilidades al usuario. Esta programadora se conecta por el puerto serie de la máquina al autómata, pero hay que recordar que este cable de unión es especial e internamente en el conector se necesita un pequeño circuito eléctrico que transforme le norma RS-232 que tiene la máquina en la norma TTY (Lazo de corriente) que tiene el autómata.

¿Cuáles son los pasos para la ejecución del paquete de software ?. 1.- Ejecución del programa; C:>S5 Retorno Inmediatamente aparece un cuadro de selección de paquetes, en realidad es la selección del proyecto completo que se está confeccionando.

1.7 Montaje.

El autómata se monta en un bastidor de aluminio y se atornilla a prueba de vibraciones, cada bastidor de aluminio está identificado por un código que especifica el modelo.

En la parte posterior y central de cada módulo conectable al bastidor existe una pieza de plástico que es específica para cada módulo, la cual impide que existan confusiones en el momento de montarlas,

20

la mitad de esta pieza queda fija al bastidor y permanece allí al retirarse el módulo para que ninguna otra tarjeta sea colocable en ese lugar.

Los conectores frontales tienen conectores de dos tipos (Pinzas y Tornillos) pudiéndose extraer completamente del módulo, permitiendo la conexión de cables fuera del autómata.

1.8 Condiciones ambientales del entorno.

El entorno del autómata debe cumplir con ciertas condiciones:

Ausencia de vibraciones, golpes, etc.

No exposición directa a rayos solares o calor. La temperatura debe ser menor de 50- 60C.

La temperatura no debe ser muy baja (>5C) ni tener cambios bruscos que puedan dar lugar a condensaciones.

La humedad relativa debe ser entre el 20 y el 90 %.

Debe estar libre de polvos y salinidad.

No debe haber gases corrosivos.

El ambiente debe estar exento de gases inflamables.

Debe evitar situarlo cercano a líneas de alta tensión.

1.9 Puesta a punto y en servicio.

Para poner en funcionamiento al autómata es necesario ejecutar un conjunto de acciones que garanticen un correcto desenvolvimiento del mismo. Por tanto es necesario realizar la supervisión total del sistema.

a) Sin tensión: verificación de las partes físicas.

Correcta conexión de todas las partes componentes, incluidas las alimentaciones según el esquema.

Firme sujeción de cables a regletas, CPU, E/S, fuente, etc.

Identificación exacta de cables mediante señalizadores con letras o números.

Conexión firme del cable de tierra.

b) Con tensión: verificación del sistema automático.

Con el PLC en STOP alimentar el sistema, pero no las cargas.

Comprobar "no error" en LEDs de CPU.

Comprobar correcto funcionamiento del circuito de mando marcha-parada.

Con el PLC en RUN verificar que las salidas responden de acuerdo al programa actuando manualmente sobre las entradas.

Alimentar las cargas.

1.10 Mantenimiento

21

Como todo sistema, los sistemas con PLC requieren de un mantenimiento que garantice un funcionamiento adecuado. El mantenimiento de un PLC debe contemplar dos fases:

Mantenimiento preventivo o inspección periódica.

El mantenimiento preventivo o inspección debe realizarse en forma sistemática, siendo el período adecuado dependiente del autómata, las condiciones del entorno, etc., pudiendo ser desde semanal hasta anual. Se debe disponer de una carpeta de mantenimiento con fichas en que aparezcan:

· fecha

· averías detectadas y corregidas.

El mantenimiento preventivo deberá contemplar acciones de:

a) Inspección visual.

- de los elementos mecánicos

· sujeción

· estado de los cables

· tornillos apretados

- del CPU y E/S

· señales en los LEDs que indiquen diagnóstico de alguna falla

b) Condiciones ambientales

- temperatura y humedad adecuadas

- polvo

- vibraciones

c) Medidas de tensión de alimentación

- variaciones de tensión cercanas a los límites permisibles

- el valor de c.c. y el rizado (ripple) dentro del margen

- vida media de la batería

- tensiones de E/S

Las herramientas, aparatos y materiales necesarios para esto serían:

- algodón y alcohol para la limpieza de contactos

- herramientas de instalador

- multímetro de aguja de clase 0,5 o digital

- osciloscopio

- termómetro e higrómetro

Localización y reparación de averías.

El procedimiento para la localización y reparación de averías puede hacerse:

- Por la lista de mensajes de error en los leds indicadores al frente del CPU. - Por las indicaciones en display de la consola de programación

22

Los fabricantes usualmente ofrecen un procedimiento de localización y reparación de averías en el manual.

1.11 Características técnicas de los Autómatas Programables.

En la actualidad en el mundo hay decenas de fabricantes de PLC y centenares de modelos de los mismos, por lo que la selección de uno en particular puede resultar una tarea compleja. Para esto, puede ayudar una clara idea del conjunto de características técnicas de los PLC.

Las características técnicas de los PLC pueden agruparse en características referentes a:

a) Unidad Central (CPU)

- Tiempo de ciclo/1 Kinstrucciones

- Capacidad de memoria (Kpalabras)

- Tipos de memoria

- Si tiene coprocesador numérico

b) Entradas/Salidas

- Máximo E/S digitales

- Máximo E/S Analógicas

- Número E/S por módulo

- PID

- Control de servomecanismo

c) Programación

- Lenguajes

- Instrucciones aritméticas

- Unidades de programación

d) Comunicaciones

- Número de canales serie

- Tipo de canales serie

- Tipo de red local

23

II.- Elementos de Programación.

2.1 Generalidades.

Un programa es una sucesión o lista de instrucciones u órdenes de trabajo. Una instrucción tiene dos partes principales:

Operación

|

Operando

¿Qué?

|

¿Dónde?

|

Símbolo

|

Parámetro

La operación indica qué debe ejecutarse y se da mediante su código que puede ser numérico o mnemómico. El operando indica la dirección del elemento con el que se debe ejecutar la operación. El símbolo indica que tipo de elemento es: entrada, salida, temporizador, etc. En los autómatas más sencillos se omite el símbolo.

Las instrucciones pueden dividirse en:

- Órdenes de manejo o instrucciones de servicio, necesarias para la elaboración, análisis y puesta a punto del programa, que pueden ser de: borrado de instrucción, borrado de programa, inserción de instrucción, búsqueda de instrucciones del programa, inspección de programa, revisión de sintaxis, grabación de programa, listado de programa, modificación y forzamiento de estados de elementos internos, etc. - Órdenes de programación o instrucciones de mando o de programa. Una línea de programa consta de:

· Número de línea o paso (STEP): posición de la memoria donde se aloja la instrucción.

· Operación.

· Operando.

Las instrucciones de programa se alojan en una celda de memoria desde la 0 hasta la n (en función de la capacidad de memoria). La mayor parte de las instrucciones ocupan una palabra (2 bytes) que corresponde con una línea de programa. Ejemplo: 0034 A E2.1

La ejecución del programa puede ser:

· cíclica lineal

· con salto condicional

· con salto a subrutina

· con programas en paralelo

24

Ejecución lineal:

# lín e a

0000

0001

"

0002

"

# lín e a 0000 0001 " 0002 " instrucción 0003 " n-1 " n "
instrucción

instrucción

instrucción

0003

"

0003 " n-1 " n "

n-1

"

n

"

# lín e a 0000 0001 " 0002 " instrucción 0003 " n-1 " n "
0003 " n-1 " n " in s tru cció n Con salto condicional: # lín
0003 " n-1 " n " in s tru cció n Con salto condicional: # lín
0003 " n-1 " n " in s tru cció n Con salto condicional: # lín

in s tru cció n

Con salto condicional:

# lín e a in s tru cció n 0000 instrucción 0001 " 0002 "
#
lín e a
in s tru cció n
0000
instrucción
0001
"
0002
"
0003
"
u
"
v
"
n-1
"
n
"

s i

s e

cu m p le

la

co n d ició n

in s tru cció n

u , s a lta

a

v

25

e n

Con salto a subrutina:

programa principal subrutinas nivel 1 nivel 2 nivel 3
programa principal
subrutinas
nivel 1
nivel 2
nivel 3

Programas paralelos:

programa de asignación de programas paralelos con las direcciones de comienzo M0 M1 M2 M3
programa de asignación de
programas paralelos con las
direcciones de comienzo
M0
M1
M2
M3

2.2 Lenguajes de Programación.

En los PLC existen diferentes formas de lenguajes:

Mnemónico: se le denomina lista de instrucciones, booleano, abreviaturas mnemotécnicas, AWL.

Diagrama de contactos (ladder diagram): se le denomina también plano de contactos, esquema de contactos, KOP.

26

Plano de funciones: se le denomina bloques funcionales, logigrama, FUP.

Grafcet (graphe de comande etape transition): se le denomina diagrama funcional, diagrama de etapas o fases.

Organigrama u ordinograma: llamado también diagrama de flujo.

Los tres primeros son los más comúnmente empleados.

Suponga que se quiere programar una ecuación lógica:

x x  x x  y   x  1 2 4 5
x
x
x x
y
x
1
2
4
5
1
3
En lógica cableada esto correspondería a:
Esquema a relés:
x
x
1
4
y
x
x
2
5
x
3
Y
1

Y

1

1

Esquema a compuertas: x x x x x
Esquema a compuertas:
x
x
x
x
x

Y

El programa para realizar esta función en los tres primeros tipos de lenguaje será:

- Mnemónico. (suponga que tiene el siguiente listado de mnemónicos posibles:

STR

: operación inicio contacto abierto

STR NOT : operación inicio contacto cerrado

27

AND (Y)

: contacto serie abierto

OR (O)

: contacto paralelo abierto

AND NOT : contacto serie cerrado

OR NOT

: contacto paralelo cerrado

OUT

: bobina relé de salida

El programa será:

STR NOT X1

AND X2 STR NOT X4 AND X5 OR STR OR Y1 AND NOT X3 OUT Y1

- Diagrama de contactos.

x x 1 2 x 3 x 4 x 5 Y 1 y 1
x
x
1
2
x 3
x
4
x
5
Y 1
y
1

- Plano de funciones.

x

x

x

x

y

x

1

2

4

5

1

3

& >=1 & = &
&
>=1
&
=
&

2.3 Lenguaje de programación STEP5.

Y 1

Este lenguaje de programación cubre toda la gama de Autómatas de la familia S5 de Siemens, con pequeñas variantes según el procesador de que se trate. Los programas pueden desarrollarse en tres tipos diferentes de programación que son: FUP (Esquema de Funciones), KOP (Lenguaje de Contactos) y AWL (Lista de Instrucciones), pero el más utilizado es la lista de instrucciones pues con este se permiten explotar todos los recursos internos del AP.

28

El grupo de instrucciones que componen el lenguaje de programación STEP5 se divide en tres tipos de operaciones: básicas, complementarias y del sistema.

La instrucción es el elemento más pequeño del programa y está compuesta por el operando y la operación. Este último campo especifica qué operación hay que realizar sobre el operando que puede ser una entrada o una salida cualquiera. ¿Cómo fue concebida la programación en STEP5 ?

Los diseñadores de SIEMENS tienen predeterminados los nombres de los programas o los identificadores de los programas que construya el usuario y en algunos casos existen programas confeccionados que el usuario puede llamar por su nombre y con todos sus parámetros. En otros casos el sistema operativo del autómata (Firmware) se encarga de llamar a ciertos programas si ocurren determinadas condiciones; si estos no están programados no se ejecuta nada, pero de estar programados se ejecutan sus instrucciones y después se le da continuidad al resto del programa.

El sistema operativo solamente llama los módulos de programas de organización denominados OB y estos a su vez pueden llamar a los PB o módulos de programación o a los módulos funcionales FB, en cada uno de estos módulos se puede programar un grupo de instrucciones determinadas.

Existen algunos módulos OB de funciones específicas que manda a ejecutar el sistema como es el caso del OB1, para la ejecución cíclica del programa, y el OB13 para la ejecución de programas controlados por tiempo.

Los módulos funcionales FB son módulos de programa especiales en los que se programan partes de programas utilizados frecuentemente o de gran complejidad, por ejemplo, funciones de aviso y aritméticas. Para ello el usuario en estos módulos puede hacer uso de instrucciones de cualquiera de los tres grupos y no se escriben los operandos absolutos, sino operandos formales (variables) para que puedan ser generales y usados para cualquier tipo de operando.

Existen también los módulos de datos DB, que se utilizan para almacenar datos o constantes que se deseen utilizar en la programación, pero estos no contienen instrucciones (no son ejecutables), solamente se activan y desactivan al activar uno diferente. Ejemplos de datos: valores reales, valores límite y textos.

Los módulos de paso SB se utilizan para programar comandos secuenciales. Se tratan como los módulos de programa.

Todos los módulos se identifican por un número entre 0 y 255, y se permite el anidamiento de llamadas de uno a otro.

La siguiente tabla resume las características más importantes de los diferentes tipos de módulos.

29

 

OB

 

PB

 

SB

FB

 

DB

 

Cantidad

256

 

256

256

256

254

OB 0

OB

255

PB 0

PB

255

SB 0

SB

255

FB 0

FB

255

DB 2

DB

255

Longitud

8* 1024 bytes

8*1024 bytes

8*1024 bytes

8*1024 bytes

4096 palabras de datos

(máx)

Juego de

Operaciones

Operaciones

Operaciones

Operaciones

Configuración

operaciones

básicas

 

básicas

 

básicas

 

básicas,

 

binaria

 

(contenido)

     

Operaciones

Números

complem.,

 

Textos

Operaciones

 

de sistema

 

Formas de

AWL,FUP,

 

AWL,FUP,

AWL,FUP,

AWL

   

representación

KOP

KOP

KOP

 

Longitud

5 palabras

 

5 palabras

 

5 palabras

 

10 palabras

5 palabras

 

encabezam.

       

Llamadas de

SPA,SPB solo posible en FBs

SPA,SPB

 

SPA,SPB

 

SPA,SPB

 

A,E

módulo

     

Los módulos de datos DB0 y DB1 están reservados para la lista de direcciones de módulos y para la lista de transferencia de marcas de acoplamiento.

El VKE es la bandera más importante en la arquitectura interna para la ejecución del programa, porque permite recoger el resultado de una instrucción y combinarlo con la siguiente. Con la ejecución de la primera instrucción el VKE toma el valor de esa primera consulta. Existe un grupo de instrucciones que inhiben el VKE, esto quiere decir que el VKE tomará un nuevo valor en dependencia de la instrucción ejecutada. Hay instrucciones que ponen el VKE a cero o a uno según el resultado de una operación y otras preguntan por el VKE para tomar decisiones, como por ejemplo las de salto.

El autómata posee dos acumuladores de 16 bit cada uno (AKKU1 y AKKU2), que se utilizan para realizar operaciones aritméticas, rotaciones, de intercambio, carga, transferencia y otras.

2.3.1 Acceso a los recursos externos.

Como recursos externos se denominan las tarjetas que conforman la estructura del autómata y podrán ser, en dependencia de la función que realizan, de entrada, para entrar información del proceso al autómata o de salida cuando se está sacando información del autómata al proceso.

Según el tipo de dato que se quiera procesar, las tarjetas podrán ser digitales o analógicas; las digitales detectan o envían señales que solamente tienen dos estados, cero o uno, que pueden estar

30

representados por diferentes valores de voltaje según la tarjeta en cuestión y las tarjetas analógicas entregan a su salida o reciben en sus entradas un valor de voltaje que normalmente puede ser de cero a diez Volt, aunque las hay de otros rangos de voltaje.

Existen otros tipos de módulos que pueden ser conectados al autómata para realizar operaciones muy específicas, como es el caso de los módulos de comunicación entre autómatas, los módulos para poder conectar una terminal de video (Monitor) al autómata, una interfaz para printer, módulos que son un lazo de regulación que trabajan independiente del autómata y muchos otros.

Esquema de direccionamiento:

La primera posición de izquierda a derecha en el bastidor o rack la ocupa la fuente de alimentación, la segunda es reservada para la CPU y la última se reserva para el módulo de expansión del bus IBM.

Entre estas posiciones extremas existen siete posiciones para módulos que se enumeran desde el cero al seis, en las posiciones 0,1,2,3 pueden colocarse tarjetas digitales y analógicas pero en las posiciones 4,5,6 solamente podrán ser tarjetas digitales.

Los bastidores de los autómatas de la SIEMENS están diseñados para un número determinado de tarjetas y tienen conectores diferentes en las distintas posiciones, pero además se cuenta con una presilla plástica en la parte trasera del módulo que impide la colocación errónea de una tarjeta si previamente fue ajustada a su lugar.

La dirección de una entrada o salida es necesario conectarla para poder hacer referencia a ella en el programa, esta dirección depende de la posición del módulo en el bastidor.

Nomenclatura para hacer referencia a las entradas y salidas:

Para las entradas digitales se utiliza la nomenclatura Ex.y, donde x,y depende del lugar donde esté ubicado ese módulo. Las entradas analógicas se referencian como E m, siendo m un número entre 0 y

128.

Las salidas digitales se referencian A x.y, donde x.y tienen el mismo significado que las anteriores y

las salidas analógicas A m.

Ejemplos:

E

4.0 ;Entrada digital 0 en la posición 4 del bastidor.

A

5.2 ;Salida digital 2 en la posición 5 del bastidor.

E

128 ;Entrada analógica.

En un módulo digital de 32 salidas ubicado en el puesto cero del bastidor las salidas tomarán los

nombres siguientes: A 0.0

hasta las ocho últimas que se referencian A 3.0

1.7, para las ocho segundas,

A

0.7, para las ocho primeras; A 1.0

A 3.7.

A

31

Si ese mismo módulo anterior se coloca en la segunda posición del bastidor ocuparía las direcciones A

4.0 hasta A7.7.

Para la CPU S5-115, solamente está permitido colocar módulos analógicos (Entradas y Salidas)en las

posiciones 0,1,2,3 del bastidor, en cualquier otro no trabajan, por lo que su numeración está en

correspondencia con la siguiente ley: a la posición cero corresponden las numeraciones del 128 al 159,

para la posición 1 del 160 al 191, para la 2 del 192 al 223 y para la 3 del 224 al 255.

A

esta forma de direccionar los módulos se le denomina direccionamiento fijo, pues una vez prefijada

la

posición de una entrada /salida en el autómata esta no puede ser cambiada. Existe otra forma de

direccionamiento al utilizar el expansor del bus que permite cambiar la dirección a los módulos.

2.3.2 Estructura de la PAE y la PAA

La PAE es una zona de memoria RAM donde el autómata en la primera parte del ciclo almacena el estado en que se encuentran todas las entradas del proceso. Allí cada entrada tiene reservada una posición y es por este motivo que se le denomina imagen de entrada del proceso. Por ejemplo la entrada E2.2 tiene reservada el bit 2 en el byte dos de la zona de memoria que corresponde a la PAE.

Más adelante se verán instrucciones que permiten leer esa zona de memoria directamente sin tener que

hacer referencia en el programa a la entrada específica.

La PAA tiene un comportamiento similar, es una zona de memoria RAM donde el programa modifica

el estado de todas las salidas y no es hasta el final (fin del programa del usuario) que actualiza las

verdaderas salidas al proceso.

2.3.3 Definiciones necesarias a tener en cuenta en STEP5.

Cómo se escribe un programa y qué significa cada uno de sus elementos:

Ejemplo de una línea típica 002: U E 0.1

002: Esta es la dirección relativa de la instrucción en el módulo específico.

U

Operación que se está realizando.

E

0.1 A toda esta parte se le denomina operando.

E

Identificador del operando (Entrada).

0.1

Parámetro del operando, dónde está ubicada esta entrada.

Los

diferentes operandos permitidos (Ver sintaxis de instrucciones) son:

E

Para las entradas (Digitales y Analógicas).

A

Para las salidas (Digitales y Analógicas).

M

Marcas.

32

D

Zona de Datos del sistema.

T

Timer internos.

Z

Contadores.

K

Constantes.

2.3.4 Instrucciones

Se les puede llamar operaciones o instrucciones del autómata. Los tres grupos que existen, como ya se mencionó, son:

1) Básicas.

2) Complementarias.

3) Del sistema.

Se les denomina instrucciones básicas a aquellas que pueden representarse en los tres tipos de programación y además en cualquier tipo de módulo de programa (OB, FB, PB, SP). Las instrucciones complementarias solamente pueden ser usadas en la programación por lista de instrucciones AWL y

en los programas tipo FB. Las instrucciones complementarias son usadas por programadores expertos

que conocen bien el sistema operativo y la distribución interna de la memoria del autómata.

Instrucciones Básicas

Operaciones lógicas.

Dentro de este grupo están las instrucciones que realizan las operaciones lógicas convencionales de

dos operandos, el VKE y la señal que desee chequear el programador. Si una de estas instrucciones es

la primera de un programa, el VKE tomará el valor que tenga el operando.

U Combinación AND. Consulta de la señal en ´1´.

El resultado de la consulta es ¨1¨ si el operando se encuentra en ¨1¨. De lo contrario el resultado de la consulta es ¨0¨. Se efectúa la combinación AND de este resultado con el VKE en el procesador.

O Combinación OR. Consulta de la señal en uno.

El resultado de la consulta es ¨1¨ resultado de la consulta es ¨0¨. procesador.

si el operando asociado se encuentra en ¨1¨. En caso contrario el Se efectúa la combinación OR de este resultado con el VKE en el

UN

Combinación AND. Consulta de la señal en cero.

El resultado de la consulta es ¨1¨ si el operando asociado tiene estado de señal ¨0¨. En caso contrario el resultado de la consulta es cero. Se efectúa la combinación AND de este resultado con el VKE del procesador.

33

ON

Combinación OR. Consulta de la señal en cero.

El resultado de la consulta es ¨1¨ si el operando asociado tiene estado de señal ¨0¨. En caso contrario el resultado de la consulta es ¨0¨. Se efectúa la combinación OR de este resultado con el VKE del

procesador.

U(

AND con abrir paréntesis.

Se efectúa la combinación AND del VKE de la expresión entre paréntesis con el VKE precedente.

) Cerrar paréntesis. Esta operación permite cerrar una expresión entre paréntesis.

Operaciones de memoria

.

Se les denomina de memoria porque pueden memorizar la ocurrencia de un evento cualquiera poniendo a cero o a uno un bit determinado.

S

Ident. Parámetro ;Poner a uno el operando afectado.

R

Ident. Parámetro ;Poner a cero el operando afectado.

=

Ident. Parámetro ;Asignar el estado del VKE actual al operando afectado.

Operaciones de carga y transferencia.

Este grupo de instrucciones tiene tres objetivos:

1.- Intercambiar información entre los diferentes operandos. 2.- Cargar los Contadores y Temporizadores.

3.- Cargar constantes necesarias para la ejecución del programa.

L

;Carga

T

;Transfiere

LC

;Carga codificadamente

Instrucciones para arrancar los Timer.

SI

;Arranque con impulso.

Ejemplo: Se desea que la salida 4.0 se active tan pronto como la señal en la entrada 3.0 pase de ¨0¨ a ¨1¨. Además se desea que la misma se mantenga activada como mínimo 5 s.

U

E 3.0

L

KT

50.1

SI

T 1

NOP 0 NOP 0 NOP 0 U T 1

34

= A 4.0

SV

;Arranque con impulso prolongado.

Ejemplo:

U

E

3.1

L

EW 15

SV T

2

NOP

NOP

NOP

U

T

2

=

A

4.1

SE

;Arranque con retardo a la conexión.

Ejemplo:

U E

3.5

L KT 9.2

SE T

3

NOP

NOP

NOP

U

T

3

=

A

4.2

SS

;Arranque con retardo a la conexión memorizada y borrado.

Ejemplo:

U E

3.3

L KT 50.1

SS

T

4

U

E

3.2

R

T

4

NOP

NOP

NOP

U

T

4

=

A

4.3

SA

;Arranque con retardo a la desconexión

35

Ejemplo:

 

U

E

3.4

L

MW 13

SA T

5

NOP

NOP

NOP

U

T

5

=

A

4.4

R

;Reponer una temporización

Instrucciones para los contadores

S

Z

n

;Cargar el contador

R

Z

n

;Borrar el contador

ZV

Z

n

;Incrementar el contador

ZR

Z

n

;Decrementar el contador

Ejemplo:

Al cerrar la entrada 4.1 se debe cargar un 7 en el contador 1, la salida 2.5 a partir de este momento

adquiere el valor uno, cada vez que se cierre la entrada 4.0 el valor del contador se decremento en uno.

La salida 2.5 se pone a cero cuando el contador alcanza el valor cero.

U

E

4.0

ZR

Z

1

NOP

U

E

4.1

L

KZ 7

S

Z

1

NOP

NOP

NOP

U Z

1

= A

2.5

Instrucciones de comparación

!=F

;AKKU2 = AKKU1

><F

;AKKU2 >< AKKU1

>F

;AKKU2 > AKKU1

>=F

;AKKU2 >= AKKU1

36

<F

;AKKU2 < AKKU1

<=F

;AKKU2 <= AKKU1

Ejemplo: Se desea comparar los bytes de entrada 19 y 20: Si son iguales se activará la salida 3.0.

L

L

!

=

EB

EB

= F

A

19

20

3.0

Instrucciones aritméticas

+F

;Suma

AKKU1 <---- AKKU2 + AKKU1

-F

;Resta

AKKU1 <---- AKKU2 + AKKU1

Antes de ejecutar las operaciones aritméticas es necesario cargar en los AKKUS ambos operandos, observando que tengan el mismo formato de número.

Ejemplo:

L

Z3

;En el AKKU1 se carga el valor del contador 3.

L

Z1

;El valor del contador 1 se carga en el AKKU1. El contenido previo del AKKU1 se

+F

;desplaza al AKKU2. ;Los contenidos de ambos AKKUS se interpretan como números en coma fija de 16 ;bits y se suman.

T AW 12 ; El resultado (contenido del AKKU1) se transfiere a la palabra de salida 12.

Instrucciones de salto entre módulos de programa

SPA

;Salto incondicional

SPB

;Salto condicional (Si el VKE=1)

Instrucciones para crear y activar tablas de datos

A

;Activación de un módulo de dato

E

;Creación de un módulo de dato

Instrucciones para finalizar los módulos

BE

;Fin de módulo

BEA

;Fin absoluto de módulos

BEB

;Fin condicional de un módulo (Si el VKE=1)

37

Otras instrucciones

STR

;Parar el autómata

NOP0

;Pone un byte en "00" en la memoria de programa, no hace nada

NOP1

;Pone un byte en "ff" en la memoria de programa, no hace nada

BLD

;Estructuración de los bloques en la pantalla

2.3.5 Introducción a los módulos OB.

El

sistema operativo es el programa que reside en la EPROM interna del autómata a la cual el usuario

no

tiene ningún tipo de acceso y este en determinados puntos realiza llamadas a los diferentes OB para

que realicen determinadas funciones, por ejemplo, cada vez que se energiza el autómata este llama al

OB21 para ver si tiene que hacer algo antes de ejecutar el programa principal; si al OB21 el usuario no

le ha programado nada, no se toma ninguna acción pero de estar este programado se ejecuta

completamente y después continúa, pudiendo ser una aplicación una demora para esperar que se estabilice la alimentación en la línea.

Otro ejemplo es el siguiente:

El autómata llama cíclicamente el OB1 y este es donde el usuario pone el programa principal para ir

llamando todos los demás programas que conforman la aplicación.

A continuación mencionaremos los OB del autómata S5-115, que el fabricante ha destinado para

diferentes funciones.

1-

OB1 Ejecución cíclica del programa

2-

OB2, OB3, OB4, OB5 son programas de alarmas y tienen su equivalente en los microprocesadores

a las entradas de interrupción, existiendo módulos de hardware (Tarjetas) que pueden provocar interrupciones y saltar a ejecutar estos módulos según sea el caso.

3-

OB21, OB22. Se ejecutan cuando el autómata pasa de STOP a RUN

4-

OB10, OB11, OB12, OB13. Ejecución de los programas que tienen que ser ejecutados con un

intervalo fijo de tiempo. Se colocan aquí las llamadas a los mismos, como ejemplo podemos citar el intervalo de muestreo que necesita un lazo de regulación PID. 5- OB19 Se ejecuta cuando existe la llamada a un módulo no cargado.

6-

OB23 Time Out. La tarjeta no responde en el tiempo estipulado.

7-

OB24 Retardo al actualizar la PAE ó la PAA.

8-

OB27 Error de sustitución.

9-

OB32 Error de transferencia en el DB.

38

10- OB34 Se ejecuta cuando el AG detecta que existe fallo en la batería y tiene que estar programado para que no se pierda el programa del autómata.

Existen un grupo de módulos OB programados que suministra el fabricante para que el usuario no tenga que programar, como por ejemplo:

1.- OB31, Disparo del tiempo de ciclo o Watch Dog. El programa normalmente no debe demorarse en su ejecución más de 500 ms, y si el programa del usuario dura más que esto él debe garantizar el llamado a este módulo para que el AG no caiga en el estado de STOP. 2- OB160, Lazo de tiempo programable, y se utiliza para que los programas corran en el mismo tiempo en procesadores de diferentes velocidades de ejecución. 3- OB251, Lazo de regulación PID que es llamado con un conjunto de parámetros para que pueda dar un valor correcto a su salida. 4- OB254, Se utiliza este módulo de programa para actualizar la PAE en cualquier lugar dentro del programa sin esperar a que comience un ciclo nuevamente. 5- OB255, Se utiliza para llevar el contenido de la PAA a las salidas directamente, sin tener que esperar el fin del ciclo.

2.3.6 Introducción a los módulos de Programación FB.

Estos módulos como se dijo anteriormente son programados de forma tal que realicen funciones generales para que puedan ser llamados con diferentes operandos específicos. Se confeccionan con variables, como se diría en programación de alto nivel, y en el momento de llamarlos se le asignan valores a estas variables.

Ejemplo. Esto es un módulo de programación FB sencilla.

FB5

Nombre:Ejemplo DES:ENT1 E BI DES:ENT2 E BI DES:SAL1 A BI :U = ENT1 :U = ENT2 := = SAL1 :BE

Comentarios sobre dicho programa:

Primeramente debe señalarse que no se define ninguna entrada o salida específica, esto se hace cuando se llama a este programa, asignándosele entradas y salidas reales a cada una de las variables.

39

DES quiere decir designar, E que es un operando de entrada y BI que esa entrada es de bit.

Por ejemplo, para llamar al programa anterior FB5 se procede así desde otro programa cualquiera denominado en este caso PB :

PB3

:SPA FB5 NOMBRE:EJEMPLO ENT1:E 4.1 ENT2:M 1.3 SAL1:A 0.1 :BE NOTA:

En una llamada pueden existir como máximo 40 parámetros de entrada. Como regla en una aplicación específica primeramente hay que confeccionar los FBxxx, después los PBxxx y por último los OBxxx.

El fabricante suministra un grupo de módulos FB ya programados para que el usuario los utilice y así disminuye la posibilidad de error, estos son:

1- FB238

Para compactar la memoria de programa, no dejar espacios.

2- FB239

Borra cualquier módulo en la memoria.

3- FB240

Convertir números de BCD a Hexadecimal.

4- FB241

Convertir números de coma fija a binario.

5- FB242

Multiplicación de números de 16 bits.

6- FB243

División de números de 16 bits.

7- FB244

Transmisión de datos serie.

8- FB245

Recepción de datos serie.

9- FB246

Búsqueda de datos.

10-FB247

Control.

11-FB248

Reset.

12-FB249 Sincronización.

13-FB250

Lectura de un canal Analógico.

14-FB251

Escritura en un canal Analógico.

2.3.7 Banderas de control ANZ0, ANZ1, OV.

El procesador del autómata SIMATICS5-115 tiene las tres indicaciones siguientes:

 

ANZ 0.

 

ANZ 1.

 

OV Desbordamiento (overflow).

Las siguientes operaciones afectan a las indicaciones:

40

- Operaciones de comparación.

- Operaciones aritméticas.

- Operaciones de desplazamiento.

- Algunas operaciones de transformación.

El estado de las indicaciones condiciona diferentes operaciones de salto.

Activación de indicaciones con operaciones de comparación. Al ejecutar las operaciones de comparación se activan las indicaciones ANZ 0 y ANZ desbordamiento. Las operaciones de comparación afectan al resultado de combinación. Siempre que se cumpla la condición a comparar, VKE = 1. Por ello, tras una operación de comparación es posible utilizar también la operación de salto condicional ¨SPB¨.

Contenido del

Indicaciones

Operaciones

AKKU2

ANZ 1

ANZ 0

OV

de

salto

comparado

 

posibles

con

el

contenido

del

AKKU1

igual

0

0

-

SPZ

menor

0

0

-

SPN SPM

mayor

1

0

-

SPN SPP

Activación de indicaciones con operaciones aritméticas. La ejecución de las operaciones aritméticas activa todas las indicaciones, dependiendo del resultado de la operación.

Resultado

tras

Indicaciones ANZ 1 ANZ 0 OV

Operaciones

de

salto

ejecutar la

posibles.

operación

 

aritmética.

< -32768

1

0

1

SPN,SPP,SPO

 

- 32768 a -1

0

1

0

SPN,SPM

0

0

0

0

SPZ

+1 a 32767

1

0

0

SPN,SPP

> +32767

0

1

1

SPN,SPM,SPO

 

(-) 65536

0

0

1

SPZ,SPO

Activación de indicaciones con operaciones combinacionales por palabras. Las operaciones combinacionales por palabras activan las indicaciones ANZ 0 y ANZ 1. No se modifica la indicación de desbordamiento. La activación de las indicaciones depende del estado del último bit desplazado.

41

Valor del último bit desplazado

Indicaciones ANZ 1 ANZ 0 OV

Operaciones

de

salto posible

¨0¨

0 0

SPZ

¨1¨

1 0

SPN,SPP

Activación de indicaciones con operaciones de transformación. La formación del complemento a dos (KZW) activa todas las indicaciones. El estado en que quedan las indicaciones depende del resultado de la función de transformación.

Resultado

tras

la

Indicaciones

Operaciones

de

ejecución

de

la

salto posibles

operación

ANZ 1 ANZ 0 OV

<-32768

1

0

1

SPN,SPP,SPO

-32768 a -1

 

0

1

0

SPN,SPM

+1 a +32767

 

1

0

0

SPN,SPP

> +32767

0

1

1

SPN,SPM,SPO

(-)65536*

0

0

1

SPZ,SPO

*Este No. es el resultado de la transformación de KH = 8000

2.3.8 Grupo de operaciones complementarias.

Este grupo de instrucciones solamente se pueden usar en los módulos de programa FB y sólo son representadas en lenguaje de lista de instrucciones.

El grupo de Instrucciones complementarias se divide en:

- Operaciones de carga.

- Operaciones de liberación.

- Operaciones de prueba de bit.

- Operaciones combinacionales de palabra.

- Operaciones de desplazamiento.

- Operaciones de transformación.

- Operaciones de procesamiento.

- Operaciones de salto.

- Operaciones de sustitución.

Operaciones de carga

L BS n

;Carga el AKKU1 con una palabra de datos del sistema

42

Operaciones de liberación

FR [T/Z] n ;Rearranca un timer o un contador

Ejemplo:

U

E

2.5

;Se rearranca el timer T2 con el valor

L

KT

5.3

;especificado anteriormente, la señal

SV T

2

;E2.5 deberá mantenerse en "1" para que

U

T

2

;se cumpla esa condición

=

A

4.2

U

A

3.4

FR T

2

BE

Operaciones de prueba de bit

P [T/Z/D/BS] [0.0

Chequear un bit determinado de una palabra, si el bit correspondiente está en uno se pone a uno el VKE y si el bit está en cero se pone a cero el VKE.

127.15]

PN [T/Z/D/BS] [0.0 127.15]

Chequea un bit determinado de una palabra, si el bit está en cero el VKE se pone a uno y si el bit está

en uno el VKE se pone a cero.

SV [T/D/Z] [0.0 127.15] Poner un bit a uno, sin ninguna condición

SV [T/Z/D] [0.0 127.15] Poner un bit a cero, sin ninguna condición

Ejemplo:

En la entrada E 2.0 está conectada una barrera luminosa para contar piezas. Tras cada 100 piezas se

desea saltar al módulo funcional FB 5 o al FB 6. Tras 800 piezas se desea borrar automáticamente el contador 10, y que comience a contar de nuevo.

AWL

Explicación

A

DB 10

Llamada al módulo de datos 10.

U

E 2.0

ZV Z 10

U E 3.0

L KZ 0

El valor del contador Z10 se carga con la cte. 0 a través de la entrada E 3.0. Con cada cambio de flanco positivo en E 2.0 sube en 1 el estado del contador. El contador se borra mediante E 4.0

43

S

Z 10

o la marca M 5.2. El estado actual del contador se deposita,

O

E 4.0

codificado en BCD, en la palabra de datos 12.

O

M 5.2

R

Z 10

LC Z 10

T DW 12

PN D 12.8

Mientras que el bit 8 de la DW 12 sea cero, se salta al FB 5. Esto

SPB FB 5

ocurre con la pieza segunda, cuarta, sexta, etc.

P D 12.8

SPB FB 6

P D 12.11

= M 5.2

Cuando es 1 el bit 11 de la DW 12 ( el estado del contador es con ello 800 ), se activa condicionalmente la marca M 5.2.

Operaciones combinacionales lógicas de palabras.

Estas instrucciones son las mismas que existían para bit pero que ahora los dos operandos son de palabra.

En todos los casos se procede de la misma forma, se hace la operación lógica que se indique entre el

AKKU1 y el AKKU2 y el resultado de esa operación se deposita en el AKKU1

U

W

;AND lógico de palabra

O

W

;OR lógico de palabra

XO W

;OR EXCLUSIVO de palabra

Ejemplo:

AWL

Explicación

L

EW 92

En el AKKU1 se carga la palabra de entrada 92.

L

KH 00FF

En el AKKU 1 se carga una constante. El contenido original del

UW

AKKU1 se desplaza al AKKU2. Se efectúa la combinación AND de los contenidos de ambos AKKU´s.

T AW 82

El resultado ( contenido de AKKU 1 ) se transfiere a la palabra de salida 82.

Operaciones de desplazamiento

Estas operaciones con cada desplazamiento que realicen por el lado contrario le entra un cero.

SL W

;Rotación a la Izquierda, el número de veces que indique n.

44

SR W

;Rotación a la izquierda, el número de veces que indique n.

Ejemplo:

AWL

Explicación

L DW 2

SLW 3

T DW 3

Se carga en el AKKU1 el contenido de la palabra de datos 2. Se desplaza tres posiciones a la izquierda la configuración binaria en el

AKKU1.

El resultado (contenido del AKKU1) se transfiere a la palabra de datos 3.

AKKU1

AKKU2

464 (DW 2)

00000001 11010000

3712

00001110 10000000

En la palabra de datos está depositado el valor 464. Se desea multiplicar este valor por 8. Para ello se desplaza en tres posiciones hacia la izquierda la configuración binaria de DW 2 en el AKKU1.

Operaciones de transformación

Permiten transformar los valores contenidos en el AKKU1

KE

w

;Complementar los bits.

KZ

w

;Complemento a 2 de la palabra (Convertir a negativo).

D

[0

255]

;Decrementar tantas veces como se indique.

I

[0

255]

;Incrementar tantas veces como se indique.

AS

;Deshabilitar todas las alarmas.

FS

;Habilitación de las alarmas.

Operaciones de procesamiento

B {MW/DW} 0

254

Esta operación permite modificar el parámetro de un operando durante la ejecución del programa de

mando. Este programa trabaja entonces con el parámetro depositado en la palabra de marca o de datos llamada por la primera instrucción.

Operaciones de salto

SPA

= etiqueta

;Salto incondicional

SPB

= etiqueta

;Salto si EL VKE = 1

45

SPZ = etiqueta SPN = etiqueta SPP = etiqueta SPM = etiqueta SPO = etiqueta

;Salto si ANZ0=0 y ANZ1=0 ;Salto si ANZ0 desigual a ANZ1 ;Salto si ANZ1=1 y ANZ0=0 ;Salto si ANZ0=1 y ANZ0=0 ;Salto si overflow

Operaciones de sustitución

Este grupo de instrucciones permite realizar operaciones lógicas como las del grupo básico pero ahora

se pueden especificar los operandos formales (más conocido como etiquetas o identificador). El operando de bit puede ser una marca, entrada o salida.

U = Operando de bit ;AND

UN = Operando de bit

O = Operando de bit ;OR

ON = Operando de bit

S = Operando de bit

RB = Operando de bit

;NAND

;NOR

;Poner un operando a "1" ;Poner un operando a "0"

=

= Operando de bit

;Asigna el valor del VKE al operando

L

= Operando

; Cargar un operando formal.

LC = Operando LW = Operando

;Cargar codificadamente un operando formal. ;Cargar la configuración binaria de un operando formal.

T = Operando

; Transferir a un operando formal.

Operaciones de tiempo y conteo.

Estas operaciones desde el punto de vista del funcionamiento son idénticas a las de arrancar los timer, con la única diferencia de que ahora los timer y los contadores pueden ser llamados por un nombre, (variable, Operando formal)

FR = Operando

RD = Operando

SI = Operando

SE = Operando SZV = Operando SSV = Operando SAR = Operando

Operaciones del Sistema.

SU BS Parámetro

;Poner un bit particular en "1"

46

RU BS Parámetro

;Poner un bit particular en "0"

LIR

{0/2}

;Carga indirectamente el AKKU1 o AKKU2.

TIR

{0/2}

;Transfiere el AKKU1 o AKKU2 Indirectamente.

TBN

BS

0

255

;Transfiere un bloque de bytes.

T

BS

0

255

;Transfiere una palabra a la zona de datos.

SPR

-32768

+32767

;Salto relativo.

TAK

;Intercambia el contenido de los AKKU1 y AKKU2.

STS

;Pone la CPU en stop.

2.3.9 Ejercicio.

Este ejemplo práctico muestra el procedimiento de confección de un programa y su ejecución sobre el

autómata. Se trata de realizar el control del nivel de agua de un tanque en una azotea, partiendo de un depósito (Cisterna), y una bomba para impulsar el agua hacia el tanque superior.

A 32.0

E 0.0 '1' Tanque E 0.1 '1' M Válvula de entrada Cisterna E 0.2
E
0.0
'1'
Tanque
E
0.1
'1'
M
Válvula de entrada
Cisterna
E 0.2

Definición de las entradas y salidas usadas:

E 0.0 NMAT

;Nivel máximo del tanque superior

47

E

0.1 NMIT

;Nivel mínimo del tanque superior

E

0.2 NMIC

:Nivel mínimo de la cisterna

A

32.0 MOT

;Motor de la bomba

El programa se desarrolla en dos formatos diferentes, el primero se hace para un módulo PB y el otro para un FB y así se puede apreciar la forma de programación diferente para cada caso.

PB1

U E 0.2

;Si hay agua por encima del nivel

UN E

0.1

;mínimo de la cisterna y el tanque está vacío

S

A 32.0

;arranca el motor

O

E 0.0

;Si se llenó el tanque o se vacía la cisterna

ON E

0.2

;se para el motor

R A 32.0

BE

; ;Fin del programa

Si este mismo programa lo fuéramos a realizar en un FB5 sería así:

PB3

SPA FB5 NOMB MOTOR NMIT E 0.1 NMIC E 0.2 NMAT E 0.0 MOTO A 32.0

FB5

NOMB: MOTOR

BEZ: NMIC

E

BI

BEZ: NMIT

E

BI

BEZ: NMAT

E

BI

BEZ: MOTO

A

BI

: U = NMIC

: UN = NMIT

: S = MOTO

: O = NMAT

: ON = NMIC

: UN = MOTO

: BE

48

III.- Corrección de errores en el programa STEP5.

Las perturbaciones en el AGS5-115 pueden tener diversas causas; al producirse éstas el sistema operativo activa diferentes bits de análisis, que pueden consultarse con un aparato de programación (PG) a través de la función USTACK.

Función de análisis Ustack.

La pila de interrupciones USTACK es un área de memoria interna del autómata, en ella se depositan los mensajes de perturbación (Los motivos que provocaron que el AG pasara a stop) y cuando esto ocurre se activa el bit asociado a la causa.

El usuario cuenta con un grupo de tablas que le permiten identificar por medio del código el error

ocurrido; para esto se brindan en el manual del AG las indicaciones necesarias que orientan los pasos

al usuario.

A continuación se muestran las fallas fundamentales que se pueden presentar, así como sus posibles

causas y la forma de repararlas.

Síntoma

 

Causa del error

Acción a ejecutar

 

No es posible rearrancar

Módulo erróneo:

Borrado total.

 

-Puesta en servicio errónea. -Al fallar la red se interrumpió la transferencia del módulo del PG al AG. -Error de programación. El DB1 está programado erróneamente. Error en la rutina de autoprueba de la CPU.

Cargar

nuevamente

el

programa.

Cambiar la denominación del

 

DB1.

Sustituir la CPU.

 

Módulo

de

memoria

Identificador de módulo no admisible.

Utilizar un módulo admisible.

erróneo.

Fallo de la batería.

 

Batería no presente o descargada.

Sustituir la batería. Borrado total. Cargar nuevamente el programa.

 

49

Interrupción de la ejecución del programa.

Selector en STOP. Error de sustitución:

Llamada a módulo funcional con parámetro actual erróneo. Error de transferencia:

Poner el selector en RUN. Corregir la llamada del módulo funcional.

Eliminar

el

error

de

-Instrucción de módulo de datos programada con no. de palabra de datos>longitud del módulo de datos. -Instrucción de módulo de datos programable sin apertura previa del DB. Instrucción de parada de software. Instrucción no decodificable. -No. de niveles de paréntesis sobrepasado. -Parámetro fuera de margen. Se ha sobrepasado la profundidad máxima de anidado de módulos. Fallo de la red. Retardo de respuesta de la periferia. -En el programa se manipula un byte de periferia no direccionado o no contesta una tarjeta periférica. Responde el perro guardián:

programación.

 

Eliminar

el

error

de

programación.

 

Eliminar

el

error

de

programación.

 

Eliminar

el

error

de

programación

o

sustituir

la

tarjeta periférica.

 

El tiempo de ejecución del programa sobrepasa el tiempo de vigilancia del ciclo ajustado.

Comprobar si el programa tiene lazos sin fin o modificar el tiempo de vigilancia.

También el autómata 115 cuenta con diferentes módulos de organización (OB) que permiten dar tratamiento a los errores que puedan presentarse, por ejemplo:

OB19 El autómata ejecuta este OB si se llama a un módulo no cargado.

OB23 Módulo destinado al Time Out en caso de acceder directamente a la periferia.

OB24 Módulo destinado al Time Out en caso de actualizar la imagen de proceso o las marcas de acoplamiento.

Programando estos bloques se puede evitar que el autómata pase a stop en caso de que ocurran estos fallos.

Datos del sistema.

El autómata S5-115 como todos los miembros de esta familia, tiene una zona de memoria donde se ubican físicamente los parámetros y datos del sistema, de los cuales se nutre la CPU para la ejecución cíclica del programa.

50

Con un juego especial de instrucciones el usuario puede acceder a esta zona y obtener informaciones del comportamiento del sistema y variar parámetros que harán cambiar el comportamiento del AG. Estas instrucciones deben ser usadas por programadores expertos y que tengan un gran conocimiento de cómo trabaja el AG.

Entre otras cosas aquí podemos ver las direcciones físicas donde comienza cada módulo de programa, las direcciones físicas de las marcas y temporizadores.

También esta zona contiene las palabras del sistema (SD) que permiten conocer el estado de funcionamiento, así como las diferentes causas de errores.

Ejemplos:

SD206

Dirección donde pasó a stop la CPU.

SD203

AKKU1

SD204

AKKU2

SD209

Seis niveles de paréntesis

Parámetros del DB1.

El DB1 es un bloque de datos por medio del cual, en el momento del arranque, se le dan al sistema un conjunto de datos que crean las condiciones para que el programa de mando corra bajo los parámetros previstos. Si este bloque no se parametriza el sistema le asigna los valores que él trae programado por defecto.

En el DB1 se parametrizan las marcas de acoplamiento, si se emplea la RED SinecL1, el número de esclavo que tiene la RED, la dirección de Transmisión y Recepción.

Datos del Sistema:

Si se emplean las alarmas se fijan las prioridades del OB. Se fijan los tiempos de los OB11, OB12, OB13 y OB14. Se definen la cantidad de M, T y Z que serán remanentes. Se ajusta el tiempo máximo de ciclo del autómata. Se define la demora inicial de arranque.

51

IV.- Ejemplos.

1) Lazo PID.

A continuación se ejemplifica cómo se programa un lazo de regulación PID con los módulos de

programas que vienen integrados en el AG y para ello se usará un lazo para controlar el nivel de agua

en un tanque.

Se tiene un tanque de agua y mediante una válvula en la entrada se regula el flujo de agua hacia el mismo; esta válvula es comandada con una señal eléctrica de 0 a 10 voltios (0v=Cerrada, 10v=Máxima abertura)

El sensor de nivel del tanque es analógico, dando a su salida un voltaje proporcional al nivel alcanzado por el tanque (0v=Tanque vacío, 10v=Tanque lleno).

Como set point o consigna tenemos un potenciómetro que da también una salida entre 0 y 10 voltios proporcional al nivel al que deseamos que el tanque se encuentre lleno.

SAL 10 v ANL 0 v 10 v ENT 0 v ANL M 80 %
SAL
10 v
ANL
0 v
10
v
ENT
0
v
ANL
M
80 %
SETPOINT

Para implementar este lazo de regulación utilizaremos los siguientes módulos de programas que están integrados en el AG.

FB250 Lo usaremos para la lectura de entradas analógicas. FB251 Da la salida de una variable analógica. OB251 Lazo de regulación PID que parametrizaremos. OB13 Para fijar el intervalo de tiempo para llamar el OB251

El

programa tendrá los siguientes pasos:

1-

Llamada al FB250 para leer la altura de agua en el tanque

2-

Llamada al FB250 Para leer el valor deseado

3-

Llamada al lazo de regulación PID

52

4-

Llamada al FB251 para comandar la válvula reguladora

Cuerpo del programa comentado:

1- Este es el primer programa que debe aparecer, que es el que define el período de muestreo de la señal, porque es el encargado de llamar al FB1.

OB13

SPA FB1

;Llamada al FB1

BE

;Fin del módulo OB13

2- Este es el cuerpo del programa principal que se encarga de leer la altura que tiene el agua dentro del