Hello Guest it is March 28, 2024, 01:04:22 PM

Author Topic: engraver control  (Read 6927 times)

0 Members and 1 Guest are viewing this topic.

engraver control
« on: June 07, 2010, 01:09:47 PM »
OK I'm a noob to this and was wondering if anyone could help me out or point me in the right direction. i have installed a platemarker onto my bladerunner AIO controller. i am able to manually turn the plate marker on by clicking the output #2 button on the mach ubobIII screen. now my question is how do i get the plate marker to turn on and off for a g-code that's loaded. then switch back to plasma cutting within the same code. i have looked in all the manuals that i can find but I'm either looking in the wrong spot or i dont have that manual. i  am running mp1000-dthc-scriber as my post processor to do the plasma cutting and engraving.

any help with figuring this out or pointing me in the right direction would be greatly appreciated

thanks
Re: engraver control
« Reply #1 on: June 08, 2010, 12:24:27 AM »

Offline BR549

*
  •  6,965 6,965
    • View Profile
Re: engraver control
« Reply #2 on: June 08, 2010, 09:39:24 PM »
I would use the coolant on/off feature M8 on M9 off

Config the coolant feature to the same port/pin as the output#2.

Then when you called the M8 it turns on the scriber and the m9 turns OFF the scriber

That would be the easy way as no VB programming needed. You may want to look in the POST for your machine to see how they intended to do it????
Re: engraver control
« Reply #3 on: June 08, 2010, 10:15:30 PM »
ok ive looked everywhere that i can think of and cant find coolant on/off button.  how do i config the port and pin set up  the post has it written to turn it on by m08 and m09 off. but cant get mach set up to control it. i dont want to screw anything up either
Re: engraver control
« Reply #4 on: June 08, 2010, 10:28:21 PM »
is that the flood and mist controls. i have flood set to output 2. if i hit the output 2 button the platemarker comes on.

Offline BR549

*
  •  6,965 6,965
    • View Profile
Re: engraver control
« Reply #5 on: June 08, 2010, 10:39:09 PM »
GOTO Config >>>>>>>ports/pins >>>>>>>>>Spindle setup

Then make sure the DISABLE Flood Mist Relays is UNCHECKED

Then  @ Flood M8 Output#(   ) put in the output#


Now to test, go to the MDI line and type in M8. The scriber should turn on.  M9 scriber should turn off.
Re: engraver control
« Reply #6 on: June 08, 2010, 10:59:34 PM »
Yep that worked. now its all up to the proccessor to write the coding correct
Re: engraver control
« Reply #7 on: June 08, 2010, 11:10:01 PM »
thanks alot for your help. i have to edit the to not drop the plasma torch down.

Offline BR549

*
  •  6,965 6,965
    • View Profile
Re: engraver control
« Reply #8 on: June 08, 2010, 11:28:46 PM »
Good to hear you got it working(;-)
Re: engraver control
« Reply #9 on: June 13, 2010, 01:44:54 PM »
ok has anybody had success with the mp1000-dthc.scriber post. i am having a hard time setting the limits in the post. i have set the offsets but the engraver is still not set with the offset that its at in relation to the plasma torch. i have included the post to see were im going wrong. i would also like to install a pause at m08 for a second or two. any help would be great. thanks

function OnAbout(event)
   ctrl = event:GetTextCtrl()
   ctrl:AppendText("plasma MP1000-THC post processor with engraver\n")
   ctrl:AppendText("Tools 100 and up are the 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 500mm 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("switchoffset - set your net switch offset amount \n")
   ctrl:AppendText("\nScriber uses tool numbers 100 and up")
end



--   created 1/1/06
--   Based on plasma1.post



function OnInit()

   offX = 0
   offY = 0
   offZ = 0
  

   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")
   minArcSize = 0.2 --arcs smaller than this are converted to moves

   dist = 9999999
   refdistance = 10* scale

--Put your switch offset value here
   switchoffset =.260
   lastz = 0

--Scriber X,Y,Z offsets
   scriberX = -4.803
   scriberY = -.250
   scriberZ = 2.

end

function OnNewLine()
   post.Text ("N")
   post.Number (lineNumber, "0000")
   lineNumber = lineNumber + 10
end


function OnFinish()
   endZ = 2.0
   OnRapid()
   endX = 0
   endY = 0
   OnRapid()
   post.Text (" M05 M30 G28\n")
end

function OnRapid()
   dist = dist + math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
   post.ModalText (" G00")
   post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
   post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
   post.ModalNumber (" Z", (endZ + offZ) * scale, "0.0000")
   post.Eol()
end

function OnMove()
   dist = dist + math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
   post.ModalText (" G01")
   post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
   post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
   post.ModalNumber (" Z", (endZ + offZ) * scale, "0.0000")
   post.ModalNumber (" F", feedRate * scale, "0.###")
   post.Eol()
end

function OnArc()
   dist = dist + math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
   if(arcAngle <0) then
      post.ModalText (" G03")
   else
      post.ModalText (" G02")
   end
   post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
   post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
   post.ModalNumber (" Z", (endZ + offZ) * 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(tool > 100) then
      post.Text(" M08\n")
      return
   end
   if(dist >= (refdistance/scale)) then
      dist = 0
--      modaltext (" G00")
--      text(" Z")
--      number (pierceheight  * scale, "0.0000")
--      eol()
      post.ModalText(" G28.1 Z")
      post.Number(3 * scale, "0.00")
      post.Eol()
      post.ModalText(" G92 Z0.0\n")
      post.ModalText (" G00")
      post.Text(" Z")
      post.Number (switchoffset, "0.0000")
      post.Eol()
      post.ModalText(" G92 Z0.0\n")
      post.ModalText (" G00")
      post.Text(" Z")
      post.Number (pierceHeight  * scale, "0.0000")
      post.Eol()
   else
      post.ModalText (" G00")
      post.Text(" Z")
      post.Number (pierceHeight  * scale, "0.0000")
      post.Eol()
   end
   if (preheat > 0) then
      post.Text ("\n G04 P")
      post.Number (preheat,"0.###")
      post.Eol()
   end
   post.Text ("\n M03\n")
   if (pierceDelay > 0) then
      post.Text (" G04 P")
      post.Number (pierceDelay,"0.###")
      post.Eol()
   end
end


function OnPenUp()
   if(tool > 100) then
      post.Text(" M09\n")
      return
   end
   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 OnToolChange()
    if (tool > 100) then
        offX = scriberX
        offY = scriberY
        offZ = scriberZ
    else
        offX = 0
        offY = 0
        offZ = 0
    end
end

function OnNewPart()
   post.Text(" (Part: ",partName,")\n");
end

function OnDrill()
   OnRapid()
   OnPenDown()
   endZ = drillZ
   OnMove()
   OnPenUp()
   endZ = safeZ
   OnRapid()
end


« Last Edit: June 13, 2010, 01:46:28 PM by sadisticironwerks »