Mach3 Z zero script + center script

Diskuze o softvéru MACH od tvůrců Artsoft všech verzí: dotazy, programování, skripty, poznatky atd...
BLACK_ANGEL
Příspěvky: 31
Registrován: 29. 10. 2009, 9:48

6. 8. 2015, 10:11

Zdravim
ked ze som to tu nenasiel tak to sem dam
ku kazdemu scriptu je samozrejme potrebna sonda (probe) pripojena zvicajne na pin 15 v nastaveniach Config /ports and pins/input signals
Script 1
tento sa do machu vklada cez Operator/Edit button scrip/Auto Tool Zero (tlacitko)
tento script berie hrubku kontaktnej plochy z DRO ale ked ze sa este v machu moc neviznam tak neviem popisat co a ako
ale script funguje

Kód: Vybrat vše

PlateThickness = GetUserDRO(1151) 'Z-plate thickness DRO

If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P5" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-40 F500" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G0 Z25.4" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If  
Script 2
Tento script ma na zaciatku "PlateThickness = 10" kde sa nastavuje hrubka kontaktnej plochy (plosak alebo kus kovu)

Kód: Vybrat vše

CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = 10
If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G91 G4 P2" ' two second delay
Code "G31 Z-10.0 F100" 'Z goes down a max of 1.0 at 5IPM
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G90 G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G90 G0 Z25.0" 'retract Z to 1.0 inch
Code "(Z axis is now zeroed test)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If
Script 3 je pre nastavenie stredu
pohybuje sa 75 mm do kazdej strany od 0 cize x75 x-75 y75 y-75

Kód: Vybrat vše

Rem   VBScript To center probe inside a pipe

If GetOemLed (825) <> 0 Then       'Check to see if the probe is already grounded or faulty
   Code "(Probe plate is grounded, check connection and try again)"
Else
   FeedCurrent = GetOemDRO(818)    'Get the current settings
   XCurrent = GetDro(0)
   YCurrent = GetDro(1)

   Code "G4 P1"         'Pause 1 second to give time to position probe plate
   Code "F100"         'feed rate 100 mm/min

Rem   Probe Left
   
   XNew = Xcurrent - 75     'probe 75 mm to left
   Code "G31 X" &XNew
   While IsMoving()      'wait for the move to finish
   Wend
   XPos1 = GetVar(2000)      'get the probe touch location

   Code "G0 X" &XCurrent      'rapid move back to start point

Rem   Probe Right
   
   XNew = XCurrent + 75      'probe 75 mm to right
   Code "G31 X" &XNew
   While IsMoving()
   Wend
   XPos2 = GetVar(2000)

   XCenter = (XPos1 + XPos2) / 2   'center is midway between XPos1 and XPos2
   Code "G0 X" &XCenter      'rapid move to the x center location

Rem   Probe up

   YNew = YCurrent + 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos1 = GetVar(2001)

   Code "G0 Y" &YCurrent

Rem   Probe down
   
   YNew = YCurrent - 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos2 = GetVar(2001)

   YCenter = (YPos1 + YPos2) / 2

Rem   move To the center
   
   Code "G0 Y" &YCenter
   While IsMoving ()
   Wend

   Code "F" &FeedCurrent        'restore starting feed rate
End If



Rem   VBScript To center probe inside a pipe

If GetOemLed (825) <> 0 Then       'Check to see if the probe is already grounded or faulty
   Code "(Probe plate is grounded, check connection and try again)"
Else
   FeedCurrent = GetOemDRO(818)    'Get the current settings
   XCurrent = GetDro(0)
   YCurrent = GetDro(1)

   Code "G4 P1"         'Pause 1 second to give time to position probe plate
   Code "F100"         'feed rate to 100 mm/min

Rem   Probe Left
   
   XNew = Xcurrent - 75     'probe 75 mm to left
   Code "G31 X" &XNew
   While IsMoving()      'wait for the move to finish
   Wend
   XPos1 = GetVar(2000)      'get the probe touch location

   Code "G0 X" &XCurrent      'rapid move back to start point

