You are on page 1of 42

Posiciones de la memoria RAM

BYTE BIT

FORMATO BYTE M 0.3 FORMATO PALABRA


(WORD)
7 0

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)

Identificaciones de elementos y bloques y sintaxis de las constantes

Elementos y bloques Constantes


T Temporizador Versin breve Versin extensa
DB Bloque de datos global B# Byte#
DI Bloque de datos de instancia C# Counter#
FC Funcin W# Word#
FB Bloque de funcin DW# Dword#
OB Bloque de organizacin D# Date#
Z/C Contador (En funcin de la T# Time#
abreviatura Nemotecnia)
SDB Bloque de datos del sistema TOD# Time_of_day#
SFC Funcin del sistema S5T# S5Time#
SFB Bloque de funcin del sistema DT# Date_and_time#
P# Pointer#
Areas de memoria y sus funciones

Nombre Funcin del rea Acceso a travs de Abre


del rea unidades de longitud viat.
Imagen Al arrancar el programa, el sistema operativo Entrada E
proceso lee las entradas del proceso almacenando los Byte de entrada EB
de valores en este rea Palabra de entrada EW
entradas Palabra doble de entrada ED
(E)
Imagen Durante el ciclo, el programa calcula los Salida A
proceso valores de salida y los deposita en este rea. Byte de salida AB
de Al final del ciclo, el sistema operativo lee en Palabra de salida AW
salidas este rea los valores de salida calculados y Palabra doble de salida AD
(A) los transfiere a las salidas del proceso
Marcas Area que permite almacenar resultados Marcas M
(M) intermedios calculados en el programa Byte de salida MB
Palabra de salida MW
Palabra doble de salida MD
E/S: Este rea permite al programa el acceso Byte de entrada de la periferia PEB
entradas directo a los mdulos de E/S (es decir, Palabra de entrada de la perif. PEW
externas entradas y salidas de la periferia) Palabra doble de entrada de PED
la periferia

E/S: Byte de entrada de la periferia PAB


Salidas Palabra de entrada de la perif. PAW
externas Palabra doble de entrada de PAD
la periferia
Tempori Elementos funcionales del lenguaje de T
zadores program. KOP. Area que permite almacenar
(T) clulas de temporizacin. En este rea, el
reloj accede a estas clulas para ser
actualizado, decrementando el valor de
temporizacin. En las clulas de temporiz. se
accede con operaciones de temporizacin
Conta Elementos funcionales del lenguaje de Z
dores program. KOP. Area de almacenamiento de
(C) contadores. Area de acceso con operaciones
de conteo
Bloques Area que contiene datos a los que se puede DBX
de datos acceder desde cualquier bloque. Si se desea DBB
(D) tener abiertos dos bloques al mismo tiempo, DBW
uno puede abrirse con la instruccin AUF DBD
DB y otro con la instruccin AUF DI. La
notacin de los operandos determina a que
bloque de datos se accede.
Aunque la instruccin AUF DI pueda
utilizarse para abrir cualquier bloque de datos, DIX
su utilizacin principal consiste en abrir DIB
bloques de datos de instancia asociados a DIW
bloques de funcin FBs y a bloques de DID
funcin de sistema SFBs
Datos Area que contiene datos temporales de L
locales bloque lgico (DB, FB, o FC). Estos, tambin LB
(L) denominados datos locales dinmic., sirven LW
de memoria intermedia. Cuando se cierra el LD
bloque lgico, se pierden estos datos. Los
datos estn depositados en la pila de datos
locales (pila L)
Tipos de direccionamiento

En el programa STEP7, pueden identificarse las variables mediante dos tipos de


direccionamiento de variables:

Direccionamiento absoluto (direccionamiento directo)

La variable con la que se trabaja, es referenciada mediante una posicin de memoria,


denominada direccin absoluta, en la que est depositado el operando.
En el direccionamiento directo el operando contiene la direccin de memoria del valor con el
que la operacin deber operar. El operando se puede direccionar de forma absoluta o
simblica. Ejemplos:

Entrada E 12.1; palabra de marcas MW 25; bloque de datos DB 3.

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

Direccionamiento simblico (direccionamiento indirecto)

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

Lenguaje de Destinatarios Caso de Entrada Entrada orientada Bloque auto-


programacin aplicacin incremental a fuente documentable de
la CPU
Lista de Usuarios que Programas S S S
instrucciones desean optimizados
AWL programar a en tiempo de
nivel e maquina ejecucin y
uso de
memoria
Esquema de Usuarios Programacin S No S
contactos KOP familiarizados de controles
con esquemas combinaciona
elctricos les

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.

Desde el editor de programacin KOP, AWL, FUP, una


vez cargado un proyecto, puede ser cambiado el
lenguaje de programacin a travs del comando men
Ver, donde pueden verse los tipos tres tipos de
lenguajes KOP, AWL, FUP. El cambio de lenguaje de
programacin puede ser realizado en cualquier
momento. Slo es posible cambiar de AWL a
KOP/FUP si las instrucciones AWL asumen toda la
asignacin de parmetros de los correspondientes
elementos KOP/FUP y respetan el orden. A los
parmetros no usados en AWL se les asigna NOP 0.
Lista de instrucciones (AWL)

La lista de instrucciones (AWL) es un lenguaje de programacin textual orientado a la mquina.


El lenguaje AWL es el lenguaje ensamblador de STEP 7. Si un programa ha sido programado
en lenguaje AWL, cada instruccin corresponder a cada uno de los pasos que dar la CPU
para ejecutarlo.

Ejemplo:

U(
O E 0.0
U E 0.1)
= A 2.0

Esquema de contactos (KOP)

El esquema de contactos es un lenguaje de programacin grfico mediante diagrama de


contactos y diagrama de funciones. El esquema de contactos es uno de los lenguajes de
programacin de STEP 7. Esta representacin est normalizada segn la norma DIN 19239. La
representacin del esquema de contactos corresponde a la de un esquema de circuitos. Al
contrario que en la lista de instrucciones (AWL), en KOP solamente se puede representar una
cantidad limitada de operaciones.
Componentes del editor KOP

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

---I I--- Contacto normalmente abierto

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL E, A, M, L, D, T, Z Bit consultado

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 .

---I/I--- Contacto normalmente cerrado

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL E, A, M, L, D, T, Z Bit consultado

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 .

