Three-switch XOR ladder logic implemented as an odd-parity function

Logika žebříčku XOR se třemi přepínači: správný návrh liché parity

Opravený průvodce logikou XOR s třípolohovým přepínačem pro platformy SLC 500 a Logix, který se zabývá lichou paritou, použitím interních bitů, omezeními XOR...

Tři aretační spínače ovládající jeden výstup se často představují jako cvičení v žebříkové logice, skutečná technická otázka je však přesnější: má být výstup zapnutý, když je aktivní lichý počet vstupů, nebo má každé použití spínače jednoduše obrátit předchozí stav výstupu? Jde o dva odlišné požadavky. První představuje kombinační XOR neboli lichou paritu. Druhý vyžaduje paměť stavu a detekci hrany.

U tří aretačních přepínačů je obvyklou specifikací lichá parita: kontrolka svítí při jednom nebo třech sepnutých spínačích a zhasne při nule nebo dvou sepnutých spínačích. Zapsání tohoto požadavku před kreslením kontaktů zabrání tomu, aby zdánlivě správná větev implementovala nesprávnou booleovskou funkci.

Tři vstupy aretačních spínačů uspořádané pro žebříkovou logiku s lichou paritou

Třívstupový XOR je pravdivý, když je počet pravdivých vstupů lichý; nejde o totéž jako zapamatovaný příkaz k přepnutí.

Začněte osmi stavy vstupů

Očekávaná posloupnost výstupu pro vstupy S1, S2 a S3 je 0, 1, 1, 0, 1, 0, 0, 1, když binární stavy vstupů postupují od 000 do 111. Jednoduše řečeno, jeden sepnutý spínač výstup zapne, dva sepnuté spínače jej vypnou a všechny tři sepnuté spínače jej znovu zapnou.

Právě tento poslední stav bývá v mnoha vysvětleních problematický. Třívstupový XOR je funkcí liché parity, takže 111 musí vést k pravdivému výsledku. Implementace, která rozpoznává pouze „právě jeden aktivní vstup“, není XOR; záměrně vylučuje stav se třemi aktivními vstupy. Naopak spojení tří dvojicových výrazů XOR pomocí OR vytváří jinou funkci: ta je pravdivá vždy, když nejsou všechny vstupy stejné, což zahrnuje i stavy se dvěma aktivními vstupy, a proto také neodpovídá požadované pravdivostní tabulce.

Nejbezpečnější postup při uvádění do provozu je považovat pravdivostní tabulku za akceptační test. Program neposuzujte pouze podle dvou nebo tří pohodlných poloh spínačů.

Kaskádové zapojení dvou vstupních stupňů XOR

Operace XOR je asociativní, takže lze použít výraz (S1 XOR S2) XOR S3. V programu SLC 500 může jeden interní bit uchovávat výsledek prvního stupně. Druhá větev pak tento bit zkombinuje s S3. Každá větev tak má malý, snadno kontrolovatelný účel a online stav se snáze diagnostikuje.

Kontaktní implementace každého dvouvstupového stupně XOR používá dvě paralelní cesty: první kontroluje, zda je vstup A pravdivý a vstup B nepravdivý; druhá kontroluje, zda je A nepravdivý a B pravdivý. Obě cesty se spojí u jedné cívky. Stejný vzor zopakujte s mezilehlým bitem a třetím vstupem.

Dvoustupňová žebříková implementace třívstupového XOR s využitím interního bitu

Mezilehlý bit zpřístupňuje výsledek S1 XOR S2 předtím, než jej druhý stupeň zkombinuje s S3.

Příklad plánu adres

V typickém školicím projektu RSLogix 500 mohou být S1, S2 a S3 přiřazeny k I:1/0, I:1/1 a I:1/2. První větev zapisuje mezilehlý výsledek do B3:0/0 a druhá zapisuje příkaz pro kontrolku do O:2/0. Tyto adresy jsou pouze příklady; skutečné mapování musí vycházet z instalované konfigurace I/O.

