Miért tűnnek el a Studio 5000 ONS-impulzusai egy OTE-nél
A Studio 5000 ONS- és OTE-utasítások érvényes, egy letapogatásig tartó impulzust hozhatnak létre, amely online módban láthatatlan, és fenntartott eszközparan...
Az ONS-utasítás pontosan a tervezett módon működhet, miközben a mellette lévő kimenet látszólag soha nem aktiválódik. Az ellentmondás a végrehajtás időzítéséből ered: az ONS egy programcikluson keresztül engedi tovább a hamisról igazra váltó átmenetet, míg az OTE minden kiértékeléskor a létrafeltétel alapján írja a célbitet. Sorba kapcsolva őket a célbit egy ciklusig igaz, majd ismét hamis lesz.
Ez az impulzus teljesen megfelelő lehet számláló növelésére, esemény rögzítésére vagy állapotátmenet kérésére. Általában azonban nem megfelelő olyan fizikai indítóhoz, szelepszolenoidhoz vagy kezelői jelzéshez, amelynek egy másik feltétel megszűnéséig aktívnak kell maradnia.

Az online zöld kiemelés könnyen elkerülheti a figyelmet, ha az igaz állapot csak egyetlen feladat-végrehajtásig tart.
Mit garantál valójában az ONS és az OTE?
A Rockwell Automation meghatározása szerint az ONS olyan utasítás, amely egy létrafok hátralévő részét egy cikluson keresztül igazzá teszi, amikor a belépő létrafeltétel hamisról igazra vált. A tárolóbit megjegyzi, hogy az előző logikai állapot már igaz volt-e. Ez a tárolóbit az élérzékelőhöz tartozik, ezért nem szabad gondatlanul megosztani más egyszeri impulzusú utasításokkal.
Az OTE szerződése eltérő. Igazzá teszi a célbitet, amikor a létrafeltétel igaz, és törli, amikor a feltétel hamis. A Rockwell Studio 5000 bitutasítás-referenciája megkülönbözteti az ONS egyciklusos engedélyezését az OTE, az OTL és az OTU tartott, illetve megőrző működésétől.
Az emelkedő él felismerésének ciklusában az ONS engedi a létrafok folytonosságát, és az OTE célbitje igazzá válik. A következő ciklusban a bemenet továbbra is lehet igaz, de az ONS blokkolja a folytonosságot, mert az él már feldolgozásra került. Az OTE ekkor törli a célbitet. Az eredmény egy szabályos, egyciklusos impulzus, nem pedig hibás tekercsműködés.
Miért tűnik el az impulzus?
A Logix-feladatok végrehajtása és a fejlesztői munkaállomás online frissítése két külön folyamat. Egy periodikus feladat a képernyő frissítései között többször is lefuthat. Ezért a kimenet két látható frissítés között be- és kikapcsolhat, miközben a processzor mindkét állapotot helyesen hajtotta végre.
A fizikai kimenet további határfelületet jelent. A vezérlő frissíti a kimeneti adatokat, a kommunikációs modul a saját ütemezése szerint továbbítja az adatokat, a csatlakoztatott eszköznek pedig elektromos és mechanikai válaszideje van. A vezérlő képében egy ciklusig létező impulzus túl rövid lehet ahhoz, hogy megbízhatóan elérje vagy működtesse a terepi eszközt. A pontos viselkedés a feladat periódusától, a modulfrissítéstől, a hálózati felépítéstől, a kimeneti hardvertől és a terheléstől függ, nem pedig valamely általános ezredmásodperces küszöbtől.
Hibakereséshez számláld az éleket egy belső tagben, reteszelj egy ideiglenes diagnosztikai bitet, amely szándékos visszaállítást igényel, vagy kövesd az eseményt a feladathoz megfelelő sebességű trendben. Ne hosszabbíts meg egy üzemi parancsot pusztán azért, hogy láthatóbb legyen, amíg nem mérlegelted, mit működtethet ez a meghosszabbított parancs.
A szükséges állapotviselkedés alapján válaszd ki a mintát
Használj egyciklusos impulzust eseményhez
Az ONS akkor megfelelő, ha a következő utasításnak egyszer kell végrehajtódnia: számláló növelésekor, recept másolásakor, időbélyeg rögzítésekor, üzenet indításakor vagy egy állapotgép következő állapotba léptetésének kérésére. Ilyen kialakításban az egyciklusos tag esemény, nem pedig berendezésparancs.
Nevezd el ennek megfelelően: a Start_Request_Pulse egyértelműbb, mint a Pump_Start. Az állapot- vagy berendezésrutin fogadja a kérést, ellenőrizze az engedélyező feltételeket, állapítsa meg a tulajdonjogot, majd hozza létre a tartott futási parancsot.
Használj öntartó egyenletet tartott, nem megőrző parancshoz
Ha egy indítási eseménynek a leállítási, hiba- vagy reteszelési logika aktiválódásáig fenn kell tartania egy futásbitet, akkor egy öntartó állapotegyenlet egyetlen OTE-t vezérelhet. A parancs azért marad igaz, mert maga az állapotbit részt vesz a fenntartó feltételben, nem azért, mert az ONS továbbra is igaz.
Úgy helyezd el a leállítási, hiba-, üzemmód- és engedélyezési feltételeket, hogy azok prioritása egyértelmű legyen. Kerüld az olyan ágat, amely megkerüli a berendezés leállítására szolgáló reteszelést. Egyetlen kimenettulajdonost könnyebb felülvizsgálni, mint több olyan létrafokot, amely ugyanazt a BOOL-t írja.