---( ) Bobina de rele, salida

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL E, A, M, L, D Bit asignado

Si del resultado de la operacin lgica de contactos y funciones se obtiene un 1 en la salida,


la bobina de rel se activa, si el resultado es un 0 , no se activa.

---(S) Activar salida

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL E, A, M, L, D, T, Z Bit activado

Si del resultado de la operacin lgica de contactos y funciones se obtiene un 1 en la salida,


la bobina de rel se activa SET permanentemente hasta que sea desactivada mediante un
RESET. Si el resultado es un 0 , no se activa.

---(R) Desactivar salida

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL E, A, M, L, D, T, Z Bit desactivado

Si del resultado de la operacin lgica de contactos y funciones se obtiene un 1 en la salida,


la bobina de rel se desactiva RESET. Si el resultado es un 0 , no se desactiva. Para
desactivar una salida, previamente ha tenido que ser activada.

Bsculas RS / SR

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL E, A, M, L, D Bit activado o desactivado
S BOOL E, A, M, L, D Activacin habilitada
R BOOL E, A, M, L, D Desactivacion habilitada
Q BOOL E, A, M, L, D Estado de seal del operando

RS (Activacin de flip-flop de desactivacin)

Si la entrada R recibe el estado 1 y la entrada S el estado 0, la bascula


desactiva su salida. Si la entrada R recibe el estado 0 y la entrada S el
estado 1, la bascula activa su salida. Cuando en ambas entradas
recibe el estado 1, primero desactiva y seguidamente activa.
SR (Desactivacion de flip-flop de activacin)

Si la entrada R recibe el estado 1 y la entrada S el estado 0, la bascula


desactiva su salida. Si la entrada R recibe el estado 0 y la entrada S el
estado 1, la bascula activa su salida. Cuando en ambas entradas
recibe el estado 1, primero activa y seguidamente desactiva.

Evaluacin de flancos

---(P)--- Detectar flanco de subida (01)

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL A, M, D Marca de flancos que almacena el
estado de seal anterior del RLO

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.

---(N)--- Detectar flanco de bajada (10)

Parmetro Tipo de datos Area de memoria Descripcin


<Operando> BOOL A, M, D Marca de flancos que almacena el
estado de seal anterior del RLO

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.

Detectar flanco de seal ( 01 )

Parmetro Tipo de datos Area de memoria Descripcin


<Operando1> BOOL E, A, M, L, D Seal consultada
<Operando2> BOOL A, M, D Marca de flancos M_BIT, almacena el
estado de seal anterior del Operando1
Q BOOL E, A, M, L, D Deteccin del cambio de seal

Compara el estado de la seal del operando 1 con la del estado


anterior almacenada en el operando 2. Si el estado anterior del
RLO era 0, ahora es 1 (Deteccin de un flanco de subida).
Despus de esta operacin la salida Q ser 1, y en los
restantes casos 0.
Detectar flanco de seal ( 10 )

Parmetro Tipo de datos Area de memoria Descripcin


<Operando1> BOOL E, A, M, L, D Seal consultada
<Operando2> BOOL A, M, D Marca de flancos M_BIT, almacena el
estado de seal anterior del Operando1
Q BOOL E, A, M, L, D Deteccin del cambio de seal

Compara el estado de la seal del operando 1 con la del estado


anterior almacenada en el operando 2. Si el estado anterior del
RLO era 1, ahora es 0 (Deteccin de un flanco de bajada).
Despus de esta operacin la salida Q ser 0, y en los
restantes casos 1.
---(SAVE) Cargar resultado lgico

Almacena el resultado lgico RLO en el bit RB de la palabra de estado.


ismos pero de signo opuesto.
Temporizadores de retardo

Tablas de caractersticas correspondientes a los temporizadores nombrados en los siguientes


apartados:

Parmetro Tipo de Area de Descripcin


SIMATIC datos memoria
N de T TIMER T Numero de identificacin del temporizador, el rea
depende de la CPU utilizada
S BOOL E, A, M, L, D Entrada de arranque.
TV S5TIME E, A, M, L, D Valor del temporizador preseleccionado.
R BOOL E, A, M, L, D Entrada de desactivacin.
BI WORD E, A, M, L, D Valor del temporizador actual, codificado en binario.
BCD WORD E, A, M, L, D Valor del temporizador actual, codificado en BCD.
Q BOOL E, A, M, L, D Estado del temporizador.

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

S_EVERTZ (Temporizador con retardo a la conexin)

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.

S_SEVERTZ (Temporizador con retardo a la conexin con memoria)

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.

S_AVERTZ (Temporizador con retardo a la desconexin)

Al cambiar su entrada SET de 1 a 0, empieza a contar el tiempo programado, tras el cual


desactiva la salida Q. Al recibir un pulso en la entrada SET, empieza a contar el tiempo
programado sin desactivar la salida Q desconectndose el conteo instantneamente que
recibe el flanco de bajada de un nuevo 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.

Temporizadores de impulso

S_IMPULS (Arrancar temporizador con impulso)

Al activarse su entrada SET, activa instantneamente la salida Q, empezando a contar el


tiempo programado tras el cual desactiva la salida Q. La desactivacin de la entrada SET
durante el funcionamiento del temporizador interrumpe el estado activo de Q desactivando la
salida y desconectndose el conteo. La entrada RESET predomina sobre la entrada SET,
por lo tanto al recibir un pulso en la entrada RESET mientras el temporizador esta
funcionando, la salida Q queda desactivada 0.

S_VIMP (Arrancar temporizador con impulso prolongado)

Al activarse su entrada SET, activa instantneamente la salida Q, empezando a contar el


tiempo programado tras el cual desactiva la salida Q. La desactivacin de la entrada SET
durante el funcionamiento del temporizador no interrumpe el estado activo de Q, si no que el
temporizador continua el conteo y manteniendo activa la salida Q hasta que termina el tiempo
establecido. En el supuesto caso que mientras el temporizador estuviese funcionando,
recibiese un nuevo pulso en la entrada SET tras un pulso anterior en la misma entrada, la
salida Q se mantendra activa reactivndose el conteo, por lo tanto, mantenindose por mas
tiempo el funcionamiento del temporizador y 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 funcionando, la salida Q y el tiempo de conteo quedan desactivados 0.

