Lib.Mervis.v2_3.SwitcherBlock
Pomocný blok sloužící pro obecné spínací funkce s alarmovou funkcí.
program test var switcher: lib.mervis.v2_3.SwitcherBlock; end_var switcher(); end_program
Vstupy | Jméno | Datový typ | Povolený rozsah | Retain | Nutno připojit | Význam | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OperatingMode | OperatingModeType | Ano | Ne | Požadovaný režim provozu, režim vypnuto je dominantní - nelze tedy docílit spuštění žádnou jinou funkcí | |||||||||||||||||||
Demand | bool | Ne | Ano | Požadovaný stav v automatickém režimu | |||||||||||||||||||
Feedback | usint | 0..2 | Ne | Ne |
Zpětná hláška o chodu - lze přímo připojit zpětnou hlášku typu bool. Může nabývat následujících hodnot:
|
||||||||||||||||||
FeedbackManual | bool | Ne | Ne | Zpětná hláška indikující manuální zapnutí (např. z panelu rozvaděče) | |||||||||||||||||||
Failure | bool | Ne | Ne | Hlášení o poruše | |||||||||||||||||||
EmergencyShutdown | bool | Ne | Ne | Nouzové vypnutí | |||||||||||||||||||
OperatingHoursReset | bool | Ne | Ne | Nulování provozních hodin | |||||||||||||||||||
RunDown | time | Ne | Ne | Požadovaná doba doběhu (pokud je nulový, funkce je neaktivní) | |||||||||||||||||||
FeedbackTimeout | time | Ne | Ne | Interval čekání na aktivní zpětnou hlášku | |||||||||||||||||||
KickFunctionInterval | time | Ne | Ne | Interval funkce periodického spouštění (pokud je nulový, funkce je neaktivní) | |||||||||||||||||||
KickFunctionDuration | time | Ne | Ne | Doba běhu pro periodické spouštění | |||||||||||||||||||
NotRunAlarmPriority | AlarmPriorityType | Ne | Ne | Třída generovaného alarmu | |||||||||||||||||||
FailureAlarmPriority | AlarmPriorityType | Ne | Ne | Třída generovaného alarmu | |||||||||||||||||||
EmergencyAlarmPriority | AlarmPriorityType | Ne | Ne | Třída generovaného alarmu | |||||||||||||||||||
ControlFlags | uint | 0..15 | Ne | Ne |
Bitové pole definující rozšířené chování bloku
|
||||||||||||||||||
AlarmsStatusIn | Lib.Mervis.v1_0.AlarmsStatus | Ne | Ne | Sdružené rozhraní k alarmové indikaci |
Výstupy | Jméno | Datový typ | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Command | bool | Povel | ||||||||||||||||||||||||||||||
AlarmsStatus | Lib.Mervis.v1_0.AlarmsStatus | Sdružené rozhraní k alarmové indikaci | ||||||||||||||||||||||||||||||
CompositeState | uint |
Bitové pole popisující celkový stav
|
||||||||||||||||||||||||||||||
OperatingHours | time | Provozní hodiny | ||||||||||||||||||||||||||||||
StartCounter | udint | Počet spuštění |
Jméno | Datový typ | Retain | Význam |
---|---|---|---|
AlarmFlag[0] | AlarmPoint | Ano | Indikace alarmu Nechod |
AlarmFlag[1] | AlarmPoint | Ano | Indikace alarmu poruchy příp. EmergencyShutdown |
Blok v sobě integruje často používané funkce při spínání zařízení. Mezi tyto funkce patří následující:
Povel pro sepnutí se generuje na základě požadavku v automatickém režimu nebo pokud je režim provozu nastaven na Zapnuto. V případě aktivního povelu se poté kontroluje stav zpětné hlášky, pokud se nestane aktivní do uplynutí času daného vstupem FeedbackTimeout dojde k vygenerování alarmu Nechod. Pro informaci o externím vzniku poruchy (např. nadproudová ochrana, výstup frekvenčního měniče) slouží vstup Failure, jeho nastavením dojde ke vzniku alarmu Porucha. Nastavení EmergencyShutdown na true vede k okamžíté deaktivaci povelu bez ohledu na zvolený režim provozu. Pokud je povoleno generování alarmu od EmergencyShutdown dojde v případě jeho aktivace (tzn. pri současně aktivním výstupu Command) ke vzniku alarmu Porucha
V automatickém režimu může dojít k aktivace povelu také vypršením intervalu KickFunctionInterval pro periodické spouštění. Povel se aktivuje na pevně danou dobu jedné minuty.
Pokud se stane požadavek na provoz Demand neaktivní, spouští se odpočet doběhu po vypnutí, tzn. že povel Command je aktivní ještě po dobu danou parametrem RunDown, teprve po jeho uplynutí se povel deaktivuje.