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 wird durch eine interne INFO-Abfrage ermittelt. Am Ausgang stMValue wird durch eine Struktur alle wichtigen Informationen über den Wert zur Verfügung gestellt.

VAR_INPUT

bStart            : BOOL;
byAddr            : BYTE := 0;
byIDCode          : BYTE := 0;
eDataSize         : E_GENIBusMDataSize;
eCommandPriority  : E_GENIbusCommandPriority := eGENIbusCommandPriorityMiddle;

bStart: Eine steigende Flanke an diesem Eingang startet den Leseprozess.

byAddr : 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 - 231, siehe GENIbus-Standard, erfolgt Baustein-intern. Ein Broadcast-Befehl über die Adresse 255 ist naturgemäß nicht erlaubt.

byIDCode: 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 Byte.

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:

Quelle: Grundfos-Dokumentation "Operating the MAGNA3 and MGE model H/I via the GENIpro interface - Edition 01.00.35 - April 2015" .

VAR_OUTPUT

bBusy         : BOOL;
bError        : BOOL;
udiErrorId    : UDINT;
udiErrorArg   : UDINT;
stMValue      : ST_GENIbusMValue;

bBusy: Beginnend mit der Flanke an bStart ist dieser Ausgang so lange auf TRUE, bis der Befehl abgearbeitet wurde.

bError: 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: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das erneute Aktivieren des Bausteins über den Eingang bStart wieder auf 0 zurückgesetzt. Siehe Fehlercodes.

udiErrorArg: Enthält ggf. eine erweiterte Beschreibung des Fehlercodes.

stMValue : Ausgabe des gelesenen Wertes.

VAR_IN_OUT

stCommandBuffer   : ST_GENIbusCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_GENIbusCommunication()-Baustein.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

erforderliche Bibliotheken

TwinCAT v2.11 R3/x64 ab Build 2253

PC/CX

TcGENIbus-Bibliothek ab V1.0.0