You are on page 1of 57

AUTMATAS

PROGRAMABLES

(PLC)

Puerto Ordaz, Venezuela. Marzo de 1996

Prof.: Hctor J. Garcini Leal

I.- INTRODUCCIN A LOS AUTMATAS PROGRAMABLES. ............................ 3


1.1 SOLUCIONES PARA EL AUTOMATISMO. .......................................................................... 3
1.2 NOCIONES SOBRE SISTEMAS LGICOS............................................................................ 5
1.3 EL AUTMATA PROGRAMABLE...................................................................................... 8
Tamao de los autmatas programables. ...................................................................... 10
1.4 ARQUITECTURA INTERNA DEL AUTMATA. ................................................................. 11
1.5 UNIDADES DE ENTRADA/SALIDA ................................................................................. 15
Tarjetas de Entrada/Salida analgicas........................................................................... 16
Tarjetas de E/S de Cdigos Numricos. ........................................................................ 17
Tarjetas de E/S Especiales. ........................................................................................... 17
1.6 UNIDADES DE PROGRAMACIN. ................................................................................... 19
1.7 MONTAJE. .................................................................................................................... 20
1.8 CONDICIONES AMBIENTALES DEL ENTORNO. ................................................................ 21
1.9 PUESTA A PUNTO Y EN SERVICIO. ................................................................................. 21
1.10 MANTENIMIENTO ...................................................................................................... 21
1.11 CARACTERSTICAS TCNICAS DE LOS AUTMATAS PROGRAMABLES. ........................ 23
II.- ELEMENTOS DE PROGRAMACIN. ................................................................ 24
2.1 GENERALIDADES.......................................................................................................... 24
2.2 LENGUAJES DE PROGRAMACIN. ................................................................................ 26
2.3 LENGUAJE DE PROGRAMACIN STEP5. ....................................................................... 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 STEP5. .......................................... 32
2.3.4 Instrucciones ........................................................................................................ 32
2.3.5 Introduccin a los mdulos OB. .......................................................................... 37
2.3.6 Introduccin a los mdulos de Programacin FB. ............................................... 39
2.3.7 Banderas de control ANZ0, ANZ1, OV. .............................................................. 40
2.3.8 Grupo de operaciones complementarias. ............................................................. 42
2.3.9 Ejercicio. .............................................................................................................. 46
III.- CORRECCIN DE ERRORES EN EL PROGRAMA STEP5. ......................... 49
IV.- EJEMPLOS. ............................................................................................................ 52
V.- EVOLUCIN DE LOS AUTMATAS PROGRAMABLES. TENDENCIAS. .. 57

I.- Introduccin a los autmatas programables.


La automatizacin de cualquier proceso productivo sustituye el trabajo directo del hombre por el de
un conjunto de dispositivos que ejecutan la misin de controlar el proceso. Para esto se requieren
dispositivos que obtengan informacin sobre el estado del proceso, a los que denominaremos
captadores, dispositivos que acten sobre el proceso, a los que denominaremos actuadores, y del
dispositivo capaz de realizar la accin de control como tal, al que denominaremos automatismo.
Este sistema puede ilustrarse mediante el siguiente esquema:
seales de deteccin

captadores

automatismo

proceso

trabajo

actuadores

rdenes de funcionamiento

1.1 Soluciones para el automatismo.


La labor a realizar por el automatismo generalmente puede expresarse en forma de una secuencia de
operaciones que deben ser gobernadas convenientemente. Esto podra representarse mediante un
conjunto de funciones lgicas que pueden ser implementadas de diferentes formas, es decir, pueden
realizarse con diferentes tecnologas. Estas opciones tecnolgicas pueden agruparse en dos categoras:
lgica cableada
lgica programada
Lgica cableada: la solucin del automatismo se logra mediante el diseo de un "hardware"
particular
para el caso. En esta categora pueden distinguirse dos familias:
Elctrica: rels electromagnticos
electroneumtica (neumtica-fludica)
electrohidrulica
Electrnica: rels estticos
circuitos integrados (SSI, MSI, LSI)
Lgica programada:
La realizacin de la operacin o funcin lgica se efecta con un "hardware" de caractersticas
generales, no concebido especficamente para una aplicacin particular, con el empleo de un medio de
cmputo programable, como puede ser un microprocesador, un microcontrolador, una

microcomputadora o un autmata programable y la aplicacin concreta se resuelve mediante un


programa particular.
El siguiente cuadro muestra las opciones tecnolgicas posibles.
Tipo

Familia tecnolgica Subfamilias especficas


Rels electromagnticos
Lgica
Elctrica
Electroneumtica
cableada
Electrohidrulica
Electrnica
Electrnica esttica
Sistemas
Microordenadores
Lgica
Electrnica
informticos
Miniordenadores
programada
Microsistemas (universales especficos)
Autmatas programables (PLC)

Estudio para la decisin del proyecto del automatismo:


Es claro que la decisin en cada caso de emplear lgica cableada o lgica programada requiere un
estudio que debe cumplir diferentes pasos:
Estudio previo:
a) especificaciones del proceso o sistema a automatizar y su correcta interpretacin.
b) respaldo econmico.
c) materiales, equipos, etc. en el mercado, teniendo en cuenta la calidad de la informacin tcnica,
la disponibilidad y rapidez de recambios y la asistencia tcnica.
Estudio tcnico-econmico:
Implica la resolucin de las diferentes opciones tecnolgicas y el estudio econmico de las
mismas, planteando las especificaciones del automatismo en cuanto a:
a) materiales y aparatos.
b) adaptacin al sistema y al entorno.
c) mantenimiento y fiabilidad.
d) balance de costo-efecto econmico (prestaciones).
Decisin final:
En la toma de decisin 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 ampliacin y aprovechamiento de lo existente.
c) posibilidades econmicas y rentabilidad de la inversin.
d) ahorro en necesidades parael manejo y mantenimiento.
e) aspectos particulares.

1.2 Nociones sobre sistemas lgicos.


Sistemas de numeracin:
Los sistemas de numeracin son el medio con que se cuenta para expresar una cantidad, en otras
palabras, las cantidades se expresan mediante nmeros. El nmero depende del sistema numrico o de
numeracin empleado, y de forma general puede expresarse como:
n

# ai b

a i 0,1,..., b 1

i 0

Existen tantos sistemas de numeracin como a Ud. se le pueda ocurrir, estando entre los ms
empleados:
Sistema decimal:
b = 10
a i = 0,1,2,...,9
3
2
1
0
Ejemplo: 110 + 210 + 410 + 810 = 1000 +200 + 40 + 8 = 1248
Sistema binario:
b=2
a i = 0,1
Ventaja: facilidad de representar dos valores diferentes en un ente fsico.
Ejemplo: 1011001 = 126 + 025 + 124 + 123 + 022 + 021 + 120 = 64 + 16 + 8 + 1 = 89
BCD: (binary coded decimal)
- cada dgito decimal se codifica en binario
Ejemplo: 639 = 011000111001
Hexadecimal:
b = 16
a i = 0,1,2,...,9,10,11,...,15 = 0,1,2,...,9,A,B,C,D,E,F
2
1
Ejemplo: 27F H = 216 +716 + F160 = 512 + 112 + 15 = 63910 .
Variable y funcin lgica:
Se entiende por variable lgica una variable que representa si determinada condicin es cierta o falsa,
por lo que se expresa mediante dos valores bien diferenciados.
Vase esto por el siguiente ejemplo:
variable x : existe alto nivel del lquido en el tanque
Segn la definicin 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 lgico y el de 0 lgico. Ntese que estos dos valores
fsicamente deben corresponder con dos valores de una seal fsica bien diferentes entre s, p.e. dos
voltajes, corrientes, presin neumtica, etc.
Las relaciones de las variables lgicas se denominan funciones lgicas, que son combinaciones de las
operaciones lgicas bsicas. Las operaciones lgicas bsicas son:
- Suma o unin

- Producto o interseccin
- Negacin
Suma o unin: la operacin de suma o unin tendr valor lgico de 1 si cualquiera de las variables
vale 1. Esto puede expresarse, para dos variables, por la siguiente tabla:
x
0
0
1
1

y
0
1
0
1

f
0
1
1
1

Esta operacin se expresa: f = x + y


Esta operacin se conoce tambin (y es la forma en que ms frecuentemente se denomina) OR (O
lgico).
Ntese que esto implica que :
0+0=0
0+1=1
1+0=1
1+1=1
Producto o interseccin: la operacin producto tendr valor lgico 1 si y slo si todas las variables
tienen valor 1. Esto para dos variables se corresponde con la tabla:
x
0
0
1
1

