Dvě rychlosti G1 v jednom souboru
Odborníci na LinuxCNC, mám drobný problém.
Dá se nějak jednoduše udělat, aby jela mašina v ose X jednou rychlostí G1 a v ose Y jinou rychlostí G1? Tak, abych nemusel na každej řádek psát:
.
.
.
G1X100.0F250
G1Y50.0F100
G1X0.0F250
G1Y51.0F100
G1X100.0F250
.
.
.
Prostě zadat do souboru dva parametry G1 a volat je jménem?
Dá se nějak jednoduše udělat, aby jela mašina v ose X jednou rychlostí G1 a v ose Y jinou rychlostí G1? Tak, abych nemusel na každej řádek psát:
.
.
.
G1X100.0F250
G1Y50.0F100
G1X0.0F250
G1Y51.0F100
G1X100.0F250
.
.
.
Prostě zadat do souboru dva parametry G1 a volat je jménem?
Tohohle jde docílit i tak, že si nastavíš pro osu Y maximální rychlost 100mm/min a v programu F250.
V X a Z ti to bude jezdit 250mm/min a v ose Y 100mm/min. Bude se ti to tak chovat i v kruhove interpolaci.
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat. Pokud to tak chceš mít jen dočasně, tak tu maximální rychlost pro jednotlivou osu lze měnit i jen HAL parametrem. Najdeš ho ve skupině "ini".
V X a Z ti to bude jezdit 250mm/min a v ose Y 100mm/min. Bude se ti to tak chovat i v kruhove interpolaci.
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat. Pokud to tak chceš mít jen dočasně, tak tu maximální rychlost pro jednotlivou osu lze měnit i jen HAL parametrem. Najdeš ho ve skupině "ini".
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Kód: Vybrat vše
( obecny g-code )
#11=100
#22=200
G1X100.0 F#11
G1Y50.0 F#22
G1X0.0 F#11
G1Y51.0 F#22
G1X100.0 F#11
( LinuxCNC g-code )
#<FEED_X>=100
#<FEED_Y>=200
G1X100.0 F#<FEED_X>
G1Y50.0 F#<FEED_Y>
G1X0.0 F#<FEED_X>
G1Y51.0 F#<FEED_Y>
G1X100.0 F#<FEED_X>
+1
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Tomíku, to je v bleděmodrém totéž, co tam nechci. Myslel jsem něco v tomto smyslu:Thomeeque píše: ↑31. 12. 2024, 4:12Kód: Vybrat vše
( obecny g-code ) #11=100 #22=200 G1X100.0 F#11 G1Y50.0 F#22 G1X0.0 F#11 G1Y51.0 F#22 G1X100.0 F#11 ( LinuxCNC g-code ) #<FEED_X>=100 #<FEED_Y>=200 G1X100.0 F#<FEED_X> G1Y50.0 F#<FEED_Y> G1X0.0 F#<FEED_X> G1Y51.0 F#<FEED_Y> G1X100.0 F#<FEED_X>
+1
nadefinovat:
H1=G1=100
H2=G1=250
a pak místo parametru G1 na začátku zadávat H1 nebo H2.
To by šlo, dobrej nápad, musel bych to omezení nastavit v konfiguračním souboru, ale drobnej problém je, že bych to pro různý materiály musel měnit. Hliník jinak, ocel jinak. A to se mi nechce, to je složitostí na úrovni toho co dělám teď (pokud G-kód nebude mít pár set řádků).zz912 píše: ↑31. 12. 2024, 3:10 Tohohle jde docílit i tak, že si nastavíš pro osu Y maximální rychlost 100mm/min a v programu F250.
V X a Z ti to bude jezdit 250mm/min a v ose Y 100mm/min. Bude se ti to tak chovat i v kruhove interpolaci.
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat. Pokud to tak chceš mít jen dočasně, tak tu maximální rychlost pro jednotlivou osu lze měnit i jen HAL parametrem. Najdeš ho ve skupině "ini".
No tak to přece lze pořešit definicí podprogramů
o100 sub (Podprogram pro posuv v X rychlostí 100)
G1 X [#1] F100
o100 endsub
o101 sub (Podprogram pro posuv v Y rychlostí 250)
G1 Y [#1] F250
o101 endsub
o100 call [123] (posuv v X rychlostí 100 na souřadnici 123)
o101 call [456] (posuv v Y rychlostí 250 na souřadnici 456)
Jak jsem psal, nemusíš to měnit v konfiguračním souboru. Stači změnit HAL parametr v "kategorii" ini. To můžeš udělat přes Halshow, nebo přes G-kód.pafik píše: ↑1. 1. 2025, 9:18To by šlo, dobrej nápad, musel bych to omezení nastavit v konfiguračním souboru, ale drobnej problém je, že bych to pro různý materiály musel měnit. Hliník jinak, ocel jinak. A to se mi nechce, to je složitostí na úrovni toho co dělám teď (pokud G-kód nebude mít pár set řádků).zz912 píše: ↑31. 12. 2024, 3:10 Tohohle jde docílit i tak, že si nastavíš pro osu Y maximální rychlost 100mm/min a v programu F250.
V X a Z ti to bude jezdit 250mm/min a v ose Y 100mm/min. Bude se ti to tak chovat i v kruhove interpolaci.
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat. Pokud to tak chceš mít jen dočasně, tak tu maximální rychlost pro jednotlivou osu lze měnit i jen HAL parametrem. Najdeš ho ve skupině "ini".
V G-kódě to půjde přes M67, nebo přes python, nebo Remapem volného Mka, nebo by to mohlo jít přes bash. S tím bashem si nejsem jistej.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Jo, takhle nějak jsem si to představoval. Jen jsem netušil, jestli půjde zkombinovat volání podprogramu rovnou s posuvem v ose.CZ_Pascal píše: ↑1. 1. 2025, 10:26No tak to přece lze pořešit definicí podprogramů
o100 sub (Podprogram pro posuv v X rychlostí 100)
G1 X [#1] F100
o100 endsub
o101 sub (Podprogram pro posuv v Y rychlostí 250)
G1 Y [#1] F250
o101 endsub
o100 call [123] (posuv v X rychlostí 100 na souřadnici 123)
o101 call [456] (posuv v Y rychlostí 250 na souřadnici 456)
Zkusím, díky.
HAL nepoužívám, a v ini se mi hrabat nechce. Furt to tam hledat ....zz912 píše: ↑1. 1. 2025, 11:07Jak jsem psal, nemusíš to měnit v konfiguračním souboru. Stači změnit HAL parametr v "kategorii" ini. To můžeš udělat přes Halshow, nebo přes G-kód.pafik píše: ↑1. 1. 2025, 9:18To by šlo, dobrej nápad, musel bych to omezení nastavit v konfiguračním souboru, ale drobnej problém je, že bych to pro různý materiály musel měnit. Hliník jinak, ocel jinak. A to se mi nechce, to je složitostí na úrovni toho co dělám teď (pokud G-kód nebude mít pár set řádků).zz912 píše: ↑31. 12. 2024, 3:10 Tohohle jde docílit i tak, že si nastavíš pro osu Y maximální rychlost 100mm/min a v programu F250.
V X a Z ti to bude jezdit 250mm/min a v ose Y 100mm/min. Bude se ti to tak chovat i v kruhove interpolaci.
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat. Pokud to tak chceš mít jen dočasně, tak tu maximální rychlost pro jednotlivou osu lze měnit i jen HAL parametrem. Najdeš ho ve skupině "ini".
V G-kódě to půjde přes M67, nebo přes python, nebo Remapem volného Mka, nebo by to mohlo jít přes bash. S tím bashem si nejsem jistej.

Na M67 se mrknu, co se s tím dá dělat za kouzla. Díky.
uživatelský mkod, ve kterém jednou řádkou změníš nastavení maximální rychlosti osy, čímž dosáhneš toho co psal Zdeněk - zatímco jedna osa pojede nastavenou rychlostí, druhá bude omezena na nižší, i když má jet defacto stejnou rychlostí.
Když vydržíš, možná ti konkrétní řádek pošlu až budu v dílně.
Když vydržíš, možná ti konkrétní řádek pošlu až budu v dílně.
Ten blbec, kterej to vyrobil, pač mu zapoměli říct že to nejde vyrobit 

Jo, to taky vypadá dobře.Pipik píše: ↑2. 1. 2025, 11:27 uživatelský mkod, ve kterém jednou řádkou změníš nastavení maximální rychlosti osy, čímž dosáhneš toho co psal Zdeněk - zatímco jedna osa pojede nastavenou rychlostí, druhá bude omezena na nižší, i když má jet defacto stejnou rychlostí.
Když vydržíš, možná ti konkrétní řádek pošlu až budu v dílně.
Bohužel jsem nenašel manuál - komplexní knihovnu příkazů, jakou mám třeba k Machu (kterej už dávno nepoužívám). Jen knihovnu čistejch G-kodů.
Kompletní manuál:
https://linuxcnc.org/docs/stable/html/
Pokud chceš jinou verzi:
https://linuxcnc.org/documents/
G-kódy:
https://linuxcnc.org/docs/stable/html/g ... rview.html
https://linuxcnc.org/docs/stable/html/gcode/g-code.html
M-kódy:
https://linuxcnc.org/docs/stable/html/gcode/m-code.html
O-kódy:
https://linuxcnc.org/docs/stable/html/gcode/o-code.html
Ostatní kódy:
https://linuxcnc.org/docs/stable/html/g ... -code.html
https://linuxcnc.org/docs/stable/html/
Pokud chceš jinou verzi:
https://linuxcnc.org/documents/
G-kódy:
https://linuxcnc.org/docs/stable/html/g ... rview.html
https://linuxcnc.org/docs/stable/html/gcode/g-code.html
M-kódy:
https://linuxcnc.org/docs/stable/html/gcode/m-code.html
O-kódy:
https://linuxcnc.org/docs/stable/html/gcode/o-code.html
Ostatní kódy:
https://linuxcnc.org/docs/stable/html/g ... -code.html
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz