451
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
ocal rtModule = {}
local inst = mc.mcGetInstance()
local profile = mc.mcProfileGetName(inst)
local path = mc.mcCntlGetMachDir(inst)
function rtModule.rtMessage(msg)
wx.wxMessageBox(msg)
end
function rtModule.rtAudio(fileName)
local audio=wx.wxSound(path.."\\Sounds\\"..fileName..".wav",inst)
audio:Play()
end
function rtModule.rtAudioCountDown(StartNum,EndNum)
local i=StartNum
while i>=EndNum do
rtModule.rtAudio(""..i)
wx.wxMilliSleep(900)
i=i-1
end
end
function rtModule.rtProbeX(Dir)
local r1,r2,r3,retVal,rc
-- local inst=mc.mcGetInstance()
local xStart,rc
xStart=mc.mcAxisGetPos(inst,0)-- Save starting X pos
-- mc.mcCntlSetLastError(inst,"")
mc.mcCntlGcodeExecuteWait(inst,"G31 X0 F4") -- Quick strike
r1,rc=mc.mcAxisGetProbePos(inst,0,false)
mc.mcCntlGcodeExecuteWait(inst,'G01 X'..tostring(mc.mcAxisGetPos(inst,0)+0.030*Dir)..' F4') --Back off
mc.mcCntlGcodeExecuteWait(inst,'G31 X0 F0.5') -- First slow strike
r1,rc=mc.mcAxisGetProbePos(inst,0,false)
mc.mcCntlGcodeExecuteWait(inst,'G01 X'..tostring(mc.mcAxisGetPos(inst,0)+0.030*Dir)..' F4') --Back off
mc.mcCntlGcodeExecuteWait(inst,'G31 X0 F0.5') -- Second slow strike
r2,rc=mc.mcAxisGetProbePos(inst,0,false)
mc.mcCntlGcodeExecuteWait(inst,'G01 X'..tostring(mc.mcAxisGetPos(inst,0)+0.030*Dir)..' F4') --Back off
mc.mcCntlGcodeExecuteWait(inst,'G31 X0 F0.5') -- Third slow strike
r3,rc=mc.mcAxisGetProbePos(inst,0,false)
mc.mcCntlGcodeExecuteWait(inst,'G01 F8 X'..xStart)--return to starting position
retVal=(r1+r2+r3)/3 -- average the strikes
-- mc.mcCntlSetLastError(inst,string.format("%1.4f - %1.4f - %1.4f ",r1,r2,r3))
return retVal
end
return rtModule
--m9000 lathe centering probe
function m9000(hVars)
local xDis=1
local zDis=.25
local zStart
local zEnd
local xPos
local xNeg
local flag, rc
local rt = require "rtMyModule"
local inst = mc.mcGetInstance() -- Get the current instance
local nilPoundVar = mc.mcCntlGetPoundVar(inst,0)
local message = ""
if hVars ~= nil then
flag, rc = mc.mcCntlGetLocalVarFlag(inst, hVars, mc.SV_X)
if (flag == 1) then
xDis, rc = mc.mcCntlGetLocalVar(inst, hVars, mc.SV_X)
if xDis==nil then
xDis=1
end
end
flag, rc = mc.mcCntlGetLocalVarFlag(inst, hVars, mc.SV_Z)
if (flag == 1) then
zDis, rc = mc.mcCntlGetLocalVar(inst, hVars, mc.SV_Z)
if zdis==nil then
zDis=0.25
end
end
end
mc.mcAxisSetPos(inst,0,0)
zStart,rc=mc.mcAxisGetPos(inst,2)
zEnd=zStart-zDis
mc.mcCntlGcodeExecuteWait(inst,'G0 F1 X'..xDis..'\nG0 F1 Z'..zEnd)
--mc.mcCntlSetLastError(inst, "Probing for Positive X" )
xPos= rt.rtProbeX(1)
mc.mcCntlGcodeExecuteWait(inst,'G0 Z'..zStart)
mc.mcCntlGcodeExecuteWait(inst,'G0 X'..-xDis)
mc.mcCntlGcodeExecuteWait(inst,'G0 Z'..tostring(zStart-zDis))
--mc.mcCntlSetLastError(inst, "Probing for Negative X" )
xNeg= rt.rtProbeX(-1)
mc.mcCntlGcodeExecuteWait(inst,'G0 Z'..zStart)
mc.mcCntlGcodeExecuteWait(inst,'g01 f8 X'..tostring(2*xPos-(xPos-xNeg)))
mc.mcAxisSetPos(inst,0,0)
end
if (mc.mcInEditor() == 1) then
m9000(0)
end
function m9002() --testing load rtMyModule
local inst = mc.mcGetInstance()
mc.mcCntlGcodeExecuteWait(inst,"g1F4 x1")
rt = require "rtMyModule"
if rt==nil then
wx.wxMessageBox("rt==nil")
else
rt.rtMessage('Another Hello')
end
end
if mc.mcInEditor()==1 then
m9002()
end