Instrucciones de bit para temporizadores

---(SI) Arrancar temporizador con impulso


Basado en el mismo funcionamiento que el S_IMPULS, la
activacin de la entrada E 0.0 de "0" a "1" (flanco creciente
en el RLO), el temporizador T5 arranca. El temporizador
contina en marcha con el valor de temporizacin indicado
de 2 s mientras E 0.0 sea "1". Si el estado de seal en E 0.0
cambia de "1" a "0" antes de transcurrir el tiempo, el
temporizador se para. La salida A 4.0 es "1" mientras el
temporizador est en marcha. Si el estado de seal en la
entrada E 0.1 cambia de "0" a "1", el temporizador T5 se
pone a 0, es decir, se para y el valor de temporizacin
restante se pone a "0".

---(SV) Arrancar temporizador con impulso

Basado en el mismo funcionamiento que el S_VIMP, la


activacin de la entrada E 0.0 de "0" a "1" (flanco creciente
en el RLO), el temporizador T5 arranca. El temporizador
contina en marcha con el valor de temporizacin indicado
sin ser afectado por un flanco negativo en el RLO. Si el
estado de seal en E 0.0 cambia de "0" a "1" antes de
transcurrir el tiempo, el temporizador se vuelve a arrancar. La
salida A 4.0 es "1" mientras el temporizador est en marcha.
Si el estado de seal en la entrada E 0.1 cambia de "0" a "1",
el temporizador T5 se pone a 0, es decir que se para y que el
valor de temporizacin restante se pone a "0".

---(SE) Arrancar temporizador con retardo a la conexin

Basado en el mismo funcionamiento que el S_EVERZ, la


activacin de la entrada E 0.0 de "0" a "1" (flanco creciente
en el RLO), el temporizador T5 arranca. Si transcurre el
tiempo y el estado de seal en E 0.0 sigue siendo "1", la
salida A 4.0 es "1". Si el estado de seal en la entrada E 0.0
cambia de "1" a "0", el temporizador cambia a la marcha en
vaco y A 4.0 es "0". Si el estado de seal en la entrada E 0.1
cambia de "0" a "1", el temporizador T5 se pone a 0, es decir,
se para y el valor de temporizacin restante se pone a "0".
---(SS) Arrancar temporizador con retardo a la conexin con memoria

Basado en el mismo funcionamiento que el S_SEVERZ, la


activacin de la entrada E 0.0 de "0" a "1" (flanco creciente
en el RLO), el temporizador T5 arranca. Si el estado de seal
en la entrada E 0.0 cambia de "0" a "1" antes de transcurrir el
tiempo, el temporizador se vuelve a arrancar. La salida A 4.0
es "1" si ha transcurrido el tiempo. Si el estado de seal en la
entrada E 0.1 es "1", el temporizador T5 se pone a 0, es
decir, se para y el valor de temporizacin restante se pone a
"0".

---(SA) Arrancar temporizador con retardo a la desconexin


Basado en el mismo funcionamiento que el S_AVERZ, la
activacin de la entrada E 0.0 de "1" a "0", el temporizador
arranca.
A 4.0 es "1" si E 0.0 es "1" o si el temporizador est en
marcha. Si el estado de seal en la entrada E 0.1 cambia de
"0" a "1", el temporizador T5 se pone a 0, es decir que se
para y que el valor de temporizacin restante se pone a "0".
Contadores

Tabla correspondiente al smbolo SIMATIC de los temporizadores anteriormente explicados.

Parmetro Tipo de Area de Descripcin


SIMATIC datos memoria
N de Z COUNTER Z Numero de identificacin del contador, el rea
depende la CPU utilizada.
ZV BOOL E, A, M, L, D Entrada de conteo adelante.
ZR BOOL E, A, M, L, D Entrada de conteo atrs.
S BOOL E, A, M, L, D Entrada para preseleccionar el contador.
ZW WORD E, A, M, L, D Valor para preseleccionar el contador.
R BOOL E, A, M, L, D Entrada de puesta a 0.
DUAL WORD E, A, M, L, D Valor actual del contador, numero binario.
DEZ WORD E, A, M, L, D Valor actual del contador, numero BCD.
Q BOOL E, A, M, L, D Estado del contador.

Parmetro SIMATIC Tipo de Area de Descripcin


datos memoria
<C-Nr.> COUNTER Z Numero del contador
preseleccionado.
<Valor preseleccionado> WORD E, A, M, L, D Valor para la preseleccin BCD (0-
999).

Valor para preseleccionar el contador en forma de C#<valor> en el margen comprendido entre


0 y 999.

ZAEHLER (incrementar/decrementar)

La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW al


activar S mediante un flanco ascendente. La entrada ZV incrementa en 1 por cada pulso que
recibe el valor preseleccionado. La entrada ZR decrementa en 1 por cada pulso que recibe el
valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se pone a cero
y el valor de contaje es 0. El mximo y mnimo valor admisible por el contadores "999" y 0, ya
que deja de incrementar y decrementar. Al producirse un flanco ascendente en ambas entradas
de contaje, el valor de contaje no vara. El estado de seal de la salida Q ser "1" si el valor de
contaje es mayor que cero, y ser "0" si el valor de contaje es igual a 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 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)

La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW al


activar S mediante un flanco ascendente. La entrada ZV incrementa en 1 por cada pulso que
recibe al valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se
pone a cero y el valor de contaje es 0. en la entrada R el contador se pone a 0, y entonces el
valor de contaje es cero. El mximo valor admisible por el contadores "999", a partir de aqu, el
contador deja de incrementar.

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.

Z_RUECK (decrementar contador)

La cantidad desde la que el contador comienza a contar es seleccionada en la entrada ZW al


activar S mediante un flanco ascendente. La entrada ZR decrementa en 1 por cada pulso que
recibe al valor preseleccionado. Si hay un flanco ascendente en la entrada R, el contador se
pone a cero y el valor de contaje es 0. en la entrada R el contador se pone a 0, y entonces el
valor de contaje es cero. El mnimo valor admisible por el contadores "0", a partir de aqu, el
contador deja de 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 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.

Instrucciones de bit para contadores

---(SZ) Poner el contador en el valor inicial

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.

---(ZV) Contar adelante

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

