File: iov2.1

package info (click to toggle)
linuxcnc 1%3A2.9.7-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 285,604 kB
  • sloc: python: 202,568; ansic: 109,036; cpp: 99,239; tcl: 16,054; xml: 10,631; sh: 10,303; makefile: 1,255; javascript: 138; sql: 72; asm: 15
file content (192 lines) | stat: -rw-r--r-- 5,845 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
.\" Copyright (c) 2020 andypugh
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
.\" USA.
.\"
.\"
.\"
.TH "IOCONTROL - IOV2" "1"  "2021-04" "LinuxCNC Documentation" "The Enhanced Machine Controller"
.SH NAME
iov2 \- interacts with HAL or G-code in non-realtime
.SH SYNOPSIS

.B [EMCIO]
.br
.B EMCIO = iov2

.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. 
.br
I/O Control V2 (iov2) adds more toolchager support for communication with the toolchanger.

Whether \fBio\fR or \fBiov2\fR is used can be chosen in the [EMCIO] section of the INI file.

.SH Pins
.SS Basic 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 estop 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 estop condition exists.

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


.SS Additional IO v2 pins
\fBiocontrol.0.emc\-abort
(BIT,OUT) Signals emc\-originated abort to toolchanger.
.TP
\fBiocontrol.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. 
.TP
\fBiocontrol.0.emc\-reason
(S32,OUT) Convey cause for EMC\-originated abort to toolchanger.
Usage: UI informational. Valid during emc\-abort True. 
.TP
\fBiocontrol.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.
.TP
\fBiocontrol.0.start\-change\-ack
(BIT,IN) Acknowledgment line for start\-change.
.TP
\fBiocontrol.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.
.TP
\fBiocontrol.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.
.TP
\fBiocontrol.0.toolchanger\-reason
(S32,IN) Convey reason code for toolchanger\-originated fault to iov2. Usage
.TP
\fBiocontrol.0.toolchanger\-faulted
(BIT,OUT) Signals toolchanger\-notify line has toggled and toolchanger\-reason\-code was in the fault range.
Next M6 will abort.
.TP
\fBiocontrol.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.
.TP
\fBiocontrol.0.state
(S32,OUT) Debugging pin reflecting internal state.

.PP
See 
.UR http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolchangerProtocolProposal 
.UE
for additional information.


.SH SEE ALSO

.ie '\*[.T]'html' \{\

.UR io.1.html
\fBio\fR(1),
.UE
.UR iocontrol.1.html 
\fBiocontrol\fR(1),
.UE
.UR linuxcnc.1.html 
\fBLinuxCNC(1)\fR,
.UE

\}
.el \{\

\fBio\fR(1)
\fBiocontrol\fR(1)
\fBLinuxCNC(1)\fR

\}


.PP
.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.
.br
Rework & adding v2 protocol support by Michael Haberler.
.SH COPYRIGHT
Copyright \(co 2011 Michael Haberler.
.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.