y
0
1
0
1

f
0
0
0
1

Esta operacin se expresa: f = x y = xy


Esta operacin se le denomina comnmente AND (Y lgico) e implica que:
00=0
01=0
10=0
11=1
Otra manera de expresar esta funcin es que el producto o interseccin (funcin AND) tiene salida 0
siempre que al menos una de las entradas tenga valor 0. Ntese que esto equivale a decir que la
funcin AND equivale a un OR de ceros, como a veces tambin se le dice.
Negacin: la negacin de una variable tendr valor 1 cuando la variable tiene valor 0 y viceversa.
Luego, la negacin de una variable ser:

x
0
1

f
1
0

Esta operacin se expresa: f = x = x

Existen funciones lgicas de empleo comn, entre ellas la llamada OR exclusivo (EXOR),
denominada tambin suma sin acarreo. La tabla que describe su funcionamiento es:
x
0
0
1
1

y
0
1
0
1

f
0
1
1
0

En este caso, la funcin ser 1 slo si las entradas son diferentes. La funcin OR exclusivo se puede
expresar de la forma:
f x y
Las funciones lgicas pueden implementarse de diferentes maneras. En fin, todo elemento fsico al
que se le puedan distinguir dos estados bien diferenciados puede servir para realizar una variable,
operacin o funcin lgica. En la prctica, se han empleado diferentes elementos o dispositivos.
Principalmente, las variables lgicas se implementan con medios elctricos y electrnicos. De esta
forma, podemos hablar de la lgica de contactos, las compuertas lgicas y la lgica programada.
Implementacin de las funciones lgicas:
Lgica de contactos:

contacto normalmente
abierto

contacto normalmente
cerrado
_

f =x.y
x

y
x
f =x+y
y
x

f =x+y
_

y
_

f =x.y

Compuertas lgicas:
x
f =x.y
y
x

f =x+y

y
_

f =x

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 Autmata Programable.

Se llama controlador lgico programable (PLC: programmable logic controler) o autmata


programable a toda mquina electrnica diseada para controlar en tiempo real y en medio industrial
procesos secuenciales. Su manejo y programacin puede ser realizada por personal elctrico o
electrnico sin conocimientos informticos. Realiza funciones serie, paralelo, temporizaciones,
conteos y otras ms potentes como clculos, regulaciones, etc. Su historia comienza en 1968 cuando
Ford y General Motors encargan el estudio de un sistema de control electrnico.
Los Autmatas programables (PLC, API) se utilizan a nivel mundial en casi todos los sectores y para las aplicaciones ms
diversas. Tienen estructura modular y las diversas funciones de automatizacin son realizadas por diferentes tarjetas o
mdulos; esto permite configurar al autmata segn las necesidades del usuario.

El sistema ofrece diferentes facilidades de comunicacin y una gama escalonada de aparatos de


operacin, observacin y programacin. El editor (Compilador) con un extenso catlogo de software
posibilita una programacin muy sencilla.
Si de hacer una comparacin 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 aplicacin en el control de procesos.
Los Macrocontroladores o Autmatas Programables (PLC), presentan una estructura modular, con
componentes tales como:
Fuente de Alimentacin
Procesador Central (CPU)
Mdulos de Entrada
Mdulos de salida
Mdulos de comunicacin
Mdulos acondicionadores de seal
En cuanto a las particularidades de la programacin de los autmatas de la SIEMENS se puede
plantear que los fabricantes decidieron predeterminados mdulos de programacin para cada uno de
los casos segn las necesidades del usuario, dndole la facilidad de no tener que preocuparse por las
eliminaciones del ruido, niveles de seal, etc. Es muy usado el concepto de parametrizacin y no de
programacin, el cual facilita mucho el trabajo para el usuario, pues solamente se prefijan algunos
parmetros y el mdulo se encarga de realizar las funciones correspondientes.
El diseo del hardware queda reducido a seleccionar correctamente el tipo de procesador que se
necesite y un nmero y tipo de mdulos perifricos segn corresponda.
Los autmatas programables tambin 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
mdulos de comunicacin es posible conectar al autmata diferentes perifricos como
videoterminales, impresoras, teclados, etc.

La siguiente figura presenta el esquema bsico del autmata programable:


unidad alimentacin

captadores

seccin

seccin

CPU

de

de

entradas

actuadores

salidas
interfaces

dispositivos
consola de
programacin

perifricos

Caractersticas tcnicas fundamentales de un Autmata


Estructura (Redundante, No redundante, Alta disponibilidad).
Volumen de funciones y Algoritmos incorporados.
Lenguaje de programacin.
Tipo y velocidad del procesador.
Tiempo de reaccin 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 mxima de Entradas Digitales.
Posibilidad mxima de Salidas Digitales.
Posibilidad mxima de Entradas Analgicas.
Posibilidad mxima de Salidas Analgicas.
Diversidad de mdulos que suministra el fabricante.
Factibilidad de los aparatos de programacin.
Tamao de los autmatas programables.
Gama baja: Hasta un mximo de 128 entradas/salidas. La memoria de usuario de que disponen suele
alcanzar un valor mximo de hasta 4 K instrucciones.
Gama media: De 128 a 512 ent./sal. La memoria de usuario suele alcanzar un valor mximo de hasta
16 K instrucciones.
Gama Alta: Ms de 512 ent./sal. Su memoria de usuario supera en algunos de ellos los 100 K
instrucciones.

10

Estructura externa de los autmatas 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 autmata, de forma tal que en
un bloque compacto estn reunidas la CPU, memoria de usuario o de programa y fuente de
alimentacin, y separadamente las unidades de entrada/salida en los bloques o tarjetas necesarias.
Europea: Su caracterstica fundamental es que existe un mdulo para cada funcin: fuente de
alimentacin, CPU, entradas/salidas, etc. La unidad de programacin se une mediante cable y
conector. La sujecin de los mismos se hace bien sobre carril o placa perforada, bien sobre rack, en
donde va alojado el bus externo de unin de los distintos mdulos que lo componen.
1.4 Arquitectura Interna del Autmata.
La arquitectura interna del Autmata est compuesta por una unidad de control (CPU), el rea de
memorias, el rea de interfaces, el rea de entrada-salida, la fuente de alimentacin, el bus de
comunicacin, y otros elementos analgicos y digitales. La siguiente figura muestra su distribucin.
rea de CPU

rea de memorias

firmware

memoria
de datos

memoria
de trabajo

ROM

RAM

RAM

elementos
analgicos
y digitales

bus
CPU
rea de
fuente
de
alim.

de red
de alimentacin

interfaces

interfaz
interfaces
de unidad
de program. de perifricos

a unidad
de programacin

a perifricos

interfaces
de E/S

rea de

E/S

entradas

salidas

de captadores

a actuadores

a BUS
externo

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


Unidad Central de Procesos (CPU)
Seccin de entradas
Seccin de salidas
Unidad de alimentacin
Unidad de programacin
Perifricos

11

Interfaces
Memoria

Las funciones generales de cada rea son:


Unidad Central de Procesos (CPU)
Interpretacin y ejecucin 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 lgico
Operaciones de tipo aritmtico
Operaciones de control de transferencia de informacin dentro del autmata.
Los circuitos internos del p son:
Unidad aritmtica y lgica (ALU). Realiza los clculos y las decisiones lgicas.
Unidad de control. Emite las seales de control para cada instruccin.
Registros. Son memorias de almacenamiento temporal de:
- instrucciones
- datos
- direcciones
Los registros bsicos son:
- el acumulador
- el contador de programa
- registro de trabajo
- registro de banderas o de estado
Buses. Conductores para la transmisin en paralelo de datos, direcciones, instrucciones, seales
de control.
Los buses son:
- internos (dentro de un chip)
- externos (entre chips)
Existen CPU sin p, que emplean los llamados dispositivos lgicos programables (PLD) o los
arreglos lgicos programables (PLA o ASIC).
Seccin de entradas
Interfaz que adapta y codifica de forma comprensible por la CPU las seales procedentes de los
dispositivos de entrada (captadores). Los captadores son: detectores de valores lmites,
pulsadores, sensores, etc. La seccin de entradas debe garantizar tambin la proteccin de los
dispositivos internos del autmata, su separacin elctrica.
Seccin de salidas
Interfaz que decodifica las seales de la CPU, las amplifica y manda a los actuadores. Los
actuadores pueden ser: lmparas, rels, contactores, arrancadores, electrovlvulas, etc. La seccin
de salidas debe tambin proteger los circuitos internos del autmata.
Unidad de alimentacin

12