Rem   Probe Right
   
   XNew = XCurrent + 75      'probe 75 mm to right
   Code "G31 X" &XNew
   While IsMoving()
   Wend
   XPos2 = GetVar(2000)

   XCenter = (XPos1 + XPos2) / 2   'center is midway between XPos1 and XPos2
   Code "G0 X" &XCenter      'rapid move to the x center location

Rem   Probe up

   YNew = YCurrent + 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos1 = GetVar(2001)

   Code "G0 Y" &YCurrent

Rem   Probe down
   
   YNew = YCurrent - 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos2 = GetVar(2001)

   YCenter = (YPos1 + YPos2) / 2

Rem   move To the center
   
   Code "G0 Y" &YCenter
   While IsMoving ()
   Wend

   Code "F" &FeedCurrent        'restore starting feed rate
End If
hobby cnc3020 http://www.c-n-c.cz/viewtopic.php?f=15&t=14195&p=140944#p140944
BLACK_ANGEL
Příspěvky: 31
Registrován: 29. 10. 2009, 9:48

6. 8. 2015, 11:04

potreboval by som script na centrovanie ale z vonkajsej strany
napr ked mam kocku a do stredu chcem vyvrtat dieru

asy by stacilo prepisat ten script ale ja som to nepisal a moc neviem ako na to
ak by niekto vedel napiste ako na to

presne toto haladam https://www.youtube.com/watch?v=s58Z6bRs520" onclick="window.open(this.href);return false;
ale autor videa neposkytol script
hobby cnc3020 http://www.c-n-c.cz/viewtopic.php?f=15&t=14195&p=140944#p140944
chb
Příspěvky: 3802
Registrován: 12. 3. 2013, 7:24
Bydliště: Havl. Brod

6. 8. 2015, 2:35

script z venku bude o dost složitější. najít okraje díry je lehké - stoupnu si zhruba doprostřed a při pohybu kterýmkoliv směrem narazím jen na hledaný okraj díry. A pokud by byla díra moc velká, tak jen udělám krok větší než těch přednastavených 75.

Ale z venku musím skriptu říci, ze které strany u čepu stojím a jak je asi velký a nějak vyřešit, jak jej sondou ve správné vzdálenosti nadjet nebo objet a přitom do ničeho nenarazit.

--------
u hledání středu díry je dobrý postup udělat střed v ose X - zatím jen hrubý střed
nyní udělat z tohoto středu X přesný střed Y
a zopakovat znova střed X pro vyšší přesnost - pro případ, že jsem začal hodně mimo střed díry.
(mohu hádat zda skript 3 je omylem nakopírován 2x nebo zda je to snaha o zpřesnění viz má poznámka)

------
Při hledání výšky (skript 1) doplňuji pro sebe opakované hledání výšky - po prvotním najetí sondou zvednu Z o 0,5 mm a výrazně pomalejším pohybem zopakuji najetí.
Víťa - BF20 - upraveno na CNC + Mach3 + SS, soustruh CJM250, MK3 Průša, ostřička nástrojů
BLACK_ANGEL
Příspěvky: 31
Registrován: 29. 10. 2009, 9:48

7. 8. 2015, 5:16

Dakujem za reakciu

ano mas pravdu script 3 som vlozil omylom 2x ale uz to nemozem editovat

netestoval som presnost toho centrovania na to by som musel mat vyfrzovany kriz a kruh aby som to mohol odsledovat ci to najde stred ale ked som ten script skusal tak sa to javilo celkom dobre centrovane
a to som skusal aj uplne mymo stredu niekde pri kraji a centrovalo to je pravda ze neviem s akou presnostou

