.TH "IOCONTROL - IO" "1" "2007-08-25" "LinuxCNC Documentation" "HAL Component" .SH NAME iocontrol \- interacts with HAL or G-code in non-realtime .SH SYNOPSIS .B [EMCIO] .br .B EMCIO = io .SH DESCRIPTION I/O control handles I/O tasks like coolant, toolchange, E-stop and lube. The signals are turned on and off in non-realtime with G-code or in the case of E-stop in HAL. The following pins are created by the non-realtime IO controller, usually found in $LINUXCNC_HOME/bin/io .P iocontrol is a non-realtime process - if you have strict timing requirements or simply need more I/O, consider using the realtime synchronized I/O provided by \fBmotion\fR(9) instead. .P The INI file is searched for in the directory from which halcmd was run, unless an absolute path is specified. .SH PINS .TP \fBiocontrol.0.coolant\-flood (Bit, Out) TRUE when flood coolant is requested. .TP \fBiocontrol.0.coolant\-mist (Bit, Out) TRUE when mist coolant is requested. .TP \fBiocontrol.0.emc\-enable\-in (Bit, In) Should be driven FALSE when an external E-stop condition exists. .TP \fBiocontrol.0.lube (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. .TP \fBiocontrol.0.lube_level (Bit, In) Should be driven FALSE when lubrication tank is empty. .TP \fBiocontrol.0.tool\-change (Bit, Out) TRUE when a tool change is requested. .TP \fBiocontrol.0.tool\-changed (Bit, In) Should be driven TRUE when a tool change is completed. .TP \fBiocontrol.0.tool\-number (s32, Out) Current tool number. .TP \fBiocontrol.0.tool\-prep\-number (s32, Out) The number of the next tool, from the RS274NGC T-word. .TP \fBiocontrol.0.tool\-prep\-pocket (s32, Out) This is the pocket number (location in the tool storage mechanism) of the tool requested by the most recent T-word. .TP \fBiocontrol.0.tool\-prepare (Bit, Out) TRUE when a T\fIn\fR tool prepare is requested. .TP \fBiocontrol.0.tool\-prepared (Bit, In) Should be driven TRUE when a tool prepare is completed. .TP \fBiocontrol.0.user\-enable\-out (Bit, Out) FALSE when an internal E-stop condition exists. .TP \fBiocontrol.0.user\-request\-enable (Bit, Out) TRUE when the user has requested that E-stop be cleared. .TP \fBiocontrol.0.tool\-prep\-index (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). .SH SEE ALSO .ie '\*[.T]'html' \{\ .UR io.1.html \fBio\fR(1), .UE .UR iov2.1.html \fBiov2\fR(1), .UE .UR ../man9/motion.9.html \fBmotion\fR(9) .UE \} .el \{\ \fBio\fR(1) \fBiov2\fR(1) \fBmotion\fR(9) \} .SH REPORTING BUGS Report bugs at .UR https://github.com/LinuxCNC/linuxcnc/issues .UE .SH AUTHOR Derived from a work by Fred Proctor & Will Shackleford. .SH COPYRIGHT Copyright \(co 2004 the LinuxCNC project. .br This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.