iov2 - interacts with HAL or G-code in userspace
[EMCIO]
EMCIO = iov2
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.
I/O Control V2 (iov2) adds more toolchager support for communication with the
toolchanger.
Whether
io or
iov2 is used can be chosen in the [EMCIO] section of
the INI file.
- 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. 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.
- 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) This is the pocket number (location in the tool
storage mechanism) of the tool requested by the most recent T-word.
- 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.
iocontrol.0.emc-abort (BIT,OUT) Signals emc-originated abort to
toolchanger.
- iocontrol.0.emc-abort-ack
- (BIT,IN) Acknowledge line from toolchanger for previous
signal, or jumpered to abort-tool-change if not used in toolchanger. NB:
after signaling an emc-abort, iov2 will block until emc-abort-ack is
raised.
- iocontrol.0.emc-reason
- (S32,OUT) Convey cause for EMC-originated abort to
toolchanger. Usage: UI informational. Valid during emc-abort True.
- iocontrol.0.start-change
- (BIT,OUT) Asserted at the very beginning of an M6
operation, before any spindle-off, quill-up, or
move-to-toolchange-position oeprations are executed.
- iocontrol.0.start-change-ack
- (BIT,IN) Acknowledgment line for start-change.
- iocontrol.0.toolchanger-fault
- (BIT,IN) Toolchanger signals fault. This line is
contionuously monitored. A fault toggles a flag in iocontrol which is
reflected in the toolchanger-faulted pin.
- iocontrol.0.toolchanger-fault-ack
- (BIT,OUT) Handshake line for above signal. Will be set by
iov2 after above fault line True is recognized and deasserted when
toolchanger-fault drops. Toolchanger is free to interpret the ack; reading
the -ack lines assures fault has been received and acted upon.
- iocontrol.0.toolchanger-reason
- (S32,IN) Convey reason code for toolchanger-originated
fault to iov2. Usage
- iocontrol.0.toolchanger-faulted
- (BIT,OUT) Signals toolchanger-notify line has toggled and
toolchanger-reason-code was in the fault range. Next M6 will abort.
- iocontrol.0.toolchanger-clear-fault
- (BIT,IN) Resets TC fault condition. Deasserts
toolchanger-faulted if toolchanger-notify is line False. Usage: UI - e.g.
clear fault condition button.
- iocontrol.0.state
- (S32,OUT) Debugging pin reflecting internal state.
See
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal
for additional information.
io(1) iocontrol(1) LinuxCNC(1)
Report bugs at
https://github.com/LinuxCNC/linuxcnc/issues
Derived from a work by Fred Proctor & Will Shackleford.
Rework & adding v2 protocol support by Michael Haberler.
Copyright © 2011 Michael Haberler.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.