iocontrol — accepts NML I/O commands, interacts with HAL in userspace


loadusr io [-ini inifile]


These pins are created by the userspace IO controller, usually found in $EMC2_HOME/bin/io

The signals are turned on and off in userspace - if you have strict timing requirements or simply need more i/o, consider using the realtime synchronized i/o provided by motion instead.

The inifile is searched for in the directory from which halcmd was run, unless an absolute path is specified.


iocontrol.0.coolant-flood(Bit, Out)
TRUE when flood coolant is requested

iocontrol.0.coolant-mist(Bit, Out)
TRUE when mist coolant is requested

iocontrol.0.emc-enable-in(Bit, In)
Should be driven FALSE when an external estop condition exists.

iocontrol.0.lube(Bit, Out)
TRUE when lube is requested

iocontrol.0.lube_level(Bit, In)
Should be driven FALSE when lubrication tank is empty.

iocontrol.0.tool-change(Bit, Out)
TRUE when a tool change is requested

iocontrol.0.tool-changed(Bit, In)
Should be driven TRUE when a tool change is completed.

iocontrol.0.tool-number(s32, Out)
Current tool number

iocontrol.0.tool-prep-number(s32, Out)
The number of the next tool, from the RS274NGC T-word

iocontrol.0.tool-prep-pocket(s32, Out)
The pocket number (location in tool storage mechanism) of the next tool, as described in the tool table

iocontrol.0.tool-prepare(Bit, Out)
TRUE when a Tn tool prepare is requested

iocontrol.0.tool-prepared(Bit, In)
Should be driven TRUE when a tool prepare is completed.

iocontrol.0.user-enable-out(Bit, Out)
FALSE when an internal estop condition exists

iocontrol.0.user-request-enable(Bit, Out)
TRUE when the user has requested that estop be cleared