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