Provided by: linuxcnc-uspace_2.9.0~pre0+git20220402.2500863908-4build1_amd64 bug

NAME

       iov2 - interacts with HAL or G-code in userspace

SYNOPSIS

       [EMCIO]
       EMCIO = iov2

DESCRIPTION

       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.

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

   Additional IO v2 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 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.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.user-request-enable
              (Bit, Out) TRUE when the user has requested that estop be cleared

       iocontrol.0.state
              (S32,OUT) Debugging pin reflecting internal state

       See ⟨http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal⟩ for  additional
       information.

SEE ALSO

       io(1) iocontrol(1) LinuxCNC(1)

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.