Suministro de la alimentacin a los circuitos del autmata. Generalmente 220 V c.a. ; 24 V c.c.
Unidad de programacin
Dispositivo externo mediante el cual se introducen las instrucciones del programa del usuario.
Perifricos
Dispositivos independientes que facilitan el uso del autmata o amplan su campo de aplicacin.
Interfaces
Permiten la conexin con la CPU de la programadora y los perifricos.
Memorias
La informacin en el CPU se almacena en forma binaria. La informacin binaria se organiza en
"octetos". Un octeto contiene 8 dgitos binarios (bits) y se le llama Byte.
Dos bytes conforman una "palabra".
Cada palabra define:
- una instruccin
- un dato numrico
- un grupo de estados de E/S.
La cantidad de palabras de una memoria se expresa en K, donde
1 K= 210 bytes = 1024 bytes
La siguiente tabla muestra las diferentes memorias que puede tener un autmata programable.
Programas ejecutivos,
firmware del sistema
(ROM o EPROM)
Memorias temporales
(RAM o EEPROM)
Memoria imagen o
tabla de estados de
E/S (RAM)
Memoria de datos
numricos y variables
internas (RAM)
Memoria
del
programa
de usuario (RAM)

Programa y memorias del


sistema o firmware

Memoria de la tabla
de datos

Memoria del
usuario

Memoria del programa


de usuario

El firmware o programa del sistema es ligeramente variable para cada autmata, pero, en general,
contiene las siguientes funciones:
Supervisin y control de tiempo de ciclo (watch dog), tabla de datos, alimentacin, batera, etc.
Autotest en la conexin y durante la ejecucin del programa.
Inicio del ciclo de exploracin de programa y de la configuracin del conjunto.
Generacin del ciclo base de tiempo.
Comunicacin con perifricos y unidad de programacin, etc.
El autmata funciona segn 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 Autmata. Los Contadores, Temporizadores, Marcas y otros
recursos son posiciones de memorias que se actualizan cada cierto intervalo de tiempo o segn
especifica el programador.
El usuario escribe el programa en un equipo de programacin y despus de convertido a cdigo
intermedio es transferido a la memoria RAM del AP para poderlo ejecutar, al estar este programa en
RAM el autmata tiene que tener en buen estado de funcionamiento su batera para en el caso que
falle el suministro de energa elctrica el programa no se pierda.
Cuando se conecta a la red de alimentacin el programa monitor o Firmware del autmata se encarga
de limpiar, poner a cero los contadores, marcas etc.
El autmata es por naturaleza un secuenciador; su funcionamiento es cclico. 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 ms que el estado en que se encuentran todas las entradas en ese
momento.
Seguidamente pasa a la ejecucin del programa, ejecutando una a una todas las instrucciones segn
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 autmata.
Como parte final de la tarea cclica del autmata ahora corresponde chequear la PAA y asignarle el
valor que corresponda a cada salida propiamente dicha, por lo que debe tenerse presente que las
salidas no se modifican con la ejecucin del programa, sino al concluir el mismo (Si otras cosas no
son implementadas).
El ciclo bsico de trabajo del Autmata puede representarse por:

imagen o estado
de las entradas

entradas

0o1

elaboracin
de las instrucciones del programa

ejecucin del estado de las salidas 0 o 1

14

salidas

Junto a la ejecucin del programa, la unidad de control chequea todas las funciones del sistema y si
detecta cualquier problema detiene el programa y activa la correspondiente sealizacin segn el caso.
El Acumulador es un registro mediante el cual es posible cargar los Timer y Contadores y realizar
otras operaciones, incluyendo las matemticas.
Las marcas son posiciones de memoria de un bit que el programador puede usar para sealizar 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) adaptacin de la tensin y la corriente de trabajo
2) separacin elctrica del autmata y el medio externo
3) identificacin de los captadores y actuadores
Las entradas se pueden clasificar:
a) En cuanto a la tensin:
- libres de tensin
- a c.c.
- a c.a.
b) En cuanto al tipo de seal
- analgicas
- digitales
El circuito bsico de entrada digital es:
led

optoacoplador

Las salidas se pueden clasificar:


a) En cuanto al dispositivo
- a rel
- a triac
- a transistor
El circuito bsico de salida a triac es:

15

b) En cuanto al tipo de seal


- digitales
- analgicas

Tarjetas de Entrada/Salida analgicas


1
1c

acoplador

A/D

2
2c

a bus
optoacoplador

Mx

ACS

calibracin

seccin

seccin

automtica

analgica

analgica

16
16c

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


- Un P para su control.
- Mx 4,8,16 canales analgicos en las entradas.
- Mx 4 canales en las salidas.
Tarjetas de E/S de Cdigos Numricos.

16

conversor de cdigo

conversor de cdigo

16

16

Tarjetas de E/S Especiales.


Entradas de Termopar
TC1+
TC1SHD
TC2+
TC2SHD

TCn+
TCnSHD

Acepta voltaje en mV.

17

Controlador de motor de paso


selector man/aut
giro/man
giro/man
datos

V+

V+

M/A
JOG+
JOGMOV

Avance
Retroceso

CCW
CW

COM

Driver
5-24 V
c.c.

Servocontrolador:
Posicionamiento de un eje o multieje.
- tiempos cortos de posicionado
- alta precisin
- buena fiabilidad
- alta repetibilidad
Representa una alternativa econmica al CNC
Mdulos de Control PID
man

control MAN/AUT

aut

salida analgica
retroalimentacin

proceso

entrada analgica

CP U

mdulo PID

Mdulo ASCII
Son interfaces con unidades de programacin y dispositivos perifricos.
funciones son:

18

Sus

Introduccin, verificacin y depuracin del programa.


Grabacin del programa a cassette, EPROM.
Comunicacin con TRC, impresora, teclado, etc.
Los mdulos ASCII ms empleados son el RS232 y RS 422.
Mdulo RS232: 25 lneas y seales (3 a 5 lneas necesarias)
distancia mxima 15 m.
velocidad mxima 20 Kbaudios
< -3 V MARK (1 lgico) +5 a +15 V mximo
> +3 V SPACE (0 lgico)
velocidades: 110 baudios
300
600
1200
2400
9600
19200

inicio

DATOS

par fin

Mdulo RS422: velocidad mxima 10 Mbaudios


la distancia mxima depende de la velocidad; para 100 Kbaudios, 1000 m
mximo 10 receptores en paralelo
cualquier estacin puede comenzar la transmisin.
1.6 Unidades de Programacin.
Es el medio material para grabar o introducir en la memoria de usuario las instrucciones del
programa. Adems realiza otras tareas. Las funciones principales son:
a) Programacin
introduccin de instrucciones
bsqueda de instrucciones o posiciones de memoria
modificacin del programa
- borrado de instrucciones
- insercin de instrucciones
- modificacin de instrucciones
deteccin de errores de sintaxis o formato
visualizacin del programa de usuario o parte del mismo
forzamiento del estado de marcas, registros, contadores, temporizadores, etc.
b) Grabacin de programas
en casete
en EPROM o EEPROM
en papel mediante impresora

19

c)

en diskette mediante PC
Visualizacin y verificacin dinmica 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 mdulos:
a) Tipo calculadora. Se emplean comnmente en los autmatas de la gama Baja. Constan de
teclado, conmutador de modos, display de cristal lquido o siete segmentos de dos o ms
lneas. En las de dos lneas slo se pueden escribir mnemnicos.
b) Consola de programacin. Consta de pantalla de plasma o similar y tamao para 20-30 lneas
y 60-80 caracteres por lnea y teclado. Los programas son almacenados en diskette.
c) Unidad con PC. Se adapta al autmata mediante la interfaz correspondiente. La grabacin del
programa se realiza en diskette o disco duro.
Las instrucciones que se introducen en la unidad de programacin no son directamente interpretables
por el procesador, que se auxiliar de un circuito intermedio llamado compilador.
Para programar los autmatas 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 mquina al autmata, pero hay que recordar que
este cable de unin es especial e internamente en el conector se necesita un pequeo circuito elctrico
que transforme le norma RS-232 que tiene la mquina en la norma TTY (Lazo de corriente) que tiene
el autmata.
Cules son los pasos para la ejecucin del paquete de software ?.
1.- Ejecucin del programa;
C:>S5 Retorno
Inmediatamente aparece un cuadro de seleccin de paquetes, en realidad es la seleccin del proyecto
completo que se est confeccionando.
1.7 Montaje.
El autmata se monta en un bastidor de aluminio y se atornilla a prueba de vibraciones, cada bastidor
de aluminio est identificado por un cdigo que especifica el modelo.
En la parte posterior y central de cada mdulo conectable al bastidor existe una pieza de plstico que
es especfica para cada mdulo, 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 mdulo para que ninguna
otra tarjeta sea colocable en ese lugar.
Los conectores frontales tienen conectores de dos tipos (Pinzas y Tornillos) pudindose extraer
completamente del mdulo, permitiendo la conexin de cables fuera del autmata.
1.8 Condiciones ambientales del entorno.
El entorno del autmata debe cumplir con ciertas condiciones:

