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

Mach3 CNC

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

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

may47wb

Teljesen jó. A 3.42-esnek lehet valami bibije.

besirkyjh

Küldjek egy xml -t ? Csak a motor tuningot kel beállitani a Tiedhez .

besirkyjh

Á , nem jo ha küldök mert mást is elállitunk vele ( port lábak stb ) .
 
Probáld ujra telepiteni , vagy a 2.63-at tedd fel .

may47wb

Most hagyom, ennél nagyobb problémám ne legyen a géppel.  
A 2.63-al sok bajom volt. Pl. start után többször megfagyott.

t334wehtf

Nem rég szóba került az automata szerszámcsere kérdése. Akkor említettem, hogy mi azzal használjuk a Mach3-at, de linken kívül nem sokat segítettem. Az alábbiakban magyar kommentekkel bemásolom az általunk használt programot, és videót a működéséről. Hamarosan majd csinálok egy ugyan ilyet a hosszkorrekcióról, az már többeket fog érdekelni.
 
A szerszámcseréről tudni kell, hogy lerakás előtt sűrített levegővel kifúvatjuk a szerszámtárat. A levegőbefúvó a főorsó alatt van, és kb. a szerszám hegyére irányul, ezért megy először a szerszámtár fölé, mert akkor pont belefújunk a patronba. A szerszámtár saját fejlesztés.
 
http://www.youtube.com/watch?v=GlqPOZwvAQA" TARGET=_fnew>>>> Video <<<
 
A VB Script: Copy + Paste és használgató (persze paraméterezés után)
 
 
 
'Szerszamvalto makro (linearis vagy matrix tar)
'minden koordinata gepi rendszerben ertendo
Sub Main()
 
CurrentFeed = GetOemDRO(818) 'Az eppen aktualis elotolast eltarolja, hogy a vegen visszaallithassa  
tool = GetSelectedTool()
  SetCurrentTool( tool )
'Valtozo definialasa
PlusszNulla = 0  
OldTool = GetOEMDRO (1200) 'Az elozo szerszamot tartolja, hozza kell adni a settins kepernyohoz
OldToolClean = GetOEMDRO (1200) & PlusszNulla 'segedkoordinatat allit be a bentlevo szerszmnak megfeleloen egy nullat a szeszam szama utan ir
 
x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 )  
z = GetToolChangeStart( 2 )  
a = GetToolChangeStart( 3 )  
b = GetToolChangeStart( 4 )  
c = GetToolChangeStart( 5 )  
tool = GetSelectedTool()
NewTool = tool
'Szerszamvalto makro (linearis vagy matrix tar)
'Valtozok definialasa
MaxToolNum = 3    'Szerszamtar kapacitasa
ToolDown   = -96  'Z Pos szerszam megfogas es lerakas
ToolUp     = -40  'Z Pos magassag a szerszamok kozti gyorsmenethez
ToolOut    = -88  'Z Pos lassu mozgas magassaga
ToolSd     = -60  'Z Pos lassu mozgas magassaga ahol a befogo a szerszamra csuszik
ToolRapid  = 2000 'Feedrate gyorsjarat sebessege
ToolSlow   = 500  'Feedrate lassujarat sebessege
ToolBlow   = -100 'Z Pos kifuvatas pozicioja
'ellenorzi hogy az van-e az orsoban mint amit meghivtunk
If NewTool = OldTool Then  
   Exit Sub
End If
'ellenorzi hogy volt e szerszam az orsoban
If OldTool = 0 Then
        GoTo SzerszamFelvetel 'egy hivatkozasra ugrik
