Redundance2

Redundance2 (FB)

FUNCTION_BLOCK Redundance2

Kurzbeschreibung

Redundante Steuerung von zwei gleichartigen Geräten Einflussfaktoren: Anforderungen, Betriebsstunden, Betriebs- und Störzustände Typische Anwendung: Festlegung der Führungs- und Folgepumpe\

Darstellung

Schnittstellen

Eingänge

Name
Datentyp
Wertebereich
Initialwert
Funktion

xEnOne

BOOL

Anforderung - Führungsgerät

xEnTwo

BOOL

Anforderung - Führungs- und Folgegerät

xFb1

BOOL

Betrieb - Gerät 1

xFb2

BOOL

Betrieb - Gerät 2

xAlarm1

BOOL

Störung - Gerät 1

xAlarm2

BOOL

Störung - Gerät 2

uiOperatingHours1

UDINT

Betriebsstunden - Gerät 1

uiOperatingHours2

UDINT

Betriebsstunden - Gerät 2

xUpdate

BOOL

Eingang - Folgeschaltung nach Betriebsstunden

Ausgänge

Name
Datentyp
Wertebereich
Initialwert
Funktion

iCurrentSequence

INT

Aktuelle Gerätefolge

xCmd1

BOOL

Freigabe - Gerät 1

xCmd2

BOOL

Freigabe - Gerät 2

xErr

BOOL

Ausgang - Störung

Sollwerte / Parameter

Name
Datentyp
Wertebereich
Initialwert
Funktion

eModeRedundance

eOpModeRedundance

eOpModeRedundance.Auto, eOpModeRedundance.ForceComponent1, eOpModeRedundance.ForceComponent2

eOpModeRedundance.Auto

Betriebsart der Sequenzfestlegung

xConOperatingHours

BOOL

TRUE

Freigabe - Folgeschaltung nach Betriebsstunden

xEnFb

BOOL

TRUE

Freigabe - Verwendung der Betriebsmeldungen

wTolerance

WORD

100

Grenzwert - Betriebsstundendifferenz

xIgnoreAlarmXFollowerDevice

BOOL

FALSE

Parameter zur Ignorierung des Störzustands des Folgegerätes ( TRUE = Ignorierung )

Funktionsbeschreibung

Allgemeines

Dieser Funktionsbaustein dient zur redundanten Steuerung von zwei gleichartigen Geräten in Abhängigkeit von den Einflußgrößen Anforderungen ( xEnOne und xEnTwo ), Betriebstunden ( uiOperatingHours1 und uiOperatingHours2 ), Betriebszuständen ( xFb1 und xFb2 ), Störzuständen ( xAlarm1 und xAlarm2 ) und der Betriebsart für die Sequenzfestlegung ( eModeRedundance ). Die Freigabe des Führungs- und bei Bedarf des Folgegerätes wird intern festgelegt und unter Berücksichtigung der aktuellen Folge iCurrentSequence auf die Geräteausgänge xCmd1 bzw. xCmd2 übertragen. \

Anforderungen xEnOne und xEnTwo

Sie dienen zur Festlegung, ob nur das Führungsgerät oder das Führungs- und das Folgegerät angefordert werden sollen. \

xEnOne

xEnTwo

Führungsgerät

Folgegerät

Hinweis

FALSE

FALSE

FALSE

FALSE

Keine Anforderung

TRUE

FALSE

TRUE

FALSE

Anforderung - Führungsgerät

X

TRUE

TRUE

TRUE

Anforderung - Führungs- und Folgegerät

Legende: X = Unbestimmt\

Ausgang Störung xErr

Er zeigt eine Diskrepanz zwischen den Anforderungen und den Störzuständen der Geräte an. In der Funktionstabelle werden die Konstellationen beschrieben, die den Ausgang xErr ( = TRUE ) aktivieren, d.h eine Störung anzeigen. In allen übrigen Fällen ist der Ausgang xErr nicht aktiv ( = FALSE ).\

xEnOne

xEnTwo

xAlarm1

xAlarm2

xErr

Hinweis

TRUE

X

