Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 09 Operaciones Basicas de Programacion PDF
Capitulo 09 Operaciones Basicas de Programacion PDF
Las operaciones básicas mediante su combinación en un programa, permiten llevar a cabo una
gran variedad de tareas de automatización. Las operaciones básicas en cuestión son las
siguientes:
• Operaciones lógicas 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
programación, en el capitulo 1 se definió los bits para el direccionamiento de las E/S, así como
también los bits de marcas, los temporizadores y contadores con los que cuenta la CPU para
realizar las operaciones básicas:
• 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 módulos de E/S estarían disponibles mas operandos de este
tipo.
Las operaciones lógicas con bits trabajan con dos dígitos, 1 y 0. Estos dos dígitos constituyen la
base de un sistema numérico denominado sistema binario. Los dos dígitos 1 y 0 se denominan
dígitos 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 lógicas con bits interpretan los estados de señal 1 y 0, y los combinan de acuerdo
con la lógica de Boole. Estas combinaciones crean un 1 ó un 0 como resultado y se denomina
”resultado lógico” (RLO). Las operaciones lógicas con bits permiten ejecutar las más 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 señal en un contacto
normalmente abierto.
Resultado de la consulta
Lenguaje Operación 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 señal en un contacto
normalmente cerrado.
Resultado de la consulta
Lenguaje Operación Contacto Contacto
activado 1 desactivado 0
Y-NO (UN)
AWL O-NO (ON)
0 1
KOP 0 1
FUP 0 1
Para la negación de la operación Y existe la operación Y-NO que realiza la consulta al estado de
señal “0”, es decir consulta la conexión 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 operación O (O) para conectar en paralelo los tres contactos abiertos.
La salida A 124.0 sólo tendrá el estado ”1” (y, por tanto, por la bobina pasará corriente) cuando los
tres contactos tengan el estado ”1” (cerrados).
Para la negación de la operación O existe la operación O-NO que realiza la consulta al estado de
señal “0”, es decir consulta la conexión 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
También es posible combinar las operaciones Y y O en una cadena lógica sin utilizar paréntesis.
Existe la convención de evaluar en primer lugar las instrucciones Y, y combinar luego los
resultados con la operación O.
En la figura 159 se utiliza el principio Y antes de O para programar un circuito. Por convención, el
programa evalúa en primer lugar la combinación Y. A continuación combina los resultados de la
combinación Y con la operación O. No se requieren paréntesis. El principio con el que se trabaja
aquí se denomina “Y antes de O”.
En la figura 160 y 161 son ejemplos de la combinación O antes de Y, esta combinación realizada
conjuntamente, se debe escribir en álgebra de Boole con paréntesis, para aclarar que la función O
va antes de la función Y.
La operación que abre una expresión entre paréntesis almacena el RLO de la operación
precedente en la pila de paréntesis. A continuación, el programa combina el RLO almacenado con
el resultado de las combinaciones lógicas ejecutadas dentro del paréntesis.
Es de anotar que las cadenas lógicas que comenzaron con las operaciones “U(“, “UN(“, “O(“, “ON(“,
“X(“ y “XN(“ deben terminar con la operación “)” en el lenguaje AWL.
131
AUTOMATAS PROGRAMABLES SIMATIC S7
132
OPERACIONES BASICAS DE PROGRAMACION
Las operaciones lógicas con bits implican la ejecución de combinaciones, que al final arrojan un
resultado binario “0” o “1”, pero a medida que la combinación avanza, debe almacenarse un
resultado temporal que refleja el estado de la combinación hasta el momento y un valor que se
combinara con el resultado para continuar la combinación. Para cumplir este objetivo la CPU
destina un área de memoria con tamaño de una palabra (16 bits), que se conoce como “La palabra
de estado”, en la cual 3 bits que se van a explicar a continuación, sirven de apoyo para la ejecución
de la combinación.
El bit 0 de la palabra de estado se denomina bit de primera consulta (bit /ER). Si el estado de
señal del bit /ER es ”0”, significa que siguiendo este punto en el programa, la siguiente operación
lógica da inicio a otra cadena lógica.
Cada operación lógica consulta el estado del bit /ER, así como el estado de señal del operando
direccionado. Si el bit /ER es ”0”, la operación almacenará el resultado de la consulta de estado de
señal 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 operación combina el resultado de la consulta del estado de señal del
contacto direccionado con el valor almacenado en el bit RLO anterior (figura 162).
Una cadena de operaciones lógicas siempre termina con una operación de salida (S, R ó =, se
explicaran en el parágrafo 9.1.8), o con una expresión entre paréntesis 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 lógico”). Este bit almacena
el resultado de una operación lógica binaria.
Por ejemplo, la segunda operación de una cadena de operaciones lógicas consulta el estado de
señal de un contacto, obteniendo el resultado ”1” ó ”0”. A continuación, la operación combina este
resultado con el valor almacenado en el bit RLO de la palabra de estado, de acuerdo con los
principios de la lógica de Boole. El resultado de esta operación lógica se almacena en el bit RLO
de la palabra de estado, reemplazando el valor anterior en el bit RLO. Cada instrucción
subsiguiente en la cadena ejecuta una operación lógica con dos valores: el resultado que se
obtiene consultando el estado de señal del contacto, y el RLO actual.
El bit RLO puede ponerse absolutamente a ”1” con la instrucción Activación “S”. Utilizando una
operación lógica 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 operación lógica 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 operación (el bit con el que está ejecutando la
combinación). El estado de una operación lógica que tiene acceso de escritura a la memoria (S, R,
=) siempre es igual al valor del bit donde la operación está escribiendo, o bien, si no tiene lugar
ningún acceso de escritura, es igual al valor del bit direccionado.
El bit de estado carece de importancia para las operaciones lógicas que no accedan a la memoria.
Dichas operaciones ponen el bit de estado a ”1” (STA = 1) como las expresiones entre paréntesis
133
AUTOMATAS PROGRAMABLES SIMATIC S7
U(, O(, X(, UN(, ON( o XN(. El bit de estado no es consultado por ninguna operación sino que
solamente es interpretado durante el test del programa (estado del programa).
Resultado
Programa
Bit STA de la Bit RLO Bit /ER Explicación
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 lógico de las operaciones al comienzo de
una cadena lógica (tabla 37) y dentro de una cadena lógica (tabla 38), aplicando los principios de la
lógica 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 lógico 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
En el ejemplo de la figura 164 se muestra la operación “FP” que permite al programa reaccionar
ante un cambio de flanco positivo.
E 124.0 A 124.0
M 1.0 A 124.0
A 124.0
Cuando el autómata 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 autómata programable almacena el resultado
lógico de la operación 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 operación FP pone el RLO a ”1”. La operación FP detecta un
flanco positivo en el contacto (por ejemplo, el estado de señal del RLO cambió de ”0” a ”1”). Si no
se produce ningún 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 operación FP desactiva el RLO, es
decir, lo pone a ”0”.
136
OPERACIONES BASICAS DE PROGRAMACION
En el ejemplo de la figura 165 se muestra la operación “FN” que permite al programa reaccionar
ante un cambio de flanco negativo.
E 124.0 A 124.0
M 1.0 A 124.0
A 124.0
137
AUTOMATAS PROGRAMABLES SIMATIC S7
Para terminar una cadena lógica 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.
• S (Activar): si el RLO de la operación anterior se puso a ”1”, S pone a ”1” el estado de señal
del contacto direccionado o de la bobina direccionada.
• R (Desactivar): si el RLO de la operación anterior se puso a ”1”, R pone a ”0” el estado de
señal del contacto direccionado o de la bobina direccionada.
• = (Asignar): independientemente del estado del RLO, el valor del RLO se le asigna al
operando direccionado.
138
OPERACIONES BASICAS DE PROGRAMACION
La operación S (Activar) puede utilizarse para activar el estado de señal de un bit direccionado, es
decir, para ponerlo a ”1”. La operación R (Desactivar) puede utilizarse para desactivar el estado de
señal de un bit direccionado, es decir, para ponerlo a ”0”. Las operaciones S y R finalizan una
cadena lógica y son conocidas también con el nombre de Biestable RS
La operación S pone a ”1” el bit que direcciona si el resultado lógico de la instrucción precedente
es ”1”.
La figura 168 muestra cómo la operación S mantiene a ”1” el estado de señal de la bobina A 124.5
que ha direccionado hasta que la operación R cambia el estado de señal a ”0”. El que el estado de
señal de la bobina direccionada permanezca a ”1” hasta que la operación R lo ponga a ”0” muestra
el carácter estático de la operación S.
En el esquema de relés, cuando se activa el contacto abierto de la entrada E 124.0 (su estado de
señal cambia a ”1”) se cierra el contacto. La corriente fluye a través del contacto de la entrada E
124.0 y a través del contacto cerrado situado más abajo, excitando la bobina en la salida A 124.5
(el estado de señal 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. Después,
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 señal ”1”). La bobina se mantiene a sí
misma en tensión.
Diagrama de tiempos
1
E 124.0 0
1
E 124.1 0
1
A 124.5 0
139
AUTOMATAS PROGRAMABLES SIMATIC S7
La operación R desactiva el bit que direcciona, es decir, lo pone a ”0” cuando el resultado lógico de
la operación precedente es ”1”
La figura 168 muestra cómo la operación R mantiene a ”0” el estado de señal de la bobina A 124.0
que ha direccionado, independientemente de que cambie el estado de señal del contacto que
impulsó la desactivación (E 124.1). El que el estado de señal de la bobina direccionada se
mantenga a ”0” hasta ser desactivado por una operación S muestra el carácter estático de la
operación R.
En el esquema de relés, la bobina de la salida A 124.0 activada por la operación S se desactiva (su
estado de señal 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 operación 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 después consultada
• Cuando se activa de nuevo, la misma marca intermedia, el resultado antiguo no estará mas
disponible durante la ejecución 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 información
entre módulos 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 lógico de la operación.
Las operaciones de carga (L) y transferencia (T) intercambian información a través del acumulador.
La operación L escribe (carga) el contenido de la dirección fuente direccionada en el ACU 1,
142
OPERACIONES BASICAS DE PROGRAMACION
desplazando toda la información que encuentra en éste al ACU 2. El antiguo contenido del ACU 2
se pierde. La operación T copia el contenido del ACU 1 y lo desplaza a la memoria del destino
direccionado. Ya que la operación T solamente copia la información que se encuentra en el ACU 1,
ésta información 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 información a o
desde el ACU 1. La información puede tener el siguiente tamaño:
• 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 cuánto 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 temporización” 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 temporización.
• L S5T#aH_bbM_ccS_dddMS
siendo: a = horas, bb = minutos, cc = segundos y dd = milisegundos
La base de tiempo se selecciona automáticamente, redondeándose el valor al próximo valor
inferior con la base de tiempo correspondiente.
144
OPERACIONES BASICAS DE PROGRAMACION
Debido a que los valores de temporización se almacenan en un solo intervalo de tiempo, los
valores que no son exactamente múltiplos de un intervalo quedan truncados. Los valores cuya
resolución es demasiado alta para el rango deseado se redondean por defecto, alcanzando el
rango, pero no la resolución deseada. La tabla 42 muestra las resoluciones posibles y sus
correspondientes rangos.
145
AUTOMATAS PROGRAMABLES SIMATIC S7
L <palabra de temporización>
El valor que contiene el acumulador puede utilizarse como resultado de la operación de carga para
su posterior procesamiento, por ejemplo transferirlo con la operación T a las salidas o a una marca.
Sin embargo, no es posible transferir un valor desde el acumulador a la palabra de temporización.
Para el caso de la programación en lenguaje AWL y KOP los cuadros de temporizadores disponen
de una salida DUAL para la cual se puede indicar una dirección de palabra para leer el valor de
temporización en formato binario.
LC <palabra de temporización>
Además del valor de temporización se carga la base de tiempo. El valor contenido en la palabra
baja del ACU 1 como resultado de la operación 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
temporización en formato BCD.
El valor que se encuentra en el acumulador como resultado de la operación LC puede ser utilizado
para un procesamiento posterior, por ejemplo para transferirlo con la operación T a las salidas y
controlar así un display. Sin embargo no es posible transferir un valor desde el acumulador a la
palabra de temporización.
146
OPERACIONES BASICAS DE PROGRAMACION
Para el caso de la programación en lenguaje AWL y KOP los cuadros de temporizadores disponen
de una salida DEZ para la cual se puede indicar una dirección de palabra para leer el valor de
temporización 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 conexión
SS
Temporizador de A 124.0
retardo a la conexión
con memoria
SA A 124.0
Temporizador de
retardo a la
desconexión
147
AUTOMATAS PROGRAMABLES SIMATIC S7
3 El resultado de la consulta del estado de señal en la salida A 124.5 dará ”1” mientras el
temporizador esté en marcha.
5 Si el RLO cambia de ”0” a ”1” en la entrada de arranque al mismo tiempo que la señal de
puesta a 0, el temporizador arrancará brevemente. Sin embargo, volverá a ponerse a 0
inmediatamente debido a la siguiente operación de puesta a 0 que se ejecuta en el
programa (representado como línea de impulsos en el diagrama de tiempos). De este
impulso no se obtiene ningún resultado siempre que se respete la secuencia de
operaciones arriba descrita.
DIAGRAMA DE TIEMPOS
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
2 Si el RLO cambia de ”0” a ”1” en la entrada de arranque antes de que haya transcurrido el
tiempo, entonces se redispara el temporizador con el tiempo programado inicialmente.
3 La consulta del estado de señal en la salida A 124.5 da el resultado ”1” mientras dure la
operación de temporización.
5 Si el RLO cambia de ”0” a ”1” en la entrada de arranque al mismo tiempo que se aplica la
señal de puesta a 0, el temporizador arrancará brevemente. Sin embargo, volverá a
ponerse a 0 inmediatamente debido a la siguiente instrucción de puesta a 0 que se ejecuta
en el programa (representado como línea de impulsos en el diagrama de tiempos). De
este impulso no se obtiene ningún resultado siempre que se respete la secuencia de
operaciones arriba descrita.
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
señal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
149
AUTOMATAS PROGRAMABLES SIMATIC S7
3 La consulta del estado de señal en la salida A 124.5 da un estado de señal de ”1” cuando
ha transcurrido el tiempo y la entrada de arranque está a ”1”.
5 Si el RLO cambia de ”0” a ”1” en la entrada de arranque al mismo tiempo que la señal de
puesta a 0, el temporizador arrancará brevemente. Sin embargo, volverá a ponerse a 0
inmediatamente debido a la siguiente operación de puesta a 0 que se ejecuta en el
programa (representado como línea de impulsos en diagrama de tiempos). De este
impulso no se obtiene ningún resultado siempre que se respete la secuencia de
operaciones arriba descrita.
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
Reacción del temporizador
Consulta al estado de
señal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
150
OPERACIONES BASICAS DE PROGRAMACION
3 El resultado de la consulta del estado de señal en la salida A 124.5 sólo cambia a ”0” si el
RLO en la entrada de puesta a 0 es ”1”.
5 Si el RLO cambia de ”0” a ”1” en la entrada de arranque al mismo tiempo que la señal de
puesta a 0, el temporizador arrancará brev emente, pero v olv erá a ponerse a 0
inmediatamente debido a la siguiente operación de puesta a 0 que se ejecuta en el
programa (representado como línea de impulsos en el diagrama de tiempos). De este
impulso no se obtiene ningún resultado siempre que se respete la secuencia de
operaciones arriba descrita.
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
Reacción del temporizador
Consulta al estado de
señal en la salida del 1
temporizador A 124.5 0
Cargar temporizador: MW 10
L, LC MW 12
151
AUTOMATAS PROGRAMABLES SIMATIC S7
6 Si el RLO cambia de ”1” a ”0” en la entrada de arranque al mismo tiempo que la señal de
puesta a 0, el temporizador arrancará brev emente, pero v olv erá a ponerse a 0
inmediatamente debido a la siguiente operación de puesta a 0 que se ejecuta en el
programa (representado como línea de impulsos en el diagrama de tiempos). En este
caso, la consulta del estado de señal del temporizador da 0.
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
señal 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 código 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 número 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 código 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 después de haber cargado el valor de contaje 127 y el contenido de la
célula de contaje después de haber activado el contador.
En una palabra de contaje se encuentra almacenado un valor en código binario. Para leer el valor
binario de una palabra de contaje hay que cargarla en la palabra baja del ACU 1 con la siguiente
instrucción:
L <palabra de contaje>
El valor que se encuentra en el ACU 1 como resultado de la operación L puede utilizarse para su
posterior procesamiento (transferir el valor con la operación 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 operación de activación
correspondiente.
En una palabra de contaje se encuentra almacenado un valor en código 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 operación siguiente:
LC <palabra de contaje>
154
OPERACIONES BASICAS DE PROGRAMACION
El valor contenido en la palabra baja del ACU 1 como resultado de la operación 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 señal cambia de 0 a 1) en la entrada S de la operación Incrementar y
decrementar contador.
155
AUTOMATAS PROGRAMABLES SIMATIC S7
2 Si el RLO cambia de ”0” a ”1” en la entrada de cuenta atrás, el contador decrementa. Un cambio de
”1” a ”0” en la entrada de cuenta atrás no afecta al contador.
3 El resultado de la instrucción de consulta del estado de señal U Z ”1” es ”0” si el valor de contaje es
”0”.
4 Si el RLO cambia de ”0” a ”1” en la entrada de cuenta adelante, el contador incrementa. Un cambio
de ”1” a ”0” en la entrada de cuenta adelante no afecta al contador.
6 Si el RLO cambia de ”0” a ”1” en la entrada de cuenta adelante al mismo tiempo que la señal de
puesta a 0, entonces el contador incrementa su valor momentáneamente, pero se desactiva de
inmediato debido a la siguiente instrucción de puesta a 0 en el programa. (El incremento se indica
mediante una línea de impulsos en el esquema de la figura 13-5). Si se consulta el estado de señal
el resultado es ”0”.
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 señal en la salida
MW 10
Cargar: L, LC MW 12
En la figura 184 se muestra la programación 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 señal cambia de 0 a 1) en la entrada S de la operación 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 señal cambia de 0 a 1) en la entrada S de la operación Decrementar
contador.
158