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.

FB_GENIbusMagnaPump 1:

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.

VAR_INPUT

bEnable                 : BOOL;
byAddr                  : BYTE := 0;
tInfoCycle              : TIME := t#5s;
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;
bSetKeyMode             : BOOL;
bResetAlarm             : BOOL;
bResetCounters          : BOOL;
eCommandPriority        : E_GENIbusCommandPriority := eGENIbusCommandPriorityMiddle;

bEnable: Ist dieser Eingang gesetzt, wird der Baustein aktiviert.

byAdress : 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.

Möglich ist auch ein Broadcast- bzw. Sammelbefehl an mehrere Pumpen. Der Wert an diesem Eingang muss dann 255 sein. Für den Fall des Broadcast-Befehls sind die Werte-Abfragen deaktiviert.

tInfoCycle: 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 statt findet. 

lrSetpoint: 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: Eine steigende Flanke an diesem Eingang überträgt den eingestellten Sollwert.

eSetOpMode: Dieser Eingang dient der Anwahl eines der folgenden Betriebsmodi:

bSetOpMode: Eine steigende Flanke an diesem Eingang überträgt den eingestellten Betriebsmodus.

eSetCtrlMode: Dieser Eingang dient der Anwahl eines der folgenden Regelungsmodi:

bSetCtrlMode: Eine steigende Flanke an diesem Eingang überträgt den eingestellten Regelungsmodus.

eSetNightReductionMode: Dieser Eingang dient der An- bzw. Abwahl des Nachtmodus. [4, 170]

bSetNightReductionMode: 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: Eine steigende Flanke an diesem Eingang überträgt die eingestellte Anwahl.

bResetAlarm: Eine steigende Flanke an diesem Eingang setzt den aktuell anliegenden Alarm am Gerät zurück.  [3, 2]

bResetCounters: 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.

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;

bBusy: Dieser Ausgang ist immer dann TRUE, wenn ein Befehl oder eine Abfrage abgearbeitet wird.

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.

eActualOpMode: Aktuell gültiger Betriebsmodus. [2, 81]

eActualCtrlMode: Aktuell gültiger Regelungsmodus. [2, 81]

bNightReduction: Nachtabsenkung ist angewählt. [2, 84]

bWarning: Eine Warnmeldung liegt an.

byWarnCode: Code der aktuellen Warnmeldung. [2, 156]

bAlarm: Ein Alarm liegt an.

byAlarmCode: Code des aktuellen Alarmes. [2, 158]

bKeysLocked: 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]

 

FB_GENIbusMagnaPump 2:

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.

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