PowerFeedOptimizer

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

Name
Datentyp
Wertebereich
Initialwert
Funktion

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

Name
Datentyp
Wertebereich
Initialwert
Funktion

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

Name
Datentyp
Wertebereich
Initialwert
Funktion

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

Diese 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

Diese 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: \

  1. rMinNomElectricalPower: Minimale nominale elektrische Leistung des Verbrauchers in XX.X kW\

  2. rMaxNomElectricalPower: Maximale nominale elektrische Leistung des Verbrauchers in XX.X kW\

  3. wPrio: Aktuelle Priorität des Geräts ( 0 = keine, 1 = höchste, 4 = niedrigste )\

  4. rPowerSignalPercent: Stellsignal für die elektrische Leistung in Prozent ( 0.0 - 100.0% )\

  5. rPowerSignalkW: Stellsignal für die elektrische Leistung in kW\

  6. xCmd: Freigabeausgang des Geräts ( TRUE = Freigabe ) unter Berücksichtigung der Ein- und Ausschaltverzögerung\

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

  1. rMinNomElectricalPower: Minimale nominale elektrische Leistung des Erzeugers in XX.X kW\

  2. rMaxNomElectricalPower: Maximale nominale elektrische Leistung des Erzeugers in XX.X kW\

  3. wPrio: Aktuelle Priorität des Geräts ( 0 = keine, 1 = höchste, 4 = niedrigste )\

  4. rPowerSignalPercent: Stellsignal für die elektrische Leistung in Prozent ( 0.0 - 100.0% )\

  5. rPowerSignalkW: Stellsignal für die elektrische Leistung in kW\

  6. xCmd: Freigabeausgang des Geräts ( TRUE = Freigabe ) unter Berücksichtigung der Ein- und Ausschaltverzögerung\

  7. 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.\

  1. Anzahl der allgemeinen Fehler > 0\

  2. Anzahl der Fehler in der Verbraucher - Funktionalität > 0\

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

  1. einmalig nach jedem Neustart der Steuerung\

  2. bei jeder ansteigenden Flanke am Eingang ‘xUpdateDeviceOutputs’\

  3. zyklisch im Zeitintervall ‘tTimeUpdateDeviceOutputs’ ( ‘tTimeUpdateDeviceOutputs’ > 0 )\

  4. einmalig bei jeder Änderung der Sequenz ( ‘udiCurrentSequence_Con’ )\

  5. einmalig bei jeder Änderung der minimalen nominalen elektrischen Leistung der Verbraucher ( ‘rMinNomElectricalPower_ConX’ )\

  6. einmalig bei jeder Änderung der maximalen nominalen elektrischen Leistung der Verbraucher ( ‘rMaxNomElectricalPower_ConX’ )\

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

  1. einmalig nach jedem Neustart der Steuerung\

  2. bei jeder ansteigenden Flanke am Eingang ‘xUpdateDeviceOutputs’\

  3. zyklisch im Zeitintervall ‘tTimeUpdateDeviceOutputs’ ( ‘tTimeUpdateDeviceOutputs’ > 0 )\

  4. einmalig bei jeder Änderung der Sequenz ( ‘udiCurrentSequence_Gen’ )\

  5. einmalig bei jeder Änderung der minimalen nominalen elektrischen Leistung der Erzeuger ( ‘rMinNomElectricalPower_GenX’ )\

  6. einmalig bei jeder Änderung der maximalen nominalen elektrischen Leistung der Erzeuger ( ‘rMaxNomElectricalPower_GenX’ )\

  7. einmalig bei jeder ansteigenden Flanke am Eingang ‘xEn’\

CODESYS

InOut:

Scope
Name
Type
Initial

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