Zaczyna wypalanie po ok 2cm/2 sek - powód ?

Dyskusje na temat przecinarek plazmowych i gazowych sterowanych numerycznie.

DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

#11

Post napisał: DOHC » 25 lut 2017, 21:06

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



Tagi:


Lech10
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 1
Posty: 87
Rejestracja: 20 mar 2015, 20:15
Lokalizacja: Bochnia

#12

Post napisał: Lech10 » 26 lut 2017, 09:48

W machu skonfiguruj wejście arc ok a na pulpicie masz przycisk THC jeśli jest włączony to program nie ruszy bez odpalenia palnika i nie trzeba żadnego kodu.
Ostatnio uruchamiałem stół na thermalu i faktycznie to odpalanie jest z duża zwłoką.


snajperman-s1
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 340
Rejestracja: 22 kwie 2010, 10:34
Lokalizacja: Nowy Sącz

#13

Post napisał: snajperman-s1 » 26 lut 2017, 10:18

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 :lol:

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 5598
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

#14

Post napisał: adam Fx » 26 lut 2017, 21:25

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
snajperman-s1 pisze:zmien G04 P0.8 na np P2 i wychodząc zapisz zmiany i już masz zmienione - to do Macha i próba.
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 odpalenie
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


Autor tematu
pankracy
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 8
Posty: 28
Rejestracja: 03 lis 2016, 01:14
Lokalizacja: Krk

#15

Post napisał: pankracy » 27 lut 2017, 01:06

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 :oops:

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
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 340
Rejestracja: 22 kwie 2010, 10:34
Lokalizacja: Nowy Sącz

#16

Post napisał: snajperman-s1 » 27 lut 2017, 09:06

Nie pisałem żeby za każdym razem tak zmieniać przez notatnik tylko na próbę - jak będzie OK to poprawimy postprocesor a jak nie to po co w nim gmyrac?

Ew. Szybkość przebijania w Sheetcamie jest źle ustawiona!


Autor tematu
pankracy
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 8
Posty: 28
Rejestracja: 03 lis 2016, 01:14
Lokalizacja: Krk

#17

Post napisał: pankracy » 27 lut 2017, 16:20

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ć ?


DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

#18

Post napisał: DOHC » 27 lut 2017, 20:51

Ja Ci z Machem nie pomogę niestety. Ja korzystam z Linuxcnc.

Pozdrawiam

Awatar użytkownika

karpik74
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 394
Rejestracja: 27 cze 2015, 16:36
Lokalizacja: kłodzko

#19

Post napisał: karpik74 » 27 lut 2017, 21:58

Najpierw sprawdź w Machu jak masz ustawione opóźnienie- w sekundach (s) czy w milisekundach (ms). 1 s = 1000 ms.
Załączniki
Beznazwy-1.jpg


DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

#20

Post napisał: DOHC » 27 lut 2017, 22:13

Opóźnienie opóźnieniem ale on nie powinien odliczać opóźnienia ani wykonywać jakiegokolwiek ruchu do czasu potwierdzenia zajarzenia łuku. Można ustawić przebicie 5 s i będzie działać ale to nie jest koszerne rozwiązanie. Po to jest ARC OK żeby program wiedział że może ruszyć z cięciem.

Pozdrawiam

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Przecinarka Plazmowa CNC, Gazowa”