I'm finally at the point where I'm ready to bundle up the CNC cabinet with the 
new Knee Servo driver connection and a few of the other changes.  Status LEDs 
on the front cover.

Anyway my research has turned up some interesting conclusions.
1. An open loop stepper motor system with a relay to switch on/off the spindle 
works fine with just an ESTOP input.  There is no such thing as a 'Fault' 
state; just an ESTOP state.

2. A closed loop system where the loop is closed outside of the CNC software 
(MACH or EMC) works like a stepper system but requires something different from 
an ESTOP state if motor drivers are best left powered up but disabled with an 
enable.

3. A closed loop system through EMC (not possible in MACH) also possibly 
doesn't have a fault input and the HAL/INI file entries take care of dealing 
with faults that might occur externally while also handling the absolute ESTOP.

What I've discovered is that the PMDX-126 I used is really mostly targeted at 
the first type systems and of course predominantly MACH since it even has 
mounting holes lined up with the two ribbon cables from the SmoothStepper.

I've designed my system to use the parallel port from the dual boot PC and test 
each change I make on both LinuxCNC and MACH3 on WIN-XP.  I really do wish that 
MESA would target the Windows+MACH market and make a version of their 7i92H 
that competed with the SmoothStepper but would also run with LinuxCNC.  Likely 
they would kill in that market for users knowing they could, if they wanted 
flip a switch without hardware changes into LinuxCNC.

Anyway, a fault signal into the PMDX creates the same effect as the NC ESTOP 
switch circuit opening.  There is no separate way to send the FAULT into the PC 
to be handled differently.  That means either a fault or an ESTOP will shut 
down power to my drives.

So I've been looking at the HAL file and trying to figure out how to decouple a 
driver fault from ESTOP.  It means I wouldn't run the driver faults into the 
PMDX Fault input.  It would have to be an separate input.  And I want that 
fault to only disable the ENABLE output I have allocated to the DB25-1 pin.  
And take the machine offline.  The Machine Enable button on the top goes OFF.

This feature would probably break MACH3 although it might be possible to add 
something that monitors that and in effect clicks their ONLINE button which 
disables the motion keyboard and switches off the ENABLE.

On my LinuxCNC system the "Toggle Machine Power (F2)" button does what I want.  
The ENABLE goes off.  The MIST relay goes off as do any other outputs but the 
ChargePump remains on.

If I assign an input to the FAULT signal from my hardware to what do I couple 
it so that the transition causes the "Toggle Machine Power (F2)" effect.  And 
since the ENABLE going off would clear the FAULT on the servos (if clearable) I 
wouldn't want it to immediately switch Machine power On again.  

In other words it has to be the transition of the fault.  After that I have to 
manually click on the display.  Maybe in the future I'd like an input that does 
what the F2 key does but for now I'd like to keep it simple.

An ESTOP would still do what an ESTOP does which I suspect will remain as:
net estop-external-in    =>  iocontrol.0.emc-enable-in
where
# MESA 7i92H P2 connections DB25-10
net estop-external-in <= hm2_7i92.0.gpio.013.in_not

I have extra inputs on the second parallel port or I could combine more of the 
limit/home switches to free up an input.

Say I did have hm2_7i92.0.gpio.020.in available as an input.
net fault-external-in <= hm2_7i92.0.gpio.020.in

A logical AND of estop-external-in and fault-external-in could then map onto 
iocontrol.0.emc-enable-in

In fact if I wanted to really kludge it I could AND it with one of the limit 
switch inputs although the error message would be incorrect the behavior is 
what I want.  If I logically AND the "max-x-y-min-z" with the fault signal 
which itself is a combination of all drive faults then I'd get the "Toggle 
Machine Power (F2)" operation but just incorrect messages along the side of the 
machine.

Suggestions?  Combining the fault with the limit switch would also make this 
work with MACH3 as long as I check the box (Charge Pump Enabled during ESTOP) 
leaving motor power on but ENABLE off.  And the mushroom ESTOP still shuts off 
the motor power since it's part of a critical NC switch circuit.  

In both cases I have to stop using the FAULT input on the PMDX-126 BoB.
John Dammeyer



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to