Parametrické programování (CNC)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 12. srpna 2021; ověření vyžaduje 1 úpravu .

Parametrické programování ( anglicky  parametric programming , též makroprogramování ) ve zpracování numerických řídicích systémů (CNC) pro technologická zařízení je přístup ke zvýšení úrovně programování, realizovaný tvorbou specializovaných jazyků nebo rozšíření stávajících programovacích nástrojů.

Historicky první programovací jazyk pro CNC obráběcí stroje, G-code , je ze své podstaty jazykem pro popis cyklogramů pohybu obráběcího nástroje, zapínání/vypínání vřetena, dodávání řezné kapaliny (chladící kapaliny) a další akce a nemá prostředky pro aktuální kontrolu stavu obráběcího procesu. Pokud se například obráběcí nástroj porouchá nebo chybí chladicí kapalina, cyklogram popsaný G-kódem bude zbytečně pokračovat nebo bude prováděn nebezpečně pro zařízení, dokud operátor nezasáhne nebo G-kód neskončí. K odstranění této významné nevýhody G-kódu byly vyvinuty parametrické programovací jazyky.

Tyto jazyky mají mnoho společného s konvenčními programovacími jazyky na vysoké úrovni, jako je Fortran , C. Hlavní výhodou oproti G-kódu je dostupnost podmíněných větvených instrukcí/operátorů . Toto rozšíření umožňuje změnit postup obrábění při změně stavu procesu, například zastavit zpracování s alarmem, když se spustí senzor opotřebení nebo zlomení nástroje.

Další výhodou parametrického programování pro CNC stroje je schopnost organizovat složité výpočty souřadnic nástroje a jeho pohybů pro zpracování zakřivených ploch zadaných matematicky ve formě 3D spline nebo Bézierových ploch .

Vlastnosti parametrického programování

Výrobci řídicích systémů používají parametrické programování jako rozšíření G-kódu . Lze jej přirovnat k počítačovým programovacím jazykům, jako je Basic, ale lze k němu přistupovat na úrovni G-funkcí (kódů). Na rozdíl od CNC programování rozšiřuje parametrické programování možnosti srovnatelné s objektově orientovaným programováním. Pomocí CNC řídicích systémů je možné vypočítat rozptyl, používat logické operátory, pracovat s průchody nástroje, pohyby manipulátoru, schopnost organizovat cykly, vybírat podle podmínek, skoků, pracovat s podprogramy, prvky, které vykonávají plnou kontrolu nad CNC, jsou přidáno - přístup k systémovým proměnným a buňkám elektroautomatického programu, možnost vytvářet si vlastní G-kódy a funkce, které nejúplněji realizují ovládání všech součástí stroje. Je možné přistupovat k CNC parametrům, které uchovávají informace o nástroji, poloze pracovních orgánů, manipulátorech, souřadnicovém systému, hodnotách G-kódu řídicího programu a chybách. Pomocí parametrického programování je možné vyvíjet interaktivní řídicí programy. Stejně jako počítačové programovací jazyky existuje v parametrickém programování několik jejich verzí: Custom Macro, User Task (Okuma), Q Routine (Sodick), Advanced Programming Language (APL G&L). Například makro programovací jazyk FMS-3000 z podmnožiny jazyka Basic umožňuje organizovat další informační okna, systém sledování parametrů, režimy řízení a protokolování procesů zpracování. Takové programy běží na pozadí a ve svém volném čase ze všech ostatních úkolů, při velké zátěži mohou dočasně pozastavit práci. Pomocí takových příležitostí máte jeden z nejúčinnějších způsobů ovládání obráběcího stroje, robota, CNC systému.

Struktura programu

Program napsaný pomocí makro programovacího jazyka má podobnou strukturu G-kódu pro řídicí systém. Konstrukční jednotkou je rám. Rámec je posloupnost znaků v programovacím jazyce. Prvek rámce je slovo, které se skládá z adresy a číselné hodnoty nebo proměnné, globální proměnné.

Příklad programu

Jako příklad makroprogramu můžete napsat podprogram funkce G200 pro řídicí systém FMS-3000 a použít tuto funkci G jako odskok nástroje a přechod mezi průchody, jako v případě pohybu vrtáku z jedné souřadnice na druhou.
Vlastnosti funkce:
1. Počáteční podmínky.
2. Odskočte do W (v případě jednoduchého odrazu) nebo opusťte bod výměny nástroje a pokračujte.
3. Výběr nástroje s korektorem délky.
4. Vyberte G54 G55 G56 G57 G58 G59.
5. Určete úhel natočení součásti A
6. Vyberte M3 M13 M4 M14.
7. Zvolte počet otáček S.
8. Přesuňte nástroj do polohy v XY (s offsetem H).