presne ako pises
v prvom rade by som asi zmeral najvizsi bod Z a potom by som musel zadat rozmer meraneho materialu alsom cca aby sonda mohla po kontakte s materialom z jedneho smeru obist material
cize pohyb by bol asi takto
zmeram Z
zadam dlzku (resp rozmer) materialu
sonda sa zacne pohybovat k materialu z urciteho smeru povedzme z lava do prava k materialu (ked to budem mat takto napevno musim to brat na vedomie ze vzdy sa musi stroj nastavit tak aby bola sonda nalavo od materialu) sonda zaznamena kontakt
zdvihne sa v Z o nameranu hodnotu + 1 alebo viac a prejde na druhu stranu materialu podal zadaneho rozmeru + nieco naviac
znova sa bude pohybovat k materialu az sa dotkne
na presun na dalsiu os sa presune podla nameraneho Z+1 a stred nameranej hodnoty z predchadzajucej osy
potom postup rovnako ako prva os

otazka je
je mozne aby sa script pytal na udaje ? nejake dialogove okno kde zadam ten rozmer materialu ?
hobby cnc3020 http://www.c-n-c.cz/viewtopic.php?f=15&t=14195&p=140944#p140944
chb
Příspěvky: 3802
Registrován: 12. 3. 2013, 7:24
Bydliště: Havl. Brod

7. 8. 2015, 8:15

tipl bych že ano,
Osobné bych si vložil skript přímo do Machu pod tlačítko a vedle dal nastavitelné hodnoty pro ten skript. (nějaké jednodužší už tak mám)
Víťa - BF20 - upraveno na CNC + Mach3 + SS, soustruh CJM250, MK3 Průša, ostřička nástrojů
peterd
Příspěvky: 17
Registrován: 15. 6. 2015, 10:16

18. 5. 2016, 4:11

BLACK_ANGEL píše:Zdravim
ked ze som to tu nenasiel tak to sem dam
ku kazdemu scriptu je samozrejme potrebna sonda (probe) pripojena zvicajne na pin 15 v nastaveniach Config /ports and pins/input signals
Script 1
tento sa do machu vklada cez Operator/Edit button scrip/Auto Tool Zero (tlacitko)
tento script berie hrubku kontaktnej plochy z DRO ale ked ze sa este v machu moc neviznam tak neviem popisat co a ako
ale script funguje

Kód: Vybrat vše

PlateThickness = GetUserDRO(1151) 'Z-plate thickness DRO

If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P5" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-40 F500" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G0 Z25.4" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If  
Script 2
Tento script ma na zaciatku "PlateThickness = 10" kde sa nastavuje hrubka kontaktnej plochy (plosak alebo kus kovu)

Kód: Vybrat vše

CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = 10
If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G91 G4 P2" ' two second delay
Code "G31 Z-10.0 F100" 'Z goes down a max of 1.0 at 5IPM
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G90 G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G90 G0 Z25.0" 'retract Z to 1.0 inch
Code "(Z axis is now zeroed test)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If
Script 3 je pre nastavenie stredu
pohybuje sa 75 mm do kazdej strany od 0 cize x75 x-75 y75 y-75

Kód: Vybrat vše

Rem   VBScript To center probe inside a pipe

If GetOemLed (825) <> 0 Then       'Check to see if the probe is already grounded or faulty
   Code "(Probe plate is grounded, check connection and try again)"
Else
   FeedCurrent = GetOemDRO(818)    'Get the current settings
   XCurrent = GetDro(0)
   YCurrent = GetDro(1)

   Code "G4 P1"         'Pause 1 second to give time to position probe plate
   Code "F100"         'feed rate 100 mm/min

Rem   Probe Left
   
   XNew = Xcurrent - 75     'probe 75 mm to left
   Code "G31 X" &XNew
   While IsMoving()      'wait for the move to finish
   Wend
   XPos1 = GetVar(2000)      'get the probe touch location

   Code "G0 X" &XCurrent      'rapid move back to start point

