IOV2

NAME
SYNOPSIS
DESCRIPTION
PINS
Basic pins
Additional IO v2 pins
REPORTING BUGS
AUTHOR
COPYRIGHT

NAME

iov2 - interacts with HAL or G-code in non-realtime

SYNOPSIS

[EMCIO] EMCIO = iov2

DESCRIPTION

I/O control handles I/O tasks like coolant, toolchange and E-stop. The signals are turned on and off in non-realtime 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.

PINS

Basic pins

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 E-stop condition exists.

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 E-stop condition exists.

iocontrol.0.user-request-enable (Bit, Out)

TRUE when the user has requested that E-stop be cleared.

Additional IO v2 pins

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 operations 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.

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 https://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal for additional information.

REPORTING BUGS

Report bugs at https://github.com/LinuxCNC/linuxcnc/issues.

AUTHOR

Derived from a work by Fred Proctor & Will Shackleford. Rework & adding v2 protocol support by Michael Haberler.

COPYRIGHT

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.