Ausencia de vibraciones, golpes, etc.

No exposicin 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 lneas de alta tensin.


1.9 Puesta a punto y en servicio.
Para poner en funcionamiento al autmata es necesario ejecutar un conjunto de acciones que garanticen
un correcto desenvolvimiento del mismo. Por tanto es necesario realizar la supervisin total del
sistema.
a) Sin tensin: verificacin de las partes fsicas.
Correcta conexin de todas las partes componentes, incluidas las alimentaciones segn el
esquema.
Firme sujecin de cables a regletas, CPU, E/S, fuente, etc.
Identificacin exacta de cables mediante sealizadores con letras o nmeros.
Conexin firme del cable de tierra.
b) Con tensin: verificacin del sistema automtico.
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 inspeccin peridica.
El mantenimiento preventivo o inspeccin debe realizarse en forma sistemtica, siendo el perodo
adecuado dependiente del autmata, 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
averas detectadas y corregidas.
El mantenimiento preventivo deber contemplar acciones de:
a) Inspeccin visual.
- de los elementos mecnicos
sujecin
estado de los cables
tornillos apretados
- del CPU y E/S
seales en los LEDs que indiquen diagnstico de alguna falla
b) Condiciones ambientales
- temperatura y humedad adecuadas
- polvo
- vibraciones
c) Medidas de tensin de alimentacin
- variaciones de tensin cercanas a los lmites permisibles
- el valor de c.c. y el rizado (ripple) dentro del margen
- vida media de la batera
- tensiones de E/S
Las herramientas, aparatos y materiales necesarios para esto seran:
- algodn y alcohol para la limpieza de contactos
- herramientas de instalador
- multmetro de aguja de clase 0,5 o digital
- osciloscopio
- termmetro e higrmetro
Localizacin y reparacin de averas.
El procedimiento para la localizacin y reparacin de averas 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 programacin

22

Los fabricantes usualmente ofrecen un procedimiento de localizacin y reparacin de averas en el


manual.

1.11 Caractersticas tcnicas de los Autmatas Programables.


En la actualidad en el mundo hay decenas de fabricantes de PLC y centenares de modelos de los
mismos, por lo que la seleccin de uno en particular puede resultar una tarea compleja. Para esto,
puede ayudar una clara idea del conjunto de caractersticas tcnicas de los PLC.
Las caractersticas tcnicas de los PLC pueden agruparse en caractersticas referentes a:
a) Unidad Central (CPU)
- Tiempo de ciclo/1 Kinstrucciones
- Capacidad de memoria (Kpalabras)
- Tipos de memoria
- Si tiene coprocesador numrico
b) Entradas/Salidas
- Mximo E/S digitales
- Mximo E/S Analgicas
- Nmero E/S por mdulo
- PID
- Control de servomecanismo
c) Programacin
- Lenguajes
- Instrucciones aritmticas
- Unidades de programacin
d) Comunicaciones
- Nmero de canales serie
- Tipo de canales serie
- Tipo de red local

23

II.- Elementos de Programacin.

2.1 Generalidades.
Un programa es una sucesin o lista de instrucciones u rdenes de trabajo. Una instruccin tiene dos
partes principales:
Operacin
Qu?

|
|

Operando
Dnde?
| Smbolo | Parmetro

La operacin indica qu debe ejecutarse y se da mediante su cdigo que puede ser numrico o
mnemmico.
El operando indica la direccin del elemento con el que se debe ejecutar la operacin. El smbolo
indica que tipo de elemento es: entrada, salida, temporizador, etc. En los autmatas ms sencillos se
omite el smbolo.
Las instrucciones pueden dividirse en:
- rdenes de manejo o instrucciones de servicio, necesarias para la elaboracin, anlisis y puesta a
punto del programa, que pueden ser de: borrado de instruccin, borrado de programa, insercin de
instruccin, bsqueda de instrucciones del programa, inspeccin de programa, revisin de sintaxis,
grabacin de programa, listado de programa, modificacin y forzamiento de estados de elementos
internos, etc.
- rdenes de programacin o instrucciones de mando o de programa. Una lnea de programa consta
de:
Nmero de lnea o paso (STEP): posicin de la memoria donde se aloja la instruccin.
Operacin.
Operando.
Las instrucciones de programa se alojan en una celda de memoria desde la 0 hasta la n (en funcin de
la capacidad de memoria). La mayor parte de las instrucciones ocupan una palabra (2 bytes) que
corresponde con una lnea de programa.
Ejemplo: 0034 A E2.1
La ejecucin del programa puede ser:
cclica lineal
con salto condicional
con salto a subrutina
con programas en paralelo

24

Ejecucin lineal:

# l n e a i n s tr u c c i n
0000

instruccin

0001
0002
0003

"
"
"

n-1
n

"
"

Con salto condicional:

# l n e a i n s tr u c c i n
0000

instruccin

0001
0002
0003

"
"
"

s i s e cum ple la condicin e n la


u

"

"

n-1
n

"
"

i n s tr u c c i n u , s a l ta a v

25

Con salto a subrutina:


programa principal

subrutinas
nivel 1

nivel 2

nivel 3

Programas paralelos:
programa de asignacin de
programas paralelos con las
direcciones de comienzo

M0

M1

M2

M3

2.2 Lenguajes de Programacin.


En los PLC existen diferentes formas de lenguajes:
Mnemnico: se le denomina lista de instrucciones, booleano, abreviaturas mnemotcnicas, AWL.
Diagrama de contactos (ladder diagram): se le denomina tambin 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 tambin diagrama de flujo.
Los tres primeros son los ms comnmente empleados.
Suponga que se quiere programar una ecuacin lgica:

x x
1

x4 x5 y1 x3 Y1

En lgica cableada esto correspondera a:


Esquema a rels:

4
y

3
Y

Esquema a compuertas:

x
x

1
x2
x
4
x5

