3 kapcsolós XOR-létra-logika megvalósítása belső bittel
Valósíts meg egy 3 SPST-kapcsolós XOR-fényáramkört a LogixPro vagy az RSLogix 500 használatával, egy belső relébit alkalmazásával. Igazságtáblákat, Boole-egy...
A klasszikus feladat — három SPST-kapcsoló vezérel egy lámpát úgy, hogy bármelyik egyetlen kapcsoló átváltja a kimenetet — hárombemenetes kizáró VAGY-ra (páratlan paritásra) egyszerűsíthető. A kétbemenetes XOR a keresztezett XIC/XIO ágak ismert párosa. Ennek a mintának egy harmadik párhuzamos ággal való kiterjesztése nem általánosítható: páronkénti XOR-ok összegét valósítja meg, amely három zárt kapcsolónál is felkapcsolja a lámpát, miközben a specifikáció szerint csak páratlan paritás esetén kellene világítania. Az elfogadott megoldás egy belső relébit, amely az A⊕B értékét tárolja, majd egy második fokozat kiszámítja az (A⊕B)⊕C értéket.
A három fenntartott bemenet páratlan paritása XOR — nem egy háromágú inkluzív szerkezet.
Igazságtábla (1 = zárt)
| S1 | S2 | S3 | Lámpa | Paritás |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | páros |
| 0 | 0 | 1 | 1 | páratlan |
| 0 | 1 | 0 | 1 | páratlan |
| 0 | 1 | 1 | 0 | páros |
| 1 | 0 | 0 | 1 | páratlan |
| 1 | 0 | 1 | 0 | páros |
| 1 | 1 | 0 | 0 | páros |
| 1 | 1 | 1 | 1 | páratlan |
Kétbemenetes alapváltozat
|--[S1 XIC]-+-[S2 XIO]-+ | | +--( Light )--| |--[S1 XIO]-[S2 XIC]---+ |
Rendelje hozzá az I:1/0 és I:1/1 bemeneteket az O:2/0 kimenethez a LogixPro/RSLogix 500 szimulátorokban (vagy használjon BOOL-címkéket a Logix Designerben). Az S3 hozzáadása előtt ellenőrizze a négy sort.
Miért hibás a harmadik párhuzamos ág?
Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) igaz értéket ad a három zárt kapcsolót tartalmazó sorban, mert minden pár eltér. A hallgatók ezt úgy írják le, hogy a lámpa „bekapcsolva marad”, amikor két kapcsoló zár. Ez páronkénti inkluzív működés, nem XOR.
Az XOR-láncot a B3:0/0 jelen keresztül (vagy egy BOOL-címkével) valósítsa meg — ne kapcsolja párhuzamosan OR-kapukkal a páros szakaszokat.
Belső bitet használó megvalósítás
2. létra — S1 XOR S2 -> B3:0/0 |--[I:1/0 XIC]-+-[I:1/1 XIO]-+ | | +--( B3:0/0 )--| |--[I:1/0 XIO]-[I:1/1 XIC]---+ | 3. létra — S1 XOR S2 -> O:2/0 |--[B3:0/0 XIC]-+-[I:1/2 XIO]-+ | | +--( O:2/0 )--| |--[B3:0/0 XIO]-[I:1/2 XIC]---+ |
Mivel az XOR asszociatív, a kapcsolók sorrendje nem számít. A Logix Designerben ugyanezek az egyenletek így alakulnak: XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; strukturált szöveghez, illetve azonos kontaktusminták BOOL-címkéken. A köztes bitet az egyik létrán írjuk, a következőn pedig ugyanazon szkennelésen belül olvassuk; ez ennél a mintánál szándékos és stabil.
Eljárás LogixPro / RSLogix 500 esetén
- Ellenőrizze a szimulátor diszkrét bemeneti és kimeneti moduljait (alapértelmezett I:1 / O:2 hozzárendelés)
- Ellenőrizze, hogy létezik-e a B3 bináris fájl szabad bitekkel, vagy hozzon létre egy XOR_Mid nevű BOOL-címkét a Logix Designerben
- 2. létra kiépítése, amely az S1 és S2 keresztezett XIC/XIO kontaktusai alapján a B3:0/0 jelet vezérli
- Építse fel a 3. létraszakaszt, amely a B3:0/0 és az S3 alapján ugyanazzal a keresztezett mintával vezérli az O:2/0 kimenetet
- Töltse le a programot, állítsa a processzort RUN állapotba, és szüntessen meg minden kényszerítést az igazságtábla végigjárása előtt
- Ideiglenesen kényszerítse az egyes bemeneti LED-eket és a kimeneti lámpát egyszer-egyszer a bekötés ellenőrzéséhez, majd szüntesse meg a kényszerítéseket
Címzési terv és alternatívák
| Platform | Köztes érték | Megjegyzések |
|---|---|---|
| RSLogix 500 / SLC | B3:0/0 | Bináris fájl bitje |
| Logix Designer | XOR_Mid BOOL | Program- vagy vezérlőhatókör |
| LogixPro | B3:0/0 | Megfelel az RSLogix 500 laborfeladatainak |
Opcionális diagnosztikaként tartsa meg mindkét köztes értéket: B3:0/0 = S1 XOR S2 és B3:0/1 = köztes érték XOR S3, majd a lámpát a B3:0/1-ről vezérelje, így az online monitorok bármelyik szakasznál megszakíthatják a láncot. A szó szintű XOR-utasítások sok bemenetet képesek egyetlen paritás-ellenőrzésbe csomagolni, de három kapcsoló esetén elrejtik a bemutatott mintát. Kerülje az olyan De Morgan-féle kifejtéseket, amelyek egy „ne legyen bármelyik két bemenet igaz” feltételt érintkezők erdejével próbálnak megfogalmazni – a belsőbites kaszkád marad a karbantartható megoldás mind a gyakorlópultokon, mind a termelési üzemmódválasztóknál.
Az átadás jóváhagyása előtt járja végig mind a nyolc paritássort
- Járja végig mind a nyolc igazságtáblázati sort kikényszerített értékek nélkül
- Ellenőrizze, hogy három zárt kapcsoló felkapcsolja a lámpát (páratlan paritás)
- Kapcsolja át mindegyik kapcsolót külön, és bizonyítsa, hogy a kimenet átvált
- Ha a lámpa két bemenet esetén bekapcsolva marad, akkor továbbra is páronkénti OR-logikát használ
- Opcionális: adjon riasztást, ha két reteszelt üzemmódkapcsoló a késleltetés után igaz értéket jelez a valódi gépeken
- Dokumentálja az (A XOR B) XOR C logikai azonosságot a létraszakasz megjegyzéseiben a következő szerkesztő számára
A köztes változókat a funkciójuk alapján nevezze el (XOR_Mid, ModeParity), ne névtelen bitekként, hogy a következő módosítás is könnyen olvasható maradjon. Ugyanezt az elvet alkalmazza a PLC- és PAC-rendszerek szabványosított rendszerparkjain.
A szerzőről
Mark Townsend | Vezető automatizálási mérnök – Allen-Bradley rendszerek
Mark Townsend vezető automatizálási mérnök, aki több mint 18 éve dolgozik Allen-Bradley platformokon, többek között a ControlLogix, a CompactLogix és a régebbi SLC-500 rendszereken. Mindennapi munkája az RSLogix / Studio 5000 logikák és a FactoryTalk View HMI-k üzembe helyezése elöregedett és vegyes összetételű rendszerparkokon.