Az egyszeri impulzusnak állapotváltozást kell kérnie; a tartott logikának kell birtokolnia a berendezésparancsot.
Az OTL-t és az OTU-t csak egyértelmű visszaállítási felelősséggel használd
Az OTL beállít egy bitet, az OTU pedig törli. Ez tiszta eseményből állapotba minta lehet, de minden beállítási úthoz felülvizsgált visszaállítási útnak kell tartoznia. Határozd meg, mi történik az első ciklusban, üzemmódváltáskor, letöltéskor, a processzor újraindításakor, a visszajelzés elvesztésekor és hibás állapotba lépéskor. Soha ne feltételezd, hogy a kezelői leállítógomb az egyetlen feltétel, amelynek ki kell oldania a reteszelt parancsot.
Összetett berendezéseknél az állapotgép általában egyértelműbb, mint a szétszórt reteszelő és kioldó utasítások. Egy helyen határozza meg az Üresjárat, Indítás, Futás, Leállítás és Hibás állapot viselkedését, valamint az engedélyezett állapotátmeneteket.
Hibaelsőbbséget követő hibakeresési sorrend
Először ellenőrizd, hogy az ONS előtti logika valóban hamisról igazra vált-e. Ha a rutin végrehajtásának kezdetén már igaz, előfordulhat, hogy nincs új él, amelyet továbbíthatna. Vizsgáld meg, hogy a rutin folyamatosan fut-e, feltételesen hívódik-e meg, vagy tiltott feladatban található.
Másodszor ellenőrizd, hogy az ONS tárolóbitje egyedi-e. Ha ugyanazt a tárolótagot két helyen használod, az összekapcsolja egymástól független létrafokok élmemóriáját, és elnyomhatja a várt impulzusokat.
Harmadszor készíts kereszthivatkozást az OTE céljára. Egy másik OTE, OTL, OTU, előállított tag, alias vagy külső írás később ugyanabban a ciklusban vagy egy másik feladatban megváltoztathatja ugyanazt a bitet. A Rockwell OTE-dokumentációja kifejezetten figyelmeztet az operandusok felülírására. A végső parancshoz jelölj ki egyetlen tulajdonost, a többi rutin pedig külön tageken keresztül kérjen módosítást.
Negyedszer válaszd külön a vezérlő állapotát és a fizikai állapotot. A jelátviteli lánc különböző pontjaiként figyeld a parancstaget, a modul kapcsolati állapotát, a kimeneti adatot, a terepi feszültséget, a közbenső relét, az indító bemenetét és az eszköz visszajelzését. A helyes tag nem bizonyítja a terepi tápellátást, az aktív kimeneti LED pedig nem bizonyítja, hogy a működtető elem elmozdult.
Végül a tesztelés után távolítsd el a kényszerítéseket és az ideiglenes diagnosztikai reteszeket. Dokumentáld a tesztelési módszert, hogy a karbantartó személyzet ne örököljön egy csak szervizeléshez használt bitet, amely észrevétlenül megváltoztatja az üzem viselkedését.
Alkalmazási példa: szivattyúk elsőbbségi kiválasztása
Egy vezető/követő rutin egyciklusos impulzust generálhat, amikor az 1. szivattyút választja ki vezető egységként. Ezt az élt nem szabad közvetlenül a fizikai kimenetre kötni. Ehelyett indítási kérést kell küldenie a szivattyú berendezésmoduljának. A modul ezután ellenőrzi az automatikus üzemmódot, az engedélyező feltételeket, a kioldási állapotot, a minimális kikapcsolási időt, a folyamatigényt és a rendelkezésre állást, mielőtt tartott futási parancsot adna ki.
A visszajelzésnek az Indítás állapotból a Futás állapotba kell léptetnie a rendszert, míg az indítási időtúllépés hibakezelést indít. A leállítási igénynek és a hibáknak a folyamat kialakítása szerint szabályozott leállítás vagy azonnali kioldás felé kell terelniük az állapotot. Ez a szétválasztás megakadályozza, hogy egy rövid kiválasztási esemény legyen az egyetlen dolog, amely fenntartja a motorparancsot.
Egy másik példáért arra, hogyan alakítható a logikai szándék karbantartható létrastruktúrává, lásd a háromkapcsolós XOR- és páratlan paritáslogika javított útmutatóját. A vezérlő- és I/O-lehetőségek a PLC- és PAC-rendszerek között is áttekinthetők.
A tervezési próba a tulajdonjog
Szerkesztői vélemény: a visszatérő hiba nem az egyszeri impulzusú utasítás félreértése, hanem az, hogy egy eseménybit berendezésállapotnak álcázza magát. Az élérzékelők arra válaszolnak, hogy „megtörtént ez az átmenet?”. Az állapotlogika arra, hogy „mit kell most csinálnia a gépnek?”. E kérdések szétválasztása könnyebben üzembe helyezhető, biztonságosabban újraindítható és a több tekercset létrehozó módosításokkal szemben sokkal ellenállóbb kódot eredményez.
Gyakran ismételt kérdések
Aktiválja az ONS az utána következő OTE-t?
Igen, abban a ciklusban, amelyben a belépő létrafeltétel hamisról igazra vált. A következő ciklusban az ONS blokkolja a létrafokot, amíg a bemeneti feltétel előbb hamissá, majd ismét igazzá nem válik.
Miért nem látom online bekapcsolni az OTE-t?
Az egyciklusos impulzus elkezdődhet és véget érhet két fejlesztői munkaállomás-frissítés között. Az él bekövetkeztének igazolására használj belső eseményszámlálót, vezérelt diagnosztikai reteszt vagy megfelelően beállított trendet.
Cseréljem le az OTE-t OTL-re?
Csak akkor, ha valóban megőrzött állapotra van szükség, és minden kioldási feltételt kifejezetten megterveztél. Sok berendezésparancsnál az állapotgép vagy az egyetlen OTE-tulajdonossal kialakított öntartó egyenlet könnyebben ellenőrizhető.
Megoszthatja két ONS-utasítás ugyanazt a tárolóbitet?
Nem ajánlott. A tárolóbit az él előzményeit rögzíti. Megosztása összekapcsolja a két utasítást, és az egyik létrafok elnyomhatja a másik várt impulzusát.
Vezérelhet egy egyciklusos OTE fizikai kimenetet?
A vezérlő kiírhatja ezt az állapotot, de az impulzus nem biztos, hogy elég hosszú ideig továbbítódik vagy marad aktív ahhoz, hogy a modul és a terepi eszköz reagálni tudjon. A fizikai parancsokat meghatározott tartottállapot-követelményre kell alapozni.