Potrebbe essere necessario utilizzare un campo I/O in modo personalizzato.
Per esempio controllare il valore di input dell’operatore e modificarlo prima di trasmetterlo alla Tag collegata al campo di I/O
Oppure ancora fare in modo che il campo di I/O visualizzi un valore letto da una prima Tag ma che un eventuale valore introdotto venga scritto in una Tag diversa dalla prima.
Per implementare questa e altre casistiche personalizzate occorre usare la funzione GetInputValueDouble() disponibile in cScript.
Per verificare e testarne la funzionalità seguire l’esempio di seguito descritto.
Disegnato un campo di I/O a video nella proprietà “valore in uscita” inserire questo codice CScript
return(GetTagWord(“NomeTagLettura”)/10);
con esecuzione del codice su trigger della stessa Tag “NomeTagLettura” con il tempo di scansione desiderato.
Nell’evento “Valore di Ingresso” (del gruppo Uscita/Ingresso) inserire questo codice CScript
double lValore;
lValore=GetInputValueDouble(lpszPictureName,lpszObjectName);
SetTagWord(“NomeTagScrittura”,lValore*10);
Con queste poche righe di codice si avrà il seguente funzionamento:
- il valore visualizzato dal campo I/O viene letto dalla Tag “NomeTagLettura” e diviso per 10 prima della visualizzazione.
- il valore introdotto nel campo di I/O verrà moltiplicato per 10 e scritto nella Tag “NomeTagScrittura”
Altre personalizzazioni e controlli possono in questo modo essere implementati per modificare o controllare l’input dell’operatore.
Scrivi un commento
Devi accedere, per commentare.