Table of Contents
Error Codes for MS2000 and TG1000 Diagnostics
Error codes are dumped to the serial terminal with the last error code shown first using the DU Y command.
If you're looking for command syntax error codes such as N-1
, N-2
, etc you can find a table at the bottom of the page.
If you're looking for filter wheel error codes, they are listed at the bottom of the page.
- DU Y Example Output
-
2DU Y Adr:2:ZF 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
An empty error buffer on card #2.
The table below lists the meanings of the error codes.
Error Code Table | |
---|---|
Error Number † | Error Description |
0 | No Error |
1-9 | OVERTIME – RECOVERABLE. Error caused by competing tasks using the microprocessor. |
10-14 | OVERSHOT – Move overshot the target; happens frequently, not really an error. |
15 | NEGATIVE LOG – Negative number for Log conversion. |
20-23 | AXIS DEAD – FATAL. No movement for 100 cycles; axis halted. |
30-33 | RUN AWAY – FATAL. Getting further from the target; axis halted. Commonly preceded by 90-93. |
34 | UPPER LIMIT – Upper Limit reached. (axis unspecific) |
35 | LOWER LIMIT – Lower Limit reached. (axis unspecific) |
36 | MOVE INTO UPPER (axis unspecific) |
37 | MOVE INTO LOWER (axis unspecific) |
38 | BACK VOLTAGE LIMIT (axis unspecific) |
42 | Crisp Error |
43 | Crisp Halted |
44 | Finish Speed Clamp |
45 | ADC_LOCK_OOR – Out-of-range error for locked servo - causes unlock. |
46 | ADC_FOLLOW_ERR – Error attempting to follow an analog ADC input. |
47 | Servo Locked |
48 | Task Loop Overtime |
49 | Low Light |
50-53 | ENCODER ERROR OVERFLOW – FATAL. Error term so large that move intent is indiscernible; axis halted. |
54 | I2C Poll Error |
55 | EPROM NO LOAD – Saved-settings on EPROM not loaded, compile date mismatch. |
56 | I2C Busy Error |
57 | I2C Write Error 1 |
58 | I2C Read Error 1 |
59 | I2C No Acknowledgement Error , followed by I2C Chip Address |
60-64 | ADJUST-MOVE ERROR – Failed to clear ‘M’ more than 18 times in a row. FATAL |
65-69 | ADJUST-MOVE WARNING - Failed to clear 'M' less than 19 times in a row, but eventually cleared. RECOVERABLE. |
85 | SCAN LOST PULSES – During a scan, missing pulses were detected. |
86 | SCAN INCOMPLETE – During a scan, terminated before completing the row. |
87 | TTL Report Buffer Overrun |
90-94 | ERROR_LARGE – RECOVERABLE. Motor set to FULL SPEED; hope to catch up (e.g. speed set faster than possible). |
100-104 | INDEX NOT FOUND |
105 | Buffer Overrun |
106 | Buffer Underrun |
110 | SPIM Loop Time, followed by the SPIM State and the Task ID |
120-124 | Encoder E Flag |
140 | ADEPT High Voltage low |
141 | ADEPT I2C Dead |
142 | PIEZO READ POS |
143 | PIEZO WRITE POS |
144 | PIEZO MOVE ERR |
145 | PIEZO READ POS1 |
146 | PIEZO INIT |
147 | PIEZO POS ERROR |
148 | Autofocus 200um safety limit Encountered |
149 | I2C_BAD_BUSY ERROR |
150 | READ_I2C_ZERO_POT_ERR1 |
151 | READ_I2C_ZERO_POT_ERR2 |
152 | READ_I2C_FEEDBACK_POT_ERR1 |
153 | READ_I2C_FEEDBACK_POT_ERR2 |
154 | READ_I2C_ALIGNSET_ERR1 |
155 | READ_I2C_ALIGNSET_ERR2 |
156 | WRITE_I2C_ALIGNSET_ERR1 |
157 | WRITE_I2C_ALIGNSET_ERR2 |
158 | READ_BYTE_I2C_U15_ERR1 |
159 | READ_BYTE_I2C_U15_ERR2 |
160 | READ_BYTES_I2C_U15_ERR1 |
161 | READ_BYTES_I2C_U15_ERR2 |
162 | WRITE_BYTE_I2C_U15_ERR1 |
163 | WRITE_BYTE_I2C_U15_ERR2 |
164 | WRITE_BYTES_I2C_U15_ERR |
165 | WRITE_I2C_ZERO_POT_ERR1 |
166 | WRITE_I2C_ZERO_POT_ERR2 |
167 | WRITE_I2C_FEEDBACK_POT_ERR1 |
168 | WRITE_I2C_FEEDBACK_POT_ERR2 |
169 | DC_PORT_SETUP1_ERR |
170 | DC_PORT_SETUP2_ERR |
171 | DC_PORT_SETUP3_ERR |
172 | I2C_CALIBRATION_ERR |
173 | I2C_AXIS_ENABLE_ERR1 |
174 | I2C_AXIS_ENABLE_ERR2 |
175 | I2C_AXIS_MUTE1_ERR |
176 | I2C_AXIS_MUTE2_ERR |
177 | I2C_READ_TTL_ERR1 |
178 | I2C_READ_PIEZO_DAC_ERR1 |
179 | I2C_READ_PIEZO_DAC_ERR2 |
180 | I2C_WRITE_PIEZO_DAC_ERR |
181 | I2C_READ_ERR2 |
182 | MS_I2C_IDLE_ERR |
183 | MS_I2C_STOP_ERR |
184 | I2C_WRITE_ERR2 |
185 | I2C_WRITE_ERR3 |
186 | I2C_WRITE_ERR4 |
187 | I2C_WRITE_ERR5 |
188 | I2C_WRITE_ERR6 |
189 | I2C_WRITE_ERR7 |
190 | I2C_WRITE_ERR8 |
191 | I2C_WRITE_ERR9 |
192 | I2C_WRITE_ERRA |
193 | I2C_WRITE_ERRB |
194 | I2C_WRITE_ERRC |
195 | I2C_NACK_ERR3 |
196 | I2C_NACK_ERR4 |
197 | I2C_READ_ERR3 |
198 | I2C_READ_ERR4 |
199 | I2C_READ_ERR5 |
200 | I2C_READ_ERR6 |
201 | I2C_READ_ERR7 Tunable lens temp sensor I2C_NACK error |
202 | I2C_READ_TTL_ERR2 |
203 | I2C_NACK_ERROR |
204 | ERR_TTL_READ_TIMEOUT |
205 | ERR_TTL_MISMATCH I2C bus error. |
206 | I2C_WRITE_ERRD |
207 | I2C_WRITE_ERRE |
208 | I2C_READ_ERR8 |
209 | I2C_READ_ERR9 |
210 | I2C_WRITE_ERRF |
211 | I2C_WRITE_ERR10 |
212 | I2C_WRITE_ERR11 |
213 | I2C_WRITE_ERR12 |
214 | I2C_WRITE_ERR13 |
215 | I2C_WRITE_ERR14 |
216 | I2C_WRITE_ERR15 |
217 | READ_BYTE_I2C_U15_ERR3 |
218 | READ_BYTE_I2C_U15_ERR4 |
219 | READ_BYTE_I2C_U15_ERR5 |
220 | READ_BYTE_I2C_U15_ERR6 |
221 | I2C_BUS_ERROR_RD |
222 | I2C_BUS_ERROR_WR |
223 | I2C_WRITE_ERR16 |
224 | I2C_WRITE_ERR17 |
225 | RDBYTE_0 |
226 | RDBYTE_1 |
227 | RDBYTE_2 |
228 | RDBYTE_3 |
229 | RDBYTE_4 |
230 | RDBYTE_5 |
231 | RDBYTE_6 |
233 | RDBYTE_7 |
234 | RDBYTE_8 |
235 | RDBYTE_9 |
236 | READ_I2C_ALIGNSET_ERR3 |
243 | I2C_NACK_WRITING |
244 | LIMIT_NOT_FOUND |
254 | REPORT_PSD |
255 | WRITE_DAC_ERROR0 |
256 | WRITE_DAC_ERROR1 |
257 | WRITE_DAC_ERROR2 |
258 | I2C_DIP_SWITCH_ERR0 |
259 | I2C_DIP_SWITCH_ERR1 |
260 | I2C_DIP_SWITCH_ERR2 |
261 | WRITE_DAC_ERROR3 |
262 | I2C_DIP_SWITCH_ERR3 |
263 | WRITE_I2C_ALIGNSET_ERR3 |
264 | LCD_STATE_ERROR |
300 | Autofocus Scan failed due to insufficient contrast |
301 | Autofocus Calibration Failed |
302 | Clutch Disengaged, Engage clutch to do Autofocus |
305-311 | Source of last Reset , Very common there will always be one preset on controller start. 305(External VDD Mon),309(Software cmd or reset button),307(Missing Clk), 306(Onboard VDD Mon) |
500 | TX1_OVERRUN |
501 | TST_ERROR0 |
502 | TST_ERROR1 |
503 | TST_ERROR2 |
504 | TST_ERROR3 |
505 | TST_ERROR4 |
600-604 | FEEDBACK_POT0_TEST |
610-614 | ZERO_POT0_TEST |
620-624 | ALIGNSET0_TEST |
630-634 | ENCODER_TEST |
635 | DIP_SWITCH_SELF_TEST |
636 | PIEZO_DAC_TEST |
640-641 | FW_DEAD_ERROR |
650-651 | FW_ABSENT_ERROR |
665 | I2C_RECOVER_SUCCESS |
666 | I2C_RECOVER_FAILED |
670 | TTL1_LIMIT_X - TTL1 went “HIGH”, halted X axis |
671 | TTL1_LIMIT_Y - TTL1 went “HIGH”, halted Y axis |
672 | TTL1_LIMIT_Z - TTL1 went “HIGH”, halted Z axis |
673 | TTL1_LIMIT_F - TTL1 went “HIGH”, halted F axis |
65535 | 10 MINUTE ELAPSED TIME MARK |
† Where multiple errors are listed, the last digit indicates the axis number that is in error. On three-axis units X=0
, Y=1
, and Z=2
; on single-axis MFC units, Z=0
.
FATAL errors cause the controller to halt motion on the axis that has the error. A commanded move will not be completed to the desired precision if a FATAL error occurs.
RECOVERABLE errors do not stop the controller from attempting to complete a commanded move. Large numbers of recoverable errors should be taken as a warning. Frequent servo errors (numbers 90-92) often mean that the speed is near or exceeding the stage maximum. Frequent overtime errors (numbers 1-9) often mean that competing processes, such as over-frequent serial status requests, are using too much CPU time.
Legacy CRIFF Error Codes
These error codes are for legacy CRIFF
devices.
Error Number † | Error Description |
---|---|
237 | I2C_WRITE_INT_ERR1 |
238 | I2C_WRITE_INT_ERR2 |
239 | I2C_WRITE_OP_CODE_ERR1 |
240 | I2C_WRITE_OP_CODE_ERR2 |
241 | I2C_READ_INT_ERR1 |
242 | I2C_READ_INT_ERR2 |
248 | CRIFF_I2C_ERR1 |
249 | CRIFF_I2C_ERR2 |
250 | I2C_READ_FAIL |
Other Error Types
Command Syntax Error Codes
When a command is received that the controller cannot interpret, for one reason or another, an error is returned in the following format:
:N-<error code>
The error codes are as follows:
Command Syntax Error Codes | |
---|---|
:N-1 | Unknown Command (not issued in TG-1000) |
:N-2 | Unrecognized Axis Parameter (valid axes are dependent on the controller) |
:N-3 | Missing Parameters (command received requires an axis parameter such as x=1234 ) |
:N-4 | Parameter Out of Range |
:N-5 | Operation Failed |
:N-6 | Undefined Error (command is incorrect, but for none of the above reasons) |
:N-7 | Invalid Card Address |
:N-8 … :N-10 | Reserved |
:N-11 … :N-20 | Reserved For Filterwheel |
:N-21 | Serial Command Halted (by the HALT command) |
:N-30 … :N-39 | Reserved |
Filter Wheel Error Codes
A list of recent errors are available through the Dump Errors (DE) command.
Error Codes | ||
---|---|---|
Name | Number | Notes |
OVERSHOT | 10 | Plus axis number. |
DRIVER_HOT | 25 | |
RUN_AWAY | 30 | Plus axis number, followed by mode. See mode table below. |
LARGE_OVERFLOW | 50 | Plus axis number. |
SLIP_ERROR | 70 | Plus axis number. |
PAST_ERROR | 80 | Plus axis number. |
ERROR_OVERFLOW | 90 | Plus axis number. |
KP_ERR_OVERFLOW | 100 | Plus axis number. |
KV_SPD_OVERFLOW | 110 | Plus axis number. |
KI_SUM_OVERFLOW | 120 | Plus axis number. |
ERR_INTEGRAL_OF | 125 | Plus axis number. |
KD_TRM_OVERFLOW | 130 | Plus axis number. |
KA_TRM_OVERFLOW | 140 | Plus axis number. |
ENCODER0_ERROR | 160 | Plus error number. |
ENCODER1_ERROR | 170 | Plus error number. |
MOVE_OVERTIME | 180 | Plus axis number. |