Sie sind auf Seite 1von 9

Operaciones con Contadores

S7-300/400

- Los contadores permiten distintas operaciones, que debemos emplear en su manejo: Cargar un alor de contaje !preselecci"n#$ - %orrar el contaje$ Contar &acia adelante ' &acia atr(s$ Consultar su estado como un operando m(s en operaciones l"gicas de bit$ Consultar su alor en )C* +$ ) continuaci"n se e,plican en detalle todas estas operaciones $

Cargar un alor de contaje


Instrucciones: "L C#" ' "S Z"

S7-300/400

*n contador se pone a un determinado alor cargando dic&o alor en la palabra baja del )C* +, mediante una operaci"n de carga, ' luego en el contador, mediante una instrucci"n Set$ -L C.- introduce un alor de contaje en la palabra baja del )C* +$ /l alor de contaje puede ser un alor comprendido entre 0 ' 000$ 1egistros a2ectados: )C* +, )C* 3 -S 4- introduce el alor de contaje en )C* + en el contador si 1LO ale +$ 1egistros a2ectados: /1
/jemplo: L * S C.3 / +$0 4 + //introduce el alor de contaje 3 en el )C* + //carga en el 1LO el alor de la entrada +$0 //introduce el alor 3 !dentro de )C* +# en el contador + si
2

%orrar un contador S7-300/400

Instruccin: "R Z" %orra el contador especi2icado !puesta a cero# si el 1LO ale +$ 1egistros a2ectados: /1 /jemplo:
* / +$0 //carga en el 1LO el alor de la entrada +$0 1 4 + //borra el contador + !a cero# si la entrada +$0 es + !1LO5+#

Contaje &acia delante ' &acia atr(s S7-300/400


6nstrucciones: -47- ' -41-47- incrementa el contador especi2icado si &a' un cambio de 2lanco ascendente !0 a +# en el 1LO$ /l incremento se produce en una unidad$ Cuando el contador alcan8a el l9mite superior de 000, se detiene ' no sigue incrementando$ -41- decrementa el contador especi2icado si &a' un cambio de 2lanco ascendente !0 a +# en el 1LO$ /l decremento se produce en una unidad$ Cuando el contador alcan8a el l9mite in2erior de 0, se detiene ' no sigue decrementando$ 1egistros a2ectados: /1 /jemplos: * / 47 4 * / 41 4 0$0 //carga en el 1LO el alor de la entrada 0$0 + //incrementa el contador + si la entrada 0$0 presenta un //cambio de 2lanco ascendente +$0 //carga en el 1LO el alor de la entrada +$0 + //decrementa el contador + si la entrada +$0 presenta un //cambio de 2lanco ascendente

Consulta del estado de contadores S7-300/400


/l programa puede consultar el estado de un contador de la misma manera que consulta el estado de se:al de una entrada o salida, pudiendo combinar el resultado de la consulta$ Cuando se consulta el estado del contador con las operaciones *, O, o ; el resultado es + si el alor de contaje es ma'or que 0$ /jemplo: L * S C.< //introduce el alor de contaje < en el )C* + / 3$0 //carga en el 1LO el alor de la entrada 3$0 4 + //introduce el alor < !dentro de )C* +# en el contador + si la entrada 3$0 es + * / +$0 //carga en el 1LO el alor de la entrada +$0 41 4 + //decrementa el contador + si la entrada +$0 presenta un cambio de 2lanco ascendente * 4 + //introduce en el 1LO el estado del contador + 5 ) 0$0 //introduce el estado del contador + en la salida 0$0
5

Lectura de un alor de contaje S7-300/400

Instrucciones: "L Z" ' "LC Z" Con la instrucci"n -L 4- introducimos en el )C* + !parte baja# el alor del contador especi2icado en binario$ /l alor en )C* + puede ser introducido en otro contador$ Con la instrucci"n -LC 4- introducimos en el )C* + !parte baja# el alor del contador especi2icado en %C=$ /n esta codi2icaci"n no es posible pasar el alor de )C* + a otro contador$ 1egistros a2ectados: )C* +, )C* 3 /jemplos: L 4+ LC 4 3 //introduce el alor del contador + en el )C* + //introduce el alor del contador 3 en el )C* + en %C=

Contadores >eneral S7-300/400


4+ es el contador que estamos gastando en este ejemplo$ /l n?mero de contadores que podemos gastar depende de la C@* que estemos gastando$ /l contador a a almacenar un alor$ Ser( la cuenta que lle e el contador en cada momento$ ) parte de esto, nosotros tambiAn podemos acceder a 4+ con instrucciones de bit$ =e este modo estamos consultando el bit de salida del contador$ /ste bit estar( a 0 siempre ' cuando el contador estA a 0$ /ste bit estar( a + siempre ' cuando el contador tenga un alor distinto de cero$ !Los contadores no cuentan n?meros negati os#$ )dem(s de esto podemos consultar el alor del contador ' trabajar con Al como n?mero entero$ Con los contadores, podemos trabajar de dos modos distintos$ *na 2orma es cargar inicialmente un alor en el contador$ Luego podemos saber cuando &a llegado a cero$ Benemos un bit de salida que nos da cambio cuando pasamos de un alor distinto de cero a cero$ Otra 2orma de trabajar con los contadores, es comen8ar a contar desde cero ' comparar con los alores con los cuales queramos que ocurra algo$ @ara esto nos &ar( 2alta comparar dos alores$ @ara comparar, al @LC le &ace 2alta tener estos alores en dos registros internos que son el acumulador + ' el acumulador 3$

Contadores >eneral S7-300/400


@ara meter los alores en los acumuladores, tenemos la instrucci"n de carga$ !L#$ Cuando cargamos un alor, siempre se carga en el acumulador +$ Cuando ol emos a cargar otro alor, tambiAn se guarda en acumulador +$ Lo que ten9a en el acumulador + pasa al acumulador 3, ' lo que ten9a en el acumulador 3 lo pierde$ /n nuestro caso, cargaremos el alor de 4+ ' a continuaci"n cargaremos el alor con el que queremos comparar$ *na e8 tengamos los alores en el acumulador, tendremos que compararlos$ @ara ello tenemos las siguientes instrucciones: C Ea'or D Eenor C5 Ea'or o igual D5 Eenor o igual 55 6gual DC =ist$

) continuaci"n del s9mbolo de comparaci"n pondremos una 6 si lo que estamos comparando son dos n?meros enteros$ @ondremos una 1 si lo que estamos comparando son n?meros reales$
8

1esumen Contadores S7-300/400


) los contadores les llamaremos 4$ 7eamos todo lo que podemos &acer con un contador: * / 0$0 47 4 + Contar una unidad con un 2lanco positi o de /0$0 -----------------------------------------------* / 0$+ 41 4 + =escontar una unidad con un 2lanco positi o de /0$+ -----------------------------------------------* / 0$3 L C.+0 S 4+ Setear con un alor$ 6niciali8ar el contador$ -----------------------------------------------* / 0$3 1 4+ 1esetear el contador !poner a cero#$ -----------------------------------------------* 4+ Consultar el bit de salida$ 5 ) 4$0 -----------------------------------------------* / 0$4 *tili8ar una entrada para contar ' descontar$ F1 4 + Go es necesario que para cada contador utilicemos todas las posibilidades ni en 9 este orden$

Das könnte Ihnen auch gefallen