a=(_a+getparameter(65)) parametr A (úhel natočení) definujeme jako součet globální proměnné (dané trvale, úhel natočení) a lokální proměnné (vrácené z funkce, úhel natočení)
g=getparameter(71) definovat parametr (zvolit bod G54 G55 G56 G57 G58 G59) G jako proměnnou (vráceno z funkce)
m=getparameter(77) definovat parametr (přídavné funkce) M jako proměnnou (vráceno z funkce)
s=getparameter(83) definovat parametr (počet otáček) S jako proměnnou (vrácenou z funkce)
t=getparameter(84) definovat parametr (číslo nástroje) T jako proměnnou (vrácenou z funkce)
x=getparameter(88) definovat parametr (souřadnici) X jako proměnnou (vrácenou z funkce)
y=getparameter(89) definovat parametr (souřadnici) Y jako proměnnou (vrácenou z funkce)
w=getparameter(87) definovat parametr (hodnotu odrazu) W jako proměnnou (vrácenou z funkce)
tt=getdatacadr(134) proměnná tt vrací hodnotu předchozího (předchozího čísla nástroje)

Na rozdíl od uživatelského makra (řídicí systém Fanuc) musí být funkční parametry v FMS-3000 definovány na začátku podprogramu.

_t=t pro organizaci práce následných funkcí, aktuální nástroj T, definujeme jako globální proměnnou
hh=t+100 nastavte číslo offsetu pro délku nástroje

Výraz hh=t+100 je tabulka offsetů od 1 do 200. Všechny offsety jsme rozdělili na dvě části od 1..100 offset pro průměr nástroje, od 101..201 pro délku nástroje. Nástroj T1 má číslo offsetu průměru 1 a číslo offsetu délky 101. Nástroj T2 má číslo 2 a číslo 102 atd.

jestliže paramactive(71)=0 pak g=_g pokud není ve funkci zadán G54 G55 G56 G57 G58 G59, výběr bodu bude určen z globální proměnné

Pokud není parametr G200 ve funkci G200 zadán, bude bod standardně převzat z globální proměnné ve funkci G201.

G37X0Y0A0 zrušit dříve nastavený úhel natočení
pokud paramactive(87)=0, pak se dostaneme na 500 pokud není nastaven parametr W (odskok), přejděte do bodu výměny nástroje, přejděte na štítek 500
N100G1F2000G17G40G80G91Zw pokud není nastaven parametr W (odskok), přejděte do bodu výměny nástroje, přejděte na štítek 500
G32M1 technologická zastávka
G90GgG37X0Y0Aa nastavte úhel natočení
mám 600 pokud je funkce nastavena na jednoduché odskočení (bez výměny nástroje), přejděte na značku 600.

Odskočte do bodu výměny nástroje.

N500M9 vypnuto chlazení
G53G1F2000G90G40G49G80Z0 výstup do bodu výměny nástroje
M5 vypnuto zatáčky

Funkce výměny nástrojů na každém stroji mají své vlastní charakteristiky v závislosti na počtu nástrojů v zásobníku. Například, když existuje mnoho nástrojů, někdy se používají algoritmy, které uspořádají nástroj v náhodném pořadí, aby se nástroj nesvázal s určitými buňkami a zkrátil se čas výměny. Velký význam má konstrukce mechaniky výměny nástrojů, různé typy manipulátorů, jezdců atd.

rem S100 přepnout rozsah otáček pro ruční výměnu nástroje
N502G32M0 technologická zastávka
hh1=getsystemdata(1000+hh) odečtěte hodnotu korektoru délky
G1G91G43HhhZ-hh1F2000 pracuje na korektoru
G90GgG37X0Y0Aa korektor se vezme, vypracujeme úhel natočení
pokud paramactive(83)=0, pak se dostaneme na 600 pokud není nastaven parametr S (otáčky), přeskočte snímky a přejděte na štítek 600
if paramactive(77)><0 then m= výchozí pomocná funkce M bude M3
N520MmSs definovat další funkce M a S
Tt vyberte číslo nástroje
N600if paramactive(88)=0, pak přejděte na 9999 pokud není nastavena alespoň jedna ze souřadnic XY pozice, nepřejdeme na pozici, přeskočíme snímky a přejdeme na 9999
pokud paramactive(89)=0, pak se dostaneme na 9999 pokud není nastavena alespoň jedna ze souřadnic XY pozice, nepřejdeme na pozici, přeskočíme snímky a přejdeme na 9999
G1F2000G1X(x+1)Y(y+1) zadáme předložku, dáme interferenční uložení podél XY 1mm
F100G9XxYy přesný výjezd do polohy XY s kontrolou
N9999G1F2000 nastavte počáteční podmínky pro obrys
G32 zpomalíme výpočet programu
M99 konec funkce, návrat do programu

Viz také