Paraméteres programozás

Minden, amit a vezérlésekről tudni lehet...
Avatar
go98admin
Adminisztrátor
Hozzászólások: 376
Csatlakozott: 2016.08.18. 23:17

Paraméteres programozás

HozzászólásSzerző: go98admin » 2016.08.22. 00:18

A paraméteres programozás néhány kevésbé ismert utasítása
Következzen a teljesség igénye nélkül néhány utasítás és részletes magyarázata.

FN 20: WAIT FOR várakozás egy esemény bekövetkezésére.
Az NC program feldolgozása az utasításhoz érve várakozik a megadott eseményre.
Milyen eseményeket lehet megadni? Elsősorban valamilyen PLC operandus értékét vizsgálhatjuk, úgymint:
operandusjelentéscímtartomány
Mmarker[0..9999]
Ibemenet[0..31, 128..152, *]
Okimenet[0..30, *]
Cszámláló[0..48, 49..95, 96..143]
Tidőzítő[0..48, 49..95, 96..999]
Bbyte[0..9999]
Wszó[0..9998]
Dduplaszó[0..9996]
*: a gép kiépítésétől függően további értékek is megadhatóak, érdeklődjön a gép gyártójánál.
Példa: a gépen nagynyomású hűtőrendszer van, de nagy áteresztésű szerszámot folyamatosan használva előfordul, hogy a gépből nem tud elég gyorsan visszafolyni a hűtővíz a gyüjtőtartályba, ezért megmunkálás közben elfogy a hűtővíz és eltörik a szerszám. A tartályra felszereltünk egy szintjelzőt, ami az I18-as PLC bemenetre ad jelet, ha a vízszint elég magas. Ha ez az érzékelő jelez, akkor elegendő mennyiségű víz van a tartályban a következő művelet elvégzéséhez. A művelet megkezdése előtt tehát az I18 bemenetnek az 1 értéket kell felvennie (erre az eseményre várunk), ezért programozzuk ezt:
FN 20: WAIT FOR I18==1várakozás az I18 bemenet magas (1) szintjére
Az alábbi feltételeket adhatjuk meg az eseményben; == egyenlő, != vagy <> nem egyenlő, < kisebb, > nagyobb, <= kisebb vagy egyenlő és >= nagyobb vagy egyenlő.

Van még egy formája a várakozásnak, ami nem egy PLC eseményre vagy külső jelre vár, hanem arra, hogy az NC program feldolgozása várakozzon addig, amíg a gép végrehajtja a feldolgozott mondatokat.
FN 20: WAIT FOR SYNCvárakozás az eddig feldolgozott NC mondatok végrehajtására
Mikor kell alkalmaznunk ezt az utasítást és miért? A vezérlés az NC programot nem a végrehajtásuk pillanatában dolgozza fel, hanem megpróbálja a lehető leggyorsabban értelmezni azt, lebontja a szükséges elmozdulásokra és ezeket az elemi elmozdulásokat tárolja egy közbenső pufferben. Ebből a pufferből hajtja végre aztán folyamatosan a megmunkálást. Látható, hogy az NC mondatok végrehajtása késik a feldolgozásukhoz képest. Ez általában nem okoz semmilyen problémát, hiszen ritkán kell a gép pillanatnyi állapotát figyelembe venni a mondat feldolgozásakor. Van azonban néhány ilyen alakalom, amikor a szinkronizálás elengedhetetlen. Nevezetesen a tapintó és mérő funkciók ilyenek, hiszen a tapintás pillanatában kell a gép aktuális pozícióit kiolvasni és utána ezekkel a pozícióinformációkkal számolni a későbbiekben. Szerencsére ezek a ciklusok tartalmazzák a szinkronizációt, ezért ezzel nem kell külön foglalkoznunk.
Amikor azonban a gép egy aktuális állapotát akatjuk vizsgálni az NC programban, akkor szükségünk van erre az utasításra. Például az X tegely aktuális pozícióját akarjuk kiolvasni az FN 18: SYSREAD utasítással, akkor előtte használnunk kell a szinkronizációs parancsot!
FN 20: WAIT FOR SYNCvárakozás az eddig feldolgozott NC mondatok végrehajtására
FN 18: SYSREAD Q1 = ID270 NR1 IDX1X tengely pillanatnyi pozíciója a munkadarab koordinátarendszerében

FN 38: SEND értékek formátumozott beírása a LOGBOOK-ba.
A funkció csak az 555343 kulcsszó megadása után érhető el (Kép, Kép, Kép, Kép, Kép, Kép, Kép, Kép). Egyszerre legfeljebb hét paraméter értékét lehet formátumozva beírni a LOGBOOK állományba, ezáltal programfutás közben naplózhatjuk a megmunkálás lényeges paramétereit (például mérési eredményeket).
FN 38: SEND /Kozeppont X: %f, Y: %f /+Q151 /+Q152mérési eredmény beírása a LOGBOOK-ba
A LOGBOOK állományba az alábbi bejegyzés kerül a program végrehajtása során:
INFO:MAIN NCEVENT< dátum és idő >
KozeppontX:<+Q151 értéke>, Y:<+Q152 értéke>
A programot teszt üzemmódban végrehajtva a bejegyzés így alakul:
INFO:MAIN NCTEVENT< dátum és idő >
KozeppontX:<+Q151 értéke>, Y:<+Q152 értéke>