Download - Duemmegi

Transcript
MCP 4.x e MCP Plus - Manuale d’Uso
Contatto
è il valore (facoltativo) di autoreset o autoreload per rendere il contatore autoazzerabile o
autocaricabile: quando il conteggio in avanti raggiunge il valore R, il contatore viene
automaticamente azzerato, mentre quando il conteggio all’indietro scende sotto il valore 0, il
contatore viene ricaricato con il valore R-1. Il valore di R può essere un puntatore ad un altro
registro contatore, vale a dire che si può definire, come valore di autoreset, il contenuto del
registro di un altro contatore (vedere nel seguito per maggiori dettagli)
R
Nota: se non viene specificato il valore per l’ autoazzeramento/autoreload, il conteggio viene
arrestato a 0 (nel caso di conteggio all’indietro) e al valore massimo consentito (nel caso di conteggio
in avanti), evitando l’underflow o l’overflow del contatore.
U[s1]Ic.d
è la definizione dell’ingresso che fa incrementare il contatore (UP) di una quantità [s1]; in
altre parole s1 è un numero che rappresenta lo step dell’incremento e può assumere
valori tra 1 e 32 compresi. Lo step deve essere racchiuso tra parentesi quadre e non è
obbligatorio (quindi se non è specificato viene assunto uno step pari a 1).
D[s2]Ie.f
è la definizione dell’ingresso che fa decrementare il contatore (DOWN) di una quantità [s2];
in altre parole s2 è un numero che rappresenta lo step del decremento e può assumere
valori tra 1 e 32 compresi. Lo step deve essere racchiuso tra parentesi quadre e non è
obbligatorio (quindi se non è specificato viene assunto uno step pari a 1).
ZIg.h
è la definizione dell’ingresso che fa azzerare il contatore (ZERO)
P[p1]Ii.m
è la definizione dell’ingresso che provoca il caricamento del contatore con il valore p1
(PRESET); p1 è un numero compreso tra:
1 e 255
per i contatori a 8 bit
1 e 65535
per i contatori a 16 bit
Il valore di preset deve essere racchiuso tra parentesi quadre e non può essere pari a
zero. Si possono inoltre definire più ingressi di preset (vedere esempi che seguono)
Oq
è un modulo di uscita reale di indirizzo q; il contenuto del contatore verrà trasferito su questo
modulo di uscita. Se il contatore è a 16 bit, verrà trasferita sul modulo di uscita solo la parte
alta, ovvero il byte più significativo (si ricorda che i moduli di uscita sono a 8 bit). È possibile
specificare più di una uscita sulla quale trasferire il contenuto del registro contatore.
Il simbolo & che lega i vari termini è obbligatorio ed è l’unico operatore che può essere utilizzato
nell’equazione che definisce un contatore.
Le definizioni di UP, DOWN, ZERO e PRESET possono essere tutte oppure solo in parte presenti. Inoltre,
come già accennato sopra, il PRESET può essere presente più volte nella stessa equazione con ingressi
diversi, in modo da permettere il precaricamento di vari valori.
Il conteggio, avanti o indietro, l’azzeramento e i preset sono normalmente effettuati sulla transizione
OFF→ON dell’ingresso. Volendo utilizzare come evento la transizione ON→OFF, si può utilizzare
l’operatore di negazione NOT (!) davanti al relativo ingresso.
Tutti gli ingressi e tutte le uscite presenti in una funzione contatore possono essere sia reali che virtuali, ad
eccezione per i termini Oq che possono essere solo reali.
I contatori della versione 4.x (o superiori) di MCP, a differenza delle precedenti, devono essere
numerati (es. C1, C2, C3, ecc.). In questo modo risulta più semplice l’individuazione dell’indirizzo
del registro, all’interno della memoria RAM di MCP, del contatore sul quale si vuole eventualmente
agire (leggere o scrivere) da un sistema di supervisione. Quando si assegna un numero ad un
contatore si deve tenere presente che un contatore a 16 bit occupa 2 celle di memoria, per cui esso
occuperà sia il numero di registro che gli è stato esplicitamente assegnato sia il successivo (che
quindi non potrà essere usato nella definizione di un altro contatore). L’esempio che segue illustra
quanto appena detto:
Rel.: 4.3
Aprile 2001
15