Rem   Probe Right
   
   XNew = XCurrent + 75      'probe 75 mm to right
   Code "G31 X" &XNew
   While IsMoving()
   Wend
   XPos2 = GetVar(2000)

   XCenter = (XPos1 + XPos2) / 2   'center is midway between XPos1 and XPos2
   Code "G0 X" &XCenter      'rapid move to the x center location

Rem   Probe up

   YNew = YCurrent + 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos1 = GetVar(2001)

   Code "G0 Y" &YCurrent

Rem   Probe down
   
   YNew = YCurrent - 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos2 = GetVar(2001)

   YCenter = (YPos1 + YPos2) / 2

Rem   move To the center
   
   Code "G0 Y" &YCenter
   While IsMoving ()
   Wend

   Code "F" &FeedCurrent        'restore starting feed rate
End If



Rem   VBScript To center probe inside a pipe

If GetOemLed (825) <> 0 Then       'Check to see if the probe is already grounded or faulty
   Code "(Probe plate is grounded, check connection and try again)"
Else
   FeedCurrent = GetOemDRO(818)    'Get the current settings
   XCurrent = GetDro(0)
   YCurrent = GetDro(1)

   Code "G4 P1"         'Pause 1 second to give time to position probe plate
   Code "F100"         'feed rate to 100 mm/min

Rem   Probe Left
   
   XNew = Xcurrent - 75     'probe 75 mm to left
   Code "G31 X" &XNew
   While IsMoving()      'wait for the move to finish
   Wend
   XPos1 = GetVar(2000)      'get the probe touch location

   Code "G0 X" &XCurrent      'rapid move back to start point

Rem   Probe Right
   
   XNew = XCurrent + 75      'probe 75 mm to right
   Code "G31 X" &XNew
   While IsMoving()
   Wend
   XPos2 = GetVar(2000)

   XCenter = (XPos1 + XPos2) / 2   'center is midway between XPos1 and XPos2
   Code "G0 X" &XCenter      'rapid move to the x center location

Rem   Probe up

   YNew = YCurrent + 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos1 = GetVar(2001)

   Code "G0 Y" &YCurrent

Rem   Probe down
   
   YNew = YCurrent - 75
   Code "G31 Y" &YNew
   While IsMoving()
   Wend
   YPos2 = GetVar(2001)

   YCenter = (YPos1 + YPos2) / 2

Rem   move To the center
   
   Code "G0 Y" &YCenter
   While IsMoving ()
   Wend

   Code "F" &FeedCurrent        'restore starting feed rate
End If
Pekný deň,

môžem potvrdiť, že to funguje..odskúšal som druhý script s udaním hrúbky v mojom prípade plošáku 1,6 mm......zadal som do scriptu aj dĺžku pohybu v snere na dol pre os Z (20mm)
Pre názornosť pripájam foto a video testovacieho prevedenia.....

https://goo.gl/photos/MGPno4AN6aphiFfDA" onclick="window.open(this.href);return false;

https://youtu.be/i3mOiHtx-l8" onclick="window.open(this.href);return false;

Na videu je dúfam dobre vidieť ako to funguje........
Script som upravil ( hodnoty v mm)..(červeným sú poznámky tie do scriptu nepatria) takto:

CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = 1,6 hrúbka plošáku
If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G91 G4 P2" ' two second delay
Code "G31 Z-20.0 F100" 'Z goes down a max of 20 mm at 5IPM max. pohyb nadol os Z Rýchlosťou Feed Rate100
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G90 G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G90 G0 Z20.0" 'retract Z to 20 mm po dotiku s plošákom zdvih os Z 20 mm
Code "(Z axis is now zeroed test)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If

S pozdravom

Peter
VENCAZ
Příspěvky: 223
Registrován: 10. 4. 2017, 11:56

24. 4. 2017, 7:38

