FB_GENIbusGetMValue

Dieser Baustein liest einen Messwert aus einem GENIbus-Gerät aus. Die Operation beschränkt sich dabei ausschließlich auf Werte der Klasse 2. Es ist lediglich der ID-Code des Hi-Bytes und die Länge des Messwertes vorzugeben, die Art der Skalierung und die Messwerteinheit werden durch eine interne INFO-Abfrage ermittelt. Am Ausgang stMValue wird durch eine Struktur alle wichtigen Informationen über den Wert zur Verfügung gestellt.
Eingänge
VAR_INPUT
bStart : BOOL;
byAddr : BYTE := 0;
byIDCode : BYTE := 0;
eDataSize : E_GENIBusMDataSize;
eCommandPriority : E_GENIbusCommandPriority := eGENIbusCommandPriorityMiddle;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bStart | BOOL | Eine steigende Flanke an diesem Eingang startet den Leseprozess. |
byAdress | BYTE | Adresse des anzusprechenden GENIbus-Gerätes: Gültige Eingaben: 1 - 200. Das entspricht der Einstellung, wie sie am GENIbus-Gerät direkt eingestellt wird. Eine Umrechnung auf den tatsächlichen Adressbereich von 32 - 231erfolgt Baustein-intern (siehe GENIbus-Standard). Ein Broadcast-Befehl über die Adresse 255 ist naturgemäß nicht erlaubt. |
byIDCode | BYTE | ID-Code des zu lesenden Wertes. Bei 16- 24 und 32-Bit-Werten ist hier die ID des Hi-Bytes anzugeben, wobei immer von folgender Reihenfolge ausgegangen wird: ID = hi, ID+1 = lo1, ID+2 = lo2, ID+3 = lo3. |
eDataSize | Datengröße des Messwertes: 8, 16, 24 oder 32 Bit. | |
eCommandPriority | Priorität (hoch, mittel oder niedrig), mit der der Befehl von der SPS-Bibliothek abgearbeitet wird. |
Beispiel: Auslesen des gesamten gepumpten Wasservolumens. Für diesen Fall ist:
- byIdCode = 121
- eDataSize = eGENIbusMSize32Bit

Quelle: Grundfos-Dokumentation "Operating the MAGNA3 and MGE model H/I via the GENIpro interface - Edition 01.00.35 - April 2015".
Ein-/Ausgänge
VAR_IN_OUT
stCommandBuffer : ST_GENIbusCommandBuffer;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stCommandBuffer | Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_GENIbusCommunication()-Baustein |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
udiErrorId : UDINT;
udiErrorArg : UDINT;
stMValue : ST_GENIbusMValue;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Beginnend mit der Flanke an bStart ist dieser Ausgang so lange auf TRUE, bis der Befehl abgearbeitet wurde. |
bError | BOOL | Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. |
udiErrorId | UDINT | Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Fehlercodes). Wird durch das erneute Aktivieren des Bausteins über den Eingang bStart wieder auf 0 zurückgesetzt. |
udiErrorArg | UDINT | Enthält ggf. eine erweiterte Beschreibung des Fehlercodes. |
stMValue | Ausgabe des gelesenen Wertes. |
Voraussetzungen
Entwicklungsumgebung | Einzubindende SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4020.14 | Tc2_GENIbus ab v3.3.0.0 |