3
El programa para realizar esta funcin en los tres primeros tipos de lenguaje ser:
- Mnemnico.
(suponga que tiene el siguiente listado de mnemnicos posibles:
STR
: operacin inicio contacto abierto
STR NOT : operacin 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

4
y

Y
1

- Plano de funciones.
x
1
x
2
x
x4
5
y
x

&
>=1

&
=

&

1
3

2.3 Lenguaje de programacin STEP5.


Este lenguaje de programacin cubre toda la gama de Autmatas de la familia S5 de Siemens, con
pequeas variantes segn el procesador de que se trate. Los programas pueden desarrollarse en tres
tipos diferentes de programacin que son: FUP (Esquema de Funciones), KOP (Lenguaje de
Contactos) y AWL (Lista de Instrucciones), pero el ms 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 programacin STEP5 se divide en tres tipos de
operaciones: bsicas, complementarias y del sistema.
La instruccin es el elemento ms pequeo del programa y est compuesta por el operando y la
operacin. Este ltimo campo especifica qu operacin hay que realizar sobre el operando
que puede ser una entrada o una salida cualquiera.
Cmo fue concebida la programacin en STEP5 ?
Los diseadores 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 parmetros. En otros casos
el sistema operativo del autmata (Firmware) se encarga de llamar a ciertos programas si ocurren
determinadas condiciones; si estos no estn programados no se ejecuta nada, pero de estar
programados se ejecutan sus instrucciones y despus se le da continuidad al resto del programa.
El sistema operativo solamente llama los mdulos de programas de organizacin denominados OB y
estos a su vez pueden llamar a los PB o mdulos de programacin o a los mdulos funcionales FB, en
cada uno de estos mdulos se puede programar un grupo de instrucciones determinadas.
Existen algunos mdulos OB de funciones especficas que manda a ejecutar el sistema como es el
caso del OB1, para la ejecucin cclica del programa, y el OB13 para la ejecucin de programas
controlados por tiempo.
Los mdulos funcionales FB son mdulos de programa especiales en los que se programan partes de
programas utilizados frecuentemente o de gran complejidad, por ejemplo, funciones de aviso y
aritmticas. Para ello el usuario en estos mdulos 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 tambin los mdulos de datos DB, que se utilizan para almacenar datos o constantes que se
deseen utilizar en la programacin, pero estos no contienen instrucciones (no son ejecutables),
solamente se activan y desactivan al activar uno diferente. Ejemplos de datos: valores reales, valores
lmite y textos.
Los mdulos de paso SB se utilizan para programar comandos secuenciales. Se tratan como los
mdulos de programa.
Todos los mdulos se identifican por un nmero entre 0 y 255, y se permite el anidamiento de
llamadas de uno a otro.
La siguiente tabla resume las caractersticas ms importantes de los diferentes tipos de mdulos.

29

OB
Cantidad
Longitud
(mx)
Juego de
operaciones
(contenido)

Formas de
representacin
Longitud
encabezam.
Llamadas de
mdulo

PB

SB

256
OB 0..OB 255
8* 1024 bytes

256
PB 0..PB 255
8*1024 bytes

256
SB 0..SB 255
8*1024 bytes

Operaciones
bsicas

Operaciones
bsicas

Operaciones
bsicas

AWL,FUP,
KOP
5 palabras

AWL,FUP,
KOP
5 palabras

AWL,FUP,
KOP
5 palabras

SPA,SPB solo SPA,SPB


posible en FBs

SPA,SPB

FB

DB

256
254
FB 0..FB 255 DB 2..DB 255
8*1024 bytes 4096 palabras de
datos
Operaciones Configuracin
bsicas,
binaria
Operaciones Nmeros
complem.,
Textos
Operaciones
de sistema
AWL
10 palabras

5 palabras

SPA,SPB

A,E

Los mdulos de datos DB0 y DB1 estn reservados para la lista de direcciones de mdulos y para la
lista de transferencia de marcas de acoplamiento.
El VKE es la bandera ms importante en la arquitectura interna para la ejecucin del programa, porque
permite recoger el resultado de una instruccin y combinarlo con la siguiente. Con la ejecucin de la
primera instruccin 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
instruccin ejecutada. Hay instrucciones que ponen el VKE a cero o a uno segn el resultado de una
operacin y otras preguntan por el VKE para tomar decisiones, como por ejemplo las de salto.
El autmata posee dos acumuladores de 16 bit cada uno (AKKU1 y AKKU2), que se utilizan para
realizar operaciones aritmticas, 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 autmata y podrn
ser, en dependencia de la funcin que realizan, de entrada, para entrar informacin del proceso al
autmata o de salida cuando se est sacando informacin del autmata al proceso.
Segn el tipo de dato que se quiera procesar, las tarjetas podrn ser digitales o analgicas; las digitales
detectan o envan seales que solamente tienen dos estados, cero o uno, que pueden estar

30

representados por diferentes valores de voltaje segn la tarjeta en cuestin y las tarjetas analgicas
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 mdulos que pueden ser conectados al autmata para realizar operaciones muy
especficas, como es el caso de los mdulos de comunicacin entre autmatas, los mdulos para poder
conectar una terminal de video (Monitor) al autmata, una interfaz para printer, mdulos que son un
lazo de regulacin que trabajan independiente del autmata y muchos otros.
Esquema de direccionamiento:
La primera posicin de izquierda a derecha en el bastidor o rack la ocupa la fuente de alimentacin, la
segunda es reservada para la CPU y la ltima se reserva para el mdulo de expansin del bus IBM.
Entre estas posiciones extremas existen siete posiciones para mdulos que se enumeran desde el cero
al seis, en las posiciones 0,1,2,3 pueden colocarse tarjetas digitales y analgicas pero en las posiciones
4,5,6 solamente podrn ser tarjetas digitales.
Los bastidores de los autmatas de la SIEMENS estn diseados para un nmero determinado de
tarjetas y tienen conectores diferentes en las distintas posiciones, pero adems se cuenta con una
presilla plstica en la parte trasera del mdulo que impide la colocacin errnea de una tarjeta si
previamente fue ajustada a su lugar.
La direccin de una entrada o salida es necesario conectarla para poder hacer referencia a ella en el
programa, esta direccin depende de la posicin del mdulo 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 mdulo. Las entradas analgicas se referencian como E m, siendo m un nmero 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 analgicas A m.
Ejemplos:
E 4.0 ;Entrada digital 0 en la posicin 4 del bastidor.
A 5.2 ;Salida digital 2 en la posicin 5 del bastidor.
E 128 ;Entrada analgica.
En un mdulo digital de 32 salidas ubicado en el puesto cero del bastidor las salidas tomarn los
nombres siguientes: A 0.0....A 0.7, para las ocho primeras; A 1.0...A 1.7, para las ocho segundas,
hasta las ocho ltimas que se referencian A 3.0.....A 3.7.

31

Si ese mismo mdulo anterior se coloca en la segunda posicin del bastidor ocupara las direcciones A
4.0 hasta A7.7.
Para la CPU S5-115, solamente est permitido colocar mdulos analgicos (Entradas y Salidas)en las
posiciones 0,1,2,3 del bastidor, en cualquier otro no trabajan, por lo que su numeracin est en
correspondencia con la siguiente ley: a la posicin cero corresponden las numeraciones del 128 al 159,
para la posicin 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 mdulos se le denomina direccionamiento fijo, pues una vez prefijada
la posicin de una entrada /salida en el autmata esta no puede ser cambiada. Existe otra forma de
direccionamiento al utilizar el expansor del bus que permite cambiar la direccin a los mdulos.
2.3.2 Estructura de la PAE y la PAA
La PAE es una zona de memoria RAM donde el autmata en la primera parte del ciclo almacena el
estado en que se encuentran todas las entradas del proceso. All cada entrada tiene reservada una
posicin 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.
Ms adelante se vern instrucciones que permiten leer esa zona de memoria directamente sin tener que
hacer referencia en el programa a la entrada especfica.
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.
Cmo se escribe un programa y qu significa cada uno de sus elementos:
Ejemplo de una lnea tpica 002: U E 0.1
002: Esta es la direccin relativa de la instruccin en el mdulo especfico.
U Operacin que se est realizando.
E 0.1 A toda esta parte se le denomina operando.
E Identificador del operando (Entrada).
0.1 Parmetro del operando, dnde est ubicada esta entrada.
Los diferentes operandos permitidos (Ver sintaxis de instrucciones) son:
E Para las entradas (Digitales y Analgicas).
A Para las salidas (Digitales y Analgicas).
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 autmata. Los tres grupos que existen, como ya se
mencion, son:
1) Bsicas. 2) Complementarias. 3) Del sistema.
Se les denomina instrucciones bsicas a aquellas que pueden representarse en los tres tipos de
programacin y adems en cualquier tipo de mdulo de programa (OB, FB, PB, SP). Las instrucciones
complementarias solamente pueden ser usadas en la programacin 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 distribucin interna de la memoria del autmata.
Instrucciones Bsicas
Operaciones lgicas.
Dentro de este grupo estn las instrucciones que realizan las operaciones lgicas convencionales de
dos operandos, el VKE y la seal 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

Combinacin AND. Consulta de la seal 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 efecta la combinacin AND de este resultado con el VKE en el procesador.

Combinacin OR. Consulta de la seal en uno.

El resultado de la consulta es 1 si el operando asociado se encuentra en 1. En caso contrario el


resultado de la consulta es 0. Se efecta la combinacin OR de este resultado con el VKE en el
procesador.
UN

Combinacin AND. Consulta de la seal en cero.

El resultado de la consulta es 1 si el operando asociado tiene estado de seal 0. En caso contrario el


resultado de la consulta es cero. Se efecta la combinacin AND de este resultado con el VKE del
procesador.

33

ON Combinacin OR. Consulta de la seal en cero.


El resultado de la consulta es 1 si el operando asociado tiene estado de seal 0. En caso contrario el
resultado de la consulta es 0. Se efecta la combinacin OR de este resultado con el VKE del
procesador.
U(

AND con abrir parntesis.

Se efecta la combinacin AND del VKE de la expresin entre parntesis con el VKE precedente.
) Cerrar parntesis. Esta operacin permite cerrar una expresin entre parntesis.
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. Parmetro ;Poner a uno el operando afectado.
R Ident. Parmetro ;Poner a cero el operando afectado.
= Ident. Parmetro ;Asignar el estado del VKE actual al operando afectado.
Operaciones de carga y transferencia.
Este grupo de instrucciones tiene tres objetivos:
1.- Intercambiar informacin entre los diferentes operandos.
2.- Cargar los Contadores y Temporizadores.
3.- Cargar constantes necesarias para la ejecucin 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 seal en la entrada 3.0 pase de 0 a
1. Adems se desea que la misma se mantenga activada como mnimo 5 s.
U E 3.0
L KT 50.1
SI T 1
NOP 0
NOP 0
NOP 0
UT1

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

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