TRUE

TRUE

TRUE

Anforderung - Führungsgerät und beide Geräte gestört

X

TRUE

TRUE

X

TRUE

Anforderung - Führungs- und Folgegerät und mindestens ein Gerät gestört

X

TRUE

X

TRUE

TRUE

Anforderung - Führungs- und Folgegerät und mindestens ein Gerät gestört

Legende: X = Unbestimmt\

Ausgang iCurrentSequence

Er zeigt stets die aktuelle Folge der beiden Geräte an. Die erste Ziffer zeigt stets die Gerätenummer des Führungsgerätes an ( Beispiel: iCurrentSequence = 1X … Führungsgerät = Gerät 1 ) Die zweite Ziffer zeigt stets die Gerätenummer des Folgegeräts an. ( Beispiel: iCurrentSequence = X2 … Folgegerät = Gerät 2 )\

Sollwert / Parameter xConOperatingHours

Im Zustand TRUE wird bei jeder Abarbeitung des Funktionsblocks die Folgeschaltung in Abhängigkeit von den Betriebsstunden und Betriebsmeldungen ( bei xEnFb = TRUE ) der Geräte 1 und 2 ausgelöst. Im Zustand FALSE kann die Folgeschaltung nur noch durch eine ansteigende Flanke am Eingang xUpdate ausgelöst werden. \

Sollwert / Parameter xEnFb

Im Zustand TRUE werden in der Folgeschaltung die Betriebszustände der Geräte 1 und 2 ausgewertet und berücksichtigt. Im Zustand FALSE werden in der Folgeschaltung die Geräteausgänge der Geräte 1 und 2 ausgewertet und berücksichtigt.\

Sollwert / Parameter wTolerance

Dieser Sollwert bestimmt die maximale Betriebsstundendifferenz vor einer Umschaltung des Führungs- und des Folgegeräts aufgrund der Betriebsstunden. \

Sollwert / Parameter eModeRedundance

Dieser Sollwert legt die Betriebsart der Sequenzfestlegung fest. Im Automatikbetrieb erfolgt die Festlegung der Sequenz automatisch. Die Zwangsfestlegung der Sequenz in den Betriebsarten ForceComponent1 bzw. ForceComponent2 erfolgt über eine gezielte Beeinflussung der internen Stände der Betriebsstundenzähler bzw. des Sollwerts / Parameters wTolerance. Die Sequenzumschaltung im Störungsfall ist daher nach wie vor gegeben. \

eModeRedundance

Führungsgerät

Folgegerät

Hinweis

eOpModeRedundance.Auto

Automatische Festlegung

Automatische Festlegung

Automatische Sequenzfestlegung

eOpModeRedundance.ForceComponent1

Gerät 1

Gerät 2

Erzwungene Sequenz Gerät 1 - 2

eOpModeRedundance.ForceComponent2

Gerät 2

Gerät 1

Erzwungene Sequenz Gerät 2 - 1

Bestimmung des Führungs- und des Folgegeräts

Umschaltung mit hoher Priorität in Abhängigkeit von den Störzuständen der Geräte 1 und 2

xAlarm1

xAlarm2

Führungsgerät

Folgegerät

Hinweis

FALSE

FALSE

nicht beeinflusst

nicht beeinflusst

Beide Geräte ohne Störung

TRUE

FALSE

Gerät 2

Gerät 1

Gerät 1 gestört

X

TRUE

Gerät 1

Gerät 2

Gerät 2 gestört

Legende: X = Unbestimmt\

Umschaltung mit niedriger Priorität in Abhängigkeit von den Betriebsstunden, Betriebsmeldungen ( xFb ) und Freigabeausgänge ( xCmd ) der Geräte 1 und 2

Eine Neubewertung und -festlegung mit niedriger Priorität kann dabei jeweils wie folgt ausgelöst werden:

xConOperatingHours = TRUE und / oder ansteigende Flanke am Eingang xUpdate

xConOperatingHours

xUpdate

Bedingungen

Führungsgerät

FALSE

FALSE, TRUE, H/L

keine Neubewertung

TRUE

