Contar el número de las entradas cerradas entre las primeras 8
El conteo de las entradas cerradas está contenido en MB20.0 que se
inicializa a 0 al comienzo del programa. MB10.0 representa en cambio una
máscara de 8 bit, los cuales estarán, solo de uno en uno, a 1. El valor
inicial es 1, es decir, (00000001)2 donde tan sólo el bit 0 es
cierto.
Las instrucciones 004 y 005 ejecutan la AND bit a bit de la máscara y del byte
de entrada menos significativo del PLC. Al primer paso, con el valor de la
máscara apenas visto, la AND da un resultado distinto de 0 sólo si E0.0 está
cerrado. Es decir, la derivación sobre cero prevista por la siguiente
instrucción solo se efectúa por entrada abierta.
Si la entrada está cerrada, incrementamos el byte de conteo MB20.0, cargamos su
valor en el registro general (L MB20.0), sumando 1 (ADD KB1) y transferimos el
resultado de nuevo a MB20.0 (= MB20.0).
En uno u otro caso, los dos recorridos de elaboración se reúnen en la etiqueta
010 donde, tras haber cargado la máscara en el registro general de byte (L
MB10.0), se dispone el desplazamiento hacia la izquierda de una posición, que
equivale a una multiplicación por 2 (MUL KB2). El resultado del desplazamiento
se retransfiere nuevamente a MB10.0. La máscara vale ahora 2, es decir,
(00000010)2, donde sólo el bit 1 es cierto y, siendo distinta de 0,
la operación de desplazamiento sobre 0 (BNZ 4) se ejecuta y la elaboración
continua desde la instrucción 004, examinando la entrada siguiente.
Después de 8 desplazamientos, el bit que poco a poco se ha ido trasladando en
la máscara, sale por la izquierda y MB10.0 se convierte en 0. En esta
condición, la última operación de derivación se ignora y el ciclo termina.

Otros ejemplos: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ Lista
]
Ejemplos para otros PLC: [ Festo FPC404 ] [ Siemens S5 100U
]