35

Ejemplo:
U E 3.4
L MW 13
SA T 5
NOP
NOP
NOP
U T 5
= A 4.4
R

;Reponer una temporizacin

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 comparacin
!=F
><F
>F
>=F

;AKKU2 = AKKU1
;AKKU2 >< AKKU1
;AKKU2 > AKKU1
;AKKU2 >= AKKU1

36

<F
<=F

;AKKU2 < AKKU1


;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 19
EB 20
=F
A 3.0

Instrucciones aritmticas
+F
-F

;Suma AKKU1 <---- AKKU2 + AKKU1


;Resta AKKU1 <---- AKKU2 + AKKU1

Antes de ejecutar las operaciones aritmticas es necesario cargar en los AKKUS ambos operandos,
observando que tengan el mismo formato de nmero.
Ejemplo:
L Z3
L Z1

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


;El valor del contador 1 se carga en el AKKU1. El contenido previo del AKKU1 se
;desplaza al AKKU2.
+F
;Los contenidos de ambos AKKUS se interpretan como nmeros 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 mdulos de programa
SPA
SPB

;Salto incondicional
;Salto condicional (Si el VKE=1)

Instrucciones para crear y activar tablas de datos


A
E

;Activacin de un mdulo de dato


;Creacin de un mdulo de dato

Instrucciones para finalizar los mdulos


BE
BEA
BEB

;Fin de mdulo
;Fin absoluto de mdulos
;Fin condicional de un mdulo (Si el VKE=1)

37

Otras instrucciones
STR
NOP0
NOP1
BLD

;Parar el autmata
;Pone un byte en "00" en la memoria de programa, no hace nada
;Pone un byte en "ff" en la memoria de programa, no hace nada
;Estructuracin de los bloques en la pantalla

2.3.5 Introduccin a los mdulos OB.


El sistema operativo es el programa que reside en la EPROM interna del autmata a la cual el usuario
no tiene ningn 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 autmata 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 accin pero de estar este programado se ejecuta
completamente y despus contina, pudiendo ser una aplicacin una demora para esperar que se
estabilice la alimentacin en la lnea.
Otro ejemplo es el siguiente:
El autmata llama cclicamente el OB1 y este es donde el usuario pone el programa principal para ir
llamando todos los dems programas que conforman la aplicacin.
A continuacin mencionaremos los OB del autmata S5-115, que el fabricante ha destinado para
diferentes funciones.
1- OB1 Ejecucin cclica del programa
2- OB2, OB3, OB4, OB5 son programas de alarmas y tienen su equivalente en los microprocesadores
a las entradas de interrupcin, existiendo mdulos de hardware (Tarjetas) que pueden provocar
interrupciones y saltar a ejecutar estos mdulos segn sea el caso.
3- OB21, OB22. Se ejecutan cuando el autmata pasa de STOP a RUN
4- OB10, OB11, OB12, OB13. Ejecucin 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 regulacin PID.
5- OB19 Se ejecuta cuando existe la llamada a un mdulo 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 sustitucin.
9- OB32 Error de transferencia en el DB.

38

10- OB34 Se ejecuta cuando el AG detecta que existe fallo en la batera y tiene que estar programado
para que no se pierda el programa del autmata.
Existen un grupo de mdulos 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 ejecucin ms de 500 ms, y si el programa del
usuario dura ms que esto l debe garantizar el llamado a este mdulo 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 ejecucin.
3- OB251, Lazo de regulacin PID que es llamado con un conjunto de parmetros para que pueda dar
un valor correcto a su salida.
4- OB254, Se utiliza este mdulo 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 Introduccin a los mdulos de Programacin FB.
Estos mdulos como se dijo anteriormente son programados de forma tal que realicen funciones
generales para que puedan ser llamados con diferentes operandos especficos.
Se confeccionan con variables, como se dira en programacin de alto nivel, y en el momento de
llamarlos se le asignan valores a estas variables.
Ejemplo.
Esto es un mdulo de programacin 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 sealarse que no se define ninguna entrada o salida especfica, esto se hace cuando
se llama a este programa, asignndosele 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 mximo 40 parmetros de entrada.
Como regla en una aplicacin especfica primeramente hay que confeccionar los FBxxx, despus los
PBxxx y por ltimo los OBxxx.
El fabricante suministra un grupo de mdulos 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 mdulo en la memoria.
3- FB240 Convertir nmeros de BCD a Hexadecimal.
4- FB241 Convertir nmeros de coma fija a binario.
5- FB242 Multiplicacin de nmeros de 16 bits.
6- FB243 Divisin de nmeros de 16 bits.
7- FB244 Transmisin de datos serie.
8- FB245 Recepcin de datos serie.
9- FB246 Bsqueda de datos.
10-FB247 Control.
11-FB248 Reset.
12-FB249 Sincronizacin.
13-FB250 Lectura de un canal Analgico.
14-FB251 Escritura en un canal Analgico.
2.3.7 Banderas de control ANZ0, ANZ1, OV.

El procesador del autmata SIMATICS5-115 tiene las tres indicaciones siguientes:

ANZ 0.

ANZ 1.

OV Desbordamiento (overflow).
Las siguientes operaciones afectan a las indicaciones:

40

- Operaciones de comparacin.
- Operaciones aritmticas.
- Operaciones de desplazamiento.
- Algunas operaciones de transformacin.
El estado de las indicaciones condiciona diferentes operaciones de salto.
Activacin de indicaciones con operaciones de comparacin.
Al ejecutar las operaciones de comparacin se activan las indicaciones ANZ 0 y ANZ
desbordamiento. Las operaciones de comparacin afectan al resultado de combinacin. Siempre que
se cumpla la condicin a comparar, VKE = 1. Por ello, tras una operacin de comparacin es posible
utilizar tambin la operacin de salto condicional SPB.
Contenido del Indicaciones
AKKU2
ANZ 1
ANZ 0
comparado
con
el
contenido del
AKKU1
igual
0
0
menor
0
0
mayor
1
0

OV

Operaciones
de
salto
posibles

SPZ
SPN,SPM
SPN,SPP

Activacin de indicaciones con operaciones aritmticas.


La ejecucin de las operaciones aritmticas activa todas las indicaciones, dependiendo del resultado de
la operacin.
Resultado tras Indicaciones
ejecutar la
ANZ 1 ANZ 0 OV
operacin
aritmtica.
< -32768
1
0
1
- 32768 a -1
0
1
0
0
0
0
0
+1 a 32767
1
0
0
> +32767
0
1
1
(-) 65536
0
0
1

Operaciones
posibles.

de

salto

SPN,SPP,SPO
SPN,SPM
SPZ
SPN,SPP
SPN,SPM,SPO
SPZ,SPO

Activacin de indicaciones con operaciones combinacionales por palabras.


Las operaciones combinacionales por palabras activan las indicaciones ANZ 0 y ANZ 1. No se
modifica la indicacin de desbordamiento. La activacin de las indicaciones depende del estado del
ltimo bit desplazado.

41

Valor del ltimo bit Indicaciones


desplazado
ANZ 1 ANZ 0 OV
0
0
0
1
1
0

Operaciones
salto posible
SPZ
SPN,SPP

de

Activacin de indicaciones con operaciones de transformacin.


La formacin del complemento a dos (KZW) activa todas las indicaciones. El estado en que quedan
las indicaciones depende del resultado de la funcin de transformacin.

Resultado tras
ejecucin de
operacin
<-32768
-32768 a -1
+1 a +32767
> +32767
(-)65536*

la
la

Indicaciones
ANZ 1 ANZ 0 OV
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1

Operaciones
salto posibles

de

SPN,SPP,SPO
SPN,SPM
SPN,SPP
SPN,SPM,SPO
SPZ,SPO

*Este No. es el resultado de la transformacin de KH = 8000


2.3.8 Grupo de operaciones complementarias.
Este grupo de instrucciones solamente se pueden usar en los mdulos de programa FB y slo son
representadas en lenguaje de lista de instrucciones.
El grupo de Instrucciones complementarias se divide en:
- Operaciones de carga.
- Operaciones de liberacin.
- Operaciones de prueba de bit.
- Operaciones combinacionales de palabra.
- Operaciones de desplazamiento.
- Operaciones de transformacin.
- Operaciones de procesamiento.
- Operaciones de salto.
- Operaciones de sustitucin.
Operaciones de carga
L BS n

;Carga el AKKU1 con una palabra de datos del sistema

42

Operaciones de liberacin
FR [T/Z] n ;Rearranca un timer o un contador
Ejemplo:
U E 2.5
L KT 5.3
SV T 2
U T 2
= A 4.2
U A 3.4
FR T 2
BE

