PowerFeedOptimizer
PowerFeedOptimizer (FB)
PowerFeedOptimizer (FB)FUNCTION_BLOCK PowerFeedOptimizer
Kurzbeschreibung
Maximalwertbegrenzung der elektrischen Leistung am Netzanschlusspunkt durch Abschaltung der Verbraucher 1 - 4 ( Index ‘_Con’ ) ( z.B. Elektro-Heizung ) Minimalwertbegrenzung der elektrischen Leistung am Netzanschlusspunkt durch Zuschaltung der Erzeuger 1 - 4 ( Index ‘_Gen’ ) ( z.B. Wärmepumpe zur Kühlung ) Einflussfaktoren: elektrische Leistung am Netzanschlusspunkt, Betriebsstunden, Betriebs- und Störzustände der Verbraucher / Erzeuger Typische Anwendung: Optimierung des zeitlichen Verlaufes der elektrische Leistung am Netzanschlusspunkt
Darstellung

Schnittstellen
Eingänge
xEn
BOOL
TRUE
Freigabe / Sperrung des Funktionsbausteins
xUpdateDeviceOutputs
BOOL
FALSE
Aktualisierung der Ausgänge der Geräte ( bei jeder ansteigenden Flanke )
xResError
BOOL
FALSE
Reinitialisierung der Fehlerausgänge auf die jeweiligen fehlerfreien Zustände ( bei jeder ansteigenden Flanke )
rElectricalPower
REAL
0.0
Aktuelle elektrische Leistung am Einspeisepunkt in XX.X kW
rMaxElectricalPower_Con
REAL
100.0
Maximale elektrische Leistung am Einspeisepunkt ( Bezug ) in XX.X kW vor der Abschaltung von Verbrauchern
rMaxElectricalPower_Gen
REAL
100.0
Maximale elektrische Leistung am Einspeisepunkt ( Rückspeisung ) in XX.X kW vor der Zuschaltung von Erzeugern
wActiveNumberOfDevices_Con
WORD
4
Anzahl der angeforderten Verbraucher ( 0 - 4 )
xFb_Con1
BOOL
FALSE
Betrieb - Verbraucher 1 ( TRUE = Betrieb )
xFb_Con2
BOOL
FALSE
Betrieb - Verbraucher 2 ( TRUE = Betrieb )
xFb_Con3
BOOL
FALSE
Betrieb - Verbraucher 3 ( TRUE = Betrieb )
xFb_Con4
BOOL
FALSE
Betrieb - Verbraucher 4 ( TRUE = Betrieb )
xAlarm_Con1
BOOL
FALSE
Störung - Verbraucher 1 ( TRUE = Störung )
xAlarm_Con2
BOOL
FALSE
Störung - Verbraucher 2 ( TRUE = Störung )
xAlarm_Con3
BOOL
FALSE
Störung - Verbraucher 3 ( TRUE = Störung )
xAlarm_Con4
BOOL
FALSE
Störung - Verbraucher 4 ( TRUE = Störung )
udiOpHours_Con1
UDINT
0
Betriebsstunden - Verbraucher 1
udiOpHours_Con2
UDINT
0
Betriebsstunden - Verbraucher 2
udiOpHours_Con3
UDINT
0
Betriebsstunden - Verbraucher 3
udiOpHours_Con4
UDINT
0
Betriebsstunden - Verbraucher 4
wActiveNumberOfDevices_Gen
WORD
4
Anzahl der angeforderten Erzeuger ( 0 - 4 )
xFb_Gen1
BOOL
FALSE
Betrieb - Erzeuger 1 ( TRUE = Betrieb )
xFb_Gen2
BOOL
FALSE
Betrieb - Erzeuger 2 ( TRUE = Betrieb )
xFb_Gen3
BOOL
FALSE
Betrieb - Erzeuger 3 ( TRUE = Betrieb )
xFb_Gen4
BOOL
FALSE
Betrieb - Erzeuger 4 ( TRUE = Betrieb )
xAlarm_Gen1
BOOL
FALSE
Störung - Erzeuger 1 ( TRUE = Störung )
xAlarm_Gen2
BOOL
FALSE
Störung - Erzeuger 2 ( TRUE = Störung )
xAlarm_Gen3
BOOL
FALSE
Störung - Erzeuger 3 ( TRUE = Störung )
xAlarm_Gen4
BOOL
FALSE
Störung - Erzeuger 4 ( TRUE = Störung )
udiOpHours_Gen1
UDINT
0
Betriebsstunden - Erzeuger 1
udiOpHours_Gen2
UDINT
0
Betriebsstunden - Erzeuger 2
udiOpHours_Gen3
UDINT
0
Betriebsstunden - Erzeuger 3
udiOpHours_Gen4
UDINT
0
Betriebsstunden - Erzeuger 4
xUpdateRedundance4_Con
BOOL
FALSE
Auslösung der Neuberechnung der Sequenz für die Verbraucher ( interner FB ‘Redundance4’ ) bei jeder ansteigenden Flanke
xUpdateRedundance4_Gen
BOOL
FALSE
Auslösung der Neuberechnung der Sequenz für die Erzeuger ( interner FB ‘Redundance4’ ) bei jeder ansteigenden Flanke
Ausgänge
xLoadRejection_Con
BOOL
FALSE
Aktueller Zustand der Abschaltung vom aktiven Verbrauchern ( TRUE = Abschaltung aktiv )
rTotalNomElectricalPower_Con
REAL
0.0
Gesamte nominale elektrische Leistung aller betriebsbereiten und aktiven Verbraucher in XX.X kW
rControlSignal_Con
REAL
0.0
Differenz der elektrischen Leistung in XX.X kW für die Verbraucher
wNumberOfOperationalDevices_Con
WORD
0
Anzahl der betriebsbereiten Verbraucher
udiCurrentSequence_Con
UDINT
0
Aktuelle Gerätefolge der Verbraucher als Integer ( Kriterien: Störzustand, Betriebsstunden )
sCurrentSequence_Con
STRING
‘’
Aktuelle Gerätefolge der Verbraucher als String ( Kriterien: Störzustand, Betriebsstunden )
stOutputs_Con1
stDevicesOutputsCon_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Verbrauchers 1
stOutputs_Con2
stDevicesOutputsCon_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Verbrauchers 2
stOutputs_Con3
stDevicesOutputsCon_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Verbrauchers 3
stOutputs_Con4
stDevicesOutputsCon_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Verbrauchers 4
eOperationalCondition_Con
eRedundance3_OperationalMode
Nummer / Name des aktuellen Betriebszustandes der Verbraucher ( Redundance4 )
xLoadConnection_Gen
BOOL
FALSE
Aktueller Zustand der Zuschaltung vom aktiven Erzeugern ( TRUE = Zuschaltung aktiv )
rTotalNomElectricalPower_Gen
REAL
0.0
Gesamte nominale elektrische Leistung aller betriebsbereiten und aktiven Errzeuger in XX.X kW
rControlSignal_Gen
REAL
0.0
Differenz der elektrischen Leistung in XX.X kW für die Erzeuger
wNumberOfOperationalDevices_Gen
WORD
0
Anzahl der betriebsbereiten Erzeuger
udiCurrentSequence_Gen
UDINT
0
Aktuelle Gerätefolge der Erzeuger als Integer ( Kriterien: Störzustand, Betriebsstunden )
sCurrentSequence_Gen
STRING
‘’
Aktuelle Gerätefolge der Erzeuger als String ( Kriterien: Störzustand, Betriebsstunden )
stOutputs_Gen1
stDevicesOutputsGen_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Erzeugers 1
stOutputs_Gen2
stDevicesOutputsGen_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Erzeugers 2
stOutputs_Gen3
stDevicesOutputsGen_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Erzeugers 3
stOutputs_Gen4
stDevicesOutputsGen_PowerFeedOptimizer
Aktuelle Zustände aller Ausgänge des Erzeugers 4
eOperationalCondition_Gen
eRedundance3_OperationalMode
Nummer / Name des aktuellen Betriebszustandes der Erzeuger ( Redundance4 )
xErr
BOOL
FALSE
Ausgang - Störung ( TRUE = Störung )
sErrorCodes_General
STRING
‘’
String mit den Nummern der aktiven Fehlerbits - Allgemein
sErrorCodes_Con
STRING
‘’
String mit den Nummern der aktiven Fehlerbits - Verbraucher
sErrorCodes_Gen
STRING
‘’
String mit den Nummern der aktiven Fehlerbits - Erzeuger
Sollwerte / Parameter
tTimeUpdateDeviceOutputs
TIME
T#3s
Updateintervall für die Vorgänge, die durch den Eingang ‘xUpdateDeviceOutputs’ beeinflusst werden
wTolerance_Con
WORD
100
Grenzwert - Betriebsstundendifferenz für direkten Folgewechsel im Teillastbetrieb der Verbraucher
xEnFb_Con
BOOL
FALSE
Auswahlkriterium für die Festlegung des Betriebszustands ( Leerlauf / Teillast / Volllast ), FALSE: Freigabeausgänge - Verbraucher ( xCmd_ConX ), TRUE: Betriebsmeldeeingänge - Verbraucher ( xFb_ConX )
xConOperatingHours_Con
BOOL
TRUE
Auslösekriterium für die Neuberechnung der Sequenz, FALSE: Nur durch Eingang ‘xUpdateRedundance4_Con’, TRUE: Automatisch nach Betriebsstunden ‘udiOpHours_ConX’
wTolerance_Gen
WORD
100
Grenzwert - Betriebsstundendifferenz für direkten Folgewechsel im Teillastbetrieb der Erzeuger
xEnFb_Gen
BOOL
FALSE
Auswahlkriterium für die Festlegung des Betriebszustands ( Leerlauf / Teillast / Volllast ), FALSE: Freigabeausgänge - Erzeuger ( xCmd_GenX ), TRUE: Betriebsmeldeeingänge - Erzeuger ( xFb_GenX )
xConOperatingHours_Gen
BOOL
TRUE
Auslösekriterium für die Neuberechnung der Sequenz, FALSE: Nur durch Eingang ‘xUpdateRedundance4_Gen’, TRUE: Automatisch nach Betriebsstunden ‘udiOpHours_GenX’
tInitDelay_EP
TIME
T#5s
Startverzögerung - Initialisierung für den Eingang ‘rElectricalPower’ ( eInitial_rEP = InitValueDelayed )
eInitial_EP
eInit
eInit.InputValue
Auswahl des Initialwerts für den Eingang ‘rElectricalPower’
rInitValue_EP
REAL
0.0
Initialwert für den Eingang ‘rElectricalPower’ ( eInitial_rEP = InitValue )
tTimeConstant_EP
TIME
T#15s
Filter - Zeitkonstante für den Eingang ‘rElectricalPower’
rTn_Con
REAL
180.0
PI-Regler für die Leistungsdifferenz: Nachstellzeit für die Regelabweichung in Sekunden
rTn_Gen
REAL
180.0
PI-Regler für die Leistungsdifferenz: Nachstellzeit für die Regelabweichung in Sekunden
rMinNomElectricalPower_Con1
REAL
0.0
Minimale nominale elektrische Leistung des Verbrauchers 1 in XX.X kW
rMaxNomElectricalPower_Con1
REAL
10.0
Maximale nominale elektrische Leistung des Verbrauchers 1 in XX.X kW
tOnDelayCmd_Con1
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 1
tOffDelayCmd_Con1
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 1
rMinNomElectricalPower_Con2
REAL
0.0
Minimale nominale elektrische Leistung des Verbrauchers 2 in XX.X kW
rMaxNomElectricalPower_Con2
REAL
10.0
Maximale nominale elektrische Leistung des Verbrauchers 2 in XX.X kW
tOnDelayCmd_Con2
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 2
tOffDelayCmd_Con2
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 2
rMinNomElectricalPower_Con3
REAL
0.0
Minimale nominale elektrische Leistung des Verbrauchers 3 in XX.X kW
rMaxNomElectricalPower_Con3
REAL
10.0
Maximale nominale elektrische Leistung des Verbrauchers 3 in XX.X kW
tOnDelayCmd_Con3
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 3
tOffDelayCmd_Con3
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 3
rMinNomElectricalPower_Con4
REAL
0.0
Minimale nominale elektrische Leistung des Verbrauchers 4 in XX.X kW
rMaxNomElectricalPower_Con4
REAL
10.0
Maximale nominale elektrische Leistung des Verbrauchers 4 in XX.X kW
tOnDelayCmd_Con4
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 4
tOffDelayCmd_Con4
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Verbraucher 4
rMinNomElectricalPower_Gen1
REAL
0.0
Minimale nominale elektrische Leistung des Erzeugers 1 in XX.X kW
rMaxNomElectricalPower_Gen1
REAL
-10.0
Maximale nominale elektrische Leistung des Erzeugers 1 in XX.X kW
tOnDelayCmd_Gen1
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 1
tOffDelayCmd_Gen1
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 1
rMinNomElectricalPower_Gen2
REAL
0.0
Minimale nominale elektrische Leistung des Erzeugers 2 in XX.X kW
rMaxNomElectricalPower_Gen2
REAL
-10.0
Maximale nominale elektrische Leistung des Erzeugers 2 in XX.X kW
tOnDelayCmd_Gen2
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 2
tOffDelayCmd_Gen2
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 2
rMinNomElectricalPower_Gen3
REAL
0.0
Minimale nominale elektrische Leistung des Erzeugers 3 in XX.X kW
rMaxNomElectricalPower_Gen3
REAL
-10.0
Maximale nominale elektrische Leistung des Erzeugers 3 in XX.X kW
tOnDelayCmd_Gen3
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 3
tOffDelayCmd_Gen3
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 3
rMinNomElectricalPower_Gen4
REAL
0.0
Minimale nominale elektrische Leistung des Erzeugers 4 in XX.X kW
rMaxNomElectricalPower_Gen4
REAL
-10.0
Maximale nominale elektrische Leistung des Erzeugers 4 in XX.X kW
tOnDelayCmd_Gen4
TIME
T#10s
Einschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 4
tOffDelayCmd_Gen4
TIME
T#10s
Ausschaltverzögerung - Freigabeausgang ‘xCmd’ - Erzeuger 4
Funktionsbeschreibung
Allgemeines
Dieser Funktionsbaustein dient zur Begrenzung ( Regelung ) der elektrischen Leistung am Netzanschlusspunkt ‘rElectricalPower’ auf einstellbare Maximalwerte. Dabei wird die vom Netzanschlusspunkt bezogene Leistung / Energie mit einem positiven, die an den Netzanschlusspunkt zurück gespeiste Leistung / Energie mit einem negativen Vorzeichen gekennzeichnet. Überschreitet die elektrische Leistung ‘rElectricalPower’ den einstellbaren, positiven Minimalwert ‘rMinElectricalPower_Con’, so werden, vom Gerät mit der niedrigsten Priorität beginnend, die Verbraucher stufenlos abgeschaltet ( PI-Regler-Verhalten ). Unterschreitet die elektrische Leistung ‘rElectricalPower’ den einstellbaren, negativen Minimalwert ‘rMinElectricalPower_Gen’, so werden, vom Gerät mit der höchsten Priorität beginnend, die Erzeuger stufenlos eingeschaltet ( PI-Regler-Verhalten ). Ohne weitere Beschaltung an den Eingängen ‘xFb’, ‘xAlarm’ und ‘udiOpHours’ sowie den initialen Parameter-Einstellungen ist dem jeweiligen Gerät 1 die Priorität 1 ( = höchste ) und dem jeweiligen Gerät 4 die Priorität 4 ( = niedrigste ) zugeordnet. Für jede Funktionalität ( Abschaltung von Verbrauchern, Zuschaltung von Erzeugern ) ist intern ein eigener Funktionsbaustein ‘Redundance4’ aus dieser Bibliothek vorhanden, bei dem jeweils eine einstellbare Anzahl von Verbrauchern ( ‘wActiveNumberOfDevices_Con’ ) und Erzeugern ( ‘wActiveNumberOfDevices_Gen’ ) verwandt wird. Die näheren Details zu diesem Funktionsbaustein sind dort detailiert beschrieben. Die Freigabe / Sperrung des Funktionsbausteins erfolgt über den Eingang ‘xEn’, im gesperrten Zustand nehmen alle Ausgänge definierte Zustände ein. Bei den Geräten mit dem Index ‘_Con’ handelt es sich um Verbraucher ( = Consumer ), bei den Geräten mit dem Index ‘_Gen’ um Erzeuger ( = Generator ).\
Eingang xEn
Dieser Eingang dient zur Freigabe / Sperrung des Funktionsbausteins, im gesperrten Zustand nehmen alle Ausgänge definierte Zustände ein.\
Eingang xUpdateDeviceOutputs
Jede ansteigende Flanke an diesem Eingang löst eine Aktualisierung aller Ausgänge der Geräte aus ( Ausgänge ‘stOutputs_XXXX’ ).\
Eingang xResError
Jede ansteigende Flanke an diesem Eingang löst eine Rücksetzung aller Fehlerausgänge ( ‘sErrorCodes_General’, ‘sErrorCodes_Con’ und ‘sErrorCodes_Gen ‘ ) auf den fehlerfreien Zustand aus.\
Eingang rElectricalPower
An diesem Eingang steht die aktuelle elektrische Leistung am Netzanschlusspunkt zur Verfügung. Ein Leistungsbezug wird dabei durch ein positives, eine Rückspeisung durch ein negatives Vorzeichen gekennzeichnet. Die elektrische Leistung wird anschließend zeitlich gefiltert ( Vier Parameter mit dem Index _EP’ ) und steht dann für die internen Regelprozesse zur Verfügung.\
Eingang rMaxElectricalPower_Con
An diesem Eingang wird der aktuelle Maximalwert des elektrischen Leistungsbezugs festgelegt. Überschreitet die aktuelle elektrische Leistung am Eingang ‘rElectricalPower’ diesen Maximalwert, so werden die Verbraucher, je nach ihrer nominalen Leistung, stufenlos, vom Verbraucher mit der niedrigsten Priorität beginnend, abgeschaltet. Das Regelverhalten des eingesetzten PI-Reglers lässt sich durch den Parameter ‘rTn_Con’ ( = Nachstellzeit ) beeinflussen.\
Eingang rMaxElectricalPower_Gen
An diesem Eingang wird der aktuelle Maximalwert des elektrischen Leistungsrückspeisung festgelegt. Unterschreitet die aktuelle elektrische Leistung am Eingang ‘rElectricalPower’ diesen Maximalwert, so werden die Erzeuger, je nach ihrer nominalen Leistung, stufenlos, vom Erzeuger mit der höchsten Priorität beginnend, zugeschaltet. Das Regelverhalten des eingesetzten PI-Reglers lässt sich durch den Parameter ‘rTn_Gen’ ( = Nachstellzeit ) beeinflussen.\
Eingang wActiveNumberOfDevices_Con
An diesem Eingang wird die Anzahl der eingesetzten Verbraucher im Bereich 0 - 4 festgelegt. Er ist direkt mit dem internen Funktionsbaustein ‘Redundance4_Con’ ( Eingang ‘wActiveNumberOfDevices’ ) verbunden.\
Eingang wActiveNumberOfDevices_Gen
An diesem Eingang wird die Anzahl der eingesetzten Erzeuger im Bereich 0 - 4 festgelegt. Er ist direkt mit dem internen Funktionsbaustein ‘Redundance4_Gen’ ( Eingang ‘wActiveNumberOfDevices’ ) verbunden.\
Geräteeingänge xFb``, Alarm und udiOpHours
xFb``, Alarm und udiOpHoursDiese Geräteeingänge werden direkt auf die entsprechenden Eingänge der internen Funktionsbausteine vom Typ ‘Redundance4’ geführt und beeinflussen dort die aktuelle Sequenz der jeweils vier Geräte.\
Eingänge xUpdateRedundance4
xUpdateRedundance4Diese Eingänge werden direkt auf die entsprechenden Eingänge der internen Funktionsbausteine vom Typ ‘Redundance4’ geführt und beeinflussen dort die aktuelle Sequenz der jeweils vier Geräte.\
Ausgang xLoadRejection_Con
Dieser Ausgang zeigt stets die aktuelle Abschaltung von aktiven Verbrauchern ( = TRUE ) an.\
Ausgang rTotalNomElectricalPower_Con
Dieser Ausgang zeigt stets die aktuell abschaltbare Leistung der betriebsbereiten und aktiven Verbraucher in kW an.\
Ausgang rControlSignal_Con
Dieser Ausgang zeigt stets das Stellsignal des internen PI-Reglers an ( = gewünschte abzuschaltende Leistung ).\
Ausgang wNumberOfOperationalDevices_Con
Dieser Ausgang zeigt stets die Anzahl der betriebsbereiten Verbraucher an.\
Ausgang udiCurrentSequence_Con
Dieser Ausgang zeigt stets die aktuelle Gerätefolge als Ganzzahl an. Die Nummer des Geräts mit der höchsten Priorität steht dabei immer am Anfang, dann folgt die Nummer des Geräts mit der zweithöchsten Priorität, usw. Beispiel: udiCurrentSequence_Con = 145 bedeutet: Gerät 1 = Priorität 1, Gerät 4 = Priorität 2 und Gerät 5 = Priorität 3\
Ausgang sCurrentSequence_Con
Dieser Ausgang zeigt stets die aktuelle Gerätefolge als String mit Trennzeichen an. Bezüglich der Prioritäten gilt dasselbe wie beim Ausgang udiCurrentSequence. Beispiel: sCurrentSequence_Con = ‘1-4-5’ bedeutet: Gerät 1 = Priorität 1, Gerät 4 = Priorität 2 und Gerät 5 = Priorität 3\
Ausgänge stOutputs_Con
Dieser Strukturvariablen zeigen stets die aktuellen Zustände der jeweiligen Geräte an. Es werden folgende Variablen dargestellt: \
rMinNomElectricalPower: Minimale nominale elektrische Leistung des Verbrauchers in XX.X kW\
rMaxNomElectricalPower: Maximale nominale elektrische Leistung des Verbrauchers in XX.X kW\
wPrio: Aktuelle Priorität des Geräts ( 0 = keine, 1 = höchste, 4 = niedrigste )\
rPowerSignalPercent: Stellsignal für die elektrische Leistung in Prozent ( 0.0 - 100.0% )\
rPowerSignalkW: Stellsignal für die elektrische Leistung in kW\
xCmd: Freigabeausgang des Geräts ( TRUE = Freigabe ) unter Berücksichtigung der Ein- und Ausschaltverzögerung\
xCmd_Redundance4: Freigabeausgang des Geräts ( TRUE = Freigabe ) aufgrund des internen Funktionsbausteins ‘Redundance4_Con’\
Ausgang eOperationalCondition_Con
Dieser Ausgang zeigt stets die aktuelle Lastsituation ( Leerlauf, Teillast, Volllast ) dar und wird direkt vom internen Funktionsbaustein ‘Redundance4’ übernommen.\
Ausgang xLoadConnection_Gen
Dieser Ausgang zeigt stets die aktuelle Zuschaltung von aktiven ( = TRUE ) Erzeugern an.\
Ausgang rTotalNomElectricalPower_Gen
Dieser Ausgang zeigt stets die aktuell zuschaltbare Leistung der betriebsbereiten und aktiven Erzeuger in kW an.\
Ausgang rControlSignal_Gen
Dieser Ausgang zeigt stets das Stellsignal des internen PI-Reglers an ( = gewünschte zuzuschaltende Leistung ).\
Ausgang wNumberOfOperationalDevices_Gen
Dieser Ausgang zeigt stets die Anzahl der betriebsbereiten Erzeuger an.\
Ausgang udiCurrentSequence_Gen
Dieser Ausgang zeigt stets die aktuelle Gerätefolge als Ganzzahl an. Die Nummer des Geräts mit der höchsten Priorität steht dabei immer am Anfang, dann folgt die Nummer des Geräts mit der zweithöchsten Priorität, usw. Beispiel: udiCurrentSequence_Gen = 145 bedeutet: Gerät 1 = Priorität 1, Gerät 4 = Priorität 2 und Gerät 5 = Priorität 3\
Ausgang sCurrentSequence_Gen
Dieser Ausgang zeigt stets die aktuelle Gerätefolge als String mit Trennzeichen an. Bezüglich der Prioritäten gilt dasselbe wie beim Ausgang udiCurrentSequence. Beispiel: sCurrentSequence_gen = ‘1-4-5’ bedeutet: Gerät 1 = Priorität 1, Gerät 4 = Priorität 2 und Gerät 5 = Priorität 3\
Ausgänge stOutputs_Gen
Dieser Strukturvariablen zeigen stets die aktuellen Zustände der jeweiligen Geräte an. Es werden folgende Variablen dargestellt: \
rMinNomElectricalPower: Minimale nominale elektrische Leistung des Erzeugers in XX.X kW\
rMaxNomElectricalPower: Maximale nominale elektrische Leistung des Erzeugers in XX.X kW\
wPrio: Aktuelle Priorität des Geräts ( 0 = keine, 1 = höchste, 4 = niedrigste )\
rPowerSignalPercent: Stellsignal für die elektrische Leistung in Prozent ( 0.0 - 100.0% )\
rPowerSignalkW: Stellsignal für die elektrische Leistung in kW\
xCmd: Freigabeausgang des Geräts ( TRUE = Freigabe ) unter Berücksichtigung der Ein- und Ausschaltverzögerung\
xCmd_Redundance4: Freigabeausgang des Geräts ( TRUE = Freigabe ) aufgrund des internen Funktionsbausteins ‘Redundance4_Gen’\
Ausgang eOperationalCondition_Gen
Dieser Ausgang zeigt stets die aktuelle Lastsituation ( Leerlauf, Teillast, Volllast ) dar und wird direkt vom internen Funktionsbaustein ‘Redundance4’ übernommen.\
Ausgang Störung xErr
Dieser Ausgang ist aktiv ( = TRUE ), falls mindestens eine der nachfolgenden Bedingungen erfüllt ist.\
Anzahl der allgemeinen Fehler > 0\
Anzahl der Fehler in der Verbraucher - Funktionalität > 0\
Anzahl der Fehler in der Erzeuger - Funktionalität > 0\
In allen übrigen Fällen ist der Ausgang *xErr* nicht aktiv ( = FALSE ).\
Ausgang sErrorCodes_General
An diesem Ausgang werden eventuell aktive Fehler ( maximal 16 = Bits 0 - 15 ) aus dem allgemeinen Bereich als String dargestellt. Beispiel: ‘1-2’: Die Fehlerbits 0 und 1 sind aktiv.\
Ausgang sErrorCodes_Con
An diesem Ausgang werden eventuell aktive Fehler ( maximal 16 = Bits 0 - 15 ) aus dem Verbraucher-Bereich als String dargestellt. Beispiel: ‘1-2’: Die Fehlerbits 0 und 1 sind aktiv.\
Ausgang sErrorCodes_Gen
An diesem Ausgang werden eventuell aktive Fehler ( maximal 16 = Bits 0 - 15 ) aus dem Erzeuger-Bereich als String dargestellt. Beispiel: ‘1-2’: Die Fehlerbits 0 und 1 sind aktiv.\
Parameter wTolerance_Con, ‘xEnFb_Con’ und ‘xConOperatingHours_Con’
Diese Parameter betreffen die Stretegien zur Festlegung der Gerätesequenz im internen Funktionsbaustein ‘Redundance4’ und sind dort detailisert beschrieben.\
Parameter wTolerance_Gen, ‘xEnFb_Gen’ und ‘xConOperatingHours_Gen’
Diese Parameter betreffen die Stretegien zur Festlegung der Gerätesequenz im internen Funktionsbaustein ‘Redundance4’ und sind dort detailisert beschrieben.\
Parameter rMinNominalElectricalPower_ConX, rMaxNominalElectricalPower_ConX, ‘tOnDelayCmd_ConX’ und ‘tOffDelayCmd_ConX’
Diese Parameter betreffen die die Verbraucher 1 - 4 und beeinflussen die zugeordneten Geräteausgänge. Die jeweiligen Ein- und Ausschaltverzögerungen wirken dabei auf die jeweiligen Geräteausgänge ‘xCmd’.\
Parameter rMinNominalElectricalPower_GenX, rMaxNominalElectricalPower_GenX, ‘tOnDelayCmd_GenX’ und ‘tOffDelayCmd_GenX’
Diese Parameter betreffen die die Erzeuger 1 - 4 und beeinflussen die zugeordneten Geräteausgänge. Die jeweiligen Ein- und Ausschaltverzögerungen wirken dabei auf die jeweiligen Geräteausgänge ‘xCmd’.\
Kriterien für die Aktualisierung der Geräte-Ausgänge ‘stOutputs_ConX’
Dieses Ausgänge werden im freigegebenen Zustand ( xEn = TRUE ) aktualisiert, falls mindestens eines der folgenden Kriterien vorliegt: \
einmalig nach jedem Neustart der Steuerung\
bei jeder ansteigenden Flanke am Eingang ‘xUpdateDeviceOutputs’\
zyklisch im Zeitintervall ‘tTimeUpdateDeviceOutputs’ ( ‘tTimeUpdateDeviceOutputs’ > 0 )\
einmalig bei jeder Änderung der Sequenz ( ‘udiCurrentSequence_Con’ )\
einmalig bei jeder Änderung der minimalen nominalen elektrischen Leistung der Verbraucher ( ‘rMinNomElectricalPower_ConX’ )\
einmalig bei jeder Änderung der maximalen nominalen elektrischen Leistung der Verbraucher ( ‘rMaxNomElectricalPower_ConX’ )\
einmalig bei jeder ansteigenden Flanke am Eingang ‘xEn’\
Kriterien für die Aktualisierung der Geräte-Ausgänge ‘stOutputs_GenX’
Dieses Ausgänge werden im freigegebenen Zustand ( xEn = TRUE ) aktualisiert, falls mindestens eines der folgenden Kriterien vorliegt: \
einmalig nach jedem Neustart der Steuerung\
bei jeder ansteigenden Flanke am Eingang ‘xUpdateDeviceOutputs’\
zyklisch im Zeitintervall ‘tTimeUpdateDeviceOutputs’ ( ‘tTimeUpdateDeviceOutputs’ > 0 )\
einmalig bei jeder Änderung der Sequenz ( ‘udiCurrentSequence_Gen’ )\
einmalig bei jeder Änderung der minimalen nominalen elektrischen Leistung der Erzeuger ( ‘rMinNomElectricalPower_GenX’ )\
einmalig bei jeder Änderung der maximalen nominalen elektrischen Leistung der Erzeuger ( ‘rMaxNomElectricalPower_GenX’ )\
einmalig bei jeder ansteigenden Flanke am Eingang ‘xEn’\
CODESYS
InOut:
Input
xEn
BOOL
TRUE
Input
xUpdateDeviceOutputs
BOOL
FALSE
Input
xResError
BOOL
FALSE
Input
rElectricalPower
REAL
0.0
Input
rMaxElectricalPower_Con
REAL
100.0
Input
rMaxElectricalPower_Gen
REAL
-100.0
Input
wActiveNumberOfDevices_Con
WORD
4
Input
xFb_Con1
BOOL
FALSE
Input
xFb_Con2
BOOL
FALSE
Input
xFb_Con3
BOOL
FALSE
Input
xFb_Con4
BOOL
FALSE
Input
xAlarm_Con1
BOOL
FALSE
Input
xAlarm_Con2
BOOL
FALSE
Input
xAlarm_Con3
BOOL
FALSE
Input
xAlarm_Con4
BOOL
FALSE
Input
udiOpHours_Con1
UDINT
0
Input
udiOpHours_Con2
UDINT
0
Input
udiOpHours_Con3
UDINT
0
Input
udiOpHours_Con4
UDINT
0
Input
wActiveNumberOfDevices_Gen
WORD
4
Input
xFb_Gen1
BOOL
FALSE
Input
xFb_Gen2
BOOL
FALSE
Input
xFb_Gen3
BOOL
FALSE
Input
xFb_Gen4
BOOL
FALSE
Input
xAlarm_Gen1
BOOL
FALSE
Input
xAlarm_Gen2
BOOL
FALSE
Input
xAlarm_Gen3
BOOL
FALSE
Input
xAlarm_Gen4
BOOL
FALSE
Input
udiOpHours_Gen1
UDINT
0
Input
udiOpHours_Gen2
UDINT
0
Input
udiOpHours_Gen3
UDINT
0
Input
udiOpHours_Gen4
UDINT
0
Input
xUpdateRedundance4_Con
BOOL
FALSE
Input
xUpdateRedundance4_Gen
BOOL
FALSE
Output
xLoadRejection_Con
BOOL
FALSE
Output
rTotalNomElectricalPower_Con
REAL
0.0
Output
rControlSignal_Con
REAL
0.0
Output
wNumberOfOperationalDevices_Con
WORD
0
Output
udiCurrentSequence_Con
UDINT
0
Output
sCurrentSequence_Con
STRING
‘’
Output
stOutputs_Con1
stDevicesOutputsCon_PowerFeedOptimizer
Output
stOutputs_Con2
stDevicesOutputsCon_PowerFeedOptimizer
Output
stOutputs_Con3
stDevicesOutputsCon_PowerFeedOptimizer
Output
stOutputs_Con4
stDevicesOutputsCon_PowerFeedOptimizer
Output
eOperationalCondition_Con
eRedundance3_OperationalMode
Output
xLoadConnection_Gen
BOOL
FALSE
Output
rTotalNomElectricalPower_Gen
REAL
0.0
Output
rControlSignal_Gen
REAL
0.0
Output
wNumberOfOperationalDevices_Gen
WORD
0
Output
udiCurrentSequence_Gen
UDINT
0
Output
sCurrentSequence_Gen
STRING
‘’
Output
stOutputs_Gen1
stDevicesOutputsGen_PowerFeedOptimizer
Output
stOutputs_Gen2
stDevicesOutputsGen_PowerFeedOptimizer
Output
stOutputs_Gen3
stDevicesOutputsGen_PowerFeedOptimizer
Output
stOutputs_Gen4
stDevicesOutputsGen_PowerFeedOptimizer
Output
eOperationalCondition_Gen
eRedundance3_OperationalMode
Output
xErr
BOOL
FALSE
Output
sErrorCodes_General
STRING
‘’
Output
sErrorCodes_Con
STRING
‘’
Output
sErrorCodes_Gen
STRING
‘’
Input Const
tOffDelayCmd_Gen4
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Gen4
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Gen4
REAL
-10.0
Input Const
rMinNomElectricalPower_Gen4
REAL
0.0
Input Const
tOffDelayCmd_Gen3
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Gen3
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Gen3
REAL
-10.0
Input Const
rMinNomElectricalPower_Gen3
REAL
0.0
Input Const
tOffDelayCmd_Gen2
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Gen2
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Gen2
REAL
-10.0
Input Const
rMinNomElectricalPower_Gen2
REAL
0.0
Input Const
tOffDelayCmd_Gen1
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Gen1
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Gen1
REAL
-10.0
Input Const
rMinNomElectricalPower_Gen1
REAL
0.0
Input Const
tOffDelayCmd_Con4
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Con4
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Con4
REAL
10.0
Input Const
rMinNomElectricalPower_Con4
REAL
0.0
Input Const
tOffDelayCmd_Con3
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Con3
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Con3
REAL
10.0
Input Const
rMinNomElectricalPower_Con3
REAL
0.0
Input Const
tOffDelayCmd_Con2
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Con2
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Con2
REAL
10.0
Input Const
rMinNomElectricalPower_Con2
REAL
0.0
Input Const
tOffDelayCmd_Con1
TIME
TIME#10s0ms
Input Const
tOnDelayCmd_Con1
TIME
TIME#10s0ms
Input Const
rMaxNomElectricalPower_Con1
REAL
10.0
Input Const
rMinNomElectricalPower_Con1
REAL
0.0
Input Const
rTn_Gen
REAL
180.0
Input Const
rTn_Con
REAL
180.0
Input Const
tTimeConstant_EP
TIME
TIME#15s0ms
Input Const
rInitValue_EP
REAL
0.0
Input Const
eInitial_EP
eInit
eInit.InputValue
Input Const
tInitDelay_EP
TIME
TIME#5s0ms
Input Const
xConOperatingHours_Gen
BOOL
TRUE
Input Const
xEnFb_Gen
BOOL
FALSE
Input Const
wTolerance_Gen
WORD
100
Input Const
xConOperatingHours_Con
BOOL
TRUE
Input Const
xEnFb_Con
BOOL
FALSE
Input Const
wTolerance_Con
WORD
100
Input Const
tTimeUpdateDeviceOutputs
TIME
TIME#3s0ms
Zuletzt aktualisiert

