Paraméteres programozás (CNC)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. augusztus 12-én felülvizsgált verziótól ; az ellenőrzéshez 1 szerkesztés szükséges .

A technológiai berendezések numerikus vezérlőrendszereinek (CNC) feldolgozásában a paraméteres programozás ( angol  parametric programozás , makroprogramozás is) a programozás szintjének növelésének megközelítése , amelyet speciális nyelvek létrehozásával vagy a meglévő programozási eszközök bővítésével hajtanak végre.

Történelmileg a CNC szerszámgépek első programozási nyelve, a G-kód eleve egy olyan nyelv, amely a megmunkálószerszám mozgásának, az orsó be- és kikapcsolásának, a vágófolyadék (hűtőfolyadék) ellátásának és egyéb műveleteknek a cikogramjainak leírására szolgál, és nincs benne a megmunkálási folyamat állapotát ellenőrző áramerősség. Például, ha egy megmunkáló szerszám elromlik, vagy nincs hűtőfolyadék, a G-kód által leírt cikogram haszontalanul folytatódik, vagy a berendezés számára veszélyesen végrehajtódik mindaddig, amíg a kezelő be nem avatkozik vagy a G-kód véget nem ér. A G-kód ezen jelentős hátrányának kiküszöbölésére parametrikus programozási nyelveket fejlesztettek ki.

Ezek a nyelvek sok közös vonást mutatnak a hagyományos magas szintű programozási nyelvekkel, mint például a Fortran , C. A fő előny a G-kóddal szemben a feltételes elágazási utasítások/operátorok elérhetősége . Ez a bővítmény lehetővé teszi a megmunkálási folyamat megváltoztatását, ha a folyamatállapot megváltozik, például a feldolgozás leállítását riasztással, ha kopásérzékelő vagy szerszámtörés lép működésbe.

A CNC gépek paraméteres programozásának további előnye, hogy a szerszám koordinátáinak és mozgásainak összetett számításait meg lehet szervezni a matematikailag 3D spline vagy Bezier -felületek formájában meghatározott íves felületek feldolgozásához .

A parametrikus programozás jellemzői

A vezérlőrendszerek gyártói a paraméteres programozást használják a G-kód kiterjesztéseként . Összehasonlítható olyan számítógépes programozási nyelvekkel, mint a Basic, de G-függvények (kódok) szintjén elérhető. A CNC programozástól eltérően a parametrikus programozás az objektum-orientált programozáshoz hasonló lehetőségeket bővít. CNC vezérlőrendszereinek segítségével lehetővé válik a variancia kiszámítása, a logikai operátorok használata, a szerszámbeadásokkal végzett munka, a manipulátor mozgása, a ciklusok szervezésének képessége, a feltétel szerinti kiválasztás, az ugrás, a szubrutinokkal való munka, a CNC felett teljes irányítást gyakorló elemek. hozzáadva - hozzáférés az elektroautomatikus program rendszerváltozóihoz és celláihoz, saját G-kódok és funkciók létrehozásának lehetősége, amelyek a legteljesebben megvalósítják az összes gépelem vezérlését. Lehetőség van olyan CNC-paraméterek elérésére, amelyek információkat tárolnak a szerszámról, a munkatestek helyzetéről, a manipulátorokról, a koordinátarendszerről, a vezérlőprogram G-kód értékeiről és a hibákról. A parametrikus programozás segítségével lehetőség nyílik interaktív vezérlőprogramok fejlesztésére. A számítógépes programozási nyelvekhez hasonlóan a parametrikus programozásban is több változatuk létezik: Egyedi makró, Felhasználói feladat (Okuma), Q Rutin (Sodick), Advanced Programming Language (APL G&L). Például az FMS-3000 makró programozási nyelv a Basic nyelv egy részhalmazából lehetővé teszi további információs ablakok, paraméterkövető rendszer, vezérlési módok és feldolgozási folyamatok naplózását. Az ilyen programok a háttérben futnak és minden egyéb feladattól szabadidejükben, nagy terhelés mellett átmenetileg felfüggeszthetik munkájukat. Az ilyen lehetőségeket kihasználva az egyik leghatékonyabb módja van egy szerszámgép, robot, CNC rendszer vezérlésének.

Programstruktúra

A makró programozási nyelvvel írt program hasonló G-kód szerkezettel rendelkezik a vezérlőrendszerhez. A szerkezeti egység a keret. A keret egy programozási nyelv karaktersorozata. A keretelem egy szó, amely egy címből és egy számértékből vagy egy változóból, egy globális változóból áll.

Programpélda

Példaként egy makróprogramra írhat egy G200 függvény szubrutint az FMS-3000 vezérlőrendszerhez, és ezt a G funkciót szerszámvisszapattanásként és menetek közötti átmenetként használhatja, mint az egyik koordinátáról a másikra mozgó fúró esetében.
A függvény tulajdonságai:
1. Kezdeti feltételek.
2. Ugráljon W-ra (egyszerű visszapattanás esetén) vagy lépjen ki a szerszámcsere-ponthoz, és folytassa.
3. A hosszkorrigáló eszköz kiválasztása.
4. Válassza a G54 G55 G56 G57 G58 G59 lehetőséget.
5. Határozza meg az A alkatrész elfordulási szögét.
6. Válassza az M3 M13 M4 M14 lehetőséget.
7. Válassza ki az S fordulatszámot.
8. Mozgassa a szerszámot XY pozícióba (H eltolással).