;Se rearranca el timer T2 con el valor


;especificado anteriormente, la seal
;E2.5 deber mantenerse en "1" para que
;se cumpla esa condicin

Operaciones de prueba de bit


P [T/Z/D/BS] [0.0...127.15]
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.
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 condicin
SV [T/Z/D] [0.0.....127.15]
Poner un bit a cero, sin ninguna condicin
Ejemplo:
En la entrada E 2.0 est conectada una barrera luminosa para contar piezas. Tras cada 100 piezas se
desea saltar al mdulo funcional FB 5 o al FB 6. Tras 800 piezas se desea borrar automticamente el
contador 10, y que comience a contar de nuevo.
AWL
A DB 10
U E 2.0
ZV Z 10
U E 3.0
L KZ 0

Explicacin
Llamada al mdulo de datos 10.
El valor del contador Z10 se carga con la cte. 0 a travs 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 E 4.0
O M 5.2
R Z 10
LC Z 10
T DW 12
PN D 12.8
SPB FB 5
P D 12.8
SPB FB 6
P D 12.11
= M 5.2

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


codificado en BCD, en la palabra de datos 12.

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


ocurre con la pieza segunda, cuarta, sexta, etc.
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 lgicas de palabras.


Estas instrucciones son las mismas que existan para bit pero que ahora los dos operandos son de
palabra.
En todos los casos se procede de la misma forma, se hace la operacin lgica que se indique entre el
AKKU1 y el AKKU2 y el resultado de esa operacin se deposita en el AKKU1
U W
O W
XO W

;AND lgico de palabra


;OR lgico de palabra
;OR EXCLUSIVO de palabra

Ejemplo:
AWL

Explicacin

L EW 92
L KH 00FF

En el AKKU1 se carga la palabra de entrada 92.


En el AKKU 1 se carga una constante. El contenido original del
AKKU1 se desplaza al AKKU2.
Se efecta la combinacin AND de los contenidos de ambos AKKUs.
El resultado ( contenido de AKKU 1 ) se transfiere a la palabra de
salida 82.

UW
T AW 82

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

;Rotacin a la Izquierda, el nmero de veces que indique n.

44

SR W

;Rotacin a la izquierda, el nmero de veces que indique n.

Ejemplo:
AWL

Explicacin

L DW 2
SLW 3

Se carga en el AKKU1 el contenido de la palabra de datos 2.


Se desplaza tres posiciones a la izquierda la configuracin binaria en el
AKKU1.
El resultado (contenido del AKKU1) se transfiere a la palabra de datos 3.

T DW 3

AKKU1

464 (DW 2)
00000001 11010000

AKKU2

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 configuracin binaria de DW 2 en el AKKU1.

Operaciones de transformacin
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
;Habilitacin de las alarmas.
Operaciones de procesamiento
B {MW/DW} 0....254
Esta operacin permite modificar el parmetro de un operando durante la ejecucin del programa de
mando. Este programa trabaja entonces con el parmetro depositado en la palabra de marca o de datos
llamada por la primera instruccin.
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 sustitucin
Este grupo de instrucciones permite realizar operaciones lgicas como las del grupo bsico pero ahora
se pueden especificar los operandos formales (ms 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 ;NAND
O = Operando de bit ;OR
ON = Operando de bit ;NOR
S = Operando de bit ;Poner un operando a "1"
RB = Operando de bit ;Poner un operando a "0"
= = Operando de bit ;Asigna el valor del VKE al operando
L = Operando
LC = Operando
LW = Operando
T = Operando

; Cargar un operando formal.


;Cargar codificadamente un operando formal.
;Cargar la configuracin binaria de un operando formal.
; Transferir a un operando formal.

Operaciones de tiempo y conteo.


Estas operaciones desde el punto de vista del funcionamiento son idnticas 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 Parmetro ;Poner un bit particular en "1"

46

RU BS Parmetro ;Poner un bit particular en "0"


LIR {0/2}
TIR {0/2}

;Carga indirectamente el AKKU1 o AKKU2.


;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
TAK
STS

-32768....+32767 ;Salto relativo.


;Intercambia el contenido de los AKKU1 y AKKU2.
;Pone la CPU en stop.

2.3.9 Ejercicio.
Este ejemplo prctico muestra el procedimiento de confeccin de un programa y su ejecucin sobre el
autmata.
Se trata de realizar el control del nivel de agua de un tanque en una azotea, partiendo de un depsito
(Cisterna), y una bomba para impulsar el agua hacia el tanque superior.
E 0.0

'1'

E 0.1

'1'

Tanque

A 32.0

M
Vlvula de entrada

Cisterna
E 0.2

Definicin de las entradas y salidas usadas:


E 0.0 NMAT ;Nivel mximo del tanque superior

47

E 0.1 NMIT ;Nivel mnimo del tanque superior


E 0.2 NMIC :Nivel mnimo 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 mdulo PB y el otro
para un FB y as se puede apreciar la forma de programacin diferente para cada caso.
PB1
U E 0.2
UN E 0.1
S A 32.0
O E 0.0
ON E 0.2
R A 32.0
BE

;Si hay agua por encima del nivel


;mnimo de la cisterna y el tanque est vaco
;arranca el motor
;Si se llen el tanque o se vaca la cisterna
;se para el motor
;
;Fin del programa

Si este mismo programa lo furamos a realizar en un FB5 sera 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
BEZ: NMIT
E
BEZ: NMAT E
BEZ: MOTO
A
: U = NMIC
: UN = NMIT
: S = MOTO
: O = NMAT
: ON = NMIC
: UN = MOTO
: BE

BI
BI
BI
BI

48

III.- Correccin 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 anlisis, que pueden consultarse con un aparato de programacin
(PG) a travs de la funcin USTACK.
Funcin de anlisis Ustack.
La pila de interrupciones USTACK es un rea de memoria interna del autmata, en ella se depositan
los mensajes de perturbacin (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 cdigo el error
ocurrido; para esto se brindan en el manual del AG las indicaciones necesarias que orientan los pasos
al usuario.
A continuacin se muestran las fallas fundamentales que se pueden presentar, as como sus posibles
causas y la forma de repararlas.

Sntoma

Causa del error

Accin a ejecutar

No es posible rearrancar

Mdulo errneo:
-Puesta en servicio errnea.
-Al fallar la red se interrumpi la
transferencia del mdulo del PG al AG.
-Error de programacin.
El DB1 est programado errneamente.
Error en la rutina de autoprueba de la CPU.

Borrado total.
Cargar
nuevamente
programa.

Mdulo
de
memoria Identificador de mdulo no admisible.
errneo.
Fallo de la batera.
Batera no presente o descargada.

49

el

Cambiar la denominacin del


DB1.
Sustituir la CPU.
Utilizar un mdulo admisible.
Sustituir la batera.
Borrado total.
Cargar nuevamente el
programa.

Interrupcin de la ejecucin Selector en STOP.


del programa.
Error de sustitucin:
Llamada a mdulo funcional con parmetro
actual errneo.
Error de transferencia:
-Instruccin de mdulo de datos
programada con no. de palabra de
datos>longitud del mdulo de datos.
-Instruccin de mdulo de datos
programable sin apertura previa del DB.
Instruccin de parada de software.
Instruccin no decodificable.
-No. de niveles de parntesis sobrepasado.
-Parmetro fuera de margen.
Se ha sobrepasado la profundidad mxima
de anidado de mdulos.
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 perifrica.
Responde el perro guardin:
El tiempo de ejecucin del programa
sobrepasa el tiempo de vigilancia del ciclo
ajustado.

Poner el selector en RUN.


Corregir la llamada del
mdulo funcional.
Eliminar
el
programacin.

error

de

Eliminar
el
programacin.

error

de

Eliminar el
programacin.

error

de

Eliminar
el
error
de
programacin o sustituir la
tarjeta perifrica.
Comprobar si el programa
tiene lazos sin fin o modificar
el tiempo de vigilancia.

Tambin el autmata 115 cuenta con diferentes mdulos de organizacin (OB) que permiten dar
tratamiento a los errores que puedan presentarse, por ejemplo:
OB19 El autmata ejecuta este OB si se llama a un mdulo no cargado.
OB23 Mdulo destinado al Time Out en caso de acceder directamente a la periferia.
OB24 Mdulo 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 autmata pase a stop en caso de que ocurran estos
fallos.
Datos del sistema.
El autmata S5-115 como todos los miembros de esta familia, tiene una zona de memoria donde se
ubican fsicamente los parmetros y datos del sistema, de los cuales se nutre la CPU para la ejecucin
cclica 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 parmetros que harn cambiar el comportamiento del AG.
Estas instrucciones deben ser usadas por programadores expertos y que tengan un gran conocimiento
de cmo trabaja el AG.
Entre otras cosas aqu podemos ver las direcciones fsicas donde comienza cada mdulo de programa,
las direcciones fsicas de las marcas y temporizadores.
Tambin esta zona contiene las palabras del sistema (SD) que permiten conocer el estado de
funcionamiento, as como las diferentes causas de errores.
Ejemplos:
SD206 Direccin donde pas a stop la CPU.
SD203 AKKU1
SD204 AKKU2
SD209 Seis niveles de parntesis
Parmetros 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 parmetros
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 nmero de
esclavo que tiene la RED, la direccin de Transmisin y Recepcin.
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 sern remanentes.
Se ajusta el tiempo mximo de ciclo del autmata.
Se define la demora inicial de arranque.

51

IV.- Ejemplos.
1) Lazo PID.
A continuacin se ejemplifica cmo se programa un lazo de regulacin PID con los mdulos 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 vlvula en la entrada se regula el flujo de agua hacia el
mismo; esta vlvula es comandada con una seal elctrica de 0 a 10 voltios (0v=Cerrada,
10v=Mxima abertura)
El sensor de nivel del tanque es analgico, dando a su salida un voltaje proporcional al nivel
alcanzado por el tanque (0v=Tanque vaco, 10v=Tanque lleno).
Como set point o consigna tenemos un potencimetro que da tambin una salida entre 0 y 10 voltios
proporcional al nivel al que deseamos que el tanque se encuentre lleno.
SAL

10 v

ANL

0v
10 v ENT
0 v ANL

80 %
SETPOINT

Para implementar este lazo de regulacin utilizaremos los siguientes mdulos de programas que estn
integrados en el AG.
FB250 Lo usaremos para la lectura de entradas analgicas.
FB251 Da la salida de una variable analgica.
OB251 Lazo de regulacin 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 regulacin PID

52

4- Llamada al FB251 para comandar la vlvula reguladora

Cuerpo del programa comentado:


1- Este es el primer programa que debe aparecer, que es el que define el perodo de muestreo de la
seal, porque es el encargado de llamar al FB1.
OB13
SPA FB1 ;Llamada al FB1
BE
;Fin del mdulo OB13
2- Este es el cuerpo del programa principal que se encarga de leer la altura que tiene el agua dentro del
tanque, leer el valor deseado de la altura del agua, llamar al lazo de regulacin PID y dar la salida que
comanda a la vlvula que controla la entrada de agua al tanque.
FB1
A DB 2
;Abre el mdulo de dato que necesita el FB250
L PY 0
;Transfiere de PY0 al AKKU1
T MB 10
;Transfiere a la palabra de datos 10
T DR 11
;Transfiere al byte bajo de la palabra de control DR11
SPA FB250
;Lectura del nivel que tiene el tanque
Nomb:
BG: KF +8 ;
KNNT: KY 0,4 ; 0, canal; 4, seal unipolar de 0 a 10v
OGR: KF +1000;Limite superior de la seal de entrada
UGR: KF +0 ;Limite inferior de la seal de entrada
EINZ: M 12.0 ;
XA: D DW22 ;En esta palabra deposita el valor ledo
FB: M 13.3 ;Devuelve si hubo error o no
BU: M 13.4 ;Es una salida del OB250, indicando si la lectura se pas del rango nominal.
SPA FB250
;Lectura del nivel deseado Setpoint
Nomb:
BG: KF +8 ;
KNNT: KY 1,4 ; 0, canal; 4, seal unipolar de 0 a 10v
OGR: KF +1000;Limite superior de la seal de entrada
UGR: KF +0 ;Limite inferior de la seal de entrada
EINZ: M 12.0 ;
XA: D DW9 ;En esta palabra deposita el valor ledo
FB: M 13.1 ;Devuelve si hubo error o no
BU: M 13.2 ;Es una salida del OB250, indicando si la lectura se pas del rango nominal.

53

SPA OB251
;Llamada del lazo de regulacin PID
;Compara el setpoint con el nivel; del tanque
SPA FB251 ;Este da la salida analgica para la vlvula
NOMB:
XE: DW 48 ;De aqu tomar el valor analgico a sacar
BG: KF +8 ;
KNKT: KY 0,1 ;Canal 0, Tipo de canal
ORG: KF +1000;
URG: KF +0 ;
FEH: M 13.5 ;
BU: M 13.6 ;Si el valor est fuera de rango
BE

;Fin del programa

2) Generador de onda cuadrada


