I built a manual control panel and installed it like this:
https://www.machsupport.com/forum/index.php?topic=44875.new#newFiguring out which INPUT was which was straightforward, but I'm having a time figuring out which OUTPUT is which from an API perspective.
I have 3 LEDs PROGRAM RUN, FEED HOLD, JOG HANDLE ACTIVE.
The intent is:
1. If the manual jog handle is activated, turn on the JOG HANDLE ACTIVE light. If the manual jog handle is not active, turn it out. On-screen jogging should work when manual jogging is disabled;
2. If a program is running, turn on the PROGRAM RUN light;
3. If a program is running and "FEED HOLD" (either the physical button or the on-screen button) is pressed, turn off the PROGRAM RUN light and turn on the FEED HOLD light;
4. If a program is running and in "FEED HOLD" state, and CYCLE START is pressed again, resume the feed, turn on the PROGRAM RUN light and turn off the FEED HOLD light;
5. If a program is running and in "FEED HOLD" state, and FEED HOLD (either the physical button or the on-screen button) stop the program and turn off the FEED HOLD light; and
6. For bonus points. if the program is waiting for a CYCLE START input, (like on a tool change) flash the PROGRAM RUN light.
In the motion control section, I connected the ESS output signals to the built-in signals PROGRAM RUN, FEED HOLD, and JOG ACTIVE thinking that Mach might manage all this for me, but no such luck. So now I want to set the signals directly from the code.
But the relationship between the output signal name and its index number is not obvious. How do I know which signal corresponds to what signal number? Is there a table somewhere?