FALSE, TRUE, H/L

gleiche Betriebsmeldungen ( xFb = TRUE oder = FALSE ) oder gleiche Freigabeausgänge ( xCmd = TRUE oder = FALSE ) der Geräte

Gerät mit geringerer Betriebsstundenanzahl

TRUE

FALSE, TRUE, H/L

Ein Gerät in Betrieb ( xFb = TRUE ) oder ein Gerät freigegeben ( xCmd = FALSE )

Wechsel zum Gerät mit geringerer Betriebsstundenanzahl, falls Betriebsstundendifferenz > wTolerance

FALSE

L/H

uiOperatingHours1 = uiOperatingHours2 = 0 ( keine Betriebsstunden vorhanden )

Wechsel des Führungs- mit dem Folgegerät

FALSE

L/H

uiOperatingHours1 oder uiOperatingHours2 > 0

Gerät mit geringerer Betriebsstundenanzahl

Legende: L/H … ansteigende Flanke, H/L … abfallende Flanke\

Geräteausgänge xCmd1 und xCmd2

Die Geräteausgänge werden ( xIgnoreAlarmXFollowerDevice = FALSE ) abschließend wie folgt festgelegt:

Führungsgerät = Gerät 1

xCmd1 = TRUE: Das Führungsgerät ist angefordert und mindestens ein Gerät ist angefordert und das Gerät 1 ist nicht gestört xCmd1 = FALSE: In allen übrigen Fällen

xCmd2 = TRUE: Das Folgegerät ist angefordert und mindestens ein Gerät ist angefordert und das Gerät 2 ist nicht gestört xCmd2 = FALSE: In allen übrigen Fällen

Führungsgerät = Gerät 2

xCmd1 = TRUE: Das Folgegerät ist angefordert und mindestens ein Gerät ist angefordert und das Gerät 1 ist nicht gestört xCmd1 = FALSE: In allen übrigen Fällen

xCmd2 = TRUE: Das Führungsgerät ist angefordert und mindestens ein Gerät ist angefordert und das Gerät 2 ist nicht gestört xCmd2 = FALSE: In allen übrigen Fällen

Die Geräteausgänge werden ( xIgnoreAlarmXFollowerDevice = TRUE und gleichzeitig sind nicht beide Geräte gestört ) abschließend wie folgt festgelegt:

Führungsgerät = Gerät 1

xCmd1 = TRUE: Das Führungsgerät ist angefordert und mindestens ein Gerät ist angefordert und das Gerät 1 ist nicht gestört xCmd1 = FALSE: In allen übrigen Fällen

xCmd2 = TRUE: Das Folgegerät ist angefordert und mindestens ein Gerät ist angefordert. xCmd2 = FALSE: In allen übrigen Fällen

Führungsgerät = Gerät 2

xCmd1 = TRUE: Das Folgegerät ist angefordert und mindestens ein Gerät ist angefordert xCmd1 = FALSE: In allen übrigen Fällen

xCmd2 = TRUE: Das Führungsgerät ist angefordert und mindestens ein Gerät ist angefordert und das Gerät 2 ist nicht gestört xCmd2 = FALSE: In allen übrigen Fällen

CODESYS

InOut:

Scope
Name
Type
Initial

Input

xEnOne

BOOL

Input

xEnTwo

BOOL

Input

xFb1

BOOL

Input

xFb2

BOOL

Input

xAlarm1

BOOL

Input

xAlarm2

BOOL

Input

uiOperatingHours1

UDINT

Input

uiOperatingHours2

UDINT

Input

xUpdate

BOOL

Input Const

xIgnoreAlarmXFollowerDevice

BOOL

FALSE

Input Const

eModeRedundance

eOpModeRedundance

eOpModeRedundance.Auto

Input Const

xConOperatingHours

BOOL

TRUE

Input Const

xEnFb

BOOL

TRUE

Input Const

wTolerance

WORD

100

Output

iCurrentSequence

INT

Output

xCmd1

BOOL

Output

xCmd2

BOOL

Output

xErr

BOOL

Zuletzt aktualisiert