Stránka 1 z 2
Dvě rychlosti G1 v jednom souboru
Napsal: 31. 12. 2024, 2:34
od pafik
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?
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 31. 12. 2024, 3:10
od zz912
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".
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 31. 12. 2024, 3:34
od Milan199
Nejsem odborník na Linux ...
Z toho výpisu programu cos napsal se jedná o nějaké řádkování.
Nedalo by se tedy použít opakování těch tří řádků, s tím že pojedeš přírůstkově?
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 31. 12. 2024, 4:12
od Thomeeque
pafik píše: ↑31. 12. 2024, 2:34
Prostě zadat do souboru dva parametry G1 a volat je jménem?
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>
zz912 píše: ↑31. 12. 2024, 3:10
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat.
+1
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 9:13
od pafik
Thomeeque píše: ↑31. 12. 2024, 4:12
pafik píše: ↑31. 12. 2024, 2:34
Prostě zadat do souboru dva parametry G1 a volat je jménem?
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>
zz912 píše: ↑31. 12. 2024, 3:10
Bohužel nevím co je tvým záměrem, takže nevím kam to směřovat.
+1
Tomíku, to je v bleděmodrém totéž, co tam nechci. Myslel jsem něco v tomto smyslu:
nadefinovat:
H1=G1=100
H2=G1=250
a pak místo parametru G1 na začátku zadávat H1 nebo H2.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 9:18
od pafik
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".
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ů).
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 10:26
od CZ_Pascal
pafik píše: ↑1. 1. 2025, 9:13
nadefinovat:
H1=G1=100
H2=G1=250
a pak místo parametru G1 na začátku zadávat H1 nebo H2.
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)
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 11:07
od zz912
pafik píše: ↑1. 1. 2025, 9:18
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".
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ů).
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.
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.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 1:36
od pafik
CZ_Pascal píše: ↑1. 1. 2025, 10:26
pafik píše: ↑1. 1. 2025, 9:13
nadefinovat:
H1=G1=100
H2=G1=250
a pak místo parametru G1 na začátku zadávat H1 nebo H2.
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)
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.
Zkusím, díky.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 1:38
od pafik
zz912 píše: ↑1. 1. 2025, 11:07
pafik píše: ↑1. 1. 2025, 9:18
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".
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ů).
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.
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.
HAL nepoužívám, a v ini se mi hrabat nechce. Furt to tam hledat ....

.
Na M67 se mrknu, co se s tím dá dělat za kouzla. Díky.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 1. 1. 2025, 4:09
od zz912
HAL nepoužívám.
LCNC je na HALu postavený, takže ho používáš akorát o tom možná nevíš.

Re: Dvě rychlosti G1 v jednom souboru
Napsal: 2. 1. 2025, 11:27
od Pipik
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ě.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 2. 1. 2025, 6:56
od pafik
zz912 píše: ↑1. 1. 2025, 4:09
HAL nepoužívám.
LCNC je na HALu postavený, takže ho používáš akorát o tom možná nevíš.
Vím že tam je, ale nikdy jsem se s ním nebavil

.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 2. 1. 2025, 6:58
od pafik
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ě.
Jo, to taky vypadá dobře.
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ů.
Re: Dvě rychlosti G1 v jednom souboru
Napsal: 2. 1. 2025, 7:05
od zz912