====== Spínací blok (v2.2) ====== {{:cs:mervis-ide:35-help:switcherblock_v2.0.png}} ==== Celé jméno ==== Lib.Mervis.v2_2.SwitcherBlock ===== Popis ===== Pomocný blok sloužící pro obecné spínací funkce s alarmovou funkcí. ==== Potřebné reference projektu ==== * Lib.Mervis ===== Použití v ST ===== program test var switcher: lib.mervis.v2_2.SwitcherBlock; end_var switcher(); end_program ===== Popis vstupů a výstupů ===== Vstupy Jméno Datový typ Povolený rozsah Retain Nutno připojit Význam OperatingMode [[..:operatingmodetype.htm|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: Hodnota Význam 0 Zpětná hláška neaktivní 1 Zpětná hláška aktivní 2 Zpětná hláška není připojena (výchozí hodnota) 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í) NotRunAlarmPriority [[..:..:alarms_alarmprioritytype.htm|AlarmPriorityType]]   Ne Ne Třída generovaného alarmu FailureAlarmPriority [[..:..:alarms_alarmprioritytype.htm|AlarmPriorityType]]   Ne Ne Třída generovaného alarmu EmergencyAlarmPriority [[..:..:alarms_alarmprioritytype.htm|AlarmPriorityType]]   Ne Ne Třída generovaného alarmu ControlFlags uint 0..15 Ne Ne Bitové pole definující rozšířené chování bloku |Bit |Maska|Význam | |0 |1 |Pokud je bit roven jedné nedochází k vyhodnocování alarmů | |1 |2 |Definuje chování výstupu //Command// při vzniku alarmu v **automatickém** režimu. Pokud je bit roven jedné, dojde k deaktivaci výstupu| |2 |4 |Definuje chování výstupu //Command// při vzniku alarmu v **manuálním** režimu. Pokud je bit roven jedné, dojde k deaktivaci výstupu | |3 |8 |Definuji reakci alarmu na vstup //EmergencyShutdown//. Pokud je roven jedné, dojde k vyhlášení alarmu poruchy. | |4..15|- |Nevyužit | AlarmsStatusIn [[..:alarmsstatus.htm|Lib.Mervis.v1_0.AlarmsStatus]]   Ne Ne Sdružené rozhraní k alarmové indikaci |Výstupy |Jméno |Datový typ |Význam| |Command |bool |Povel | | |AlarmsStatus |[[..:alarmsstatus.htm|Lib.Mervis.v1_0.AlarmsStatus]]|Sdružené rozhraní k alarmové indikaci | | |CompositeState|uint |Bitové pole popisující celkový stav\\ \\ |Bit|Číslo|Význam |\\ |0 |1 |Command |\\ |1 |2 |Feedback\\ Pokud není připojena zpětná hláška, kopíruje stav Command|\\ |2 |4 |ManualMode |\\ |3 |8 |ManualOn |\\ |4 |16 |Demand |\\ |5 |32 |Protočení aktivní |\\ |6 |64 |Doběh aktivní |\\ |7 |128 |Porucha |\\ |8-9|- |OperatingMode || | |OperatingHours|time |Provozní hodiny | | |StartCounter |udint |Počet spuštění | | |Bloky |Jméno |Datový typ|Retain |Význam| |AlarmFlag[0]|[[..:..:alarms_alarmpoint.htm|AlarmPoint]]|Ano |Indikace alarmu **Nechod** | | |AlarmFlag[1]|[[..:..:alarms_alarmpoint.htm|AlarmPoint]]|Ano |Indikace alarmu **poruchy příp. EmergencyShutdown**| | ===== Podrobný popis funkce ===== Blok v sobě integruje často používané funkce při spínání zařízení. Mezi tyto funkce patří následující: * Režim provozu - //Automat, Manuálně vypnuto, Manuálně zapnuto// * Hlídání zpětné hlášky a s tím související * Alarmová funkce * Nechod - tzn. Existuje aktivní požadavek //Command// a není aktivní zpětná hláška //Feedback// * Porucha - Vzniká aktivací vstupu //Failure// příp. //EmergencyShutdown// * Periodické spouštění (např. protočení pro čerpadla) * Doběh po vypnutí * Nouzové/okamžité vypnutí * Počítání provozních hodin 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.