Mezilehlá adresa by měla mít jediného zapisovatele. Opětovné použití B3:0/0 jinde nebo umístění další výstupní instrukce pro O:2/0 později v programu může během stejného cyklu přepsat správný výsledek. Než začnete hledat chybu ve vzoru XOR, zkontrolujte křížové odkazy na obě adresy.

Bitový XOR na úrovni slov není automaticky booleovskou zkratkou

Instrukční sada SLC 500 obsahuje instrukci XOR pro bitový exkluzivní součet mezi slovními operandy. Dokument Referenční příručka instrukční sady SLC 500 společnosti Rockwell Automation popisuje podporované operandy a cílová umístění. Tato instrukce je užitečná pro masky a sbalená stavová slova, neodstraňuje však potřebu určit, které vstupní bity se účastní jediného rozhodnutí o paritě.

U tří diskrétních vstupů bývá kaskádová kontaktní logika pro pracovníky údržby obvykle srozumitelnější. Implementaci na úrovni slov lze odůvodnit v případě, že program již sbaluje mnoho stavových bitů a explicitně je redukuje na výsledek parity, avšak tento redukční krok musí být stále viditelný a otestovaný.

Nezaměňujte paritu s funkcí přepínání

Aretační třícestné zapojení osvětlení změní výstup pokaždé, když některý fyzický spínač změní polohu. V čistě booleovském smyslu lze výstup v libovolném okamžiku vyjádřit paritou tří poloh spínačů. Ukládání stavu není nutné, protože samotné polohy spínačů tento stav uchovávají.

Momentová tlačítka se chovají jinak. Pokud má stisknutí kteréhokoli ze tří tlačítek přepnout kontrolku, musí PLC detekovat náběžnou hranu a jednou pro každý platný stisk invertovat bit s uchovávaným příkazem. Přímé použití XOR na tři momentové vstupy pouze popisuje, která tlačítka jsou během daného cyklu stisknutá; nepamatuje si předchozí stav kontrolky.

Skutečná tlačítka mohou také kmitat. Konstrukce přepínání proto vyžaduje úpravu vstupního signálu, jednorázový impulz, určení vlastníka uchovávaného bitu a definovaný stav při spuštění. Související vzory zpracování cyklu a dat ukazuje příručka použití hodnoty jednoho časovače SLC k nastavení jiného časovače, která vysvětluje, proč má být přesun dat a pořadí větví explicitně určeno.

Uvádějte logiku do provozu jako funkci, ne jako obrázek

Nejprve samostatně otestujte mezilehlý bit pro dva vstupy. Pro 01 a 10 má být pravdivý, pro 00 a 11 nepravdivý. Poté otestujte konečný výstup ve všech osmi stavech tří vstupů. Zaznamenejte skutečný stav a nespoléhejte pouze na zelené zvýraznění větve, protože vynucené hodnoty, duplicitní cívky a obnovování online zobrazení mohou zakrýt skutečné vlastnictví výstupu.

Dále ověřte chování při zapnutí napájení, přechody mezi režimy programu, náhradu vstupů a reakci na porušený nebo odpojený obvod v terénu. Logika XOR dokáže odhalit neshodu, sama o sobě však není bezpečnostní diagnostikou. Pokud jsou spínače součástí ochranné funkce, návrh vyžaduje bezpečnostní vstupy, sledování neshody, detekci poruch a posouzení rizik odpovídající danému stroji.

Možnosti hardwaru a migrace pro starší i současné řídicí systémy lze prohlédnout ve kolekci PLC a PAC systémů, před úpravou tohoto příkladu je však nutné potvrdit řadu procesoru, napětí I/O, adresování a vlastnictví programu.

Proč se verze s interním bitem snadněji udržuje

Jedna rozšířená větev může přímo vyjádřit třívstupovou lichou paritu, vyžaduje však čtyři paralelní kombinace a při přidávání dalších podmínek se hůře kontroluje. Kaskádové zapojení dvouvstupových stupňů činí booleovský záměr zřejmým, poskytuje diagnostický kontrolní bod a snadno se mapuje mezi adresami RSLogix 500 a pojmenovanými tagy BOOL v Logix Designer.

