Prosím o pomoc s následujícím problémem:
dejme tomu že mám nachystán g kód např. pro frézování kruhového otvoru:
G00 X100 Y-60 Z0
M3 S1000
G01 Z-10 F150
G03 X100 Y-60 I0 J10 F150
G00 Z0
M5
Potřebuji změnit počátek frézování z X100 na dejme tomu X60. Jednou z možností je vše otrocky přepsat, trochu lepší možnost je zadat na začátek proměnnou a výsledek by vypadal takto:
#1009=60
G00 X#1009 Y-60 Z0
M3 S1000
G01 Z-10 F150
G03 X#1009 Y-60 I0 J10 F150
G00 Z0
M5
Dotaz zní, zda existuje nějaký postup, který by mě nenutil editovat samotný g-kód ale který by umožnil zadání proměnné již z uživatelského rozhraní (používám Axis). Např. nějaké dialogové okno, do kterého by se proměnná zadala ...
proměnné v EMC2
- robokop
- Site Admin
- Příspěvky: 22949
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
nastuduj si praci se souradnicemi obrobku
kazda masina by mela umet (EMC samozrejme umi) urcit v jakem miste stroje se ma provadet dany program
vetsinou se to pak dela pomoci G54 G55 ...
dokonce se to da urcit v axisu kde se te zepta ktery souradny system chces modifikovat pripadne i offset
to treba napriklad kdyz pouzivas plisky pro naskrabnuti povrchu.
tedy jsi v danen miste dotyku ale mezi obrobkem a nastrojem je mezera na tloustku toho plisku a navic se nekdy uplatnuje i radius nastroje
tedy nejen ze definujes kde se nachazi nula programu ale jeste k tomu to muzes definovat tak ze se treba nula nachazi X mm daleko od aktualni pozice tak aby jsi osetril ten prumer nastroje a naskrabavaci plisek/papir/cokoli
kazda masina by mela umet (EMC samozrejme umi) urcit v jakem miste stroje se ma provadet dany program
vetsinou se to pak dela pomoci G54 G55 ...
dokonce se to da urcit v axisu kde se te zepta ktery souradny system chces modifikovat pripadne i offset
to treba napriklad kdyz pouzivas plisky pro naskrabnuti povrchu.
tedy jsi v danen miste dotyku ale mezi obrobkem a nastrojem je mezera na tloustku toho plisku a navic se nekdy uplatnuje i radius nastroje
tedy nejen ze definujes kde se nachazi nula programu ale jeste k tomu to muzes definovat tak ze se treba nula nachazi X mm daleko od aktualni pozice tak aby jsi osetril ten prumer nastroje a naskrabavaci plisek/papir/cokoli
Vsechna prava na chyby vyhrazena (E)
osobne bych to dal do podprogramy
circle.ngc
a pak jen volal s parametry
da se tam pridat hloubku, radius a t.d.
PS:
http://www.linuxcnc.org/docs/EMC2_User_Manual.pdf stranka 121
circle.ngc
Kód: Vybrat vše
O<circle> sub (subroutine to make a circle)
G00 X#1 Y#2 Z0
M3 S1000
G01 Z-10 F150
G03 X#1 Y#2 I0 J10 F150
G00 Z0
M5
O<circle> endsub
Kód: Vybrat vše
O<circle> call [100] [-60]
O<circle> call [100] [60]
PS:
http://www.linuxcnc.org/docs/EMC2_User_Manual.pdf stranka 121
Děkuji za obě odpovědi, pro můj účel jsou ideální ty podprogramy popsané Lamozem.
Zdravím,
dlouhou dobu jsem používal subrutiny podle výše popsaného postupu. Po čase jsem byl nucen přeinstalovat celé PC, protože se mi díky několikerým výpadkům proudu poškodil HDD, takže jsem si zazálohoval config a soubory ngc a přeinstaloval Linux na poslední verzi. Vše se mi podařilo hned rozchodit až právě na ty subrutiny. Kdykoliv zadám příkaz z mdi např. o<fr> call [100], což má spustit subrutinu fr, která je v otevřeném programu, tak mi to napíše chybovou hlášku "unable to open file <fr>"
Zkontroloval jsem v ini Program prefix a cesta je správná. Zkoušel jsem přidat do ini "subroutine_path" a cestu k souborům ale výsledek ten samý.
Když chci otevřít soubory ngc, tak i přes file-open i přes tlačítko s ikonou složky se otevře správný adresář s uloženými ngc soubory.
Kde může být zakopaný pes?
dlouhou dobu jsem používal subrutiny podle výše popsaného postupu. Po čase jsem byl nucen přeinstalovat celé PC, protože se mi díky několikerým výpadkům proudu poškodil HDD, takže jsem si zazálohoval config a soubory ngc a přeinstaloval Linux na poslední verzi. Vše se mi podařilo hned rozchodit až právě na ty subrutiny. Kdykoliv zadám příkaz z mdi např. o<fr> call [100], což má spustit subrutinu fr, která je v otevřeném programu, tak mi to napíše chybovou hlášku "unable to open file <fr>"
Zkontroloval jsem v ini Program prefix a cesta je správná. Zkoušel jsem přidat do ini "subroutine_path" a cestu k souborům ale výsledek ten samý.
Když chci otevřít soubory ngc, tak i přes file-open i přes tlačítko s ikonou složky se otevře správný adresář s uloženými ngc soubory.
Kde může být zakopaný pes?
Ahoj,
používám to na frézování např. pro panty. Program vypadá např. takto:
G00 Z0
O<fr> sub
T2 M6 G43
(male vreteno start)
M150
(male vreteno dolu)
M154
(vrtani direk)
G00 X[#1+74.6] Y-11 Z-39
G01 Z-44.7 F100
G00 Z-39
G00 X[#1+122.6]
G01 Z-44.7 F100
G00 Z-35
(male vreteno nahoru)
M155
(male vreteno vyp)
M151
(vypnuti a zapnuti korekce)
G49
G00 Z0
T1 M6 G43
G00 X50 Y0 Z0
M3 S1000
M7
G00 X[#1+6] Y-18.2 Z-56
G01 Z-58.5 F50
G02 X[#1+6] Y-18.2 Z-62 I-6 J0 F200
G01 X[#1+13.4] Y-18.2 Z-69.5 F200
G02 X[#1+13.4] Y-18.2 I-13.4 J0 F250
M5
M9
G00 Z0
G00 X50 Y0 Z0
G49
O<fr> endsub
M30
Důležité je to O<fr> sub a O<fr> endsub
Vždycky to šlo v mdi spustit příkazem O<fr> call [vzdalenost frézování od dorazu v mm ... např. 100]
Po reinstalaci Ubuntu to hledá soubor "fr"
používám to na frézování např. pro panty. Program vypadá např. takto:
G00 Z0
O<fr> sub
T2 M6 G43
(male vreteno start)
M150
(male vreteno dolu)
M154
(vrtani direk)
G00 X[#1+74.6] Y-11 Z-39
G01 Z-44.7 F100
G00 Z-39
G00 X[#1+122.6]
G01 Z-44.7 F100
G00 Z-35
(male vreteno nahoru)
M155
(male vreteno vyp)
M151
(vypnuti a zapnuti korekce)
G49
G00 Z0
T1 M6 G43
G00 X50 Y0 Z0
M3 S1000
M7
G00 X[#1+6] Y-18.2 Z-56
G01 Z-58.5 F50
G02 X[#1+6] Y-18.2 Z-62 I-6 J0 F200
G01 X[#1+13.4] Y-18.2 Z-69.5 F200
G02 X[#1+13.4] Y-18.2 I-13.4 J0 F250
M5
M9
G00 Z0
G00 X50 Y0 Z0
G49
O<fr> endsub
M30
Důležité je to O<fr> sub a O<fr> endsub
Vždycky to šlo v mdi spustit příkazem O<fr> call [vzdalenost frézování od dorazu v mm ... např. 100]
Po reinstalaci Ubuntu to hledá soubor "fr"
Tak nakonec jsem našel starší CD s EMC 2.4.3, přeinstaloval jsem to znovu a vypadá, že vše funguje jak má. Nefungovalo to s verzí EMC 2.5.