UNPACK2-Baustein

Kurz-Information

NameUNPACK2
→POE-Typ→Funktion
KategorieIEC-Baustein, ConvertEnh
Konform zur →IEC-Norm

(plus) nicht in IEC-Norm vorgesehen

Grafische Schnittstelle

Verfügbar ab

Version 1.50.0 (für logi.CAD 3)

Funktionalität

Der Baustein überträgt den Wert, der am Eingang IN anliegt, byteweise auf die Ausgänge OUT0 und OUT1Bei Zielsystemen, die Daten im Little-→Endian-Format speichern, wird das niederwertigste Byte des Eingangs auf den Ausgang OUT0 übertragen, das höchstwertige auf OUT1Bei Zielsystemen, die Daten im Big-Endian-Format speichern, ist das Verhalten umgekehrt. 

Spezialfälle (siehe unter "Beispiel für Verwendung im ST-Editor"):

  • Falls die Größe des Eingangswerts (Anzahl der Bytes, durch die der Datentyp repräsentiert wird) > als die Anzahl der Ausgänge ist, werden nur die niederwertigen Eingangsbytes übertragen.
  • Falls mehr Ausgangsbytes vorhanden sind, als der Eingangswert enthält, bleiben die höherwertigen Ausgangsbytes uninitialisiert. Bei Zielsystemen, die Daten im Little-Endian-Format speichern, sind dies die Ausgänge, die weiter unten am Baustein liegen.

Ein-/Ausgänge


Bezeichner→DatentypBeschreibung
Eingänge:IN
REALLREALUSINTUINTUDINTULINTSINTINTDINTLINTTIMEBOOLBYTEWORDDWORDLWORDDATE_AND_TIME, DATE oder TIME_OF_DAY
Eingangswert
Ausgänge:OUT0BYTE1. Byte-Ausgangswert
OUT1BYTE2. Byte-Ausgangswert

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Beispiel für Verwendung im ST-Editor

Das folgende Beispiel gilt für Zielsysteme, die Daten im Little-Endian-Format speichern. Die berechneten Werte werden mit Hilfe des Assert-Bausteins ausgewertet.

FUNCTION_BLOCK ExampleUnpack2
  VAR
    resultA1, resultA2, resultB1, resultB2 : BYTE;
  END_VAR
  UNPACK2(IN := DWORD#16#04030201, OUT0 => resultA1, OUT1 => resultA2);
  UNPACK2(IN := WORD#16#0201, OUT0 => resultB1, OUT1 => resultB2);

  Assert(resultA1 = 16#01);
  Assert(resultA2 = 16#02);
  Assert(resultB1 = 16#01);
  Assert(resultB2 = 16#02);
END_FUNCTION_BLOCK

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.