Znaleziono 10 wyników
Wróć do „Plazma 4 osie na LinuxCNC”
- 12 sty 2020, 15:39
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
Gratuluję zapału kamar, rzadko go spotkać w dzisiejszym pokoleniu.
- 12 sty 2020, 14:59
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
Nie było mnie chwilę, a tu kilka stron

pochorowałem się trochę i dopiero dziś zarzuciłem na symulator kod z sheetcama i jak dla mnie wygląda OK, wiadomo trzeba by sprawdzić na maszynie, ale to przed Tobą.
Tak jak pisałem, jak zrobisz maszynę i będziesz miał problem z dostosowaniem PP z sheetcama do maszyny to pomogę.
- 08 sty 2020, 22:40
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
Niezgodny koniec z początkiem promienia, czasami zdarza mi się i na płasko, najczęściej pomaga zmienić miejsce w palenia lub sposób, jeżeli to nie wada dxf-a. To na 99% nie wina PP.senio pisze:Dzięki. Ale co z nim nie teges. Zerkniesz na to ?
Tnę coś codziennie, ale tylko blachy, podrzuć ten testowy klucz do plugina na pw ,może się nie obrażą.
- 08 sty 2020, 20:19
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
senio pisze:Nie mam takiego postprocesora w bazach. Tylko do Macha jest rotary. Jeśli u Ciebie jest jakimś cudem to wrzuć go i problem się rozwiąże. Problem jest na 100% postprocesor.
napewno jest, ale masz
- 08 sty 2020, 19:11
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
to mój PP zmodyfikowany pod moją maszynę
M66 to czekanie na potwierdzenie że palnik odpalił , czas czekania 2 sek. w tym przypadku.
Sądzę, że do tej opcji trzeba dokupić PP który kosztuje te 60 funtów, lub pisać swój, ale to chyba nie jest proste.
Dodane 10 minuty 12 sekundy:
senio, zmień PP na PlasmaRotary Linuxcnc, jest w bibliotekach Sheetcama.
Plugin kupiłeś ?, bo ja w swoim nie mogę testować jest zablokowany.
- 08 sty 2020, 16:51
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
W tym przypadku trzeba zacząć od w miarę dokładnego (powtarzalnego osiowania) kształtu ciętego i chyba faktycznie w profilach bez THC będzie lepiej, bo palnik pracuje cały czas przy mocowaniu materiału i nie ma odkształceń.
Prędkość zjazdową na materiał można dać większą, tylko proporcjonalnie trzeba zmienić w PP luz na krańcówce na większy, (bo bezwładność zatrzymania), ale to przecież nie problem.
Jednak gdy maszyna będzie także palić blachy to włączalne THC by się przydało.
G92 wykrywanie mat. zrobił bym tylko na początku cyklu całego pojedynczego elementu aż do odcięcia.
Prędkość zjazdową na materiał można dać większą, tylko proporcjonalnie trzeba zmienić w PP luz na krańcówce na większy, (bo bezwładność zatrzymania), ale to przecież nie problem.
Jednak gdy maszyna będzie także palić blachy to włączalne THC by się przydało.
G92 wykrywanie mat. zrobił bym tylko na początku cyklu całego pojedynczego elementu aż do odcięcia.
- 08 sty 2020, 08:44
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
senio
Nie wiem czy prokopcio dołożył funkcję blokady regulacji do starszych modeli THC, ale jak wprowadzał MyPlasm to było tylko w tym.
Osobiści uważam , że bez tej opcji cięcie otworów i wykańczanie konturów, gdzie istnieje potrzeba zmiany prędkości (a tym samy mus zablokować wysokość) jest co najmniej utrudniona.
Nie wiem czy prokopcio dołożył funkcję blokady regulacji do starszych modeli THC, ale jak wprowadzał MyPlasm to było tylko w tym.
Osobiści uważam , że bez tej opcji cięcie otworów i wykańczanie konturów, gdzie istnieje potrzeba zmiany prędkości (a tym samy mus zablokować wysokość) jest co najmniej utrudniona.
- 07 sty 2020, 16:12
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
- 07 sty 2020, 11:30
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
Proszę:
Oczywiście będziesz musiał zrobić drobne zmiany pod siebie, jak coś to pomogę.
Kod: Zaznacz cały
--************************************************
--*** Set these values up to suit your machine ***
--************************************************
--this is the distance between each torch reference in MILLIMETRES
refDistance = 1
--Put your switch offset value here in MILLIMETRES
switchOffset = 1
--The cutter will slow down for corners and turn off THC below this radius
slowRadius = 30
slowRadiusMin = 2
--Minimum slow down speed.
--This is a scale factor. For instance 0.5 = 50% of the current feed rate
slowPercent = 0.4
--THC on and off codes. Use nil if you don't want THC control e.g:
-- thcOnCode = nil
-- thcOffCode = nil
--here is another example that use M667 and M666
--thcOnCode = " M9"
--thcOffCode = " M8"
thcOnCode = nil
thcOffCode = nil
--This is the code to seek the top of the work
seekCode=" G92.1 \n G38.2 Z-15 F1500"
--You only need to set these if you are using a scriber
--Scriber X,Y,Z offsets in MILLIMETRES. Do not use inches here even if you want inch code
--Use the special code 'nil' on the Z axis to disable it.
--In that case no Z values will be output at all while scribing.
--e.g scriberZ = nil
scriberX = 110
scriberY = 220
scriberZ = 0
--scriber axis. Leave this as nil if the scriber is fixed to the same axis as the torch
--scriberAxis = "A"
scriberAxis = nil
--************************************************
--*** End of settings ***
--************************************************
function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("LinuxCNC plasma THC post processor with engraver\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("M08/M09 turn the engraver on/off\n")
ctrl:AppendText("Incremental IJ - set in mach2\n")
ctrl:AppendText("The torch is referenced at cut start and every 10mm of movement thereafter\n")
ctrl:AppendText("Designed for use with Mach3 and CandCNC MP1000-THC and Floating head Touch-n-Go\n")
ctrl:AppendText("Post variables:\n")
ctrl:AppendText("refDistance - set the distance between each reference\n")
ctrl:AppendText("refFeed - set the feed rate when referencing\n")
ctrl:AppendText("switchOffset - set your net switch offset amount \n")
ctrl:AppendText("Scriber uses any tool number\n")
ctrl:AppendText("slowRadius - slow down below this radius\n")
ctrl:AppendText("slowPercent - minimum percentage to slow down\n")
end
-- created 1/1/06
-- Based on plasma1.post
-- Modified 21/6/2010
-- added option for 'nil' plate marker z
-- Added support for plate marker tool type as well as tool number based plate marker
-- Modified 4/11/2010
-- Added: Reference the torch on the first pen down if the plate marker is the first tool used.
post.DefineVariable("refDistance",sc.unitLINEAR,0,1e17)
post.DefineVariable("refFeed",sc.unitFEED,0,1e17)
post.DefineVariable("switchOffset",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowRadius",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowRadiusMin",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowPercent",sc.unitPERCENT,-1e17,1e17)
function OnInit()
offX = 0
offY = 0
offZ = 0
lineNumber = 1
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 (" F1\n G90 G40\n")
minArcSize = 0.2 --arcs smaller than this are converted to moves
firstRef = true
currentZAxis = "Z"
dist = 9999999
lastz = 0
thcstate = 1
ThcOff()
end
function OnNewLine()
--post.Text ("N")
--post.Number (lineNumber, "0000")
--lineNumber = lineNumber + 1
end
function OnFinish()
post.Text(" \n")
endZ = safeZ
OnRapid()
--endX = 0
--endY = 0
offX = 0
offY = 0
offZ = 0
OnRapid()
post.Text (" M5 M30\n")
end
function OnRapid()
if(endX > 1e17 and endY > 1e17) then return end
local len = math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
dist = dist + len
post.ModalText (" G00")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ and firstRef == false and currentZ ~= safeZ) then
post.ModalNumber (" " .. currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.Eol()
end
function OnMove()
local len = math.hypot(endX - currentX , endY - currentY)
dist = dist + len
if(len > slowRadius) then
ThcOn()
end
post.ModalText (" G01")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
post.ModalNumber (" " .. currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
function OnArc()
local radius = math.hypot(currentX - arcCentreX, currentY - arcCentreY)
dist = dist + radius * math.abs(arcAngle)
if (radius < slowRadius) and (math.abs(arcAngle) > 0.5) and (radius > slowRadiusMin) then
feed = (radius / slowRadius)
if(feed < slowPercent) then
feed = slowPercent
end
feed = feed * feedRate
ThcOff()
else
feed = feedRate
ThcOn()
end
if(arcAngle <0) then
post.ModalText (" G03")
else
post.ModalText (" G02")
end
post.NonModalNumber (" X", (endX + offX) * scale, "0.0000")
post.NonModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
--post.ModalNumber (" " .. currentZAxis, (endZ + offZ) * scale, "0.0000")
post.ModalNumber (" Z", (endZ + offZ) * scale, "0.0000")
end
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 ThcOff()
if(not thcOffCode) then return end
if(thcstate ==1) then
thcstate = 0
post.Text(thcOffCode)
post.Text(" (THC off)\n");
end
end
function ThcOn()
if(not thcOnCode) then return end
if(toolClass == "MarkerTool") or tool > 99 then return end
if(thcstate ==0) then
thcstate = 1
post.Text(thcOnCode)
post.Text(" (THC on)\n");
return
end
if(thcstate == 2) then
thcstate = 0
end
end
function OnPenDown()
if(toolClass == "MarkerTool") or tool > 99 then
if (firstRef) then
Reference()
post.ModalText (" G00")
post.Text(" Z")
post.Number (safeZ * scale, "0.0000")
post.Eol()
offX = scriberX
offY = scriberY
offZ = scriberZ
post.ModalNumber (" X", (currentX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (currentY + offY) * scale, "0.0000")
post.Eol()
end
if (offZ) then
post.ModalNumber (" " .. currentZAxis, (currentZ + offZ) * scale, "0.0000")
post.Eol()
end
post.Text(" M08\n")
else
if(dist >= refDistance) then
dist = 0
Reference();
end
post.ModalText ("\n G01")
post.ModalNumber (" Z", cutHeight * scale, "0.0000")
post.ModalText (" F1500") -- DODANA PREDKOSC ZJAZDOWA Z
post.ModalText ("\n M03")
post.ModalText ("\n M66 P03 L1 Q2")
post.ModalText ("\n G00")
post.ModalNumber (" Z", pierceHeight * scale, "0.0000")
end
if (pierceDelay > 0) then
--post.Text ("\n G04 P")
post.ModalText ("\n G04 P")
post.Number (pierceDelay,"0.###")
end
post.ModalText ("\n G00")
post.ModalNumber (" Z", cutHeight * scale, "0.0000")
post.Eol()
-- thcstate = 2 --leave THC off for plunge move
end
function Reference()
firstRef = false
post.Text(seekCode .. "\n")
post.ModalText(" G92 Z")
post.Number(-switchOffset * scale, "0.0###")
post.Eol()
post.CancelModalNumbers()
end
function OnPenUp()
--if(tool > 99) then
--post.Text(" M09\n")
--else
-- post.Text (" M5\n")
--end
post.Text (" M5\n")
post.Text (" M9\n")
if (endDelay > 0) then
post.Text (" G04 P")
post.Number (endDelay,"0.###")
ThcOff()
post.Eol()
end
end
function OnNewOperation()
post.Text (" (Operation: ", operationName, ")\n")
end
function OnToolChange()
if (toolClass == "MarkerTool" or tool > 99 ) then
ThcOff()
if(scriberAxis and scriberAxis ~= currentZAxis) then
endZ = safeZ
OnRapid()
currentZAxis = scriberAxis
end
if(firstRef ~= true) then
offX = scriberX
offY = scriberY
offZ = scriberZ
end
else
if(scriberAxis and scriberAxis == currentZAxis) then
endZ = safeZ
OnRapid()
currentZAxis = "Z"
end
offX = 0
offY = 0
offZ = 0
end
end
function OnNewPart()
post.Text(" (Part: ",partName,")\n");
end
function OnDrill()
OnRapid()
currentX = endX
currentY = endY
--OnPenDown()
post.Text(seekCode .. "\n")
post.ModalText(" G92 Z")
post.Number(-switchOffset * scale, "0.0###")
post.ModalText ("\n G00")
post.ModalNumber (" Z", pierceHeight * scale, "0.0000")
post.ModalText ("\n M03")
post.ModalText ("\n M66 P03 L1 Q2")
post.ModalText ("\n m5\n")
-- post.ModalText ("\n G00")
--post.ModalNumber (" Z", cutHeight * scale, "0.0000\n")
OnMove()
--OnPenUp()
endZ = safeZ
OnRapid()
end
- 07 sty 2020, 10:28
- Forum: LinuxCNC (dawniej EMC2)
- Temat: Plazma 4 osie na LinuxCNC
- Odpowiedzi: 109
- Odsłony: 7316
Re: Plazma 4 osie na LinuxCNC
senio pisze:Ale zastanawia mnie teraz czy to jest wszystko, w tym konfigu pod 4 osie, i pewnie nie. Moim zdaniem było by to za piękne i trzeba porzeźbić dalej żeby to paliło rury i kwadraty czy prostokąty.
Z MyPlasm THC prokopcia config wygląda jak zwykła frezarka.
Z cięciem rur okrągłych nie powinno być żadnego problemu, obliczać prędkość obwodową i tyle.
Do profili jest rozszerzenie do sheetcama "Rotary pipe cutting" za 60 funtów, ale nie mam, więc nie wiem jak się sprawuje.