Zaczyna wypalanie po ok 2cm/2 sek - powód ?
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 6
- Posty: 893
- Rejestracja: 06 kwie 2007, 19:12
- Lokalizacja: Pionki
Jak masz sygnal arc ok to jak moze ruszac przed zajazeniem ?
Edit
Ten g cod nie wykorzystuje arc ok.
Edit 2
Nie jestem Machowy, korzystam z linuxacnc ale pewnie MACH też ma taki MKOD jak M66
http://linuxcnc.org/docs/2.7/html/gcode ... #mcode:m66
Musisz skonfigurować sygnał z arc OK aby był połączony z danym wejściem i w postprocesorze dopisać kod M66. Wtedy nie ma bata żeby ruszył jeśli łuk nie będzie zajarzony.
Pozdrawiam
Edit
Ten g cod nie wykorzystuje arc ok.
Edit 2
Nie jestem Machowy, korzystam z linuxacnc ale pewnie MACH też ma taki MKOD jak M66
http://linuxcnc.org/docs/2.7/html/gcode ... #mcode:m66
Musisz skonfigurować sygnał z arc OK aby był połączony z danym wejściem i w postprocesorze dopisać kod M66. Wtedy nie ma bata żeby ruszył jeśli łuk nie będzie zajarzony.
Pozdrawiam
Tagi:
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 2
- Posty: 340
- Rejestracja: 22 kwie 2010, 10:34
- Lokalizacja: Nowy Sącz
Kolego otwórz ten kod w notatniku, zmien G04 P0.8 na np P2 i wychodząc zapisz zmiany i już masz zmienione - to do Macha i próba.
Czy na nowym komplecie dysza i elektroda jest tak samo? Czasem ciężko odpala jak jest elektroda jest zuzyta a napięcie odpalania juz występuje i Mach rusza - u mnie tak jest czasem.... Ewentualnie popraw masę tzn plus
Czy na nowym komplecie dysza i elektroda jest tak samo? Czasem ciężko odpala jak jest elektroda jest zuzyta a napięcie odpalania juz występuje i Mach rusza - u mnie tak jest czasem.... Ewentualnie popraw masę tzn plus

