FB_GENIbusGetMValue

FB_GENIbusGetMValue 1:

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.

FB_GENIbusGetMValue 2: 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

E_GENIBusMDataSize

Datengröße des Messwertes: 8, 16, 24 oder 32 Bit.

eCommandPriority

E_GENIbusCommandPriority

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:

FB_GENIbusGetMValue 3:

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

FB_GENIbusGetMValue 4: Ein-/Ausgänge

VAR_IN_OUT
  stCommandBuffer   : ST_GENIbusCommandBuffer;
END_VAR

Name

Typ

Beschreibung

stCommandBuffer

ST_GENIbusCommandBuffer

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

FB_GENIbusGetMValue 5: 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

ST_GENIbusMValue

Ausgabe des gelesenen Wertes.

Voraussetzungen

Entwicklungsumgebung

Einzubindende SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_GENIbus ab v3.3.0.0