Fúrógép szimuláció


Ez egy Step7 project, ami tartalmaz egy félautomata fúrógépet utánzó ProTool projectet és az ehhez tartozó S7 programot.
A project oktatási céllal készült.
A fúrógép vizuális részét a ProTool RT, a gép funkcióit (véghelyzetek, motorvédő és mozgás) pedig egy S7 blokk utánozza (FC100)
ProTool-ban egy Panel PC-re készített képernyőterv ábrázolja a gépet sematikusan.
A gép részei elmozdulnak a végállás kapcsolók látható jelzést adnak, stb.
A szimulátorra programot lehet írni, amivel ugyanúgy mozgatható a fúró sematikus rajza mint egy igazi gép a valóságban.



A gépnek három mozgó része van:
A gép működése:
A fúrófej fent véghelyzetből az alsó véghelyzetig leereszkedik. Lent vár néhány másodpercet, majd felemel a fent véghelyzetig. Ezután kiemel a kiemelő és a kitoló henger előremegy, ott vár néhány másodpercig és vissza jön hátra. Amikor a toló henger hátra ért a véghelyzet kapcsolóig, a kiemelő lemegy, majd a gép megáll. Ezzel vége egy működési ciklusnak.
A mozgásokat egymáshoz kell reteszelni a következőképpen:
A szimuláció a következő funkciókat valósítja meg:
A szimuláció úgy működik, hogy meghatározott kimeneteknek előre meghatározott funkciója van (ezek a szimbólum táblában szerepelnek a projecten belül). A bemeneteket (végállások és nyomógombok) merker bitek helyettesítik, melyeik szintén benne vannak a szimbólum táblában.
Amikor fut a ProTool RT a szimulációval, akkor ha egy saját blokkban egy programmal bekapcsoltatjuk pl. a Q4.0 kimenetet, akkor a ProTool RT ablakában látható fúrógép sémán a fúrófej elkezd felfele mozogni. Amikor a fej eléri a fent végállást, akkor 1 állapotú lesz az M101.1 ami a végállást jelzi. ha a Q4.0 továbbra is bekapcsolva marad, akkor a fej eléri az abszolút véghelyzetét, amit piros színnel jelez a sémán, majd 3 másodperc múlva kikapcsolódik a motorvédő OK jelzés (M101.5). A motorvédőt a ProTool RT ablakban a kapcsolószekrényt szimbolizáló grafikán lehet kézzel (egérrel) visszakapcsolni:

Péld a fej emelés megvalósítására kézi üzemmódban:


A project az alábbi blokkokat tartalmazza:



Az FC100 és DB100 blokkok végzik a szimulációt. Ezeket ne módosítsuk.
Az FC1 tartalmaz egy kész működtető programot, ami kézi és automata módban működteti a szimulátort, hogy kipróbálható legyen.
Merkerek M0.0-M99.7-ig szabadon felhasználhatók, időtagok 1-125-ig.

A szimulátor helyett a programot futtathatjuk valós PLC-n is, ezesetben olyan szamítógép (PC) kell amely össze van kapcsolva a PLC-vel, hogy a ProTool RT kommunikálni tudjon vele.

A program működés közben monitorozható, ahogy azt egy igazi berendezésen is meg lehet tenni:


A projectben van még egy bónusz VAT tábla is :)

A szimuláció elindítása

A szimulációhoz szükség van a Step7 V5.2, ProTool Pro V6.0 SP2-re (ProTool RT-vel együtt). Valamint a PLCSim PLC szimulátorra.
Ha a ProTool korábbi verziójával rendelkezünk, akkor sajnos a szimuláció nem indítható el, mert a korábbi verziók nem tudják betölteni a 6.0 SP2 projecteket.
A szimuláció indítása több lépésből áll.
Először el kell indítani a Simatic managert (Step7-et), majd a PLCsim PLC szimulátor programot.
A PLC szimulátort a Simatic managerből is indíthatjuk, a toolbar megfelelő ikonjával, vagy az Options menü "Simulate Modules" menüpontjával. (lásd az alábbi képen)



Ha a PLC szimulátor rendben elindul, akkor kb. az alábbi ablakot kapjuk:



A CPU ablakon kívül más ablakok is lehetnek benne, vagy lehet üres, hogy csak a CPU ablaka jelenik meg. A többi ablak a változók, kimenetek és bemenetek monitorozására valók, menet közben bármennyi megnyitható belőlük.
A szimulátor STOP módban várja hogy feltöltsük rá az S7 programot.



