FB_GENIbusMagnaPump

Dieser Baustein stellt eine universelle Applikation für eine Grundfos-Magna-Pumpe dar. Es können die grundlegenden Betriebsarten eingestellt und wesentliche Parameter ausgelesen werden.
![]() | Die im Folgenden fett und in eckigen Klammern dargestellten Werte stellen die Klasse und ID dar, mit denen die Kommandos ausgeführt bzw. die Informationen gewonnen werden. Diese Werte sind in der Grundfos-Dokumentation "Operating the MAGNA3 and MGE model H/I via the GENIpro interface - Edition 01.00.35 - April 2015" aufgeführt. |
Eingänge
VAR_INPUT
bEnable : BOOL;
byAddr : BYTE;
tInfoCycle : TIME;
lrSetpoint : LREAL;
bSetSetpoint : BOOL;
eSetOpMode : E_GENIbusOpMode := eGENIbusOpModeStop;
bSetOpMode : BOOL;
eSetCtrlMode : E_GENIbusCtrlMode := eGENIbusCtrlModeConstFreq;
bSetCtrlMode : BOOL;
eSetNightReductionMode : E_GENIbusNightReductionMode := eGENIbusNightReductionModeOff;
bSetNightReductionMode : BOOL;
eSetKeyMode : E_GENIbusKeyMode := eGENIbusKeyModeUnlocked;
bSetKeyMode : BOOL;
bResetAlarm : BOOL;
bResetCounters : BOOL;
eCommandPriority : E_GENIbusCommandPriority := eGENIbusCommandPriorityMiddle;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bEnable | BOOL | Ist dieser Eingang gesetzt, wird der Baustein aktiviert. |
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 - 231, siehe GENIbus-Standard, erfolgt Baustein-intern. |
tInfoCycle | TIME | Gibt an, in welchem Intervall die Wert-Abfrage-Befehle ausgegeben werden sollen. Dieser Eintrag ist nach unten hin auf 1s begrenzt. Der Eintrag "0s" hingegen ist zulässig und bedeutet, dass keine Abfrage stattfindet. |
lrSetpoint | LREAL | Eingabe Sollwert [5, 1] . Die Eingabe ist in Prozent und bezieht sich je nach Regelungsart auf die vorgegebenen Grenzen. Eine genauere Beschreibung ist in der entsprechenden Dokumentation der Firma Grundfos gegeben. |
bSetSetpoint | BOOL | Eine steigende Flanke an diesem Eingang überträgt den eingestellten Sollwert. |
eSetOpMode | Dieser Eingang dient der Anwahl eines der folgenden Betriebsmodi: Start [3, 6] Minimal-Kurve [3, 25] Maximal-Kurve [3, 26] | |
bSetOpMode | BOOL | Eine steigende Flanke an diesem Eingang überträgt den eingestellten Betriebsmodus. |
eSetCtrlMode | Dieser Eingang dient der Anwahl eines der folgenden Regelungsmodi: Konstante Frequenz [3, 22] Proportionaler Druck [3, 23] Konstanter Druck [3, 24] Auto-adaptierend [3, 52] | |
bSetCtrlMode | BOOL | Eine steigende Flanke an diesem Eingang überträgt den eingestellten Regelungsmodus. |
eSetNightReductionMode | Dieser Eingang dient der An- bzw. Abwahl des Nachtmodus [4, 170] | |
bSetNightReductionMode | BOOL | Eine steigende Flanke an diesem Eingang überträgt die eingestellte Anwahl. |
eSetKeyMode | Mit Hilfe dieses Eingangs kann eine Verriegelung der Handbedienung an der Pumpe angewählt werden. Die Verriegelung sperrt lediglich die Parametriermenüs, nicht die Tasten an sich. [3, 30/31] | |
bSetKeyMode | BOOL | Eine steigende Flanke an diesem Eingang überträgt die eingestellte Anwahl. |
bResetAlarm | BOOL | Eine steigende Flanke an diesem Eingang setzt den aktuell anliegenden Alarm am Gerät zurück. [3, 2] |
bResetCounters | BOOL | Eine steigende Flanke an diesem Eingang setzt Zähler, wie beispielsweise Betriebsstunden oder Energie zurück. [3, 36] |
eCommandPriority | Priorität (hoch, mittel oder niedrig), mit der der Befehl von der SPS-Bibliothek abgearbeitet wird. |
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;
eActualOpMode : E_GENIbusActOpMode;
eActualCtrlMode : E_GENIbusActCtrlMode;
bNightReduction : BOOL;
bWarning : BOOL;
byWarnCode : BYTE;
bAlarm : BOOL;
byAlarmCode : BYTE;
bKeysLocked : BOOL;
stActualSetpoint : ST_GENIbusMValue;
stNormalizedSetpoint : ST_GENIbusMValue;
stPumpFlow : ST_GENIbusMValue;
stPowerConsumption : ST_GENIbusMValue;
stRotationalSpeed : ST_GENIbusMValue;
stPumpHead : ST_GENIbusMValue;
stEngeryConsumption : ST_GENIbusMValue;
stOperatingHours : ST_GENIbusMValue;
stMediumTemperature : 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. |
eActualOpMode | Aktuell gültiger Betriebsmodus [2, 81] | |
eActualCtrlMode | Aktuell gültiger Regelungsmodus [2, 81] | |
bNightReduction | BOOL | Nachtabsenkung ist angewählt. [2, 84] |
bWarning | BOOL | Eine Warnmeldung liegt an. |
byWarnCode | BYTE | Code der aktuellen Warnmeldung. [2, 156] |
bAlarm | BOOL | Ein Alarm liegt an. |
byAlarmCode | BYTE | Code des aktuellen Alarmes. [2, 158] |
bKeysLocked | BOOL | Die Verriegelung der Handbedienung an der Pumpe ist aktiviert. [4, 170] |
stActualSetpoint | Aktuell eingestellter Sollwert, die angezeigte Einheit richtet sich dabei nach dem Regelungsmodus [2, 48] | |
stNormalizedSetpoint | Aktueller normierter Sollwert [2, 49] | |
stPumpFlow | Durchflussmenge [2, 39] | |
stPowerConsumption | Leistungsaufnahme [2, 34] | |
stRotationalSpeed | Drehzahl [2, 35/36] | |
stPumpHead | Förderhöhe [2, 37] | |
stEngeryConsumption | Energieverbrauch [2, 152/153] | |
stOperatingHours | Betriebsstundenzähler [2, 24/25] | |
stMediumTemperature | Wasser- (medium-) Temperatur [2, 58] |
![]() | Da ein Fehler die Abarbeitung des Bausteines nicht unterbrechen darf, werden bError, udiErrorId und udiErrorArg in jedem SPS-Zyklus zunächst wieder zurückgesetzt und dann neu beurteilt. Zur Ermittlung von sporadisch auftretenden Fehlern muss daher Baustein-extern ein Fehlerspeicher programmiert werden. |
Voraussetzungen
Entwicklungsumgebung | Einzubindende SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4020.14 | Tc2_GENIbus ab v3.3.0.0 |