Mit diesem Funktionsbaustein können Sie eine Variable konvertieren DWORD in zwei Variablen WORD. Die 16-High-Bits von In wird in den Operanden übertragen MSWEs werden niedrige 16-Bits an den Operanden übertragen LSW.
Funktionssperre
CODESYS: Nicht verfügbar
LogicLab: eLLabUtyLib
In (DWORD) Variable zum Konvertieren.
MSW (WORD) MSW des Eingabewerts.
LSW (WORD) LSW des Eingabewerts.
Beispiele
Verwendung der Beispiele.
Im Beispiel eine Variable DWORD mit dem Wert 16 # 12345678 wird in zwei Variablen übergeben WORD die den Wert 16 # 1234 und 16 # 5678 haben. Im Beispiel in Sprache ST Es wird hervorgehoben, wie viel einfacher dieselbe Operation ist, indem sie direkt mit den Operanden der Sprache geschrieben wird.
PROGRAM ST_DoubleToWord VAR DData : DWORD := 16#12345678; (* Double word data *) High : ARRAY[ 0..1 ] OF WORD; (* MSW word *) Low : ARRAY[ 0..1 ] OF WORD; (* LSW word *) DDec : DoubleToWord; (* Double decompress *) END_VAR // ***************************************************************************** // PROGRAM "ST_DoubleToWord" // ***************************************************************************** // This program shows the use of DoubleToWord function block. // ----------------------------------------------------------------------------- // ------------------------------------------------------------------------- // DECOMPRESS DWORD // ------------------------------------------------------------------------- // Decompress word using the FB. DDec(In:=DData); High[0]:=DDec.MSW; //MSW word Low[0]:=DDec.LSW; //LSW word // ------------------------------------------------------------------------- // DECOMPRESS DWORD // ------------------------------------------------------------------------- // The same operation as above executed directly using ST statements. High[1]:=TO_WORD(DData/16#10000); //MSW word Low[1]:=TO_WORD(DData); //LSW word // [End of file]