Hírek:

Fontos tudnivalók a migrációval kapcsolatban, Kérlek nézd meg a Régi fórumról új fórumra való költözés

Main Menu

UCCNC vezérlő program

Indította gaben, 2024 április 09, 16:54

Előző téma - Következő téma

svejk

Dezsoe koma kérj valami nagyot, mert különben liitatom veled a kantint! [#nevetes2]

dezsoe

Az izgis lesz, mert nagy valószínűség szerint kocsival megyek... Kár, hogy péntek este nem leszel ott, pedig arra számítottam. [#pias]

dezsoe

Na, kérem. A kód egyszerű, ahogy tegnap is írtam.

DE! Balázs, figyelem!

Egy hiba miatt elsőre nem fut le, ugyanis rögtön az első alprogram hívás L paramétere az UCCNC betöltésekor nullát tartalmazó változók miatt nulla lesz (M98 P10 L#2). Ezzel nem is lenne baj, ez a változó majd az M20000 lefutása után kap értéket, még a kritikus sor előtt. (Illene ellenőrizni és ha nulla, akkor STOP-ot nyomni, de ezzel most nem foglalkoztam.) Igen ám, de mivel a betöltéskor ezt a sort hibásnak bélyegezte az UCCNC, ciklus start után már meg sem próbálja végrehajtani! Ez baj. Ha viszont újra betöltjük a kódot, akkor már lefut rendesen, függetlenül attól, hogy a megjelenítés nem jó. (Nem is lehet jó, hiszen a megjelenítő nem futtatja a makrókat, és a koordináták és darabszámok ott kapnak értéket.)

Tehát a programnak úgy kellene működni, hogy a paramétereket futásidőben ellenőrzi és nem betöltéskor!

    

dezsoe

És akkor a kód:

#100= 5 (az 1. sor Y koordinataja)
#101= 10 (az 2. sor Y koordinataja)
#102= 15 (az 3. sor Y koordinataja)
#103= 20 (az 4. sor Y koordinataja)
#104= 25 (az 5. sor Y koordinataja)
#105= 30 (az 6. sor Y koordinataja)
#106= 35 (az 7. sor Y koordinataja)
#107= 40 (az 8. sor Y koordinataja)
#108= 45 (az 9. sor Y koordinataja)
#109= 50 (az 10. sor Y koordinataja)
#110= 55 (az 11. sor Y koordinataja)
#111= 60 (az 12. sor Y koordinataja)
#112= 65 (az 13. sor Y koordinataja)
#113= 70 (az 14. sor Y koordinataja)
#114= 75 (az 15. sor Y koordinataja)
#115= 80 (az 16 sor Y koordinataja)
#116= 85 (az 17. sor Y koordinataja)
#117= 90 (az 18. sor Y koordinataja)
#118= 95 (az 19. sor Y koordinataja)
#119= 100 (az 20 sor Y koordinataja)

#10= -2 (furat melyseg)
#11= 1 (utazo magassag)
#12= 250 (furas elotolas)

#21= 13 (az elso oszlop X koordinataja)
#22= 8 (az oszlopok tavolsaga)
#23= 4 (az oszlopok szama)

#1 = 100 (Elso adat sorszama)
M20000 (Adatok szama #2-be)
(#3 lesz az aktualis Y)
#4 = #22 (az X relativ mozgas elojellel)
#5 = #23 - 1 (az oszlopok szama - 1)

G17 G40 G64 G90 G92.1 G99
S4500
M3

G0 Z20
G0 X#21

M98 P10 L#2 (sorok feldolgozasa)

G0 Z20
M5
G0 X0 Y0
M30

O10
M20001 (#3 = ##1)
G0 Y#3
G81 Z#10 R#11 F#12
M98 P20 L#5
#4 = -1 * #4
#1 = #1 + 1
M99

O20
G91
G81 X#4 Z#10 R#11 F#12
G90
M99

Az M20000.txt makró:

int i = 0;
while (exec.ivars[100 + i] != 0) ++i;
exec.ivars[2] = i;

A M20001.txt makró:

exec.ivars[3] = exec.ivars[Convert.ToInt32(exec.ivars[1])];

svejk

Akkor most örüljek is meg ne is? [#circling]

Nekünk amatőröknek a szerszámpálya fontos és ez a kétszeri behívás sem valami szimpatikus. :(

No várjuk Balázs atyát, hátha mond, vagy ígér valamit!

Addig is köszi újfent!

dezsoe

Nincs mit.

A szerszámpálya az a leírt okok miatt sosem fog látszani. A pályamegjelenítő nem futtathatja a makrókat, ezért az onnan jövő értékeket nem tudhatja. (Gondolj bele: egy csomó olyan makró van/lehet, ami nem csak számolgat, hanem tengelyeket mozgat, ki-be kapcsolgat dolgokat, kimeneteket vezérelhet stb.)

Egyébként, ki lehet trükközni a hibát, ha a kód elejére beírsz egy #2=1 sort. Onnantól jól működik, függetlenül a megjelenítéstől. (Ezzel "megnyugtatod" a megjelenítőt, hogy az a bizonyos sor helyes, aztán az M20000 úgyis átírja.)

svejk

"A szerszámpálya az a leírt okok miatt sosem fog látszani. A pályamegjelenítő nem futtathatja a makrókat, ...."

Basszus...akkor nagy hűhó volt szinte a semmiért.

Annyit nem ér nekem hogy ne kelljen egy helyre beírni kézzel 3 sort, hogy ne legyen korrekt kijelzés.

Vagy vissza kell térni az én gyalog, buta verziómhoz -annál jó a megjelenítés- és a makro csak valahogy állítsa meg az adott sornál a programfutást ha nulla Y értéket észlel a paraméterezésnél.

svejk

Holnap du. vagyis ma, majd folytatom a törpölést...

svejk

Két kérdésem ismét akadt az UCCNC-vel kapcsolatban, lehet volt már róluk szó.

A szerszámpálya az egér görgővel is nagyatható aránylag érezhetően, előre görgetve nagyít de egy picit is visszagörgetve elmegy a munkadarab több kilóméteres madártávlatba.
Visszafelé görgetve az ember olyan arányú kicsinyítést várna mint nagyítást.

A másik kérdésem a ciklusidő számlálóra vonatkozik.
Nekem valahogy az lenne a logikusabb ha Cycle Start-kor automatikusan nullázódna.

ANTAL GÁBOR

Ez már nekem is megfogant a fejemben :
"Nekem valahogy az lenne a logikusabb ha Cycle Start-kor automatikusan nullázódna."
( de ha nagyon érdekel akkor nullázom kézzel amit persze nótóriusan elfelejtek )
A legjobb lenne egy ablak a generálban ahol ki lehetne választani hogy melyik metodikát akarjuk használni

dezsoe

Mindkét lehetőség alátámasztható. Én pl. örülök neki, hogy nem automatikus, mert így meg tudom nézni, hogy több kód egymás után mennyi idő alatt fog lefutni összesen. Igaz, hogy össze is adhatnám, de az már bonyolult. (Meg kell jegyezni, hogy eddig mennyi volt... :))

ANTAL GÁBOR

Akkor a megoldás mindkét tábornak :
"A legjobb lenne egy ablak a generálban ahol ki lehetne választani hogy melyik metodikát akarjuk"

dezsoe

Sőt, a legjobb az lenne, ha lenne egy olyan funkció, ami kiszámolja a futásidőt. Akkor nem kéne offline végigfuttatni, hogy kiderüljön, mennyi idő alatt fut le. :)

ANTAL GÁBOR

No várjál csak !! A " magod" ugyancsak termékeny földbe hullott tegnap ( Már ma megfogalmazódott bennem egy fontos makró szükségessége de másodszor már nem mertelek hívni telefonon  ) Írok egy privátot is.....

svejk

Mit csináltatok Ti ott tegnap ketten, hogy magszórás is volt? :)