Professional Documents
Culture Documents
BYTE BIT
MB0 0 X
MW0
MB1 1
MD0 MW1
MB2 2 X
MD1 MW2
MB3 3
MW3
MB4 4
. .
. .
. .
FORMATO DOBLE 125 M 2.3
PALABRA
(DOUBLE WORD)
Con la direccin A 4.0 se indica el bit 0 del byte 4 de la imagen de proceso de las salidas.
A 4.0
Identificador direccionamiento
de operando de bit
direccionamiento
de byte
A la variable con la que se trabaja, le es asignado un smbolo o referencia con el que poder
distinguirla mas fcilmente durante la programacin o visualizacin del programa.
Ejemplo:
Smbolo Direccionamiento
MOTOR_ON A 0.1
ACTIV_IMAN A 0.0
FINAL_CARRERA E 0.5
Seleccin del lenguaje de programacin
Los lenguajes de programacin sirven para crear programas de usuario, para cuyo fin ofrecen
determinadas reservas lingsticas en forma de instrucciones grficas o de texto. El usuario
introduce dichas instrucciones utilizando un editor, y estas instrucciones se compilan en un
programa de usuario ejecutable.
El programa SIMATIC S7 ofrece los lenguajes de programacin por lista de instrucciones
(AWL), diagrama de funciones (FUP) y esquema de contactos (KOP) para programar bloques.
Ejemplo:
U(
O E 0.0
U E 0.1)
= A 2.0
Tabla correspondiente a las operaciones del lenguaje KOP por orden alfabtico en la que se
muestra el nombre de la funcin y la abreviatura SIMATIC correspondiente.
Instrucciones de bit
Como se trabaja en lgica binaria, cuando el contacto esta abierto significa que esta
desactivado 0, es decir, circula flujo, por lo tanto el RLO es 0 .
Como se trabaja en lgica binaria, cuando el contacto esta cerrado significa que esta activado
1, es decir, circula flujo, por lo tanto el RLO es 1 .
Bsculas RS / SR
Evaluacin de flancos
Deteccin de cambio de estado del operando de 0 a 1. El estado de seal actual del RLO es
comparado con el estado de seal del operando (marca de flancos). Si el estado de seal del
operando es 0 y el RLO antes de la operacin es 1, el RLO despus de la operacin es 1,
en todos los otros casos 0.
Deteccin de cambio de estado del operando de 1 a 0. El estado de seal actual del RLO es
comparado con el estado de seal del operando (marca de flancos). Si el estado de seal del
operando es 1 y el RLO antes de la operacin es 0, el RLO despus de la operacin es 0,
en todos los otros casos 1.
Margen Resolucin
De 10MS a 9S_990MS 0,01 segundos
De 100MS a 1M_39S_900MS 0,1 segundos
De 1S a 16M_39S 1 segundo
De 10S a 2H_46M_30S 10 segundos
S5TIME#4S = 4 segundos
s5t#2h_15m = 2 horas y 15 minutos
S5T#1H_12M_18S = 1 hora, 12 minutos y 18 segundos
Los valores no deben exceder de 2H_46M_30S. Los valores que son demasiado grandes para
un margen o una resolucin se redondean de manera que correspondan a los valores lmite
para ese margen y esa resolucin (p. ej. 2H_10MS).
Temporizadores de retardo
Al activarse su entrada SET, empieza a contar el tiempo programado, tras el cual activa la
salida Q. Al recibir un pulso en la entrada SET, empieza a contar el tiempo programado sin
activar la salida Q desconectndose el conteo instantneamente que cesa el pulso en el
SET. La entrada RESET predomina sobre la entrada SET, por lo tanto al recibir un pulso
en la entrada RESET mientras el temporizador esta contando o activado, la salida Q queda
desactivada 0.
Al activarse su entrada SET, empieza a contar el tiempo programado, tras el cual activa la
salida Q. Al recibir un pulso en la entrada SET, empieza a contar el tiempo programado sin
activar la salida Q desconectndose el conteo instantneamente que cesa el pulso en el
SET, memorizando el tiempo transcurrido, que sumado al tiempo posterior de un siguiente
SET, llegara al tiempo establecido activando la salida Q. La entrada RESET predomina
sobre la entrada SET, por lo tanto al recibir un pulso en la entrada RESET mientras el
temporizador esta contando o activado, la salida Q queda desactivada 0 adems de borrar
la memoria del temporizador.
Temporizadores de impulso
ZAEHLER (incrementar/decrementar)
Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor de preseleccin de MW10. Si
el estado de seal en E 0.0 cambia de "0" a "1", el valor del contador Z10 incrementa en "1", a
menos que el valor de Z10 fuera "999". Si E 0.1 cambia de "0" a "1", Z10 decrementa en "1", a
no ser que el valor de Z10 fuera cero. La salida A 4.0 ser "1" si el valor de Z10 no es cero.
Z_VORN (incrementar contador)
Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor predeterminado para MW10.
Si el estado de seal en E 0.0 cambia de "0" a "1", el valor del contador Z10 se incrementa en
"1", a menos que el valor de Z10 fuera "999". La salida A 4.0 ser "1" siempre que el valor de
Z10 no sea cero.
Al cambiar la entrada E 0.2 de "0" a "1", el contador toma el valor de preseleccin de MW10. Si
el estado de seal en E 0.0 cambia de "0" a "1", el valor del contador Z10 decrementa en "1", a
menos que el valor de Z10 fuera "0". La salida A 4.0 ser "1" siempre que el valor de Z10 no
sea cero.
Se ejecuta solamente en caso de que haya un flanco ascendente en el RLO. En este caso se
transmite el valor predeterminado al contador indicado.
El valor 100 quedar preseleccionado para el contador Z5 si en la entrada E 0.0 se produce
un flanco ascendente (cambio de "0" a "1"). El valor del contador Z5 no se altera en caso de
que no se produzca ningn flanco ascendente.
Incrementa en "1" el valor del contador si hay un flanco ascendente en el RLO. El valor mximo
a partir del cual no se puede incrementar mas es "999".
Decrementa en "1" el valor del contador si hay un flanco ascendente en el RLO. El valor
mnimo a partir del cual no se puede decrementar mas es 0.
Las operaciones de comparacin sirven para comparar los siguientes pares de valores
numricos:
CMP_D >= xx Comparar enteros (32 bits) (>, <, ==, <>, <=, >=)
Las entradas IN1 y IN2 son comparadas mediante al criterio de comparacin que se haya
seleccionado.
Smbolo
SIMATIC
La salida A 4.0 se activa si E0.0 Y E0.1 tienen el estado de seal 1 Y si MD0 >= MD4 Y si E0.2
tiene el estado de seal 1.
CMP_I >= xx Comparar enteros (16 bits) (>, <, ==, <>, <=, >=)
Las entradas IN1 y IN2 son comparadas mediante al criterio de comparacin que se haya
seleccionado.
Smbolo
SIMATIC
CMP_R >= xx Comparar nmeros reales (>, <, ==, <>, <=, >=)
Las entradas IN1 y IN2 son comparadas mediante al criterio de comparacin que se haya
seleccionado.
Smbolo
SIMATIC
La salida A4.0 se activa si E0.0 Y E0.1 son 1 Y si MD0 >= MD4 Y si E0.2 es 1.
Al activar la entrada EN se copia el valor asignado en la entrada IN, en la direccin que indica
la salida O. ENO tiene el mismo estado de seal que la entrada EN. Como muestra la tabla, la
operacin MOVE solo puede copiar objetos con extensin byte, word o double word.
La dependencia del MCR solamente se activa si el cuadro MOVE se coloca dentro de un rea
de MCR activa. En rea MCR los datos direccionados se copian tal como se ha descrito arriba,
siempre que el MCR est conectado y haya corriente en la entrada de habilitacin, el bit
direccionado se pone a "1" (se activa) a "0" (se desactiva), tal como se ha descrito ms
arriba. Si el MCR est desconectado y se ejecuta una operacin MOVE, en la direccin
indicada por OUT se escribir siempre el valor "0", independientemente de cul sea el estado
actual de IN.
Acumuladores (ACU1 y ACU2)
Cargar: que siempre acta sobre ACU 1 y guarda el antiguo contenido en ACU 2 (perdindose
el valor antiguo de ACU 2). La carga de una palabra acta sobre la palabra baja del ACU 1.
Transferir: copia el contenido de ACU 1 en una direccin de memoria, sin perder el valor de
los acumuladores.
Interrumpen el desarrollo normal del programa, haciendo que el mismo salte a una meta
determinada. La meta define el punto en que deber continuar el programa. El salto se efecta
independientemente de condiciones.
Funciona como un salto absoluto cuando no hay otro elemento KOP entre el conductor
izquierdo y la operacin.
Funciona como un salto condicional cuando el RLO de la combinacin lgica anterior es "1".
Si un salto condicional no se ejecuta, el RLO cambia a "1" despus de la operacin de salto.
Funciona como un salto condicional cuando el RLO de la combinacin lgica anterior es "0". Si
un salto condicional no se lleva a cabo, el RLO cambia a "1" despus de la operacin de salto.
Si la entrada E 0.0 es 0, se ejecuta el salto a la
meta CAS1. Al ejecutarse el salto, en la salida
A 4.0 no se lleva a cabo la operacin Poner
salida a 0, aunque la entrada E 0.3 sea 1.
LAVEL Meta
Cada salto ---( JMP ) tiene que tener una meta (LABEL). Una meta se
compone de 4 caracteres como mximo. El primer carcter debe ser
siempre una letra, no importando si el resto son nmeros o letras. La
meta se especifica normalmente en el operando de la instruccin de
salto, y seguida de dos puntos frente a la lnea que posee la meta (ver
ejemplos).
Estas operaciones son utilizadas para determinar la relacin entre el resultado obtenido de una
funcin aritmtica y 0 mediante la comparacin.
Realiza el valor absoluto del numero real introducido por la entrada IN,
cuando la entrada de habilitacin EN esta en 1. En la salida OUT se
obtiene el valor absoluto. Si la salida ENO es = 1, se realiza la
conversin.
Funciones matemticas avanzadas (Aritmtica de coma flotante)
Realiza el calculo del logaritmo natural del numero real introducido por
la entrada IN cuando en la entrada de habilitacin EN hay un 1. El
numero real representa un ngulo en radianes. Si la salida ENO es =
1, se realiza la conversin.
Rel de control
Rel fsico que corta el suministro de corriente en entradas y salidas del autmata
programable, manteniendo la alimentacin de la CPU y as poder revisar el estado del
programa o controlar los errores, etc.
L1
L2
L3
N
Transformador
separador
Pulsador de
emergencia
Pulsador de
paro
Fuente de
Pulsador de
alimentacion
marcha 24 Vcc
para E/S
Empleado para inhibir el funcionamiento de una determinada parte del programa en casos de
emergencia o puestas en marcha del sistema sin que ello afecte a la alimentacin de la CPU
(secuencia de instrucciones que escribe un cero en lugar del valor calculado, o bien no
modifican el valor de memoria existente).
Activa un Master Control Relay. Una vez efectuada esta operacin se pueden programar las
reas MCR utilizando las operaciones ---(MCR<) y ---(MCR>).
Almacena el RLO en la pila MCR y abre un rea MCR. La pila de parntesis MCR es una pila
LIFO (last in, first out) que da cabida, como mximo, a 8 registros (8 niveles). Si la pila ya est
llena, la operacin ---(MCR<) provoca un error de la pila MCR (MCRF). Los siguientes
elementos dependen del MCR y varan segn cul sea el estado de seal del RLO que se
almacena en la pila MCR mientras est abierta un rea MCR:
MCRA activa el MCR, crendose hasta un mximo de ocho reas MCR anidadas. En este
ejemplo hay dos reas MCR. Las operaciones se ejecutan de forma que E 0.0 = 1 (el MCR est
ON en el rea 1). A la salida A 4.1 se le asigna el estado de seal de la entrada E 0.4.
E 0.0 = 0 (el MCR est OFF en el rea 1), la salida A 4.1 es "0", independientemente de cul
sea el estado de la entrada E 0.4.
E 0.1 y E 0.1 = 1 (el MCR est ON en el rea 2): la salida A 4.0 se pone a "1" si E 0.3 es 1.
E 0.0 y E 0.1 = 0 (el MCR est OFF en el rea 2): la salida A 4.0 no vara, independientemente
del estado de E 0.3.
Borra un registro RLO de la pila MCR. La pila de parntesis MCR es una pila LIFO (last in, first
out) que da cabida a un mximo de 8 registros (8 niveles). Si la pila ya est vaca, la operacin
---(MCR >) provoca un error de la pila MCR (MCRF). Los siguientes elementos dependen del
MCR y se ven afectados por el estado de seal del RLO que se almacena en la pila MCR
mientras est abierta un rea MCR:
---(MCRA) activa el MCR, crendose hasta un mximo de ocho reas MCR. En este ejemplo
hay dos reas MCR. El primero circuito ---(MCR>) (MCR OFF) forma parte del segundo circuito
---(MCR<) (MCR ON). Todos los circuitos que hay entre estos dos pertenecen al rea MCR 2.
Las funciones se ejecutan de forma que:
E 0.0 = 1: el estado de seal de la entrada E 0.4 se asigna a la salida A 4.1.
E 0.0 = 0: la salida A 4.1 es "0", independientemente del estado de E 0.4. E 0.0 y E 0.1 = 1: la
salida A 4.0 se pone a "1" si E 0.3 es 1.
E 0.0 y E 0.1 = 0: la salida A 4.0 no vara, independientemente del estado de E 0.3
Programacin estructurada
Ventajas:
- Los bloques pueden ser escritos en diferentes lenguajes, buscando el mas adecuado para
el tratamiento de las variables que contiene.
- Los bloques o mdulos realizados pueden ser utilizados en otras tareas de automatizacin.
- El programa que se obtiene como resultado de este tipo de programacin resulta mas
sencillo a la hora de ser ledo por tcnicos no programadores.