Redakční pohled: nejlepší řešení v žebříkové logice je takové, jehož pravdivostní tabulku, chování paměti a reakci na poruchy lze vysvětlit při předání údržby. Interní bit není plýtváním pamětí, pokud zabrání tomu, aby si další technik spletl lichou paritu, logiku „právě jeden“ a zapamatované přepínání jako stejnou funkci.

Často kladené otázky

Má být výstup zapnutý, když jsou sepnuté všechny tři spínače?

Ano, pokud je požadavkem třívstupový XOR neboli lichá parita. Tři pravdivé vstupy představují lichý počet, takže výstup je pravdivý. Pokud má být stav 111 nepravdivý, požadovanou funkcí je „právě jeden“, nikoli XOR.

Může instrukce XOR v SLC 500 nahradit dvě žebříkové větve?

Provádí bitový XOR nad slovními operandy. Může být součástí řešení se sbalenými bity, ale tři jednotlivé vstupní bity je stále nutné uspořádat a redukovat tak, aby cílový bit představoval požadovanou paritu. U malého diskrétního obvodu jsou obvykle srozumitelnější dvě kontaktní větve.

Způsobí mezilehlý bit zpoždění o jeden cyklus?

Ne, pokud se větev zapisující mezilehlý bit provede před větví, která jej čte, ve stejné rutině a úloze. Druhá větev uvidí hodnotu zapsanou dříve v daném cyklu. Pořadí programu musí zůstat zdokumentované a řízené.

Co se změní, pokud jsou zařízení v terénu momentová tlačítka?

Přepínání pomocí momentových tlačítek vyžaduje detekci hrany a uložený stav výstupu. Samotný kombinační XOR si nedokáže zapamatovat, zda byla kontrolka předtím zapnutá, nebo vypnutá.

Je XOR vhodný pro bezpečnostní hlasovací obvod?

Sám o sobě ne. Běžný XOR pouze vyhodnocuje booleovské stavy. Bezpečnostní aplikace vyžadují ověřenou bezpečnostní architekturu, diagnostické pokrytí, časování neshody, vhodný hardware a ověření podle příslušného posouzení rizik.

Autor: redakční tým PLC ProTech

Logika žebříčku XOR se třemi přepínači: správný návrh liché parity

Opravený průvodce logikou XOR s třípolohovým přepínačem pro platformy SLC 500 a Logix, který se zabývá lichou paritou, použitím interních bitů, omezeními XOR na úrovni slov, chováním momentových tl...

Tři aretační spínače ovládající jeden výstup se často představují jako cvičení v žebříkové logice, skutečná technická otázka je však přesnější: má být výstup zapnutý, když je aktivní lichý počet vstupů, nebo má každé použití spínače jednoduše obrátit předchozí stav výstupu? Jde o dva odlišné požadavky. První představuje kombinační XOR neboli lichou paritu. Druhý vyžaduje paměť stavu a detekci hrany.

U tří aretačních přepínačů je obvyklou specifikací lichá parita: kontrolka svítí při jednom nebo třech sepnutých spínačích a zhasne při nule nebo dvou sepnutých spínačích. Zapsání tohoto požadavku před kreslením kontaktů zabrání tomu, aby zdánlivě správná větev implementovala nesprávnou booleovskou funkci.

Tři vstupy aretačních spínačů uspořádané pro žebříkovou logiku s lichou paritou

Třívstupový XOR je pravdivý, když je počet pravdivých vstupů lichý; nejde o totéž jako zapamatovaný příkaz k přepnutí.

Začněte osmi stavy vstupů

Očekávaná posloupnost výstupu pro vstupy S1, S2 a S3 je 0, 1, 1, 0, 1, 0, 0, 1, když binární stavy vstupů postupují od 000 do 111. Jednoduše řečeno, jeden sepnutý spínač výstup zapne, dva sepnuté spínače jej vypnou a všechny tři sepnuté spínače jej znovu zapnou.

Právě tento poslední stav bývá v mnoha vysvětleních problematický. Třívstupový XOR je funkcí liché parity, takže 111 musí vést k pravdivému výsledku. Implementace, která rozpoznává pouze „právě jeden aktivní vstup“, není XOR; záměrně vylučuje stav se třemi aktivními vstupy. Naopak spojení tří dvojicových výrazů XOR pomocí OR vytváří jinou funkci: ta je pravdivá vždy, když nejsou všechny vstupy stejné, což zahrnuje i stavy se dvěma aktivními vstupy, a proto také neodpovídá požadované pravdivostní tabulce.