Al cambiar E 0.0 de "0" a "1" (flanco ascendente en el


RLO), se carga el valor predeterminado de "100" en el
contador Z10. Si el estado de seal de E 0.1 cambia de
"0" a "1" (flanco ascendente en el RLO), se aumenta en
"1" el valor de contaje del contador Z10. Si el estado de
seal de E 0.2 es 1, el contador se pone a "0". A partir
de 999 el contador deja de incrementar.

---(ZR) Contar atrs

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.

Al cambiar E 0.0 de "0" a "1" (flanco ascendente en el


RLO), se carga el valor predeterminado de "100" en el
contador Z10.
Si el estado de seal de E 0.1 cambia de "0" a "1"
(flanco ascendente en el RLO), se decrementa en "1".
A partir de 0, el contador deja de decrementar.
Operaciones de conversin

BCD_I Convertir BCD a entero de 16 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN WORD E, A, M, L, D Numero BCD
OUT INT E, A, M, L, D Valor entero(16 bits) de un numero BCD
Lee el contenido de la entrada IN como un numero decimal codificado
en binario de 3 dgitos (+/- 999), convertiendolo en un valor entero de
16 bits. La salida OUT contiene el resultado en forma de entero. La
salida ENO siempre tiene el mismo estado de seal que la entrada EN.

BCD_DI Convertir BCD a entero de 32 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DWORD E, A, M, L, D Numero BCD
OUT INT E, A, M, L, D Valor entero(32 bits) de un numero BCD
Lee el contenido de la entrada IN como un numero decimal codificado
en binario de 7 dgitos (+/- 9999999), convertiendolo en un valor entero
de 32 bits. La salida OUT contiene el resultado en forma de entero. La
salida ENO siempre tiene el mismo estado de seal que la entrada EN.

I_BCD Convertir entero de 16 bits a BCD

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN INT E, A, M, L, D Entero 16 bits
OUT WORD E, A, M, L, D Valor BCD de entero de16 bits
Lee el contenido de la entrada IN como un valor entero de 16 bits,
convertiendolo en un numero de 3 dgitos en forma decimal codificado
en binario (+/- 999). La salida OUT contiene el resultado. En caso de
desbordamiento ENO = 0.

DI_BCD Convertir entero de 32 bits A BCD

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DINT E, A, M, L, D Entero 32 bits
OUT DWORD E, A, M, L, D Valor BCD de entero de 32 bits
Lee el contenido de la entrada IN como un valor entero de 32 bits,
convertiendolo en un numero de 7 dgitos en forma decimal codificado
en binario (+/- 9999999). La salida OUT contiene el resultado. En caso
de desbordamiento ENO = 0.
TRUNC Truncar entero

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Numero real a convertir
OUT DINT E, A, M, L, D Parte entera del valor dIN
Lee el contenido de la entrada IN como un valor real, convertiendolo
en un entero de 32 bits. El resultado es la parte entera del numero real
que extrae la salida OUT. En caso de desbordamiento ENO = 0.

ROUND Redondear entero

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor a redondear
OUT DINT E, A, M, L, D IN, redondear al prximo entero

Lee el contenido de la entrada IN como numero real, convertiendolo en


un entero de 32 bits. El resultado es el numero entero mas prximo
(redondeo). Si el numero real se encuentra en el centro de dos
enteros, el numero par es devuelto. El resultado se deposita en la
salida OUT. En caso de desbordamiento ENO = 0.
DI_R Convertir entero en 32 bits a real

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DINT E, A, M, L, D Entero 32 bits
OUT REAL E, A, M, L, D Numero real

Lee el contenido de la entrada IN como valor entero de 32 bits,


convertiendolo en numero real. El resultado se deposita en la salida
OUT. La salida ENO siempre tiene el mismo estado de seal que la
entrada EN.

I_DI Convertir entero de 16 bits a entero de 32 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN INT E, A, M, L, D Valor entero 16 bits a convertir
OUT DINT E, A, M, L, D Resultado entero 32 bits

Lee el contenido de la entrada IN como valor entero de 16 bits,


convertiendolo en entero de 32 bits. El resultado se deposita en la
salida OUT. La salida ENO siempre tiene el mismo estado de seal
que la entrada EN.
CEIL Redondear numero real a entero superior

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Numero real a convertir
OUT INT E, A, M, L, D Entero de 32 bits inferior que es mas
grande que el numero real
Lee el contenido de la entrada IN como numero real, convertiendolo en
entero de 32 bits. El resultado es el entero inferior que es mas grande
que el numero real (redondear). En caso de desbordamiento ENO = 0.

FLOOR Redondear numero real a entero inferior

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Numero real a convertir
OUT DINT E, A, M, L, D Entero de 32 bits superior menor que el
numero real

Lee el contenido de la entrada IN como numero real, convertiendolo en


entero de 32 bits. El resultado se deposita en MD12. La salida A 0.0
ES 1 si se produce un desbordamiento o si no se procesa la
instruccin E 0.0 = 0.

INV_I Complemento a 1 de un entero de 16 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN INT E, A, M, L, D Valor entero 16 bits
OUT INT E, A, M, L, D Complemento a 1 de un entero de 16
bits dIN

Lee el contenido de la entrada IN combinando el patrn hexadecimal


W#16#FFFF mediante O-EXCLUSIVA. Esta operacin invierte el
estado de cada bit. La salida ENO siempre tiene el mismo estado de
seal que la entrada EN.

INV_DI Complemento a 1 de un entero de 32 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DINT E, A, M, L, D Valor entero de 32 bits de entrada
OUT DINT E, A, M, L, D Complemento a 1 de entero de 32 bits
dIN

Lee el contenido de la entrada IN combinando el patrn hexadecimal


W#16#FFFF mediante O-EXCLUSIVA. Esta operacin invierte el
estado de cada bit. La salida ENO siempre tiene el mismo estado de
seal que la entrada EN.
NEG_I Complemento a 2 de un entero de 16 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN INT E, A, M, L, D Valor entero de 16 bits de entrada
OUT INT E, A, M, L, D Complemento a 2 de entero de 16 bits
dIN
Lee el contenido de la entrada IN ejecutando la operacin
Complemento a 2. La operacin invierte el signo (Ej: De un valor
positivo a uno negativo). La salida ENO siempre tiene el mismo estado
de seal que la entrada EN, a excepcin de que si el estado de seal
de ENO es 1, se produce un desbordamiento, el estado de seal de
ENO es 0.

