Proč impulzy ONS ve Studiu 5000 mizí u OTE
Instrukce ONS a OTE v prostředí Studio 5000 mohou vytvořit platný impuls trvající jeden sken, který není online viditelný a jako trvalý příkaz zařízení je ne...
Instrukce ONS může fungovat přesně podle návrhu, zatímco výstup vedle ní se zdánlivě nikdy neaktivuje. Tento rozpor vzniká kvůli časování skenu: ONS propustí přechod z false na true po dobu jednoho programového skenu, zatímco OTE zapisuje svůj cíl podle podmínky větve pokaždé, když je větev vyhodnocena. Pokud je zapojíte do série, cíl bude po dobu jednoho skenu true a poté se znovu nastaví na false.
Tento impuls může být zcela platný pro zvýšení čítače, zaznamenání události nebo vyžádání přechodu stavu. Obvykle je však nesprávným příkazem pro fyzický spouštěč, elektromagnetický ventil nebo indikaci pro obsluhu, které musí zůstat aktivní, dokud je neukončí jiná podmínka.

Zelené zvýraznění v online režimu lze přehlédnout, pokud true stav trvá pouze po dobu jednoho spuštění úlohy.
Co ONS a OTE skutečně zajišťují
Společnost Rockwell Automation definuje ONS jako instrukci, která nastaví zbytek žebříčkové větve na true po dobu jednoho skenu, když se vstupní podmínka větve změní z false na true. Její paměťový bit si pamatuje, zda byla předchozí logika již true. Tento paměťový bit patří detektoru hrany a neměl by být bez rozmyslu sdílen s jinou jednorázovou instrukcí.
OTE má jinou funkci. Nastaví svůj cílový bit, když je podmínka větve true, a vymaže jej, když je podmínka větve false. Referenční příručka bitových instrukcí Studio 5000 společnosti Rockwell rozlišuje jednoscannové povolení pomocí ONS od udržovaných a retentivních funkcí OTE, OTL a OTU.
Ve skenu, který detekuje náběžnou hranu, ONS umožní průchod větví a cíl OTE se nastaví na true. V následujícím skenu může být vstup stále true, ale ONS průchod zablokuje, protože hrana již byla zpracována. OTE poté svůj cíl vymaže. Výsledkem je platný impuls trvající jeden sken, nikoli vadná cívka.
Proč impuls není vidět
Spouštění úloh Logix a online obnovování zobrazení na inženýrské pracovní stanici jsou oddělené procesy. Periodická úloha se může spustit mnohokrát mezi dvěma aktualizacemi obrazovky. Výstup se proto může zapnout a vypnout mezi dvěma viditelnými aktualizacemi, přestože procesor oba stavy provedl správně.
Fyzický výstup přidává další hranici. Řídicí jednotka aktualizuje výstupní data, komunikační modul je přenáší podle vlastního plánu a připojené zařízení má svou elektrickou a mechanickou dobu odezvy. Impuls, který v obrazu řídicí jednotky existuje po dobu jednoho skenu, může být příliš krátký na to, aby se spolehlivě dostal k zařízení v poli nebo je aktivoval. Přesné chování závisí na periodě úlohy, aktualizaci modulu, uspořádání sítě, výstupním hardwaru a zátěži — nikoli na univerzální hranici v milisekundách.
Při diagnostice počítejte hrany v interním tagu, nastavte dočasný diagnostický bit vyžadující záměrný reset nebo sledujte událost trendem s periodou odpovídající úloze. Produkční příkaz neprodlužujte jen proto, aby byl viditelný, aniž byste nejprve zvážili, co by takto prodloužený příkaz mohl ovládat.
Volte vzor podle požadovaného chování stavu
Pro událost použijte impuls trvající jeden sken
ONS je vhodná, když se má navazující instrukce provést jednou: zvýšit čítač, zkopírovat recepturu, zachytit časové razítko, zahájit zprávu nebo požádat stavový automat o přechod do dalšího stavu. V takovém návrhu je jednoscannový tag událostí, nikoli příkazem pro zařízení.
Pojmenujte jej odpovídajícím způsobem — Start_Request_Pulse je srozumitelnější než Pump_Start. Stavová rutina nebo rutina zařízení by měla požadavek přijmout, zkontrolovat povolovací podmínky, určit vlastníka a vytvořit udržovaný příkaz ke spuštění.
Pro udržovaný neretentivní příkaz použijte samodržnou rovnici
Pokud má událost spuštění držet bit chodu, dokud nenastane stop, porucha nebo podmínka blokování, může jednu OTE ovládat samodržná stavová rovnice. Příkaz zůstává true, protože se stavový bit podílí na vlastní udržovací podmínce, nikoli proto, že by ONS zůstávala true.
Podmínky zastavení, poruchy, režimu a povolení umístěte tak, aby jejich priorita byla jednoznačná. Nenavrhujte větev, která obchází právě tu blokovací podmínku, jež má zařízení zastavit. Jeden vlastník výstupu se kontroluje snáze než několik větví zapisujících do stejného typu BOOL.

