7
« on: August 07, 2019, 03:53:23 PM »
Thank you.
So I changed my button script to
loadFunction()
I then edited my screen load script, and added a function. This is what was added:
function loadFunction()
local inst = mc.mcGetInstance()
local Stock = mc.mcCntlGetPoundVar(inst, 1050)
local length = (Stock * 12)
local move = (330 - length)
local offset = mc.mcCntlGetPoundVar(inst, 1049)
mc.mcCntlGcodeExecute(inst,"G53 G01 z -0.125 F50\nG53 G00 X 1.00\nG53 G01 A 2.00 F1800")
mc.mcAxisHome(inst,3)
wx.wxMilliSleep(1000)
local osig = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT2)
mc.mcSignalSetState(osig, 1);
wx.wxMessageBox( "Click Ok once material is on Lift Cylinders")
local osig1 = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT9)
mc.mcSignalSetState(osig1, 1);
wx.wxMessageBox("Verify Cylinders are fully raised and area is clear for machine movement")
wx.wxMilliSleep(500)
mc.mcCntlGcodeExecute(inst, "G53 G01 x " .. move .."\n G53 G01 A" .. offset)
mc.mcSignalSetState(osig, 0);
wx.wxMilliSleep(500)
wx.wxMilliSleep(500)
local osig2 = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT4)
mc.mcSignalSetState(osig2, 1);
wx.wxMilliSleep(500)
local osig3 = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT3)
mc.mcSignalSetState(osig3, 1);
wx.wxMilliSleep(500)
local osig4 = mc.mcSignalGetHandle(inst, mc.OSIG_OUTPUT5)
mc.mcSignalSetState(osig4, 1);
wx.wxMilliSleep( 5000)
mc.mcSignalSetState(osig3, 0);
wx.wxMilliSleep(500)
mc.mcSignalSetState(osig4, 0);
wx.wxMilliSleep(1000)
mc.mcSignalSetState(osig2, 0);
wx.wxMilliSleep(500)
mc.mcSignalSetState(osig1, 0);
end
It works, however I am missing something on how to control the timing of it all. It does not wait for the movement at begining to complete before proceeding. I read that you can not use Gcodecontrolexecutewait, as I did in my macro. I also read the gcode should be on one single line which I did.
What am I doing incorrect?
Thanks
Dan