Вы находитесь на странице: 1из 4

Contadores en Step 7

Para ir terminando la primera parte del curso (la más sencilla pero la más importante por su relevancia dentro
de los proyectos), vamos a ver cómo trabajar con los contadores en Step 7. Vamos a ver varias formas de cómo
trabajar con contadores:

 Sumar y restar sobre una variable


 Usar los comandos INC /DEC
 Usar los contadores S5

Contadores en Step 7 usando un entero


Poco le vamos a dedicar a este contador: se trata de sumar y restar sobre una pobre e inofensiva palabra.

Si queremos sumar, pues usaremos +I, si queremos restar, pues -I. Lo hemos usado con anterioridad y no tiene
mayor complicación:
L MW10 –> Cargamos lo que tengamos
L 1 –> Cargamos la cantidad que queremos sumar
+I –> Sumamos ambas cantidades y lo almacenamos en el ACU1 (-I para restar)
T MW10 –> Lo transferimos de nuevo en el contador MW10
Como ves, nada nuevo que no sepas ya.

Contadores en Step 7 usando INC y DEC


Podemos también usar, en vez de una palabra, un byte (Con la limitación de contaje que ello conlleva al ser
sólo un byte).

Existen dos instrucciones para este tipo de contadores:

 INC N#_8_bits para incrementar el contador


 DEC N#_8_bits para decrementar el contador

Así, para usarlo tan sólo deberemos usar de esta forma las operaciones:

L MB100 –> Cargamos el contador en el ACU1


INC 1 –> Sumamos 1 al ACU1
T MB10 –> Lo volvemos a cargar en el MB10
Análogamente, para decontar:

L MB100 –> Cargamos el byte que lleva el contaje en el ACU1


DEC 2 –> Restamos dos unidades al ACU1
T MB100 –> Transferimos el resultado de nuevo al MB100
¿Fácil no? Muy parecido al caso anterior pero ligeramente más compacto.

Contadores en Step 7 usando contadores S5


Los contadores S5 (Z) son contadores al igual que los temporizadores S5 una reminiscencia de antiguos
autómatas (quién lo iba a decir con ese nombre ¿eh?).

Son de tipo hardware también como los temporizadores S5 y la cantidad depende de cada CPU.

El uso de este tipo de contadores depende de cada proyecto y de cada programador. Personalmente no los uso
porque me siento más cómodo con la primera opción de las vistas. Además, este tipo de contadores tienen una
limitación de contaje que llega hasta las 999 unidades.

Las operaciones que se pueden realizar sobre estas operaciones son:

 Cargar un valor de contaje


 Borrar el valor de contaje
 Contar y decontar
 Consultar su valor tanto como cantidad como operación booleana

Cómo cargar un valor a contadores en step 7


Para cargar un valor en un contador, cargaremos el valor usando el prefijo C# y luego haciendo un S Z1 (por
ejemplo) si el RLO está a uno. Por ejemplo:

U M0.0 –> Leemos el valor de la marca M0.0


L C#12 –> Cargamos el valor en el ACU1
S Z 1 –> Si la M0.0 fijamos el valor “12” en el contador Z1

Sumar y restar sobre contadores en step 7


Con las instrucciones ZV y ZR podrás incrementar o decrementar el contador en función del estado del RLO

Así y siguiendo con el Z1:

U M0.1 –> Leemos el estado de la marca M0.1


ZV Z1 –> Si la señal está a 1, incrementamos en uno el valor del Z1
U M0.2 –> Leemos el estado de la marca M0.2
ZR Z1 –> Si el RLO está a uno, restamos una unidad al Z1.
Poner a cero un contador
Hemos visto, que, para cargar un valor de contaje, lo hemos hecho, con un Set, pues para ponerlo a cero, será
con un Reset:

U M0.3 –> Leemos el valor de la marca M0.3


R Z1 –> Si está a uno, ponemos a cero el contador
Leer el valor del contador y su estado
Al igual que pasa con los temporizadores S5, podemos leer directamente el estado del contador y hacer lógica
looleana con ello. Es decir, podemos hacer un:

U Z1
= A1.0
Esto significa que mientras el contador sea cero, el valor de A1.0 será cero y se pondrá a uno cuando el Z1 >
0.

Por otro lado, puede que queramos saber cuánto va valiendo el contador. Para ello, haremos una lectura de
este estilo:

L Z1 –> Si queremos leer en valor decimal


T MW10 –> Se lo transferimos al MW0 por ejemplo
LC Z1 –> Leemos el valor del Z1 en BCD
T MW20 –> Lo transferimos.

¿Y en KOP?

En resumen, de lo visto, podemos verlo en KOP como en la figura adjunta. En el tienes todas las
instrucciones vistas en un único bloque que se puede usar en FUP o KOP.

Si vemos este bloque en AWL, lo que tendríamos sería:


U M 0.1
ZV Z 1
U M 0.2
ZR Z 1
U M 0.0
L C#12
SZ1
U M 0.3
RZ1
LZ1
T MW 10
LC Z 1
T MW 20
UZ1
= A 1.0
Los diferentes colores son las instrucciones arriba vistas. como vez, cada parte está bien diferenciada.

Referencia del texto:

Landerson, T. (2009). Step 7: Una Manera Facil de Programar PLC’s de SIEMENS. Barcelona: S.A.
Marcombo (Temporizadores).

Bibliografía:

Colecciones-librospropios”E-Libro”

Landerson, T. (2009). Step 7: Una Manera Facil de Programar PLC’s de SIEMENS. Barcelona: S.A.
Marcombo. (Contadores).

Mandado, E. Marcos, J. Fernández, C. (septiembre 2009). Autómatas Programables y Sistemas de


Automatización, segunda edición, Barcelona: S.A. Marcombo. (Temporizadores).