Professional Documents
Culture Documents
PROGRAMABLES
(PLC)
captadores
automatismo
proceso
trabajo
actuadores
rdenes de funcionamiento
# 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
y
0
1
0
1
f
0
0
0
1
x
0
1
f
1
0
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.
captadores
seccin
seccin
CPU
de
de
entradas
actuadores
salidas
interfaces
dispositivos
consola de
programacin
perifricos
10
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
11
Interfaces
Memoria
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)
Memoria de la tabla
de datos
Memoria del
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
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
15
acoplador
A/D
2
2c
a bus
optoacoplador
Mx
ACS
calibracin
seccin
seccin
automtica
analgica
analgica
16
16c
16
conversor de cdigo
conversor de cdigo
16
16
TCn+
TCnSHD
17
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
inicio
DATOS
par fin
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:
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:
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.
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
23
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
"
"
# l n e a i n s tr u c c i n
0000
instruccin
0001
0002
0003
"
"
"
"
"
n-1
n
"
"
i n s tr u c c i n u , s a l ta a v
25
subrutinas
nivel 1
nivel 2
nivel 3
Programas paralelos:
programa de asignacin de
programas paralelos con las
direcciones de comienzo
M0
M1
M2
M3
26
x x
1
x4 x5 y1 x3 Y1
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
4
y
Y
1
- Plano de funciones.
x
1
x
2
x
x4
5
y
x
&
>=1
&
=
&
1
3
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
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
33
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
34
= A 4.0
SV
Ejemplo:
U E 3.1
L EW 15
SV T 2
NOP
NOP
NOP
U T 2
= A 4.1
SE
Ejemplo:
U E 3.5
L KT 9.2
SE T 3
NOP
NOP
NOP
U T 3
= A 4.2
SS
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
35
Ejemplo:
U E 3.4
L MW 13
SA T 5
NOP
NOP
NOP
U T 5
= A 4.4
R
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
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
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
;Salto incondicional
;Salto condicional (Si el VKE=1)
;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
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.
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
Operaciones
posibles.
de
salto
SPN,SPP,SPO
SPN,SPM
SPZ
SPN,SPP
SPN,SPM,SPO
SPZ,SPO
41
Operaciones
salto posible
SPZ
SPN,SPP
de
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
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
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
Ejemplo:
AWL
Explicacin
L EW 92
L KH 00FF
UW
T AW 82
Operaciones de desplazamiento
Estas operaciones con cada desplazamiento que realicen por el lado contrario le entra un cero.
SL W
44
SR W
Ejemplo:
AWL
Explicacin
L DW 2
SLW 3
T DW 3
AKKU1
464 (DW 2)
00000001 11010000
AKKU2
3712
00001110 10000000
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
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
46
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
47
BI
BI
BI
BI
48
Sntoma
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
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
52
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
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
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
57