Znaleziono 3 wyniki

autor: snajperman-s1
05 sty 2019, 11:34
Forum: Przecinarka Plazmowa CNC, Gazowa
Temat: Detekcja materiału między kolejnymi przebiciami, jak?
Odpowiedzi: 18
Odsłony: 5300

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.
autor: snajperman-s1
05 sty 2019, 01:15
Forum: Przecinarka Plazmowa CNC, Gazowa
Temat: Detekcja materiału między kolejnymi przebiciami, jak?
Odpowiedzi: 18
Odsłony: 5300

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
autor: snajperman-s1
02 lip 2015, 07:40
Forum: Przecinarka Plazmowa CNC, Gazowa
Temat: Detekcja materiału między kolejnymi przebiciami, jak?
Odpowiedzi: 18
Odsłony: 5300

Witam,

Może ja się podepnę pod temat:

Mianowicie używam Mach 3 i Sheetcam i teraz moje pytanie - domontowałem czujnik pod palnikiem (po zetknięciu z materiałem daje sygnał PROBE) i działa z tym że który w Sheetcam postprocesor wybrać? Jest kilka dostępnych i np na Mach 3 with THC and G31 i działa z tym że pomiar wykonuje tylko jeden raz przed pierwszym waleniem a potem już z wartości przyjmuje stałą wysokość... Gdzie i co zmienić żeby pomiar był za każdym razem (nie mam zamontowanego THC ale tylko z taką opcją widzę postprocesor w SheetCam dlatego na nim próbowałem).

Proszę o poradę

Wróć do „Detekcja materiału między kolejnymi przebiciami, jak?”