Professional Documents
Culture Documents
Las operaciones bsicas mediante su combinacin en un programa, permiten llevar a cabo una
gran variedad de tareas de automatizacin. Las operaciones bsicas en cuestin son las
siguientes:
Operaciones lgicas con bits
Operaciones de carga y transferencia
Operaciones de temporizaron
Operaciones de Contaje
Es indispensable tener conocimiento de los operandos que se pueden utilizar para realizar la
programacin, en el capitulo 1 se defini los bits para el direccionamiento de las E/S, as como
tambin los bits de marcas, los temporizadores y contadores con los que cuenta la CPU para
realizar las operaciones bsicas:
Entradas: E 124.0 a 125.7
Salidas: E 124.0 a 125.7
Marcas: M 0.0 a M 143.7
Temporizadores: T 0 a T 127
Contadores: Z 0 a Z 63
Es de anotar, que solamente se incluyeron los bits de E/S integradas de la CPU, puesto que no se
cuentan con mas, si se tuvieran mas mdulos de E/S estaran disponibles mas operandos de este
tipo.
Las operaciones lgicas con bits trabajan con dos dgitos, 1 y 0. Estos dos dgitos constituyen la
base de un sistema numrico denominado sistema binario. Los dos dgitos 1 y 0 se denominan
dgitos binarios o bits. En el mbito de los contactos y bobinas, un 1 significa activado (excitado) y
un 0 significa desactivado (no excitado).
Las operaciones lgicas con bits interpretan los estados de seal 1 y 0, y los combinan de acuerdo
con la lgica de Boole. Estas combinaciones crean un 1 un 0 como resultado y se denomina
resultado lgico (RLO). Las operaciones lgicas con bits permiten ejecutar las ms diversas
funciones.
124
OPERACIONES BASICAS DE PROGRAMACION
Desactivar R
Asignar =
Operaciones activar y desactivar
Flip-flop Activar/Desactivar
Flip-flop Desactivar/Activar
En la figura 149 se muestra las operaciones para la consulta del estado de la seal en un contacto
normalmente abierto.
Resultado de la consulta
Lenguaje Operacin Contacto Contacto
activado 1 desactivado 0
Y (U)
AWL O (O)
1 0
KOP 1 0
FUP 1 0
125
AUTOMATAS PROGRAMABLES SIMATIC S7
En la figura 151 se muestra las operaciones para la consulta del estado de la seal en un contacto
normalmente cerrado.
Resultado de la consulta
Lenguaje Operacin Contacto Contacto
activado 1 desactivado 0
Y-NO (UN)
AWL O-NO (ON)
0 1
KOP 0 1
FUP 0 1
Para la negacin de la operacin Y existe la operacin Y-NO que realiza la consulta al estado de
seal 0, es decir consulta la conexin en serie de un contacto normalmente cerrado. En la
figura 153 se muestra un ejemplo.
126
OPERACIONES BASICAS DE PROGRAMACION
U E 124.0
U E 124.1 E 124.0 E 124.1 E 124.2 A 124.0
U E 124.2
()
= A 124.0
127
AUTOMATAS PROGRAMABLES SIMATIC S7
La figura 154 muestra una operacin O (O) para conectar en paralelo los tres contactos abiertos.
La salida A 124.0 slo tendr el estado 1 (y, por tanto, por la bobina pasar corriente) cuando los
tres contactos tengan el estado 1 (cerrados).
Para la negacin de la operacin O existe la operacin O-NO que realiza la consulta al estado de
seal 0, es decir consulta la conexin en paralelo de un contacto normalmente cerrado. En la
figura 155 se muestra un ejemplo.
9.1.3.3. O-exclusiva
128
OPERACIONES BASICAS DE PROGRAMACION
Diagrama de tiempos
A 124.0
1
E 124.0 0
1
E 124.1 0
1
A 124.0 0
X E 124.0 X E 124.0
X E 124.1 X E 124.1
= A 124.0 = A 124.0
129
AUTOMATAS PROGRAMABLES SIMATIC S7
Diagrama de tiempos
E 124.1
1
E 124.0
0
1
E 124.1
0
A 124.0
1
A 124.0
0
X E 124.0 X E 124.0
XN E 124.1 XN E 124.1
= A 124.0 = A 124.0
130
OPERACIONES BASICAS DE PROGRAMACION
Tambin es posible combinar las operaciones Y y O en una cadena lgica sin utilizar parntesis.
Existe la convencin de evaluar en primer lugar las instrucciones Y, y combinar luego los
resultados con la operacin O.
En la figura 159 se utiliza el principio Y antes de O para programar un circuito. Por convencin, el
programa evala en primer lugar la combinacin Y. A continuacin combina los resultados de la
combinacin Y con la operacin O. No se requieren parntesis. El principio con el que se trabaja
aqu se denomina Y antes de O.
En la figura 160 y 161 son ejemplos de la combinacin O antes de Y, esta combinacin realizada
conjuntamente, se debe escribir en lgebra de Boole con parntesis, para aclarar que la funcin O
va antes de la funcin Y.
La operacin que abre una expresin entre parntesis almacena el RLO de la operacin
precedente en la pila de parntesis. A continuacin, el programa combina el RLO almacenado con
el resultado de las combinaciones lgicas ejecutadas dentro del parntesis.
Es de anotar que las cadenas lgicas que comenzaron con las operaciones U(, UN(, O(, ON(,
X( y XN( deben terminar con la operacin ) en el lenguaje AWL.
131
AUTOMATAS PROGRAMABLES SIMATIC S7
132
OPERACIONES BASICAS DE PROGRAMACION
Las operaciones lgicas con bits implican la ejecucin de combinaciones, que al final arrojan un
resultado binario 0 o 1, pero a medida que la combinacin avanza, debe almacenarse un
resultado temporal que refleja el estado de la combinacin hasta el momento y un valor que se
combinara con el resultado para continuar la combinacin. Para cumplir este objetivo la CPU
destina un rea de memoria con tamao de una palabra (16 bits), que se conoce como La palabra
de estado, en la cual 3 bits que se van a explicar a continuacin, sirven de apoyo para la ejecucin
de la combinacin.
El bit 0 de la palabra de estado se denomina bit de primera consulta (bit /ER). Si el estado de
seal del bit /ER es 0, significa que siguiendo este punto en el programa, la siguiente operacin
lgica da inicio a otra cadena lgica.
Cada operacin lgica consulta el estado del bit /ER, as como el estado de seal del operando
direccionado. Si el bit /ER es 0, la operacin almacenar el resultado de la consulta de estado de
seal en el bit RLO de la palabra de estado (bit RLO) y se pone el bit /ER a 1. Este proceso se
denomina primera consulta (figura 162).
Si el bit /ER es 1, una operacin combina el resultado de la consulta del estado de seal del
contacto direccionado con el valor almacenado en el bit RLO anterior (figura 162).
Una cadena de operaciones lgicas siempre termina con una operacin de salida (S, R =, se
explicaran en el pargrafo 9.1.8), o con una expresin entre parntesis U(, O(, X(, UN(, ON( o XN( .
Estas operaciones de salida o de salto desactivan el bit /ER, es decir, lo ponen a 0 (figura 162).
El bit 1 de la palabra de estado se denomina bit RLO (RLO = resultado lgico). Este bit almacena
el resultado de una operacin lgica binaria.
Por ejemplo, la segunda operacin de una cadena de operaciones lgicas consulta el estado de
seal de un contacto, obteniendo el resultado 1 0. A continuacin, la operacin combina este
resultado con el valor almacenado en el bit RLO de la palabra de estado, de acuerdo con los
principios de la lgica de Boole. El resultado de esta operacin lgica se almacena en el bit RLO
de la palabra de estado, reemplazando el valor anterior en el bit RLO. Cada instruccin
subsiguiente en la cadena ejecuta una operacin lgica con dos valores: el resultado que se
obtiene consultando el estado de seal del contacto, y el RLO actual.
El bit RLO puede ponerse absolutamente a 1 con la instruccin Activacin S. Utilizando una
operacin lgica a la primera consulta es posible asignarle al RLO el estado de contenido de un
espacio de memoria de bit.
El bit de estado (bit 2 de la palabra de estado) almacena el valor del bit direccionado. El estado de
una operacin lgica que tiene acceso de lectura a la memoria (Y, Y-NO, O, O-NO, X, XN) siempre
es igual al valor del bit que est consultando dicha operacin (el bit con el que est ejecutando la
combinacin). El estado de una operacin lgica que tiene acceso de escritura a la memoria (S, R,
=) siempre es igual al valor del bit donde la operacin est escribiendo, o bien, si no tiene lugar
ningn acceso de escritura, es igual al valor del bit direccionado.
El bit de estado carece de importancia para las operaciones lgicas que no accedan a la memoria.
Dichas operaciones ponen el bit de estado a 1 (STA = 1) como las expresiones entre parntesis
133
AUTOMATAS PROGRAMABLES SIMATIC S7
U(, O(, X(, UN(, ON( o XN(. El bit de estado no es consultado por ninguna operacin sino que
solamente es interpretado durante el test del programa (estado del programa).
Resultado
Programa
Bit STA de la Bit RLO Bit /ER Explicacin
AWL consulta
El resultado de la primeraconsulta
U E 124.0 1 1 1 1 esta almacenado en el bit RLO. El
bit /ER se pone a "1".
El resultado de la consulta se
UN E 124.1 0 1 1 1 combina con el anterior RLO, de
acuerdo con la combinacion Y. El
bit /ER permanece "1".
Las tablas de verdad permiten determinar el resultado lgico de las operaciones al comienzo de
una cadena lgica (tabla 37) y dentro de una cadena lgica (tabla 38), aplicando los principios de la
lgica de Boole.
134
OPERACIONES BASICAS DE PROGRAMACION
Las operaciones FP (flanco positivo) y FN (flanco negativo) pueden utilizarse como contactos
detectores de cambios de flanco en un circuito de rel. Estas combinaciones detectan cambios en
el resultado lgico y reaccionan correspondientemente. El cambio de 0 a 1 se denomina flanco
positivo, mientras que el cambio de 1 a 0 se denomina flanco negativo (figura 163).
135
AUTOMATAS PROGRAMABLES SIMATIC S7
E 124.0 A 124.0
M 1.0 A 124.0
A 124.0
Cuando el autmata programable detecta un flanco positivo en el contacto E 124.0 excita la bobina
en la salida A 124.0 durante un ciclo de un OB1. El autmata programable almacena el resultado
lgico de la operacin Y en la marca de flancos M 1.0 y lo compara con el RLO del ciclo
precedente (tabla 39). Si el RLO actual es 1 y el RLO del ciclo precedente almacenado en el bit
de marcas M 1.0 es 0, entonces la operacin FP pone el RLO a 1. La operacin FP detecta un
flanco positivo en el contacto (por ejemplo, el estado de seal del RLO cambi de 0 a 1). Si no
se produce ningn cambio en el RLO (el RLO actual y el RLO precedente almacenados en la
marca de flancos son ambos igual a 0 1), entonces la operacin FP desactiva el RLO, es
decir, lo pone a 0.
136
OPERACIONES BASICAS DE PROGRAMACION
E 124.0 A 124.0
M 1.0 A 124.0
A 124.0
137
AUTOMATAS PROGRAMABLES SIMATIC S7
Para terminar una cadena lgica se puede utilizar una de las tres operaciones AWL siguientes.
Cada una de estas operaciones puede hacer variar al bit que representa el fin de dicha cadena.
138
OPERACIONES BASICAS DE PROGRAMACION
La operacin S (Activar) puede utilizarse para activar el estado de seal de un bit direccionado, es
decir, para ponerlo a 1. La operacin R (Desactivar) puede utilizarse para desactivar el estado de
seal de un bit direccionado, es decir, para ponerlo a 0. Las operaciones S y R finalizan una
cadena lgica y son conocidas tambin con el nombre de Biestable RS
La figura 168 muestra cmo la operacin S mantiene a 1 el estado de seal de la bobina A 124.5
que ha direccionado hasta que la operacin R cambia el estado de seal a 0. El que el estado de
seal de la bobina direccionada permanezca a 1 hasta que la operacin R lo ponga a 0 muestra
el carcter esttico de la operacin S.
En el esquema de rels, cuando se activa el contacto abierto de la entrada E 124.0 (su estado de
seal cambia a 1) se cierra el contacto. La corriente fluye a travs del contacto de la entrada E
124.0 y a travs del contacto cerrado situado ms abajo, excitando la bobina en la salida A 124.5
(el estado de seal de A 124.5 cambia a 1).
Al activarse la bobina se cierra el contacto abierto en la salida A 124.5 frente a E 124.0. Despus,
independientemente de que el contacto de la entrada E 124.0 est abierto o cerrado, queda
excitada la bobina en la salida A 124.5 (con estado de seal 1). La bobina se mantiene a s
misma en tensin.
Diagrama de tiempos
1
E 124.0 0
1
E 124.1 0
1
A 124.5 0
139
AUTOMATAS PROGRAMABLES SIMATIC S7
La operacin R desactiva el bit que direcciona, es decir, lo pone a 0 cuando el resultado lgico de
la operacin precedente es 1
La figura 168 muestra cmo la operacin R mantiene a 0 el estado de seal de la bobina A 124.0
que ha direccionado, independientemente de que cambie el estado de seal del contacto que
impuls la desactivacin (E 124.1). El que el estado de seal de la bobina direccionada se
mantenga a 0 hasta ser desactivado por una operacin S muestra el carcter esttico de la
operacin R.
En el esquema de rels, la bobina de la salida A 124.0 activada por la operacin S se desactiva (su
estado de seal cambia a 0) cerrando el contacto abierto de la entrada E 124.1. El cierre del
contacto E 124.1 permite que fluya la corriente hasta la bobina situada debajo. Esta bobina abre el
contacto cerrado que se encuentra directamente encima de la bobina de A 124.0, impidiendo que
la corriente alcance la bobina. Cerrando el contacto E 124.1 se activa la operacin R.
Las marcas utilizadas como marcas intermedias, se pueden utilizar a lo largo del programa. Para
ello hay que tener en cuenta:
La marca intermedia tiene que ser en primer lugar activada y despus consultada
Cuando se activa de nuevo, la misma marca intermedia, el resultado antiguo no estar mas
disponible durante la ejecucin del programa.
Las marcas intermedias que se deben de consultar a lo largo del programa, solamente se pueden
utilizar una vez.
140
OPERACIONES BASICAS DE PROGRAMACION
Diagrama de tiempos
1
E 124.0 0
1
E 124.1 0
1
M 1.0 0
1
A 124.5 0
141
AUTOMATAS PROGRAMABLES SIMATIC S7
Diagrama de tiempos
1
E 124.0 0
1
E 124.1 0
1
M 1.0 0
A 124.5
Las operaciones de carga (L) y transferencia (T) permiten programar un intercambio de informacin
entre mdulos de E/S y reas de memoria, o bien entre reas de memoria. La CPU ejecuta estas
operaciones en cada ciclo como operaciones incondicionales, es decir, independientemente del
resultado lgico de la operacin.
Las operaciones de carga (L) y transferencia (T) intercambian informacin a travs del acumulador.
La operacin L escribe (carga) el contenido de la direccin fuente direccionada en el ACU 1,
142
OPERACIONES BASICAS DE PROGRAMACION
desplazando toda la informacin que encuentra en ste al ACU 2. El antiguo contenido del ACU 2
se pierde. La operacin T copia el contenido del ACU 1 y lo desplaza a la memoria del destino
direccionado. Ya que la operacin T solamente copia la informacin que se encuentra en el ACU 1,
sta informacin seguir estando disponible para otras operaciones (figura 172)
ACU 1 ACU 2
15 0 31 16 15 0 31 16 15 0
L MW 10 (SE PIERDE)
15 0 31 16 15 0 31 16 15 0
MW 10 0 MW 10 WORD 2 WORD 1
L MW 12 (SE PIERDE)
31 16 15 0 31 16 15 0
0 MW 12 0 MW 10
15 0
MW 12 T MW 12
Figura 172. Palabra doble del acumulador (ACU 1) para Cargar y transferir.
En otras palabras, las operaciones Cargar (L) y Transferir (T) sirven para transferir informacin a o
desde el ACU 1. La informacin puede tener el siguiente tamao:
Byte (B, 8 bits)
Palabra (W, 16 bits)
Palabra doble (D, 32 bits)
Un byte se carga en el byte bajo de la palabra baja del ACU 1 (bits 0 a 7). Una palabra se carga
en la palabra baja del ACU 1 (bits 0 a 15). Como se mostr en la figura 172 los bytes no
aprovechados se ponen a 0 al cargarse en el ACU 1.
143
AUTOMATAS PROGRAMABLES SIMATIC S7
Medir tiempo. Por ejemplo, el programa puede determinar cunto tiempo se requiere para
rellenar un recipiente.
Los temporizadores tienen reservada un rea de memoria de la CPU. Esta rea de memoria
reserva una palabra de 16 bits Palabra de temporizacin por cada operando de tiempo. Para el
caso de la CPU 314 IFM se disponen de 128 temporizadores desde T 0 a T 127.
En la figura 173 se ilustra las operaciones que utilizan una palabra de temporizacin.
L S5T#aH_bbM_ccS_dddMS
siendo: a = horas, bb = minutos, cc = segundos y dd = milisegundos
La base de tiempo se selecciona automticamente, redondendose el valor al prximo valor
inferior con la base de tiempo correspondiente.
144
OPERACIONES BASICAS DE PROGRAMACION
Debido a que los valores de temporizacin se almacenan en un solo intervalo de tiempo, los
valores que no son exactamente mltiplos de un intervalo quedan truncados. Los valores cuya
resolucin es demasiado alta para el rango deseado se redondean por defecto, alcanzando el
rango, pero no la resolucin deseada. La tabla 42 muestra las resoluciones posibles y sus
correspondientes rangos.
145
AUTOMATAS PROGRAMABLES SIMATIC S7
L <palabra de temporizacin>
El valor que contiene el acumulador puede utilizarse como resultado de la operacin de carga para
su posterior procesamiento, por ejemplo transferirlo con la operacin T a las salidas o a una marca.
Sin embargo, no es posible transferir un valor desde el acumulador a la palabra de temporizacin.
Para el caso de la programacin en lenguaje AWL y KOP los cuadros de temporizadores disponen
de una salida DUAL para la cual se puede indicar una direccin de palabra para leer el valor de
temporizacin en formato binario.
LC <palabra de temporizacin>
Adems del valor de temporizacin se carga la base de tiempo. El valor contenido en la palabra
baja del ACU 1 como resultado de la operacin LC tiene el mismo formato que el que se necesita
para arrancar un temporizador. Este tipo de carga se denomina carga directa de un valor de
temporizacin en formato BCD.
El valor que se encuentra en el acumulador como resultado de la operacin LC puede ser utilizado
para un procesamiento posterior, por ejemplo para transferirlo con la operacin T a las salidas y
controlar as un display. Sin embargo no es posible transferir un valor desde el acumulador a la
palabra de temporizacin.
146
OPERACIONES BASICAS DE PROGRAMACION
Para el caso de la programacin en lenguaje AWL y KOP los cuadros de temporizadores disponen
de una salida DEZ para la cual se puede indicar una direccin de palabra para leer el valor de
temporizacin en formato decimal codificado en binario (BCD) y la base de tiempo.
TIPOS DE TEMPORIZADORES
A 124.0
SI
Temporizador de
impulso
SV A 124.0
Temporizador de
impulso prolongado
SE A 124.0
Temporizador de
retardo a la conexin
SS
Temporizador de A 124.0
retardo a la conexin
con memoria
SA A 124.0
Temporizador de
retardo a la
desconexin
147
AUTOMATAS PROGRAMABLES SIMATIC S7
1
RLO en la entrada de
E 124.0 0
arranque
1
RLO en la entrada de
E 124.1 0
puesta a "0"
MW 10
Cargar temporizador: L, LC
MW 12
148
OPERACIONES BASICAS DE PROGRAMACION
RLO en la entrada de 1
puesta a "0" E 124.1 0
Consulta al estado de
seal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
149
AUTOMATAS PROGRAMABLES SIMATIC S7
DIAGRAMA DE TIEMPOS
RLO en la entrada de
1
arranque E 124.0
0
RLO en la entrada de
1
puesta a "0" E 124.1
0
Reaccin del temporizador
Consulta al estado de
seal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
150
OPERACIONES BASICAS DE PROGRAMACION
Consulta al estado de
seal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
151
AUTOMATAS PROGRAMABLES SIMATIC S7
DIAGRAMA DE TIEMPOS
RLO en la entrada de 1
arranque E 124.0 0
RLO en la entrada de 1
puesta a "0" E 124.1 0
Consulta al estado de
seal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
152
OPERACIONES BASICAS DE PROGRAMACION
Los contadores tienen un rea de memoria propia en la CPU. Dicha rea de memoria reserva una
palabra de 16 bits Palabra de contaje para cada contador. Para el caso de la CPU 314 IFM se
disponen de 64 temporizadores desde Z 0 a Z 127.
Las operaciones de contaje son las nicas funciones que tienen acceso al rea de memoria
reservada para contadores.
En la figura 181 se ilustra las operaciones que utilizan una palabra de contaje como operando.
Los bits 0 a 9 de la palabra de contaje contienen el valor de contaje en cdigo binario. El valor
fijado por el usuario se transfiere del acumulador al contador al activarse ste. El valor de contaje
puede estar comprendido entre 0 y 999. Dentro de esta rea se puede variar dicho valor utilizando
las operaciones Incrementar y Decrementar contador, Incrementar contador y Decrementar
contador.
Para poner el contador a un valor determinado hay que introducir un nmero de 0 a 999, por
ejemplo 127, en el siguiente formato:
C# 127
C# sirve para indicar el formato decimal codificado en binario (formato BCD: cada conjunto de
cuatro bits contiene el cdigo binario de un valor decimal).
153
AUTOMATAS PROGRAMABLES SIMATIC S7
Los bits 0 a 11 del contador contienen el valor de contaje en formato BCD. La figura 182 muestra el
contenido del contador despus de haber cargado el valor de contaje 127 y el contenido de la
clula de contaje despus de haber activado el contador.
En una palabra de contaje se encuentra almacenado un valor en cdigo binario. Para leer el valor
binario de una palabra de contaje hay que cargarla en la palabra baja del ACU 1 con la siguiente
instruccin:
L <palabra de contaje>
El valor que se encuentra en el ACU 1 como resultado de la operacin L puede utilizarse para su
posterior procesamiento (transferir el valor con la operacin T a una salida o marca de palabra). Sin
embargo, no es posible transferir un valor desde el acumulador a la palabra de contaje. Si se
desea arrancar un contador con un valor determinado hay que utilizar la operacin de activacin
correspondiente.
En una palabra de contaje se encuentra almacenado un valor en cdigo binario. Para leer este
valor de contaje en formato BCD desde una palabra de contaje hay que cargar sta en la palabra
baja del ACU 1 con la operacin siguiente:
LC <palabra de contaje>
154
OPERACIONES BASICAS DE PROGRAMACION
El valor contenido en la palabra baja del ACU 1 como resultado de la operacin LC tiene el mismo
formato que el que se necesita para activar un contador.
El contador se activa con el valor de la entrada ZV al producirse un flanco positivo (es decir,
cuando el estado de la seal cambia de 0 a 1) en la entrada S de la operacin Incrementar y
decrementar contador.
155
AUTOMATAS PROGRAMABLES SIMATIC S7
DIAGRAMA DE TIEMPOS
1
Incrementar contador E 125.0 0
1
Decrementar contador E 125.1 0
1
Activar E 125.2 0
1
Poner a 0 E 125.3 0
1
Consulta del estado
A 125.0 0
de seal en la salida
MW 10
Cargar: L, LC MW 12
En la figura 184 se muestra la programacin en los lenguajes AWL, KOP y FUP para el mismo
ejemplo de contador Incrementar/Decrementar.
156
OPERACIONES BASICAS DE PROGRAMACION
El contador se activa con el valor de la entrada ZW al producirse un flanco positivo (es decir,
cuando el estado de la seal cambia de 0 a 1) en la entrada S de la operacin Incrementar
contador.
157
AUTOMATAS PROGRAMABLES SIMATIC S7
El contador se activa con el valor de la entrada ZW al producirse un flanco positivo (es decir,
cuando el estado de la seal cambia de 0 a 1) en la entrada S de la operacin Decrementar
contador.
158