Nejbezpečnější postup při uvádění do provozu je považovat pravdivostní tabulku za akceptační test. Program neposuzujte pouze podle dvou nebo tří pohodlných poloh spínačů.

Kaskádové zapojení dvou vstupních stupňů XOR

Operace XOR je asociativní, takže lze použít výraz (S1 XOR S2) XOR S3. V programu SLC 500 může jeden interní bit uchovávat výsledek prvního stupně. Druhá větev pak tento bit zkombinuje s S3. Každá větev tak má malý, snadno kontrolovatelný účel a online stav se snáze diagnostikuje.

Kontaktní implementace každého dvouvstupového stupně XOR používá dvě paralelní cesty: první kontroluje, zda je vstup A pravdivý a vstup B nepravdivý; druhá kontroluje, zda je A nepravdivý a B pravdivý. Obě cesty se spojí u jedné cívky. Stejný vzor zopakujte s mezilehlým bitem a třetím vstupem.

Dvoustupňová žebříková implementace třívstupového XOR s využitím interního bitu

Mezilehlý bit zpřístupňuje výsledek S1 XOR S2 předtím, než jej druhý stupeň zkombinuje s S3.

Příklad plánu adres

V typickém školicím projektu RSLogix 500 mohou být S1, S2 a S3 přiřazeny k I:1/0, I:1/1 a I:1/2. První větev zapisuje mezilehlý výsledek do B3:0/0 a druhá zapisuje příkaz pro kontrolku do O:2/0. Tyto adresy jsou pouze příklady; skutečné mapování musí vycházet z instalované konfigurace I/O.

Mezilehlá adresa by měla mít jediného zapisovatele. Opětovné použití B3:0/0 jinde nebo umístění další výstupní instrukce pro O:2/0 později v programu může během stejného cyklu přepsat správný výsledek. Než začnete hledat chybu ve vzoru XOR, zkontrolujte křížové odkazy na obě adresy.

Bitový XOR na úrovni slov není automaticky booleovskou zkratkou

Instrukční sada SLC 500 obsahuje instrukci XOR pro bitový exkluzivní součet mezi slovními operandy. Dokument Referenční příručka instrukční sady SLC 500 společnosti Rockwell Automation popisuje podporované operandy a cílová umístění. Tato instrukce je užitečná pro masky a sbalená stavová slova, neodstraňuje však potřebu určit, které vstupní bity se účastní jediného rozhodnutí o paritě.

U tří diskrétních vstupů bývá kaskádová kontaktní logika pro pracovníky údržby obvykle srozumitelnější. Implementaci na úrovni slov lze odůvodnit v případě, že program již sbaluje mnoho stavových bitů a explicitně je redukuje na výsledek parity, avšak tento redukční krok musí být stále viditelný a otestovaný.

Nezaměňujte paritu s funkcí přepínání

Aretační třícestné zapojení osvětlení změní výstup pokaždé, když některý fyzický spínač změní polohu. V čistě booleovském smyslu lze výstup v libovolném okamžiku vyjádřit paritou tří poloh spínačů. Ukládání stavu není nutné, protože samotné polohy spínačů tento stav uchovávají.

Momentová tlačítka se chovají jinak. Pokud má stisknutí kteréhokoli ze tří tlačítek přepnout kontrolku, musí PLC detekovat náběžnou hranu a jednou pro každý platný stisk invertovat bit s uchovávaným příkazem. Přímé použití XOR na tři momentové vstupy pouze popisuje, která tlačítka jsou během daného cyklu stisknutá; nepamatuje si předchozí stav kontrolky.

Skutečná tlačítka mohou také kmitat. Konstrukce přepínání proto vyžaduje úpravu vstupního signálu, jednorázový impulz, určení vlastníka uchovávaného bitu a definovaný stav při spuštění. Související vzory zpracování cyklu a dat ukazuje příručka použití hodnoty jednoho časovače SLC k nastavení jiného časovače, která vysvětluje, proč má být přesun dat a pořadí větví explicitně určeno.

