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.