Hello Guest it is May 28, 2020, 08:55:54 AM

Show Posts

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.

Topics - fredeflint

Pages: 1
General Mach Discussion / Mach 3 outputs and e stop behavior
« on: February 08, 2018, 05:45:18 PM »

As has been noted in other threads i found from searching the forum, the output signals get set to their  inactive state when the mach 3 program is in estop.

My situation:
I am trying to use the outputs currently to control an electronic vise holding the work piece. The vise is activated by a relay driven by an output pin on my controller card. The pin is mapped to an output signal in the mach3 ports and pins setup.

My issue:
So the issue is that if the vise is closed and you e stop, it will open, which i don't want. What i want is just that the state of the output is unchanged at an estop. ie if it is inactive and you estop, it remains inactive. if it is active and you estop, it remains active. hence this problem is not solved by simply changing the output from active high to active low etc.

So i thought maybe you could use a brain or macropump to add logic to keep the output steady during estop but does the estop state override brains?or is there some other way to achieve this perhaps?

Basically i want the output signal to latch at an estop, not change to its inactive state.

Thank you for your time.  


I am trying to write a macro with vbscript which will call feed hold using "DoOEMButton(1001)" but mach3 seems to blow right through the macro and the code does not pause in the same way it would if i hit space bar or click thefeed hold button on the default mill screen set. Is this the correct way to call a feedhold from a macro?

I found the feedhold button info on this page:

Some background in case there is a better idea for doing what i want instead of feed hold:

I have multiple vise setup holding many blanks that will all get the same machining done on them.

I have a gcode that changes coordinates, calls the main part to cut the part several times etc, this all seems to work perfectly once the coordinate systems are setup.

What i desire is that at the beginning of each copy mach3 prompts the operator to verify the XY Zero is lined up. To check this i have a camera on the spindle, so the gcode moves the camera to what it thinks the XY zero for each respective part is before it cuts it. If it is not lined up I want the user to be able to jog the spindle to line up the camera, reset the coordinate system offset, and then continue.

My first attempt at this was to make MsgBox in vbscript that more or less says "is it ok" and you have yes or no. if yes it just continues, but if the msgbox returns no i call "code" M0", the spindle stops, you can jog, use some buttons i made to reset the coordinates once the camera is aligned.

This is almost a good enough solution EXCEPT i dont want the spindle to stop if i have to re align. And it seems that you cant jog once the msgbox is up.  So from what i understand a macro that just causes a feedhold would be excellent and i would not even need a msg box because for example, the gcode execution  would just pause at the beginning of each piece, and the operator can just correct the XY zero if needed and then hit cycle start again. I have tested with pressing space bar to feed hold and it does appear you can jog in feedhold hence why i think it may be the solution.

Any comments suggestions would be appreciated, while i have some experience making screen sets and other simple macros, i can't really think why the feedhold does not happen/do not have the deepest understanding of the software.

Pages: 1