Operazioni di conteggio

Premettiamo alla descrizione delle operazioni alcuni chiarimenti riguardo alla codifica dei valori per l’impostazione dei contatori.

Quando si imposta un contatore, occorre specificarne il valore preset in ACCU1 come mostrato nel seguente schema.

Tabella 40: Codifica valori di conteggio per S7 300

Bit di ACCU1

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Codifica

X

X

X

X

C11

C10

C9

C8

C7

C6

C5

C4

C3

C2

C1

C0

I bit da 0 ad 11, in codifica BCD, rappresentano il valore iniziale del conteggio che potrà quindi essere compreso tra 0 e 999. I bit da 12 a 15 non sono significativi.

Il valore potrà essere caricato in ACCU1 con una istruzione di caricamento di costante esadecimale, binaria o di conteggio. Ad esempio, le istruzioni L W#16#0050, L 2#0000_0000_0101_0000 e L Z#50 caricano tutte in ACCU1 il valore 50 codificato BCD.

S (Set di un contatore)

Il conteggio viene impostato al valore in ACCU1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va alto se il valore di conteggio impostato è diverso da 0.

Operandi ammessi: Z

R (Reset di un contatore)

Fintanto che RLC = 1, il valore di conteggio viene impostato a 0 e lo stato del contatore va basso.

Operandi ammessi: Z

ZV [CU] (Conteggio in avanti)

Il valore di conteggio viene incrementato di 1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va o rimane alto.

Operandi ammessi: Z

ZR [CD] (Conteggio indietro)

Il valore di conteggio viene decrementato di 1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va basso se il valore di conteggio diventa 0.

Operandi ammessi: Z

^