UNPACK2-Baustein
Kurz-Information
Name | UNPACK2 |
---|---|
→POE-Typ | →Funktion |
Kategorie | IEC-Baustein, ConvertEnh |
Konform zur →IEC-Norm | 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 OUT1
. Bei Zielsystemen, die Daten im Little-→Endian-Format speichern, wird das niederwertigste Byte des Eingangs auf den Ausgang OUT0
übertragen, das höchstwertige auf OUT1
. Bei 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 | →Datentyp | Beschreibung | |
---|---|---|---|
Eingänge: | IN | REAL , LREAL , USINT , UINT , UDINT , ULINT , SINT , INT , DINT , LINT , TIME , BOOL , BYTE , WORD , DWORD , LWORD , , DATE oder
| Eingangswert |
Ausgänge: | OUT0 | BYTE | 1. Byte-Ausgangswert |
OUT1 | BYTE | 2. 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.