zdravím, mohl bych trochu zatrolovat a poprosit o radu? ...založil jsem vlákno http://www.c-n-c.cz/viewtopic.php?f=24& ... 92#p248892" onclick="window.open(this.href);return false; pro nalezení pomoci k mému problému s nastavením a zprovozněním probe nuly, nebo jak se technicky označuje. jak čtu toto vlákno, vypadá to celkem nadějně :) můžu se zeptat, co bych si odsud mohl vzít jakožto úplný laik a amatér a co je ještě třeba abych udělal pro to, aby mi to šlapalo podobně jako tady na videu? jsem opravdu zatím neználek :) https://www.youtube.com/watch?v=GmxofVpuHtk" onclick="window.open(this.href);return false; ...našel jsem i čidlo: http://www.ebay.com/itm/Cnc-Z-Axis-Rout ... 1784145134" onclick="window.open(this.href);return false; ...jen vůbec nevím, jak to vše dát dohromady :? koukal jsem, že lze udělat třeba jen i z tenkého plechu, ale pospojovat pár drátů, ale vůbec nevím co s tím. https://www.youtube.com/watch?v=MpVBYfTKSDU" onclick="window.open(this.href);return false;

moje představa je cca taková: mám návrh v aspire se 2 cestami o 2 ruzných nástrojích. do kleštiny dám nástroj 1, změří se mi přesná nula o čidlo. nulu v návrhu mám nastavenou odspodu, čili další čidlo na povrchu materiálu nepotřebuji (mám přesné výšky dřevěných hranolů). spustím v machu g-kod a odfrézuje se první cesta. po dokončení se freza vrátí do bezpečné co nejvyšší polohy nad nulu. vyměním nástroj 2, nastaví se nová nula (s novou výškou nástroje 2) a spustí se g-kod pro druhou cestu. pak už bych si jen rád nulu nějak v machu uložil, abych se k ní mohl vrátit, pokud bych si jí nějakým omylem rozházel.
setros
Příspěvky: 40
Registrován: 28. 11. 2009, 10:10
Bydliště: Tábor

7. 6. 2017, 10:48

Ahoj lidi,
Myslím, že se to do tohoto vlákna hodí, nechce se mi zakládat zbytečně nové.
Po základním seznámením s mým homemade strojem, jsem zjistil, že potřebuji nacházet přesné nulové body na různých částech obrobku. U nového výrobku to potřeba zas tak není, ale když je třeba něco udělat na již stávajícím polotovaru, pak je přesné najetí nástroje od oka docela problém. Proto jsem začal pokukovat po metodách dotykové sondy od poloprofesionálních, po obyčejné, tvořené např. kouskem cuprextitu.
Pro mé účely, vzhledem k ceně sond, asi využiji druhou variantu a její různé varianty.

Teď asi to podstatné. Kde sehnat potřebné skripty pro ovládání sondy. Po pátrání na internetu jsem něco našel a rád bych se o část podělil (viz. přílohy). Zároveň bych chtěl poprosit, zde znalejší, zda by někdo neměl a neposkytl skripty pro zbylé možnosti. Mám skripty pro osahání obrobku sondou z vnější strany, nastavení Z osy na nulu a vyhledání středu díry. Zbylé skripty pro vnitřní osahání obrobku nemám a pro mě asi nejdůležitější je rotace os při vyoseném upnutí obrobku ve svěráku. Nastudoval jsem si sice příkaz G68 a G69, ale jak to s automatizovat, už je mimo mé schopnosti.
Myslím, že nejsem sám, komu by se to hodilo.
Níže tedy uvádím screen mé zatím pracovní obrazovky (používám český screen od Radka) a soubor se skripty které již mám.
Přílohy
mach3_sonda.jpg
Scripts.rar
(11.75 KiB) Staženo 689 x
efel
Příspěvky: 68
Registrován: 5. 1. 2013, 8:31
Kontaktovat uživatele:

7. 6. 2017, 12:30

Ahoj,

