Questo blocco funzione permette di convertire una variabile WORD in due variabili BYTE. Gli 8 bits alti di In verranno trasferiti nell'operando MSB, gli 8 bits bassi verranno trasferiti nell'operando LSB.
Blocco funzione
CODESYS: Non disponibile
LogicLab: eLLabUtyLib
In (WORD) Variabile da convertire.
MSB (BYTE) MSB del valore in ingresso.
LSB (BYTE) LSB del valore in ingresso.
Esempi
Come utilizzare gli esempi.
Nell'esempio una variabile WORD con valore 16#1234 è trasferita in due variabili BYTE che avranno valore 16#12 e 16#34. Nell'esempio in linguaggio ST viene evidenziato come la stessa operazione sia molto più semplice scrivendola direttamente con gli operandi del linguaggio.
PROGRAM ST_WordToByte VAR WData : WORD := 16#1234; (* Word data *) High : ARRAY[ 0..1 ] OF BYTE; (* MSB byte *) Low : ARRAY[ 0..1 ] OF BYTE; (* LSB byte *) WDec : WordToByte; (* Word decompress *) END_VAR // ***************************************************************************** // PROGRAM "ST_WordToByte" // ***************************************************************************** // This program shows the use of WordToByte function block. // ----------------------------------------------------------------------------- // ------------------------------------------------------------------------- // DECOMPRESS WORD // ------------------------------------------------------------------------- // Decompress word using the FB. WDec(In:=WData); High[0]:=WDec.MSB; //MSB byte Low[0]:=WDec.LSB; //LSB byte // ------------------------------------------------------------------------- // DECOMPRESS WORD // ------------------------------------------------------------------------- // The same operation as above executed directly using ST statements. High[1]:=TO_BYTE(WData/256); //MSB byte Low[1]:=TO_BYTE(WData); //LSB byte // [End of file]