FB_GENIbusMagnaPump

FB_GENIbusMagnaPump 1:

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

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.

FB_GENIbusMagnaPump 3: 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.
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

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

E_GENIbusOpMode

Dieser Eingang dient der Anwahl eines der folgenden Betriebsmodi:
Stop [3, 5]

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

E_GENIbusCtrlMode

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

E_GENIbusNightReductionMode

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

E_GENIbusKeyMode

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

E_GENIbusCommandPriority

Priorität (hoch, mittel oder niedrig), mit der der Befehl von der SPS-Bibliothek abgearbeitet wird.

FB_GENIbusMagnaPump 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_GENIbusMagnaPump 5: 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

E_GENIbusActOpMode

Aktuell gültiger Betriebsmodus [2, 81]

eActualCtrlMode

E_GENIbusActCtrlMode

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

ST_GENIbusMValue

Aktuell eingestellter Sollwert, die angezeigte Einheit richtet sich dabei nach dem Regelungsmodus [2, 48]

stNormalizedSetpoint

ST_GENIbusMValue

Aktueller normierter Sollwert [2, 49]

stPumpFlow

ST_GENIbusMValue

Durchflussmenge [2, 39]

stPowerConsumption

ST_GENIbusMValue

Leistungsaufnahme [2, 34]

stRotationalSpeed

ST_GENIbusMValue

Drehzahl [2, 35/36]

stPumpHead

ST_GENIbusMValue

Förderhöhe [2, 37]

stEngeryConsumption

ST_GENIbusMValue

Energieverbrauch [2, 152/153]

stOperatingHours

ST_GENIbusMValue

Betriebsstundenzähler [2, 24/25]

stMediumTemperature

ST_GENIbusMValue

Wasser- (medium-) Temperatur [2, 58]

FB_GENIbusMagnaPump 6:

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