-
- Lider FORUM (min. 2000)
- Posty w temacie: 4
- Posty: 5598
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
owszem chodziło mi o G04 P0.8 ale jak sam widzisz zwłoka jest również przy początku konturu pierwszego więc jednak postprocesor ją dodaje owszem możesz zmienić ten czas na dłuższy zmieniając wartość P
jednakże jest to trochę fuszera i faktycznie warto jednak w ten sygnał ARC się wgłębić i go uruchomić w tedy zwłoka będzie adekwatna do faktycznego czasu potrzebnego na odpaleniesnajperman-s1 pisze:zmien G04 P0.8 na np P2 i wychodząc zapisz zmiany i już masz zmienione - to do Macha i próba.
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
Autor tematu - Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 8
- Posty: 28
- Rejestracja: 03 lis 2016, 01:14
- Lokalizacja: Krk
DOHC - Skonfigurować sygnał ARC ok to rozumiem że przypisąć go w sygnałach input pod Probe , tak ? Jak mam dopisać kod do procesora ? Jak już wspominałem ciemny jestem
Snajperman-s1 - już próbowałem tak zrobic i bez zmian, po zmianie dyszy tak samo.
adam Fx - prawdopodobnie sygnał ARC rozwiąże sprawę. chciałbym użyc poniższego procesora i makro znalezione na forum - będą dobre ?
Do tego sygnał ARC Ok przypisac do PROBE w input signals ?
Kod:
function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("plasma THC300 post processor\n")
ctrl:AppendText("\n")
ctrl:AppendText("Modal G-codes and coordinates\n")
ctrl:AppendText("Comments enclosed with ( and )\n")
ctrl:AppendText("M03/M05 turn the torch on/off\n")
ctrl:AppendText("Incremental IJ\n")
ctrl:AppendText("The torch is referenced at cut start and every 500mm of movement thereafter\n")
ctrl:AppendText("Designed for use with Mach2 and Campbell Designs THC300\n")
ctrl:AppendText("Post variables:\n")
ctrl:AppendText("refdistance - set the distance between each reference\n")
end
-- revision 3/2/07
-- Removed final safety move. This is now done in SheetCam
-- revision 7/10/05
-- Added new arc handling
-- created 27/10/04
-- Based on plasma1.post
function OnInit()
post.SetCommentChars ("()", "[]") --make sure ( and ) characters do not appear in system text
post.Text (" (Filename: ", fileName, ")\n")
post.Text (" (Post processor: ", postName, ")\n")
post.Text (" (Date: ", date, ")\n")
if(scale == metric) then
post.Text (" G21 (Units: Metric)\n") --metric mode
else
post.Text (" G20 (Units: Inches)\n") --inch mode
end
post.Text (" G53 G90 G40\n F1\n S500\n")
dist = 9999999
refdistance = 500 * scale
switchoffset = -0.08
bigarcs = 1 --stitch arc segments together
minArcSize = 0.05 --arcs smaller than this are converted to moves
end
function OnNewLine()
post.Text ("N")
post.Number (lineNumber, "0000")
lineNumber = lineNumber + 10
end
function OnFinish()
post.Text (" M05 M30\n")
end
function OnRapid()
if(math.hypot(endX-currentX , endY-currentY) < 0.001 and endZ < currentZ) then return end
dist = dist + math.hypot(endX-currentX , endY-currentY)
post.ModalText (" G00")
post.ModalNumber (" X", endX * scale, "0.0000")
post.ModalNumber (" Y", endY * scale, "0.0000")
post.ModalNumber (" Z", endZ * scale, "0.0000")
post.Eol()
end
function OnMove()
dist = dist + math.hypot(endX-currentX , endY-currentY)
post.ModalText (" G01")
post.ModalNumber (" X", endX * scale, "0.0000")
post.ModalNumber (" Y", endY * scale, "0.0000")
post.ModalNumber (" Z", endZ * scale, "0.0000")
post.ModalNumber (" F", feedRate * scale, "0.###")
post.Eol()
end
function OnArc()
dist = dist + math.hypot(endX-currentX , endY-currentY)
if(arcAngle <0) then
post.ModalText (" G03")
else
post.ModalText (" G02")
end
post.NonModalNumber (" X", endX * scale, "0.0000")
post.NonModalNumber (" Y", endY * scale, "0.0000")
post.ModalNumber (" Z", endZ * scale, "0.0000")
post.Text (" I")
post.Number ((arcCentreX - currentX) * scale, "0.0000")
post.Text (" J")
post.Number ((arcCentreY - currentY) * scale, "0.0000")
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
function OnPenDown()
post.Text ("\n G00 Z20\n")-- ustawienie palnika ok 20mm nad materiał
post.Text ("\n M03\n")-- Załączenie plazmy
post.Text ("\n G31 Z-10 F300\n")-- szukanie materiału z prędkością 300 do pozycji Z=-10
post.Text ("\n G92 Z3\n")-- Zerowanie osi Z + przykładowa korekcja
post.Text ("\n G00 Z6\n")-- podniesienie palnika 6mm nad materiał
post.Text ("\n G04 P1000\n")-- czas przebijania materiału 1000ms/1s
post.Text ("\n G00 Z1\n")-- obniżenie palnika 1mm nad materiał
end
function OnPenUp()
post.Text (" M05\n")
end
function OnNewOperation()
post.Text (" (Process: ", operationName, ")\n")
if (plungeRate <= 0) then
post.Warning("WARNING: Plunge rate is zero")
end
if (feedRate <= 0) then
post.Warning("WARNING: Feed rate is zero")
end
end
function OnComment()
post.Text(" (",commentText,")\n")
end
function OnToolChange()
post.Text (" M06 T")
post.Number (tool, "0")
post.Text (" (", toolName, ")\n")
end
function OnNewPart()
post.Text(" (Part: ",partName,")\n");
end
function OnDrill()
OnRapid()
OnPenDown()
endZ = drillZ
OnMove()
OnPenUp()
endZ = safeZ
OnRapid()
end
A tu makro do macha M300 pod ARC OK PROBE ze strony Proma Elektronika
Kod:
HeightOfDetect = 10
SpeedOfDetect = 300
Offset = 5
HeightOfPierce = 5
HeightOfCut = 1
Delay = Param1()
Dim MaterialPos As Double
If GetOEMDro(186)>HeightOfDetect Or GetOEMDro(186) Then code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
DoSpinCW()
sleep(200) message("Detecting of material pos.")
code "G31 Z-10 F" & SpeedOfDetect
While IsMoving()
Wend
If GetOEMDro(186)=-10 Then
DoSpinStop() message("No material detected")
code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
1: GoTo 1
Else
MaterialPos = GetOEMDro(186) - offset
message("Material detected pos = " & MaterialPos)
If Delay>200 Then
code "G00 Z" & MaterialPos + HeightOfPierce
While IsMoving()
Wend
End If
Sleep(Delay+1)
code "G00 Z" & MaterialPos + HeightOfCut
While IsMoving()
Wend
End If