End If
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend
Code "G00 G53 Z" & ToolUp 'Bekezdo mozgas, elmegy a gyorsjarat magassagara
While IsMoving()
Wend
'ures patron tisztitasa kulon nem kapcsolok tulnyomast mert programbol egyebkent is allandoan megy
Call MovePos(OldToolClean) 'elmegy tisztitasi pozicioba
While IsMoving()
Wend
Code "F" & ToolRapid 'gyorsjarat
Code "G01 G53 Z" & ToolBlow
Code "G04 P1" 'kivaras
Code "F" & ToolRapid 'gyorsjarat
Code "G01 G53 Z" & ToolUp 'atallasi magassag
While IsMoving()
Wend
'regi szerszam lerakasa
Call MovePos(OldTool) 'elmegy a regi szerszam poziciojahoz
While IsMoving()
Wend
Code "F" & ToolRapid 'gyorsjarat
Code "G01 G53 Z" & ToolOut 'a szerszamtar ele kozvetlenul
Code "F" & ToolSlow 'lassu jarat
Code "G01 G53 Z" & ToolDown 'a lerakasi magassagig
Code "G4 P.5" 'kivaras
While IsMoving()
Wend
ActivateSignal(Output14) 'Patront nyit
Code "G4 P.5"    'Kivaras
Code "F" & ToolSlow 'lassan
Code "G01 G53 Z" & ToolOut 'elmozdul a szerszamrol (ragadas, szorulas)
Code "F" & ToolRapid 'majd gyorsan
Code "G01 G53 Z" & ToolUp 'leall rola
'uj szerszam felvetele
SzerszamFelvetel: 'program ugrasi pozicio
ActivateSignal(Output14) 'Patront nyit
Call MovePos(NewTool) 'elmegy az uj szerszm poziciojahoz
While IsMoving()
Wend
Code "F" & ToolRapid 'gyorsan
Code "G01 G53 Z" & ToolSd 'elmegy a szerszam vegeig
Code "F" & ToolSlow 'lassan
Code "G01 G53 Z" & ToolDown 'rall a szerszamra
Code "G4 P.5" 'kivaras
While IsMoving()
Wend
DeActivateSignal(Output14) 'Patront zar
Code "G4 P.5"    'Kivaras
While IsMoving()
Wend
Code "F" & ToolSlow 'szerszammal lassan kijon
Code "G01 G53 Z" & ToolOut 'a tarbol
Code "F" & ToolRapid 'szerszammal gyorsan eltavolodik
Code "G01 G53 Z" & ToolUp 'a tartol
Call SetOEMDRO (1200,NewTool)
SetCurrentTool( NewTool )
Code "G00 X" & x & " Y" & y 'Visszamegy a csere kezdeti pontjara
Code "F" &CurrentFeed 'Visszaallitja az eredeti elotolasi sebesseget  
End Sub
 
Sub MovePos(ByVal ToolNumber As Integer)
 
Select Case ToolNumber
       Case Is = 1           'T01 pozicioja
         Xpos = -18.1830
         YPos = 68.2600
       Case Is = 2           'T02 pozicioja
         Xpos = -18.1830
         YPos = 98.2600
       Case Is = 3           'T03 pozicioja
         Xpos = -18.1830
         YPos = 128.2600
       Case Is = 10           'T01 patrontisztito pozicioja
         Xpos = 0
         YPos = 68.2600
       Case Is = 20           'T02 patrontisztito pozicioja
         Xpos = 0
         YPos = 98.2600
       Case Is = 30           'T03 patrontisztito pozicioja
         Xpos = 0
         YPos = 128.2600
       End Select
 
Code "G00 G53 X" & XPos & " Y" & YPos
Code "F" &CurrentFeed 'Visszaallitja az eredeti elotolasi sebesseget
End Sub
Main                                    

t334wehtf

Az előbbi makrónak az "M6Start" nevet kell adni!!!!!!!!!!!!!!!!!!!!!

t334wehtf

És a hosszkorrekció:
 
Videót nem rakok, semmi extra: odamegy, megnyomja, hátramegy.
 
A hosszmérést egy M mondattal hívjuk meg, ez lehet egyébként majdnem bármi, nálunk M976, a lényeg hogy ezen a néven legyen a makrók között.
 
...
T1 M6   lefut a szerszámcsere
M976    hosszt mérünk
M5 S25000 stb.
...
 
VB Script: Copy + Paste és koordináta helyesbítés után használható:
 
 
 
CurrentFeed = GetOemDRO(818) 'Az aktualis elotolasi sebesseget elmenti hogy a vegen visszaallithassa
PlateThickness = 7.350 'a legfontosabb adat kb ugy ertelmezheto hogy a hosszkorrekcios szenzor kapcsolasi pontja es a Z nullpont (pl G54) kozotti tavolsag
'allits be egy erteket ellenorizd majd meres utan korrigald
 
If GetOemLed (825)=0 Then 'ellenorzi hogy nem ad e a sznzor folyamatosan jelet ha kell lehet itt is negalni (1) vagy az inputoknal
 