Tady je vše co hledáte :http://www.craftycnc.com/probe-it-wizard-mach3/
setros
Příspěvky: 40
Registrován: 28. 11. 2009, 10:10
Bydliště: Tábor

7. 6. 2017, 7:45

Na ten program jsem také koukal. Cena není zas tak špatná, 30 dolarů není moc. Jenom mi připadá složitější a proto jsem chtěl něco jednoduchého, pro domácí využití a taky výledek sdílet zde, pro ostatní.
efel
Příspěvky: 68
Registrován: 5. 1. 2013, 8:31
Kontaktovat uživatele:

8. 6. 2017, 7:15

Cena 30 $ je v případě že používáš funkci scan, zbytek můžeš používat bezplatně. Mě to splňuje veškeré požadavky.
setros
Příspěvky: 40
Registrován: 28. 11. 2009, 10:10
Bydliště: Tábor

8. 6. 2017, 9:28

Tak na to kouknu. Počítám, že ta funkce scan je na digitalizaci 2D (2,5D či 3D) obrobku. To bych asi nevyužil. Jenom jestli to půjde upravit a přidat jako další obrazovky do Machu, mě se to prostředí moc nezamlouvá a také proto, že používám dotykový monitor a potřebuju větší tlašítka na ovládání.
Pepa75
Příspěvky: 73
Registrován: 14. 10. 2013, 6:35
Bydliště: Orlová

22. 1. 2018, 5:20

Ahoj dovolím si použít stávající vlákno, nechci zakládat nové.
Snažím se nastavit script pro funkci AUTO TOOL ZERO. Využil jsem výše zmíněný druhý script. Script funguje, ale v okamžiku kdy skončí frézování (tzn.skončí G-kod) tak se mi zetko nastaví na offset 8,4 mm. Potřeboval bych, aby mi zetko zůstalo stejně nastavené jako jsem měl na začátku. Kde dělám chybu? Nakopněte mě prosím. Je to v tom scriptu nebo někde v nastavení offsetu? Pro úplnost tady přikládám script +jednoduchý prográmek na kterém jsem to zkoušel.
Díky za každou radu. Pepa
Přílohy
script Z.txt
(1000 bajtů) Staženo 549 x
překlizka_3,4mm.txt
(50.04 KiB) Staženo 472 x
Palury
Příspěvky: 1
Registrován: 1. 8. 2018, 3:14

1. 8. 2018, 4:35

'Z zeroing macro by Scott Worden - Timber Lake Creations (and a little "Probe Var" tip from Brian ;-).


CurrentFeed = GetOemDRO(818) 'Get the current feedrate.
PlateThickness = 20.016 'prev 19.88 You could put your z-plate thickness here instead
ProbeFeed = 100 'You could put a probing feedrate here instead.


Code "G90 F" &ProbeFeed

If GetOemLed (825)=0 Then
Code "G4 P5" 'Time to get to the z-plate
Code "G31Z-15 F" &ProbeFeed
While IsMoving()
Wend
Code "G4 P0.35"
ZProbePos = GetVar(2002)
Code "G0 Z" &ZProbePos
While IsMoving ()
Wend
Call SetDro (2, PlateThickness)
Code "G4 P0.5" 'Pause for Dro to update.
Code "G0 Z23.0" 'Change the Z retract height here
Code "(Z axis is now zeroed)"
Code "F" &CurrentFeed
Else
Code "(Z-Plate is grounded, check connection and try again)"
Exit Sub
End If




Ahoj tady je můj script Auto tool zero, A v programu je chyba použivaš přirustove obrabeni. G91 je priruskově, G90 je absolutne.
Mara2000
Příspěvky: 122
Registrován: 22. 5. 2012, 9:29

9. 12. 2018, 6:06

Kluci doporučuju:

https://www.youtube.com/watch?v=MQ9XT30 ... o9L6W&t=0s

umí to snad vše, právě jsem to rozchodil. :)
Odpovědět

Zpět na „MACH všech verzí“