Machsupport Forum
Mach Discussion => Mach4 General Discussion => Topic started by: jevs on September 10, 2019, 11:48:50 AM
-
I am not finding much info on utilizing a VFD alarm with Mach4.
Is it "standard" to just have this hooked to an input and program it to create an E-Stop and pop up a message if one occurs, or is there a better way to utilize this?
Anyone have some examples or experience using a VFD alarm with Mach4? I forget exactly what this did with my Mach3 setup (used Machmotion plugin). I know it put up an error message, but I cannot remember what occurred along with the error exactly.
-
Hi,
just hook an input pin of the ESS to the alarm output of the VFD. Logically connect that input to an unused Mach input
signal, ISIG_INPUT50 say, and put this in the SigLib table in the screen load script:
[ISIG_INPUT50]=function(state)
if (state==1) then
mc.mcCntlEStop(inst)
end
end,
Substitute <feehold> or <cyclestop> for Estop as you wish.
Craig
-
Thanks. That is what I will do. However, now you offer up a couple other options with the cycle stop, feed hold, or e-stop. Is there one that is more preferred than others or a general way most oem non Mach controlled machines handle a VFD alarm?
-
Hi,
that depends on the nature of the alarm.
If the VFD is just getting hot then a <feedhold> would be fine, the motion stops and therefore the cutting load drops
and allows the VFD to thermally recover.
If however the alarm is over-current or over-voltage the VFD will shut down and the tool will stop. If you don't stop
the motion of the machine immediately the machine will snap the tool and/or wreck your work and/or work holding.
An Estop is appropriate. A Delta VFD can have several alarm outputs....you could and probably should have more than one
with actions appropriate to each.
Craig
-
Well that was not as simple as I thought it was going to be, but still not bad.
Doing the code above will disable it, however if you hit the enable button it will start working again regardless of the VFD error input condition.
This will not allow allow the machine to be enabled as long as the VFD Alarm relay is open and gives a message so you know why.
SigLib = {
[mc.OSIG_MACHINE_ENABLED] = function (state)
-- Check to make sure there is not a VFD error occurring
if (state == 1) then
VFDErrCheck()
end
machEnabled = state;
ButtonEnable()
end,
-- Add VFD Alarm Input
[mc.ISIG_INPUT0] = function (state) -- VFD ALarm N.C. Relay Contacts
VFDErrCheck() --runs this if Input 0 state ever changes (no "if")
end,
-- Check if VFD Error is occurring before allowing Enable
function VFDErrCheck()
local hSig, rc = mc.mcSignalGetHandle(inst, mc.ISIG_INPUT0)
local sigState, rc = mc.mcSignalGetState(hSig)
if (sigState == 1) then
rc = mc.mcCntlEStop(inst)
rc = mc.mcCntlSetLastError(inst, "VFD Error - Machine Disabled")
end
end
-
Hi,
many servos and VFDs require an alarm reset usually provided by the controller.
If the controller cannot be enabled because of a VFD alarm and you cannot clear the alarm until
the controller is enabled......
Craig
-
This one is not that smart.
-
if you manage inverter alarm already i can suggest you manage one very important error and its that
inverter cant stop the spindle on the requirement time you define
in this case its mean that spindle can now rotate from any reason,while it spouse to stop, ,so you must block any movement or outputs for several minutes