Uvádějte logiku do provozu jako funkci, ne jako obrázek

Nejprve samostatně otestujte mezilehlý bit pro dva vstupy. Pro 01 a 10 má být pravdivý, pro 00 a 11 nepravdivý. Poté otestujte konečný výstup ve všech osmi stavech tří vstupů. Zaznamenejte skutečný stav a nespoléhejte pouze na zelené zvýraznění větve, protože vynucené hodnoty, duplicitní cívky a obnovování online zobrazení mohou zakrýt skutečné vlastnictví výstupu.

Dále ověřte chování při zapnutí napájení, přechody mezi režimy programu, náhradu vstupů a reakci na porušený nebo odpojený obvod v terénu. Logika XOR dokáže odhalit neshodu, sama o sobě však není bezpečnostní diagnostikou. Pokud jsou spínače součástí ochranné funkce, návrh vyžaduje bezpečnostní vstupy, sledování neshody, detekci poruch a posouzení rizik odpovídající danému stroji.

Možnosti hardwaru a migrace pro starší i současné řídicí systémy lze prohlédnout ve kolekci PLC a PAC systémů, před úpravou tohoto příkladu je však nutné potvrdit řadu procesoru, napětí I/O, adresování a vlastnictví programu.

Proč se verze s interním bitem snadněji udržuje

Jedna rozšířená větev může přímo vyjádřit třívstupovou lichou paritu, vyžaduje však čtyři paralelní kombinace a při přidávání dalších podmínek se hůře kontroluje. Kaskádové zapojení dvouvstupových stupňů činí booleovský záměr zřejmým, poskytuje diagnostický kontrolní bod a snadno se mapuje mezi adresami RSLogix 500 a pojmenovanými tagy BOOL v Logix Designer.

Redakční pohled: nejlepší řešení v žebříkové logice je takové, jehož pravdivostní tabulku, chování paměti a reakci na poruchy lze vysvětlit při předání údržby. Interní bit není plýtváním pamětí, pokud zabrání tomu, aby si další technik spletl lichou paritu, logiku „právě jeden“ a zapamatované přepínání jako stejnou funkci.

Často kladené otázky

Má být výstup zapnutý, když jsou sepnuté všechny tři spínače?

Ano, pokud je požadavkem třívstupový XOR neboli lichá parita. Tři pravdivé vstupy představují lichý počet, takže výstup je pravdivý. Pokud má být stav 111 nepravdivý, požadovanou funkcí je „právě jeden“, nikoli XOR.

Může instrukce XOR v SLC 500 nahradit dvě žebříkové větve?

Provádí bitový XOR nad slovními operandy. Může být součástí řešení se sbalenými bity, ale tři jednotlivé vstupní bity je stále nutné uspořádat a redukovat tak, aby cílový bit představoval požadovanou paritu. U malého diskrétního obvodu jsou obvykle srozumitelnější dvě kontaktní větve.

Způsobí mezilehlý bit zpoždění o jeden cyklus?

Ne, pokud se větev zapisující mezilehlý bit provede před větví, která jej čte, ve stejné rutině a úloze. Druhá větev uvidí hodnotu zapsanou dříve v daném cyklu. Pořadí programu musí zůstat zdokumentované a řízené.

Co se změní, pokud jsou zařízení v terénu momentová tlačítka?

Přepínání pomocí momentových tlačítek vyžaduje detekci hrany a uložený stav výstupu. Samotný kombinační XOR si nedokáže zapamatovat, zda byla kontrolka předtím zapnutá, nebo vypnutá.

Je XOR vhodný pro bezpečnostní hlasovací obvod?

Sám o sobě ne. Běžný XOR pouze vyhodnocuje booleovské stavy. Bezpečnostní aplikace vyžadují ověřenou bezpečnostní architekturu, diagnostické pokrytí, časování neshody, vhodný hardware a ověření podle příslušného posouzení rizik.

Autor: redakční tým PLC ProTech

Napište komentář

Upozorňujeme, že komentáře musí být před zveřejněním schváleny.