Snajperman-s1 - już próbowałem tak zrobic i bez zmian, po zmianie dyszy tak samo.
adam Fx - prawdopodobnie sygnał ARC rozwiąże sprawę. chciałbym użyc poniższego procesora i makro znalezione na forum - będą dobre ?
Do tego sygnał ARC Ok przypisac do PROBE w input signals ?
Kod:
function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("plasma THC300 post processor\n")
ctrl:AppendText("\n")
ctrl:AppendText("Modal G-codes and coordinates\n")
ctrl:AppendText("Comments enclosed with ( and )\n")
ctrl:AppendText("M03/M05 turn the torch on/off\n")
ctrl:AppendText("Incremental IJ\n")
ctrl:AppendText("The torch is referenced at cut start and every 500mm of movement thereafter\n")
ctrl:AppendText("Designed for use with Mach2 and Campbell Designs THC300\n")
ctrl:AppendText("Post variables:\n")
ctrl:AppendText("refdistance - set the distance between each reference\n")
end
-- revision 3/2/07
-- Removed final safety move. This is now done in SheetCam
-- revision 7/10/05
-- Added new arc handling
-- created 27/10/04
-- Based on plasma1.post
function OnInit()
post.SetCommentChars ("()", "[]") --make sure ( and ) characters do not appear in system text
post.Text (" (Filename: ", fileName, ")\n")
post.Text (" (Post processor: ", postName, ")\n")
post.Text (" (Date: ", date, ")\n")
if(scale == metric) then
post.Text (" G21 (Units: Metric)\n") --metric mode
else
post.Text (" G20 (Units: Inches)\n") --inch mode
end
post.Text (" G53 G90 G40\n F1\n S500\n")
dist = 9999999
refdistance = 500 * scale
switchoffset = -0.08
bigarcs = 1 --stitch arc segments together
minArcSize = 0.05 --arcs smaller than this are converted to moves
end
function OnNewLine()
post.Text ("N")
post.Number (lineNumber, "0000")
lineNumber = lineNumber + 10
end
function OnFinish()
post.Text (" M05 M30\n")
end
function OnRapid()
if(math.hypot(endX-currentX , endY-currentY) < 0.001 and endZ < currentZ) then return end
dist = dist + math.hypot(endX-currentX , endY-currentY)
post.ModalText (" G00")
post.ModalNumber (" X", endX * scale, "0.0000")
post.ModalNumber (" Y", endY * scale, "0.0000")
post.ModalNumber (" Z", endZ * scale, "0.0000")
post.Eol()
end
function OnMove()
dist = dist + math.hypot(endX-currentX , endY-currentY)
post.ModalText (" G01")
post.ModalNumber (" X", endX * scale, "0.0000")
post.ModalNumber (" Y", endY * scale, "0.0000")
post.ModalNumber (" Z", endZ * scale, "0.0000")
post.ModalNumber (" F", feedRate * scale, "0.###")
post.Eol()
end
function OnArc()
dist = dist + math.hypot(endX-currentX , endY-currentY)
if(arcAngle <0) then
post.ModalText (" G03")
else
post.ModalText (" G02")
end
post.NonModalNumber (" X", endX * scale, "0.0000")
post.NonModalNumber (" Y", endY * scale, "0.0000")
post.ModalNumber (" Z", endZ * scale, "0.0000")
post.Text (" I")
post.Number ((arcCentreX - currentX) * scale, "0.0000")
post.Text (" J")
post.Number ((arcCentreY - currentY) * scale, "0.0000")
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
function OnPenDown()
post.Text ("\n G00 Z20\n")-- ustawienie palnika ok 20mm nad materiał
post.Text ("\n M03\n")-- Załączenie plazmy
post.Text ("\n G31 Z-10 F300\n")-- szukanie materiału z prędkością 300 do pozycji Z=-10
post.Text ("\n G92 Z3\n")-- Zerowanie osi Z + przykładowa korekcja
post.Text ("\n G00 Z6\n")-- podniesienie palnika 6mm nad materiał
post.Text ("\n G04 P1000\n")-- czas przebijania materiału 1000ms/1s
post.Text ("\n G00 Z1\n")-- obniżenie palnika 1mm nad materiał
end
function OnPenUp()
post.Text (" M05\n")
end
function OnNewOperation()
post.Text (" (Process: ", operationName, ")\n")
if (plungeRate <= 0) then
post.Warning("WARNING: Plunge rate is zero")
end
if (feedRate <= 0) then
post.Warning("WARNING: Feed rate is zero")
end
end
function OnComment()
post.Text(" (",commentText,")\n")
end
function OnToolChange()
post.Text (" M06 T")
post.Number (tool, "0")
post.Text (" (", toolName, ")\n")
end
function OnNewPart()
post.Text(" (Part: ",partName,")\n");
end
function OnDrill()
OnRapid()
OnPenDown()
endZ = drillZ
OnMove()
OnPenUp()
endZ = safeZ
OnRapid()
end
A tu makro do macha M300 pod ARC OK PROBE ze strony Proma Elektronika
Kod:
HeightOfDetect = 10
SpeedOfDetect = 300
Offset = 5
HeightOfPierce = 5
HeightOfCut = 1
Delay = Param1()
Dim MaterialPos As Double
If GetOEMDro(186)>HeightOfDetect Or GetOEMDro(186) Then code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
DoSpinCW()
sleep(200) message("Detecting of material pos.")
code "G31 Z-10 F" & SpeedOfDetect
While IsMoving()
Wend
If GetOEMDro(186)=-10 Then
DoSpinStop() message("No material detected")
code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
1: GoTo 1
Else
MaterialPos = GetOEMDro(186) - offset
message("Material detected pos = " & MaterialPos)
If Delay>200 Then
code "G00 Z" & MaterialPos + HeightOfPierce
While IsMoving()
Wend
End If
Sleep(Delay+1)
code "G00 Z" & MaterialPos + HeightOfCut
While IsMoving()
Wend
End If
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 2
- Posty: 340
- Rejestracja: 22 kwie 2010, 10:34
- Lokalizacja: Nowy Sącz
-
Autor tematu - Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 8
- Posty: 28
- Rejestracja: 03 lis 2016, 01:14
- Lokalizacja: Krk
Prędkość przebijania mam ustawione 600mm/min.
Po zastosowaniu powyzszego procesora i makra palnik włącza sie nad materiałem czyli problem opóźnienia rozwiązany. Jednak prawdopodobnie wymaga porawy parametrów ponieważ :
palnik odpala ponad materiałem, schodzi w dół dociskając blachę i stoi w miejscu parę sekund
następnie podnosi się trochę w górę i znów schodzi w materiał na ok 1-2 sek po czym podnosi się i zaczyna ruch.
gdzie i co poprawić ?
Po zastosowaniu powyzszego procesora i makra palnik włącza sie nad materiałem czyli problem opóźnienia rozwiązany. Jednak prawdopodobnie wymaga porawy parametrów ponieważ :
palnik odpala ponad materiałem, schodzi w dół dociskając blachę i stoi w miejscu parę sekund
następnie podnosi się trochę w górę i znów schodzi w materiał na ok 1-2 sek po czym podnosi się i zaczyna ruch.
gdzie i co poprawić ?