Detekcja materiału między kolejnymi przebiciami, jak?
-
Autor tematu - Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 4
- Posty: 28
- Rejestracja: 27 cze 2015, 20:55
- Lokalizacja: ZG
-
- Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 2
- Posty: 9
- Rejestracja: 01 paź 2017, 16:14
- Lokalizacja: Mazowieckie
Re: Detekcja materiału między kolejnymi przebiciami, jak?
Udało sie komuś zmusić sheetCam do mierzenia wysokości nad materiałem za kazdym wpaleniem?
Mam ten sam problem że mierzy wyskosc co powien czas, właściwie odlełość i radze sobie puki co w ten sposob że jak eneruję sciezke to w optymalizacji biorę minimal thermal distoration=510mm i mierzy za kzadym wpaleniem ale wtedy jest masssaaaa przejazdów co skutkuje dłuim czasem pracy nad detalem
Mam ten sam problem że mierzy wyskosc co powien czas, właściwie odlełość i radze sobie puki co w ten sposob że jak eneruję sciezke to w optymalizacji biorę minimal thermal distoration=510mm i mierzy za kzadym wpaleniem ale wtedy jest masssaaaa przejazdów co skutkuje dłuim czasem pracy nad detalem
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 340
- Rejestracja: 22 kwie 2010, 10:34
- Lokalizacja: Nowy Sącz
Re: Detekcja materiału między kolejnymi przebiciami, jak?
Jasne że tak. W postprocesorze zmieniasz dane odnośnie odległości przejazdu między mierzeniem i mierzy nawet co 1mm....
Rano wrzucę Ci screen w którym miejscu to jest jak będę pił kawe przy kompie :p
Rano wrzucę Ci screen w którym miejscu to jest jak będę pił kawe przy kompie :p
-
- Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 2
- Posty: 9
- Rejestracja: 01 paź 2017, 16:14
- Lokalizacja: Mazowieckie
Re: Detekcja materiału między kolejnymi przebiciami, jak?
super;)) używasz mach3 THC with scriber czy teo z dodatkiem backlash compensation? Korzystasz z mach3 ? Tniesz blachy np. 5mm(mi 5mm udaje sie przy predkości 1050 i zrodle 45A
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 340
- Rejestracja: 22 kwie 2010, 10:34
- Lokalizacja: Nowy Sącz
Re: Detekcja materiału między kolejnymi przebiciami, jak?
Kolego Postprocesor Mach3 with scriber jest do plazmy z grawerką pneumatyczną np.
Otwórz edytor postprocesora w SheetCam i tam na samej górze masz:
--this is the distance between each torch reference in MILLIMETRES
refDistance = 200 (tutaj wpisz co ile mm chcesz detekcję materiału)
Wg mnie prościejszy jest Postprocesor Mach3 flame with THC - G31 - długo na nim pracowałem:
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 100mm 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 = 100 * scale
switchoffset = -3
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()
if(dist >= (refdistance/scale)) then
dist = 0
post.ModalText(" G31 Z -100")
post.ModalNumber (" F", 1000 * scale, "0.0###")
post.Eol()
post.ModalText(" G92")
post.NonModalNumber(" Z", switchoffset, "0.0000")
post.Eol()
post.CancelModalNumbers()
end
--[[ post.ModalText (" G00")
post.ModalNumber (" X", endX * scale, "0.0000")
post.ModalNumber (" Y", endY * scale, "0.0000")
post.Eol()]]
if (preheat > 0) then
post.ModalText (" G00")
post.ModalNumber (" Z", cutHeight * scale, "0.0000")
post.Eol()
post.Text(" M801\n G04 P 0.5\n M802\n G04 P0.1\n M902")
post.Text ("\n G04 P")
post.Number (preheat,"0.###")
post.Eol()
end
post.ModalText (" G00")
post.ModalNumber (" Z", pierceHeight * scale, "0.0000")
post.Text ("\n M03\n")
if (pierceDelay > 0) then
post.Text (" G04 P")
post.Number (pierceDelay,"0.###")
post.Eol()
end
end
function OnPenUp()
post.Text (" M05\n")
if (endDelay > 0) then
post.Text (" G04 P")
post.Number (endDelay,"0.###")
post.Eol()
end
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
Tylko ustaw swój switchoffset oraz prędkość F mierzenia ja miałem 1000.
Co do Twojego drugiego posta - przenieś to pytanie tutaj bo szkoda pisać o dwóch tych samych sprawach w dwóch miejscach.
Prawdopodobnie masz za małą dynamikę maszyny spowodowaną albo słabymi silnikami albo złymi ustawieniami.
Wrzuć screen z motor tuning w Mach3 i opisz maszynę. To że THC nie wyrabia będzie spowodowane dokładnie tym samym co nurkowanie w zakrętach - nie zadziała szybciej niż maszyna potrafi.
Blacha #5mm - zależy co wycinam - jeśli otwór to F ok 800 a po konturach lecimy po 2000-3500mm/min ale źródło to 100A. Oczywiście wiadomo że jakość spada czym szybciej ale mamy detale typowo pod spawanie z każdej strony więc tam idziemy na maxa.
Otwórz edytor postprocesora w SheetCam i tam na samej górze masz:
--this is the distance between each torch reference in MILLIMETRES
refDistance = 200 (tutaj wpisz co ile mm chcesz detekcję materiału)
Wg mnie prościejszy jest Postprocesor Mach3 flame with THC - G31 - długo na nim pracowałem:
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 100mm 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 = 100 * scale
switchoffset = -3
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()
if(dist >= (refdistance/scale)) then
dist = 0
post.ModalText(" G31 Z -100")
post.ModalNumber (" F", 1000 * scale, "0.0###")
post.Eol()
post.ModalText(" G92")
post.NonModalNumber(" Z", switchoffset, "0.0000")
post.Eol()
post.CancelModalNumbers()
end
--[[ post.ModalText (" G00")
post.ModalNumber (" X", endX * scale, "0.0000")
post.ModalNumber (" Y", endY * scale, "0.0000")
post.Eol()]]
if (preheat > 0) then
post.ModalText (" G00")
post.ModalNumber (" Z", cutHeight * scale, "0.0000")
post.Eol()
post.Text(" M801\n G04 P 0.5\n M802\n G04 P0.1\n M902")
post.Text ("\n G04 P")
post.Number (preheat,"0.###")
post.Eol()
end
post.ModalText (" G00")
post.ModalNumber (" Z", pierceHeight * scale, "0.0000")
post.Text ("\n M03\n")
if (pierceDelay > 0) then
post.Text (" G04 P")
post.Number (pierceDelay,"0.###")
post.Eol()
end
end
function OnPenUp()
post.Text (" M05\n")
if (endDelay > 0) then
post.Text (" G04 P")
post.Number (endDelay,"0.###")
post.Eol()
end
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
Tylko ustaw swój switchoffset oraz prędkość F mierzenia ja miałem 1000.
Co do Twojego drugiego posta - przenieś to pytanie tutaj bo szkoda pisać o dwóch tych samych sprawach w dwóch miejscach.
Prawdopodobnie masz za małą dynamikę maszyny spowodowaną albo słabymi silnikami albo złymi ustawieniami.
Wrzuć screen z motor tuning w Mach3 i opisz maszynę. To że THC nie wyrabia będzie spowodowane dokładnie tym samym co nurkowanie w zakrętach - nie zadziała szybciej niż maszyna potrafi.
Blacha #5mm - zależy co wycinam - jeśli otwór to F ok 800 a po konturach lecimy po 2000-3500mm/min ale źródło to 100A. Oczywiście wiadomo że jakość spada czym szybciej ale mamy detale typowo pod spawanie z każdej strony więc tam idziemy na maxa.