Jednorázová instrukce má vyžádat změnu stavu; udržovaná logika má být vlastníkem příkazu pro zařízení.
OTL a OTU používejte pouze s jednoznačně určeným vlastníkem resetu
OTL nastaví bit a OTU jej vymaže. Může jít o čistý vzor převodu události na stav, ale každá cesta nastavení musí mít zkontrolovanou cestu resetu. Definujte, co se stane při prvním skenu, změně režimu, stažení programu, restartu procesoru, ztrátě zpětné vazby a přechodu do stavu poruchy. Nikdy nepředpokládejte, že tlačítko zastavení obsluhy je jedinou podmínkou, která musí příkaz odblokovat.
U složitých zařízení je stavový automat obvykle přehlednější než rozptýlené instrukce latch a unlatch. Poskytuje jedno místo pro definování chování stavů Idle, Starting, Running, Stopping a Faulted i přechodů, které jsou mezi nimi povoleny.
Postup hledání poruchy od základů
Nejprve potvrďte, že logika před ONS skutečně přechází z false na true. Pokud je při zahájení vykonávání rutiny již true, nemusí vzniknout žádná nová hrana. Ověřte, zda se rutina skenuje nepřetržitě, volá podmíněně nebo je umístěna v úloze, která je zablokovaná.
Za druhé ověřte, že paměťový bit ONS je jedinečný. Opětovné použití jednoho paměťového tagu na dvou místech propojí historii hran vzájemně nesouvisejících větví a může potlačit očekávané impulsy.
Za třetí proveďte křížovou kontrolu cíle OTE. Jiná OTE, OTL, OTU, produkovaný tag, alias nebo externí zápis může stejný bit změnit později během skenu nebo v jiné úloze. Dokumentace OTE společnosti Rockwell výslovně varuje před přepisováním operandů. Určete jediného vlastníka výsledného příkazu a nechte ostatní rutiny vyžadovat změny prostřednictvím samostatných tagů.
Za čtvrté oddělte stav řídicí jednotky od fyzického stavu. Sledujte jako samostatné body v signálovém řetězci tag příkazu, stav připojení modulu, výstupní data, napětí v poli, pomocné relé, vstup spouštěče a zpětnou vazbu zařízení. Správný stav tagu nedokazuje přítomnost napájení v poli a rozsvícená LED výstupu nedokazuje, že se akční člen pohnul.
Nakonec po testování odstraňte síly a dočasné diagnostické západky. Zdokumentujte metodu testování, aby pracovníci údržby nepřevzali servisní bit, který potají mění chování výroby.
Příklad použití: výběr vedoucího čerpadla
Rutina lead/lag může vytvořit jednokratový impuls, když se Čerpadlo 1 stane vybranou vedoucí jednotkou. Tato hrana by neměla být zapojena přímo na fyzický výstup. Měla by vyžádat spuštění z modulu zařízení čerpadla. Modul poté zkontroluje automatický režim, povolovací podmínky, stav vypnutí, minimální dobu vypnutí, požadavek procesu a dostupnost, než nastaví udržovaný příkaz k chodu.
Zpětná vazba by měla převést stav ze Starting do Running, zatímco překročení časového limitu spuštění vytvoří reakci na poruchu. Požadavek na zastavení a poruchy by měly podle návrhu procesu převést stav k řízenému zastavení nebo okamžitému vypnutí. Toto oddělení zabrání tomu, aby prchavá událost výběru byla jedinou podmínkou, která udržuje příkaz motoru.
Další příklad převodu booleovského záměru do udržovatelné žebříčkové struktury najdete v opravené příručce k XOR se třemi spínači a logice liché parity. Možnosti řídicích jednotek a I/O lze také prozkoumat v části systémy PLC a PAC.
Návrhová zkouška spočívá ve vlastnictví
Redakční pohled: opakující se chybou není nepochopení jednorázové instrukce, ale dovolování, aby se bit události vydával za stav zařízení. Detektory hran odpovídají na otázku „došlo k tomuto přechodu?“. Stavová logika odpovídá na otázku „co má stroj právě teď dělat?“. Oddělení těchto otázek vytváří kód, který se snadněji uvádí do provozu, bezpečněji restartuje a je mnohem méně náchylný k úpravám s duplicitními cívkami.
Často kladené otázky
Aktivuje ONS následující OTE?
Ano, ve skenu, ve kterém se vstupní podmínka větve změní z false na true. V následujícím skenu ONS větev zablokuje, dokud se její vstupní podmínka nejprve nevrátí na false a poté znovu nepřejde na true.
Proč nevidím, že se OTE v online režimu zapne?
Jednoscannový impuls může začít a skončit mezi aktualizacemi inženýrské pracovní stanice. K prokázání výskytu hrany použijte interní čítač událostí, řízenou diagnostickou západku nebo vhodně nakonfigurovaný trend.
Mám OTE nahradit OTL?
Pouze pokud je skutečným požadavkem retentivní stav a každá podmínka odblokování je explicitně navržena. U mnoha příkazů zařízení se snadněji kontroluje stavový automat nebo samodržná rovnice s jedním vlastníkem OTE.
Mohou dvě instrukce ONS sdílet stejný paměťový bit?
Neměly by. Paměťový bit zaznamenává historii hran. Jeho sdílení propojí obě instrukce a může způsobit, že jedna větev potlačí očekávaný impuls druhé větve.
Může jednoscannová OTE ovládat fyzický výstup?
Řídicí jednotka tento stav může zapsat, ale impuls se nemusí přenést nebo trvat dostatečně dlouho, aby modul a zařízení v poli stihly zareagovat. Fyzické příkazy by měly vycházet z jednoznačně definovaného požadavku na udržovaný stav.