NEG_DI Complemento a 2 de un entero de 32 bits

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DINT E, A, M, L, D Valor entero de 32 bits de entrada
OUT DINT E, A, M, L, D Complemento a 2 de entero de 32 bits
dIN

Lee el contenido de la entrada IN ejecutando la operacin


Complemento a 2. La operacin invierte el signo (Ej: De un valor
positivo a uno negativo). La salida ENO siempre tiene el mismo estado
de seal que la entrada EN, a excepcin de que si el estado de seal
de ENO es 1, se produce un desbordamiento, el estado de seal de
ENO es 0.

NEG_R Invertir el signo de un numero real

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Numero real IN con signo negado

Lee el contenido de la entrada IN invertiendo el signo. Esta operacin


equivale a una multiplicacin por (-1). La operacin invierte el signo
(Ej: de un valor positivo a uno negativo). La salida ENO siempre tiene
el mismo estado de seal que la entrada EN, a excepcin de que si el
estado de seal de ENO es 1, se produce un desbordamiento, el
estado de seal de ENO es 0.
Operaciones de comparacin (>, <, ==, <>, <=, >=)

Las operaciones de comparacin sirven para comparar los siguientes pares de valores
numricos:

- Dos enteros (16 bits)


- Dos enteros dobles (32 bits)
- Dos nmeros reales (de coma flotante, 32 bits)

Los valores numricos se cargan en los ACU's 1 y 2. Las operaciones de comparacin


comparan el valor del ACU2 con el valor depositado en el ACU1.
El resultado de la comparacin es un dgito binario. Un 1 significa que el resultado de la
comparacin es verdadero, mientras que un 0 significa que el resultado de la comparacin es
falso. Este resultado se encuentra almacenado en el bit de resultado lgico (RLO). Este
resultado puede emplearse para su posterior procesamiento.

Parmetro Carcter de relacin Descripcin


xx >, <, = =, <>, <=, >= Tipo de comparacin

xx= Tipo de comparacin: > Mayor


< Menor
== Igual
<> Diferente
>= Mayor o igual
<= Menor o igual

CMP_D >= xx Comparar enteros (32 bits) (>, <, ==, <>, <=, >=)

Parmetro Tipo de datos Area de memoria Descripcin


Entrada de cuadro BOOL E, A, M, L, D Entrada de habilitacin
Salida de cuadro BOOL E, A, M, L, D Salida de habilitacin
IN1 DINT E, A, M, L, D Primer valor a comparar
IN2 DINT E, A, M, L, D Segundo valor a comparar

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) (>, <, ==, <>, <=, >=)

Parmetro Tipo de datos Area de memoria Descripcin


Entrada de cuadro BOOL E, A, M, L, D Entrada de habilitacin
Salida de cuadro BOOL E, A, M, L, D Salida de habilitacin
IN1 INT E, A, M, L, D Primer valor a comparar
IN2 INT E, A, M, L, D Segundo valor a comparar

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 son 1 Y si MW0 >= MW2.

CMP_R >= xx Comparar nmeros reales (>, <, ==, <>, <=, >=)

Parmetro Tipo de datos Area de memoria Descripcin


Entrada de cuadro BOOL E, A, M, L, D Entrada de habilitacin
Salida de cuadro BOOL E, A, M, L, D Salida de habilitacin
IN1 REAL E, A, M, L, D Primer valor a comparar
IN2 REAL E, A, M, L, D Segundo valor a comparar

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.

Operacin de transferencia (MOVE)

Parmetro Tipo de datos Area de Descripcin


memoria
EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN Todos los tipos de datos de 8, 16 E, A, M, L, D, Valor de la fuente
i 32 bits de longitud T, Z
O E, A, M, L, D Direccin de destino

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)

El acumulador 1 (ACU 1) y el acumulador 2 (ACU 2) son dos registros universales de 32 bits


que se emplean para procesar bytes, palabras y palabras dobles. En estos acumuladores se
pueden cargar constantes o valores depositados en la memoria como operandos y ejecutar
operaciones lgicas con ellos. Tambin es posible transferir el resultado en ACU 1 a una
direccin (un mdulo de datos, una salida, etc.).
Cada acumulador puede descomponerse en dos palabras de 16 bits (palabra baja y alta). La
palabra baja contiene los bits de menor peso y la alta los de mayor peso lgico.
Todas las posibles operaciones que pueden realizarse son:

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.

Intercambiar el contenido de los acumuladores: mediante la instruccin TAK.


Realizar una operacin entre los acumuladores, almacenando el resultado en ACU 1 sin
variar ACU 2. Las operaciones pueden ser de comparacin, de lgica digital y de aritmtica.

Definicin de bytes y palabras en un registro de 32 bits (por ejemplo en el ACU 1):


Funciones de salto

---( JMP)--- Operacion de salto incondicional (absoluto)

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.

---( JMP) Saltar si la seal es 1

Funciona como un salto absoluto cuando no hay otro elemento KOP entre el conductor
izquierdo y la operacin.

El salto es siempre ejecutado. Las operaciones


que se encuentren entre la operacin de salto y
la meta no se ejecutan.

---( JMP) Salto en el bloque si el RLO es 1

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.

Si la entrada E 0.0 es 0 se ejecuta el salto a la


meta CAS1. Al llevarse a cabo el salto, en la
salida A 4.0 no se ejecuta la operacin Poner
salida a 0, aunque E 0.3 sea 1.

---( JMPN) (Saltar si la seal es 0)

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

Si E 0.0 = 1 se ejecuta el salto a la meta


CAS1. Al llevarse a cabo el salto, en la salida
A 4.0 no se ejecuta la operacin Poner salida
a 0, aunque E 0.3 sea 1.
Funciones matemticas fundamentales (Aritmtica de coma fija)