Menjünk vissza a Simatic manager ablakra és jelöljük ki az OB1, FC1, FC100 és DB100 blokkokat, ahogy a fenti kép is mutatja, ezután nyomjuk meg Download ikont.
Amikor a PLCSim fut, a download és minden egyéb PLC-re irányuló kommunikáció a PLC szimulátor fele van átirányítva.
A Download megnyomásával, ha minden jól ment, át is töltöttük a szimuláci S7-es programját a PLC szimulátorba. Ezután RUN módba kapcsolhatjuk a PLCsim-et:



Ha nem kerül vissza azonnal STOP módba, akkor eddig minden jól ment.



A következő lépés az, hogy el kell indítani a ProTool CS programot.
Legjobb ha ezt is a Simatic managerre bízzuk. A manager ablak bal oldalán menjünk vissza a fa struktúra tetejére (FuroSzimulator objektum).
Az ablak jobb oldalán látható a tartalma. Ott kattintsunk duplán az "OP_Szimulácio" objektumon.
Ennek hatására el kell indulnia a ProTool CS programnak.



Amikor ez megtörtént, jöhet a ProTool RT indítása.
Erre a ProTool CS egyik toolbar ikonja való, amit a fenti kép mutat. Ide kattintva elindul a ProTool RT, méghozzá a fúrószimulátor projecttel együtt.
Amikor ez megtörténik, a képernyőn megjelenik az operátorpanel képernyője egy ablakban, benne a fúrógép sematikus ábrája a végálláskapcsolókkal és a kézi működtetést biztosító nyomógombokkal együtt.
Amikor a ProTool runtime elindult, az felveszi ak apcsolatot a PLCSim programmal. Ha sikerül neki, akkor 2-3 másodpercen belül megjelenik az alábbi üzenet a ProTool ablakán belül:



Ha egészen idáig sikerült eljutni, akkor a fúrógép szimuláció működik.
Mivel a project tartalmazza a fúró vezérlésének egy kész megoldását, erről azonnal meg is lehet győződni a kézi működtetést biztosító nyomógombok segítségével a ProTool RT ablakban.

AZ FC100 és DB100 blokkok biztosítják, hogy a ProTool RT ablakban a fúrógép sémája mozogjon és a végálláskapcsolók megfelelően kapcsoljanak.
Ezért az FC100 hívását benne kell hagyni az OB1-ben, az FC100-at és a DB100-at is fel kell tölteni a PLC szimulátorra. Ezeket a blokkokat ne módosítsuk, csak ha arra szükség van.
Egyik blokk sem védett, ezért mindenki kedve szerint próbálkozhat vele, akár tovább is fejlesztheti a szimulációt.

A szimuláció gyakorló programját (ami gyakorlatilag a szimulált gépet mozgatja) az FC1 programblokk tartalmazza. Az FC1 törlésével és újraírásával lehet gyakorolni a programírás művészetét :)

A project file ZIP-ben letölthető innen

Nem mindig sikerül elérni hogy a Protool runtime kommunikáljon a PLC szimulátorral. Ennek oka az lehet, hogy nincs beállítva megfelelő "PC/PG interfész" vagyis a Protool RT nem tudja hogyan érheti el  a PLC-t (ebben az esetben a szimulátort).
A problémát úgy orvosolhatjuk, hogy a Set PG/PC interface lehetőséggel  beállítunk egy kommunikációs eszközt. Pl. ethernet, vagy PC Adaptert. (A PPI-t kerüljük).
A Set PG/PC interface beállítást a Simatic manager Options menüjéből, a start menü Simatic/S7 pontjával vagy a windows vezérlőpultról érhetjük el.



Ha nincs PC Adapter, akkor az Add/Remove lehetőséggel vegyük fel a listába.
Amennyiben valós PLC-vel dolgozunk, itt lehet beállítani hogy a PC milyen illesztő segítségével van kapcsolatban a PLC-vel. Ha azonban a PLC szimulátor fut, akkor minden kommunikáció a PLC szimulátorhoz fut be.

Sajnos a kommunikácó hiányának a protool RT-ben csak egy felvillanó üzenet a jele, valamint az hogy semmi nem működik. Másik probléma volt, ami szintén jeleztek, hogy az alap protool nem ismeri azt a touch panelt amiben a szimulátor készült.
Mindezek miatt készítettem egy újabb verziót, ami letölthető innen.
Az új verzió a korábbi mellett egy OP270-es és egy PC runtime protool projectet is tartalmaz. A három egyforma és egyforma módon működik. Mindháromban van egy újabb kép, amin visszanézhetők a runtime üzenetek. A felvillanó üzenetek ide bejegyzésre kerülnek, a runtime leállításáig olvashatóak.


Szirty