En los autmatas pueden programarse secuenciadores que sirven para dividir el tiempo, se trata de
realizar un generador de pulso que partiendo de una frecuencia bsica (M100.7) genere pulsos con
frecuencia F en la marca (M100.0), con frecuencia F/2 en la marca (M100.1) y con frecuencia F/4 en
la marca (M100.2) segn el esquema de la figura.
PB1
U E 0.7
L KT 10.1
SE T 10
= M 100.7
UN M 100.7
BEB
UN M 100.0
= M 100.0
BEB
UN M 100.1
= M 100.1
BEB
UN M 100.2
= M 100.2
BE

Paso #1 (U E 0.7)
Al accionar un botn la entrada E0.7 se pone a "1" y comienza el normal funcionamiento del divisor,
en esta primera consulta el VKE estar inhibido y tomar el valor que tenga la entrada E0.7.

54

Paso #2 (UN M 100.7)


Se realiza un "AND" negado de la marca M100.7, esta marca est en "0" y por lo tanto el VKE=1.
Paso #3 (L KT 10.1)
Se carga el timer con la constante de tiempo 1, eso implica que el timer se incrementar a intervalos de
0.1 segundo y realizar 10 conteos en total, lo que da como resultado un segundo.
Paso #4 SE T 10
El timer nmero 10 se arranca con retardo a la conexin igual a 1 segundo, cuando este timer alcance
el total del conteo, le asigna el valor de "1" a su bandera de desbordamiento.
Paso #5 = M 100.7
Se le asigna el valor del VKE a la marca M 100.7
Paso #6 UN M 100.7
Se le asigna al VKE el valor negado que tiene la marca M 100.7
Paso #7 BEB
Esta instruccin chequea el VKE y si este es igual a "1" entonces sale del programa pero de ser el
VKE=0 entonces contina y pasa a ejecutar la siguiente instruccin.
Paso #8

UN M 100.0

Paso #9
Paso #10
Paso #11
Paso #12
Paso #13
Paso #14
Paso #15
Paso #16
Paso #17

= M 100.0
BEB
U E 0.7
UN M 100.7
L KT 10.1
SE T 10
= M 100.7
UN M 100.7
BEB

3) Inicializar con "0" una zona de memoria de marcas que comprende las direcciones 00 hasta la 99 y
se deben mantener inalterados desde la 100 hasta la 127.
Se comienza por crear un OB21, ya que el autmata este programa si al arrancar se encuentra que este
est programado.
OB21
SPA FB1
Nombre: BorraM

55

BE
FB1
NOMB:BORRAM
:L KF +0 ;Cargar 0 en el AKKU1
:T MW 200 ;Transfiere 0 a la Palabra 200
M10:L KF +0 ;Nuevamente cargo AKKU1 con 0
:B MW 200 ;Obliga que el prximo operando sea el
;contenido de la palabra 200.
:T MW 0 ;
:L MW 200 ;Cargo el puntero a la memoria
:I 2
;Incremento en 2 al puntero
:T MW 200 ;Actualiza el puntero
:L KF +100 ;Cargo el AKKU1 con 100
:< F
;Pregunto si llegu al final
:SPB=M10
;Si no, salto a limpiar otra
:BE
;Fin del programa

56

V.- Evolucin de los autmatas programables. Tendencias.


- Empleo de memorias EPROM y EEPROM en mayor medida como sustituto de la RAM.
- Posibilidad de comunicacin mediante PC compatible para las tres gamas descritas.
- Hacerse normal la utilizacin de los microprocesadores de 16 bits y tendencia a incorporar los de 32
bits.
- Utilizacin del sistema multiprocesador, con lo que se aumenta la velocidad en la ejecucin de
programas, alcanzndose tiempos del orden de 1 ms/1K instrucc.
- Reduccin de su tamao al aumentar la densidad de integracin de los CIs y al utilizar algunos
fabricantes los "gate array".
- Incremento de prestaciones, entre otras las de autodiagnstico y autoverificacin.
- Mejora de los tipos de visualizacin de programas y de procesos.
- Perfeccionamiento y homogeneizacin de redes locales.

57

You might also like