ADD_I Suma de nmeros enteros (16 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 INT E, A, M, L, D Primer valor de la suma
IN2 INT E, A, M, L, D Segundo valor de la suma
OUT INT E, A, M, L, D Resultado de la suma

Realiza la suma de nmeros enteros de las entradas IN1 e IN2 cuando


la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.

ADD_DI Suma de nmeros enteros (32 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 DINT E, A, M, L, D Primer valor de la suma
IN2 DINT E, A, M, L, D Segundo valor de la suma
OUT DINT E, A, M, L, D Resultado de la suma

Realiza la suma de nmeros enteros de las entradas IN1 e IN2 cuando


la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.

SUB_I Resta de nmeros enteros (16 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 INT E, A, M, L, D Primer valor de la resta
IN2 INT E, A, M, L, D Segundo valor de la resta
OUT INT E, A, M, L, D Resultado de la resta
Realiza la resta de nmeros enteros de las entradas IN1 e IN2 cuando
la entrada de habilitacin EN esta en 1. El resultado puede consultarse
en la salida OUT. En el caso que hubiese desbordamiento o
desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.
SUB_DI Resta de nmeros enteros (32 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 DINT E, A, M, L, D Primer valor de la resta
IN2 DINT E, A, M, L, D Segundo valor de la resta
OUT DINT E, A, M, L, D Resultado de la resta
Realiza la resta de nmeros enteros de las entradas IN1 e IN2 cuando
la entrada de habilitacin EN esta en 1. El resultado puede consultarse
en la salida OUT. En el caso que hubiese desbordamiento o
desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.

MUL_I Producto de nmeros enteros (16 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 INT E, A, M, L, D Primer valor del producto
IN2 INT E, A, M, L, D Segundo valor del producto
OUT INT E, A, M, L, D Resultado del producto
Realiza el producto de nmeros enteros de las entradas IN1 e IN2
cuando la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.

MUL_DI Producto de nmeros enteros (32 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 DINT E, A, M, L, D Primer valor del producto
IN2 DINT E, A, M, L, D Segundo valor del producto
OUT DINT E, A, M, L, D Resultado del producto
Realiza el producto de nmeros enteros de las entradas IN1 e IN2
cuando la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.
DIV_I Divisin de nmeros enteros (16 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 INT E, A, M, L, D Primer valor de la divisin
IN2 INT E, A, M, L, D Segundo valor de la divisin
OUT INT E, A, M, L, D Resultado de la divisin

Realiza la divisin de nmeros enteros de las entradas IN1 e IN2


cuando la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (16 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.

DIV_I Divisin de nmeros enteros (32 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 DINT E, A, M, L, D Primer valor de la divisin
IN2 DINT E, A, M, L, D Segundo valor de la divisin
OUT DINT E, A, M, L, D Resultado de la divisin

Realiza la divisin de nmeros enteros de las entradas IN1 e IN2


cuando la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros enteros (32 bits), el bit OV y el bit OS, serian = 1, y la salida
ENO = 0, por lo tanto, las siguientes operaciones a esta, combinadas
a travs de ENO, no sern ejecutadas.

MOD_DI Obtener resta de divisin de enteros (32 bits)

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 DINT E, A, M, L, D Dividendo
IN2 DINT E, A, M, L, D Divisor
OUT DINT E, A, M, L, D Resta de la divisin

Realiza la divisin de nmeros enteros de las entradas IN1 e IN2


cuando la entrada de habilitacin EN esta en 1. La resta de la divisin
puede consultarse en la salida OUT. En el caso que hubiese
desbordamiento o desbordamiento negativo por salir el resultado del
rango valido de nmeros enteros (32 bits), el bit OV y el bit OS, serian
= 1, y la salida ENO = 0, por lo tanto, las siguientes operaciones a
esta, combinadas a travs de ENO, no sern ejecutadas.
Bits de resultado (>, <, >=, <=, = =, <> 0)

Estas operaciones son utilizadas para determinar la relacin entre el resultado obtenido de una
funcin aritmtica y 0 mediante la comparacin.

Comparacin con cero Negacin de la comparacin


>0---I I--- >0---I/I---
<0---I I--- <0---I/I---
>=0---I I--- >=0---I/I---
<=0---I I--- <=0---I/I---
==0---I I--- ==0---I/I---
<>0---I I--- <>0---I/I---

Comparacin con cero Descripcin detallada


>0 Ms grande que cero
<0 Menor que cero
>=0 Ms grande o igual que cero
M Menor o igual que cero
==0 Igual que cero
<>0 Diferente que cero
Funciones matemticas fundamentales (Aritmtica de coma flotante)

ADD_R Suma de nmeros reales

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 REAL E, A, M, L, D Primer valor de la suma
IN2 REAL E, A, M, L, D Segundo valor de la suma
OUT REAL E, A, M, L, D Resultado de la suma

Realiza la suma de nmeros reales de las entradas IN1 e IN2 cuando


la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO =
0, por lo tanto, las siguientes operaciones a esta, combinadas a
travs de ENO, no sern ejecutadas.

SUB_R Resta de nmeros reales

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 REAL E, A, M, L, D Primer valor de la resta
IN2 REAL E, A, M, L, D Segundo valor de la resta
OUT REAL E, A, M, L, D Resultado de la resta
Realiza la resta de nmeros reales de las entradas IN1 e IN2 cuando
la entrada de habilitacin EN esta en 1. El resultado puede consultarse
en la salida OUT. En el caso que hubiese desbordamiento o
desbordamiento negativo por salir el resultado del rango valido de
nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO =
0, por lo tanto, las siguientes operaciones a esta, combinadas a
travs de ENO, no sern ejecutadas.

MUL_R Producto de nmeros reales

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 REAL E, A, M, L, D Primer valor del producto
IN2 REAL E, A, M, L, D Segundo valor del producto
OUT REAL E, A, M, L, D Resultado del producto
Realiza el producto de nmeros reales de las entradas IN1 e IN2
cuando la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO =
0, por lo tanto, las siguientes operaciones a esta, combinadas a
travs de ENO, no sern ejecutadas.
DIV_R Divisin de nmeros reales

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN1 REAL E, A, M, L, D Primer valor de la divisin
IN2 REAL E, A, M, L, D Segundo valor de la divisin
OUT REAL E, A, M, L, D Resultado de la divisin

Realiza la divisin de nmeros reales de las entradas IN1 e IN2


cuando la entrada de habilitacin EN esta en 1. El resultado puede
consultarse en la salida OUT. En el caso que hubiese desbordamiento
o desbordamiento negativo por salir el resultado del rango valido de
nmeros reales, el bit OV y el bit OS, serian = 1, y la salida ENO =
0, por lo tanto, las siguientes operaciones a esta, combinadas a
travs de ENO, no sern ejecutadas.
ABS Valor absoluto de un nmero real

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Numero real
OUT REAL E, A, M, L, D Valor absoluto del numero real

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)

SIN Calculo del seno

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: seno del numero real
Realiza el calculo de seno 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.

ASIN Calculo del arcoseno

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: arcoseno del numero
real
Realiza el calculo del arcoseno del numero real introducido por la
entrada IN cuando en la entrada de habilitacin EN hay un 1 y el
valor introducido en la entrada tiene un rango de 1<= Valor de
entrada <=1. El numero real representa un ngulo en radianes. Si la
salida ENO es = 1, se realiza la conversin. El valor de salida tiene
un rango de -/2<= Valor de salida <=+/2.

COS Calculo del coseno

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: coseno del numero
real
Realiza el calculo de coseno 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.

ACOS Calculo del arcocoseno

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: arcocoseno del
numero real
Realiza el calculo del arcocoseno del numero real introducido por la
entrada IN cuando en la entrada de habilitacin EN hay un 1 y el
valor introducido en la entrada tiene un rango de 1<= Valor de
entrada <=1. El numero real representa un ngulo en radianes. Si la
salida ENO es = 1, se realiza la conversin. El valor de salida tiene
un rango de 0<= Valor de salida <=+.

TAN Calculo de la tangente

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: tangente del numero
real
Realiza el calculo de la tangente 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.

ATAN Calculo de la arcotangente

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: tangente del numero
real
Realiza el calculo de la arcotangente 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. El valor de salida tiene un rango de -/2<=
Valor de salida <=+/2.

EXP Calculo el exponente

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: exponente del numero
real

Realiza el calculo del exponente del numero real con la base e


(=2.71828), 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.
LN Calculo del logaritmo natural

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: logaritmo natural del
numero real

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.

SQR Calculo del cuadrado

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: cuadrado del numero
real

Realiza el calculo del cuadrado 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.

SQRT Calculo de la raz cuadrada

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN REAL E, A, M, L, D Valor de entrada: Numero real
OUT REAL E, A, M, L, D Valor de salida: raz cuadrada del
numero real
Realiza el calculo de la raz cuadrada 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.
Funciones de desplazamiento y rotacin

SHL_W Desplazar 16 bits a la izquierda

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN WORD E, A, M, L, D Valor a desplazar
N WORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operacin de
desplazamiento
Cuando en la entrada de habilitacin EN hay un 1,se activa esta
funcin desplazando a la izquierda bit a bit, los bits del 0 al 15 que se
hallen en la entrada IN. La entrada N indica el numero de posiciones
de bit que se mueven en el desplazamiento a la izquierda. Si en la
entrada N se introduce un numero mayor que 16, en la salida OUT hay
un 0. Desde la derecha se van ocupando en 0, las posiciones de bit
que van siendo desplazadas. Si en la salida EN se obtiene un 1, la
salida ENO indica el estado de seal del ltimo bit desplazado.

SHR_W Desplazar 16 bits a la derecha

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN WORD E, A, M, L, D Valor a desplazar
N WORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operacin de
desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta


funcin desplazando a la derecha bit a bit, los bits del 0 al 15 que se
hallen en la entrada IN. La entrada N indica el numero de posiciones
de bit que se mueven en el desplazamiento a la derecha. Si en la
entrada N se introduce un numero mayor que 16, en la salida OUT hay
un 0. Desde la izquierda se van ocupando en 0, las posiciones de
bit que van siendo desplazadas. Si en la salida EN se obtiene un 1, la
salida ENO indica el estado de seal del ltimo bit desplazado.

SHL_DW Desplazar 32 bits a la izquierda

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN WORD E, A, M, L, D Valor a desplazar
N DWORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operacin de
desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta


funcin desplazando a la izquierda bit a bit, los bits del 0 al 31 que se
hallen en la entrada IN. La entrada N indica el numero de posiciones
de bit que se mueven en el desplazamiento a la izquierda. Si en la
entrada N se introduce un numero mayor que 32, en la salida OUT hay
un 0. Desde la derecha se van ocupando en 0, las posiciones de bit
que van siendo desplazadas. Si en la salida EN se obtiene un 1, la
salida ENO indica el estado de seal del ltimo bit desplazado.
SHR_DW Desplazar 32 bits a la derecha

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN WORD E, A, M, L, D Valor a desplazar
N DWORD E, A, M, L, D Numero de posiciones
OUT WORD E, A, M, L, D Resultado de la operacin de
desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta


funcin desplazando a la derecha bit a bit, los bits del 0 al 31 que se
hallen en la entrada IN. La entrada N indica el numero de posiciones
de bit que se mueven en el desplazamiento a la derecha. Si en la
entrada N se introduce un numero mayor que 32, en la salida OUT hay
un 0. Desde la izquierda se van ocupando en 0, las posiciones de
bit que van siendo desplazadas. Si en la salida EN se obtiene un 1, la
salida ENO indica el estado de seal del ltimo bit desplazado.

SHR_I Desplazar entero de 16 bits a la derecha

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN INT E, A, M, L, D Valor a desplazar
N WORD E, A, M, L, D Numero de posiciones
OUT INT E, A, M, L, D Resultado de la operacin de
desplazamiento
Cuando en la entrada de habilitacin EN hay un 1,se activa esta
funcin desplazando a la derecha bit a bit, los bits del 0 al 15 que se
hallen en la entrada IN. La entrada N indica el numero de posiciones
de bit que se mueven en el desplazamiento a la derecha. Si en la
entrada N se introduce un numero mayor que 16, en la salida OUT hay
un 0. Desde la izquierda se van ocupando en 0, las posiciones de
bit que van siendo desplazadas en caso de ser un valor entero positivo
y en 1 si el valor entero es negativo. Si en la salida EN se obtiene un
1, la salida ENO indica el estado de seal del ltimo bit desplazado.

SHR_DI Desplazar entero de 32 bits a la derecha

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DINT E, A, M, L, D Valor a desplazar
N WORD E, A, M, L, D Numero de posiciones
OUT DINT E, A, M, L, D Resultado de la operacin de
desplazamiento

Cuando en la entrada de habilitacin EN hay un 1,se activa esta


funcin desplazando a la derecha bit a bit, los bits del 0 al 31 que se
hallen en la entrada IN. La entrada N indica el numero de posiciones
de bit que se mueven en el desplazamiento a la derecha. Si en la
entrada N se introduce un numero mayor que 32, en la salida OUT hay
un 0. Desde la izquierda se van ocupando en 0, las posiciones de
bit que van siendo desplazadas en caso de ser un valor entero positivo
y en 1 si el valor entero es negativo. Si en la salida EN se obtiene un
1, la salida ENO indica el estado de seal del ltimo bit desplazado.
ROL_DW Rotar 32 bits a la izquierda

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DWORD E, A, M, L, D Valor a rotar
N WORD E, A, M, L, D Numero de posiciones (bits) a rotar
OUT DWORD E, A, M, L, D Resultado de la operacin de rotacin
Cuando en la entrada de habilitacin EN hay un 1,se activa esta
funcin rotando bit a bit, el contenido completo de la entrada IN a la
izquierda los bits del 0 al 31. La entrada N indica el numero de
posiciones de bit que se rotan a la izquierda. Si en la entrada N se
introduce un numero mayor que 32, la palabra doble IN es rotada en
((N-1) modulo 32)+1 posiciones. Las posiciones de bit que se arrastran
desde la derecha, son ocupadas por el estado de seal de los bits
rotados a la izquierda. La palabra doble que se obtiene como resultado
de la operacin de rotacin, puede verse en la salida OUT. ENO indica
el estado del ultimo bit rotado, si en la entrada EN hay un 1, esto
significa que las operaciones combinadas a la salida ENO, no sern
ejecutadas si el ltimo bit desplazado tiene como estado 0

ROR_DW Rotar 32 bits a la derecha

Parmetro Tipo de datos Area de memoria Descripcin


EN BOOL E, A, M, L, D Entrada de habilitacin
ENO BOOL E, A, M, L, D Salida de habilitacin
IN DWORD E, A, M, L, D Valor a desplazar
N WORD E, A, M, L, D Numero de posiciones (bits) a rotar
OUT DWORD E, A, M, L, D Resultado de la operacin de rotacin

Cuando en la entrada de habilitacin EN hay un 1,se activa esta


funcin rotando bit a bit, el contenido completo de la entrada IN a la
derecha los bits del 0 al 31. La entrada N indica el numero de
posiciones de bit que se rotan a la derecha. Si en la entrada N se
introduce un numero mayor que 32, la palabra doble IN es rotada en
((N-1) modulo 32)+1 posiciones. Las posiciones de bit que se arrastran
desde la izquierda, son ocupadas por el estado de seal de los bits
rotados a la derecha. La palabra doble que se obtiene como resultado
de la operacin de rotacin, puede verse en la salida OUT. ENO indica
el estado del ultimo bit rotado, si en la entrada EN hay un 1, esto
significa que las operaciones combinadas a la salida ENO, no sern
ejecutadas si el ltimo bit desplazado tiene como estado 0
Sistemas de proteccin de control

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

Master Control Relay (MCR)

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

---(MCRA) Inicio de un Master Control Relay

Activa un Master Control Relay. Una vez efectuada esta operacin se pueden programar las
reas MCR utilizando las operaciones ---(MCR<) y ---(MCR>).

MCRA activa el MCR. Los circuitos entre


las operaciones MCR< y MCR> (salidas
A 4.0, A 4.1) se ejecutan de forma que
E 0.0 = 1 (MCR est ON): la salida A 4.0 se
pone a "1" si la entrada E 0.3 est en el
estado "1", y no cambia si la entrada E 0.3
est en el estado "0". A la salida A 4.1 se le
asigna el estado de la entrada E 0.4.
E 0.0 = 0 (MCR est OFF): la salida A 4.0
no vara, independientemente del estado
de E 0.3; la salida A 4.1 es "0",
independientemente de cul sea el estado
de E 0.4. En el circuito siguiente, la
operacin ---(MCRD) desactiva el MCR.
Esto significa que ya no se pueden
programar reas MCR con las dos
operaciones ---(MCR<) y ---(MCR>).
---(MCRD) Final de un Master Control Relay

Desactiva un MCR. Despus de esta operacin no se pueden programar reas MCR.

MCRA activa el MCR. Los circuitos entre


las operaciones MCR< y MCR> (salidas
A 4.0, A 4.1) se ejecutan de forma que
E 0.0 = 1 (MCR est ON): la salida A 4.0
se pone a "1" si la entrada E 0.3 est en
el estado "1"; A 4.0 no se modifica si la
entrada E 0.3 est en el estado "0". A la
salida A 4.1 se le asigna el estado de la
entrada E 0.4.
E 0.0 = 0 (MCR est OFF): la salida A 4.0
no vara, independientemente del estado
de E 0.3, y la salida A 4.1 es "0",
independientemente del estado de E 0.4
En el circuito siguiente, la operacin ---
(MCRD) desactiva el MCR. Esto significa
que ya no se pueden programar reas
MCR con la pareja de operaciones
---(MCR<) y ---(MCR>).

---(MCR<) Conectar un Master Control Relay

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.

---(MCR>) Desconectar un Master Control Relay

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

En la programacin estructurada, la tarea a automatizar se divide en tareas menos complejas,


las cuales son llamadas desde un programa o modulo raz (OB1). En este tipo de programacin
resulta ser muy organizado, ya que es muy recomendable sobretodo para el diseo de tareas
complejas y por lo tanto el seccionamiento y resolucin de errores en el caso que los hubiese.
El programa raz se encarga de llamar a los sub-modulos para la realizacin de las tareas
programadas, recibiendo respuesta de estos cuando han realizado la tarea programada.

Ventajas:

- Las tareas se dividen en partes que pueden ser tratadas independientemente.

- En un grupo de programadores cada uno puede encargarse de la programacin de una


parte concreta de la tarea.

- Los bloques pueden ser escritos en diferentes lenguajes, buscando el mas adecuado para
el tratamiento de las variables que contiene.

- Los cambios de la programacin en la puesta a punto se realizan mas rpidamente ya que


es un sistema muy organizado.

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

Ejemplo de programacin estructurada

You might also like