Code "G4 P2" ' varakozas igazabol folosleges
Code "G00 G53 X-17 Y22" 'az aktualis z magassagon elmegy a merofej fole koordinatat igeny szerint atirni
Code "G00 G53 Z-35" 'megkozeliti a merofejet
Code "G31 Z-20 F250" 'Z-ben lemegy max 20mm-t a megadott elotolassal
While IsMoving()
Wend
ZProbePos = GetVar(2002) 'a szenzor eleresenek koordinatajat eltarolja
Call SetOEMDro (802, PlateThickness) 'ne egeszen ertem hogy mit csinal talan valami munkadarab vastagsagot beallit ezzel krigalja a szerszamhosszt
'G54-nel tovabbiakban semmi jelentossege a beirt z erteknek
Code "G4 P0.25" 'kivaras a koordinatak frissitesenek idejere
Code "G00 G54 Z60"  'Eltavolodunk a szenzortol Lehetne G53-ban is
While IsMoving ()
Wend
Code "(Z axis is now zeroed)" 'uzenet az allapotsorba
Code "F" &CurrentFeed 'visszaallitja az eredeti elotolast
Else
Code "(Z-Plate is grounded, check connection and try again)" 'ha a szenzor allandoan jelet ad ez a hibauzenetet irja ki
Exit Sub
End If                      
 
...

svejk

Nagyon klassz! [#eljen]
És ezt nem láthatjuk élőben...[#rinya]
 

u3xrz0cut

[#crazya] Lássuk!!!!

t334wehtf

Holnap viszek be egy rendes kamerát, azzal lefilmezem, ez a mobilos vacak csapnivaló...

t334wehtf

Ezt biztosan nem, mert ez a nagy, 600 kilós gép, azt meg tutira nem visszük sehova sem.
A kis gépre meg még csak most gyártódik a 6-os tár.

t334wehtf

Segítséget szeretnék kérni:
 
A problémám az alábbi:
Futtatom az alábbi programot (módosított szerszámhossz korrekció). A lényege az lenne. hogy nagyobb sebességgel elmegyünk az első szenzor érintésig, majd visszamegyünk egy keveset, és lassan megismételjük a dolgot. Ha a VB Script editorban soronként futtatom, akkor jól működik, de ha rendesen futtatom, akkor az első G31-est egyszer csak abbahagyja, és csak a másodikat csinálja meg.
Hogyan lehet egy G kóddal megadott mozgást megállítani egy bemenő jel alapján, azaz az első érintésre nem feltétlenül akarok G31-et használni.
 
CurrentFeed = GetOemDRO(818) 'Az aktualis elotolasi sebesseget elmenti hogy a vegen visszaallithassa
Offset = 7.350 'Szenzor és nullpont közötti eltolás
If GetOemLed (825)=0 Then 'ellenorzi hogy nem ad e a sznzor folyamatosan jelet ha kell lehet itt is negalni (1) vagy az inputoknal
 
Code "G4 P.5"
Code "G00 G53 X-82 Y-12" 'az aktualis z magassagon elmegy a merofej fole
Code "G00 G53 Z-10" 'megkozeliti a merofejet
 
Code "G31 Z-50 F500" 'Z-ben lemegy max 20mm-t a megadott elotolassal
 
Code "G91 G01 Z2 F500" 'Hátrálunk egy keveset
Code "G90"
Code "G31 Z-50 F50" 'egész lassan mérünk
While IsMoving()
Wend
ZMes = GetVar(2002) 'a szenzor eleresenek koordinatajat eltarolja
ZCorr = ZMes - Offset
Call SetDRO (23,ZCorr)  
Code "G4 P0.25"
Code "G00 G53 Z0"
While IsMoving ()
Wend
Code "F" &CurrentFeed 'visszaallitja az eredeti elotolast
 
 
Else
Code "(Z-Plate is grounded, check connection and try again)" 'ha a szenzor allandoan jelet ad ez a hibauzenetet irja ki
Exit Sub
End If                  

t334wehtf

http://www.youtube.com/watch?v=Wwb7U_p2AAg" TARGET=_fnew>>>>Video, amiben benne van a szerszámcsere és a hosszkorrekció is.<<<

000000000

Nagyon klassz!
 
Elég komoly belengései vannak a gépednek...
Ez nem látszik meg a darabon?
 
Meg szabad kérdezni mi készül a gépen?
 
Üdv!

t334wehtf

A gép nincs letalpalva, kerekeken áll.... [#nyes]
 
A minőségre semmi hatása nincsen, mert mind a munkadarab, mind a maró egy elemként, egy közös alaplapon mozog.