Just wanted to share a little success story with you all.

This week I added three physical buttons to my mill.  They are large,
industrial buttons from Allen Bradley that should last forever.  They are:

E-Stop - Red, latching, easy to hit
Pause - Amber, momentary, easy to hit
Run/Resume - Green, momentary, recessed

The first two are trivial.  They interface directly to the appropriate
halui pins.

Here's the problem. "Run" and "Resume" are two distinct operations. HAL
must decide which signal to generate based on the current state of the
system. In addition, halui must be in 'auto' mode in order to run the
program. It must be requested if it is not already selected. Furthermore,
timing can be a bit tricky. Continuing to assert halui.mode.auto,
halui.program.resume, or maybe even halui.program.run can result in screwey
behavior. An ideal solution is to assert these signals only until they take
effect.

My solution (attached) was to:
- Select the appropriate action using 'and' components
- Use flipflop components to stop asserting the signal as soon as they take
effect
- Use the edge component to lock in the decision to ensure one 'run' or
'resume' command from a single button-press event.

I posted this on the wiki here:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?One_Button_Run/Resume

Enjoy!
-Kip

<<attachment: run_pause_halui_schematic.png>>

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to