iocontrol - interacts with HAL or G-code in userspace
EMCIO = io
I/O control handles I/O tasks like coolant, toolchange, e-stop and lube. The signals are turned on and off in userspace with G-code or in the case of e-stop in hal.
The following pins are created by the userspace IO controller, usually found in $LINUXCNC_HOME/bin/io
iocontrol is a userspace process - if you have strict timing requirements or simply need more i/o, consider using the realtime synchronized i/o provided by motion(9) instead.
The inifile is searched for in the directory from which halcmd was run, unless an absolute path is specified.
(Bit, Out) TRUE when flood coolant is requested
(Bit, Out) TRUE when mist coolant is requested
(Bit, In) Should be driven FALSE when an external estop condition exists.
(Bit, Out) TRUE when lube is requested. This pin gets driven True when the controller comes out of E-stop, and when the "Lube On" command gets sent to the controller. It gets driven False when the controller goes into E-stop, and when the "Lube Off" command gets sent to the controller.
(Bit, In) Should be driven FALSE when lubrication tank is empty.
(Bit, Out) TRUE when a tool change is requested
(Bit, In) Should be driven TRUE when a tool change is completed.
(s32, Out) Current tool number
(s32, Out) The number of the next tool, from the RS274NGC T-word
(s32, Out) This is the pocket number (location in the tool storage mechanism) of the tool requested by the most recent T-word.
(Bit, Out) TRUE when a Tn tool prepare is requested
(Bit, In) Should be driven TRUE when a tool prepare is completed.
(Bit, Out) FALSE when an internal estop condition exists
(Bit, Out) TRUE when the user has requested that estop be cleared
(s32, Out) IO’s internal array index of the prepped tool requested by the most recent T-word. 0 if no tool is prepped. On Random toolchanger machines this is the tool’s pocket number (ie, the same as the tool-prep-pocket pin), on Non-random toolchanger machines this is a small integer corresponding to the tool’s location in the internal representation of the tool table. This parameter returns to 0 after a successful tool change (M6).
io(1), iov2(1), motion(9)
Report bugs at https://github.com/LinuxCNC/linuxcnc/issues
Derived from a work by Fred Proctor & Will Shackleford.
© 2004 the LinuxCNC project.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.