a=(_a+paraméter(65)) az A paramétert (forgási szög) egy globális változó (permanensen adott, forgási szög) és egy lokális változó (a függvényből visszaadva, forgásszög) összegeként definiáljuk.
g=getparameter(71) paraméter definiálása (a G54 G55 G56 G57 G58 G59 pont kiválasztása) G változóként (a függvényből visszaadva)
m=getparameter(77) paraméter meghatározása (további függvények) M változóként (a függvényből visszaadva)
s=getparameter(83) definiálja az S paramétert (fordulatok száma) változóként (a függvényből visszaadva)
t=getparameter(84) definiálja a T paramétert (szerszámszámot) változóként (a függvényből visszaadva)
x=getparameter(88) definiálja az X paramétert (koordinátát) változóként (a függvényből visszaadva)
y=getparameter(89) definiálja az Y paramétert (koordinátát) változóként (a függvényből visszaadva)
w=getparameter(87) definiálja a W paramétert (visszapattanási értéket) változóként (a függvényből visszaadva)
tt=getdatacadr(134) tt változó az előző értékét adja vissza (előző szerszámszám)

Az egyéni makróval (Fanuc vezérlőrendszer) ellentétben az FMS-3000 funkcióparamétereit az alprogram elején kell meghatározni.

_t=t a következő függvények munkájának megszervezéséhez az aktuális T eszközt globális változóként definiáljuk
óó=t+100 állítsa be a szerszámhossz eltolásszámát

Az hh=t+100 kifejezés az eltolások táblázata 1-től 200-ig. Az összes eltolást két részre osztottuk, 1...100 eltolástól a szerszám átmérőjénél, 101..201-től a szerszámhossztól. A T1 szerszám átmérő-eltolási száma 1, a hossz-eltolás száma pedig 101. A T2 szerszám 2-es és 102-es stb.

ha paramaktív(71)=0, akkor g=_g ha a G54 G55 G56 G57 G58 G59 nincs megadva a függvényben, akkor a pontválasztás a globális változóból lesz meghatározva

Ha a G200 paraméter nincs megadva a G200 függvényben, akkor a pont alapértelmezés szerint a G201 függvény globális változójából kerül levételre.

G37X0Y0A0 törölje a korábban beállított elforgatási szöget
ha paramaktív(87)=0, akkor 500 lesz ha a W (visszapattanás) paraméter nincs beállítva, menjen a szerszámcsere pontra, lépjen az 500-as címkére
N100G1F2000G17G40G80G91Zw ha a W (visszapattanás) paraméter nincs beállítva, menjen a szerszámcsere pontra, lépjen az 500-as címkére
G32M1 technológiai megálló
G90GgG37X0Y0Aa állítsa be az elforgatási szöget
600-ra megy ha a funkció egyszerű visszapattanásra van beállítva (nincs szerszámcsere), ugorjon a 600-ra.

Visszapattanás a szerszámcsere ponthoz.

N500M9 ki hűtés
G53G1F2000G90G40G49G80Z0 kilépés a szerszámcsere pontba
M5 ki fordul

A szerszámcsere funkciók minden gépen saját jellemzőkkel rendelkeznek a tárban lévő szerszámok számától függően. Például, ha sok eszköz van, néha olyan algoritmusokat használnak, amelyek véletlenszerű sorrendbe rendezik az eszközt, hogy ne kössék az eszközt bizonyos cellákhoz, és csökkentsék a csereidőt. Nagy jelentősége van a szerszámcsere mechanikájának, a különféle típusú manipulátoroknak, csúszkáknak stb.

rem S100 váltsa át a fordulatszám-tartományt kézi szerszámcseréhez
N502G32M0 technológiai megálló
hh1=rendszeradatok lekérése(1000+óó) olvassa le a hosszkorrektor értékét
G1G91G43HhhZ-hh1F2000 korrektoron dolgozik
G90GgG37X0Y0Aa a korrektort veszik, kidolgozzuk a forgásszöget
ha paramaktív(83)=0, akkor 600-ra lép ha az S (fordulatszám) paraméter nincs beállítva, hagyja ki a képkockákat, és lépjen a 600-as címkére
ha paramaktív(77)><0, akkor m= Az M alapértelmezett segédfunkció M3 lesz
N520MmSs definiáljon további M és S függvényeket
Tt válassza ki a szerszám számát
N600 ha paramaktív(88)=0, akkor 9999 ha a pozíció XY koordinátái közül legalább egy nincs beállítva, akkor nem megyünk a pozícióra, átugorjuk a képkockákat és a 9999-re megyünk
ha paramaktív(89)=0, akkor 9999 lesz ha a pozíció XY koordinátái közül legalább egy nincs beállítva, akkor nem megyünk a pozícióra, átugorjuk a képkockákat és a 9999-re megyünk
G1F2000G1X(x+1)Y(y+1) beírjuk a prepozíciót, XY 1mm mentén interferenciaillesztést adunk
F100G9XxYy pontos kilépés XY pozícióba ellenőrzéssel
N9999G1F2000 állítsa be a kontúr kezdeti feltételeit
G32 lelassítjuk a program számítását
M99 funkció vége, visszatérés a programhoz

Lásd még