Error for fan not found running 3.4.6
-
I am getting a strange error, "Fan 4 not found". I would like to trace it. What gcodes besides M106 and M107 might generate that error message? Also, is there a way to see which line number caused the last error?
It is occurring in the main body of my print.
-
Then it is very likely M106 or M107.
Have you scanned the file you are trying to print for those commands?
Frederick
-
@fcwilt Yes, I have. I am starting to suspect that running 3.5.x on Paneldue and 3.4.6 on Duet2 might have caused the problem. I have reinstalled the 3.4 version of Paneldue and am running the same code file to see if it still puts out the warning message.
-
Do you have any macros that are called by the print code that might be trying to control fan 4?
Frederick
-
@fcwilt I have macros but nothing appears to be calling for Fan 4, in fact, Fan 4 is not even assigned in config.g.
The model code has only 3 instances of M106 and no instances of M107.
-
Just as a test try to control fan 4 (which doesn't exist) with M106/M107 to see if you get the same error message.
Frederick
-
@GeneRisi Could you have assigned a non-existing fan 4 to a tool or in a tool change macro, and it is trying to set it on a tool change? It may help to post your config.g, otherwise we have very little to go on.
Ian
-
@droftarts Thanks, Ian. I started a trace because I am even more suspicious that it has to do with running 3.5.x on my 5 inch Paneldue.
Here’s my config.g:
; Configuration file for Duet WiFi / Ethernet ; executed by the firmware on start-up ; *** General preferences *** ; M111 S0 ; Debugging off M550 P"ToolChanger" ; Set machine name G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin ; ; *** Network *** ; M552 S1 ; Enable Networking M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Enable FTP M586 P2 S0 ; Disable Telnet ; ; *** Kinematics *** ; M667 S1 ; Select CoreXY mode ; ; *** Endstops *** ; M574 X1 P"xstop" S1 ; Set X endstop as active high switch M574 Y1 P"ystop" S1 ; Set Y endstop as active high switch M574 Z1 S2 ; Set Z endstop probe ; note that M574 not used here for A or C M915 C S5 F0 H200 ; Coupler end stop is stall M915 A S10 F0 H200 ; Wiper "A" end stop is stall ;M915 B S10 F0 H200 ; Wiper "B" end stop is stall M558 P8 C"zstop" X0 Y0 Z2 H3 F360:180 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height ; ; *** Bed Leveling *** ; M557 X10:290 Y20:180 S40 ; Define mesh grid M376 H15 ; bed compensation taper if !exists(global.freshMesh) global freshMesh = false else set global.freshMesh = false G29 Q2 ; turn off bed mesh compensation (shouldn't be on, but ...) ; ; *** Drive direction *** ; M569 P0 S0 ; Drive 0 X M569 P1 S0 ; Drive 1 Y M569 P2 S1 ; Drive 2 Z M569 P3 S1 ; Drive 3 E0 - something strange here M569 P4 S1 ; Drive 4 E1 M569 P5 S1 ; Drive 5 E2 M569 P6 S1 ; Drive 6 E3 M569 P7 S0 ; Drive 7 COUPLER M569 P8 S1 ; Drive 8 Wiper "A" ;M569 P9 S1 ; Drive 9 Wiper "B" ; ; *** Drive Mapping *** ; M584 X0 Y1 Z2 A8 C7 E3:4:5:6 ; Apply custom drive mapping ;M584 B9 ; Apply custom drive mapping ; ; *** AXES min and max *** ; M208 X-27:330 Y-49:243 Z0:300 A-43:0 C0:500 S0 ; Set axis maxima & minima ; M208 B0:43 ; ; *** Stepping *** ; M92 X100 Y100 Z1600 ; Set steps per mm at default 1/16 microstepping M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation M350 E16:16:8:16 A16 C8 I1 ; Configure microstepping without interpolation except for Extruder 3 ;M350 B16 M92 C100 A400 E690:690:417:409 ; Set steps per mm at just defined microstepping ;M92 B400 ; ; *** Motion Settings *** ; M566 X400 Y400 Z8 A8 C2 E300:300:300:300 ; Set maximum instantaneous speed changes (mm/min) ;M566 B8 M203 X35000 Y35000 Z1200 A1200 C5000 E7200:7200:3600:3600 ; Set maximum speeds (mm/min) ;M203 B1200 M201 X6000 Y6000 Z400 A400 C400 E7000:7000:600:3000 ; Set accelerations (mm/s^2) ;M201 B400 ;M593 F48 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) ; ; *** Drive Currents *** ; ; motor currents (mA) maxes M906 X1400 Y1400 I30 M906 E1200:1200:500:1380 I10 M906 A700 I40 ;M906 B700 I40 M906 C600 I50 M906 Z1250 I70 ; M84 S120 ; Set idle timeout ; ; *** PanelDue 5i *** ; M575 P1 S1 B57600 ; set baud rate to PanelDue 5 ; ; *** fine Z offset - only adjust if probe has changed trigger point *** ; var z_trigger_offset = -0.01 ; ; *** Define Tools *** ; if !exists(global.toolA) global toolA = 0 if !exists(global.toolB) global toolB = 1 if !exists(global.toolC) global toolC = 2 if !exists(global.toolD) global toolD = 3 ; ; *** *** > Bed < ; M308 S0 P"bedtemp" Y"thermistor" A"bed" T100000 B4138 C0 ; Thermistor M950 H0 C"bedheat" T0 ; Heater M140 H0 ; define the bed heater M143 H0 S225 ; Set temperature limit to 225C (bed) M307 H0 R1.001 C428.841:428.841 D10.89 S1.00 V24.4 B0 I0 ; set PID parameters ; ; *** *** > Tool 0 < ; M308 S1 P"spi.cs1" Y"rtd-max31865" A"T0" F60 ; PT100 M950 H1 C"e0heat" T1 ; Heater M143 H1 S390 ; Set temperature limit to 390C M307 H1 R1.631 C239.974:239.974 D4.07 S1.00 V24.3 B0 I0 ; set PID parameters ; M950 F8 C"fan1" ; HE fan M106 P8 S255 H1 T70 M950 F0 C"fan2" ; PCF fan 0 M106 P0 S0 ; M569 P3 S1 ; Extruder Stepper ; M563 P0 D0 H1 F2 ; Define tool ; M568 P0 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; G10 P0 X-9.0 Y39.0 Z{-5.02 + var.z_trigger_offset} ; Define Tool Offset; homed and leveled hot, bed mesh on, measured at bed=85c, nozzle=240c ; ;M572 D0 S0.025 ; pressure advance for Orbiter if !exists(global.T0_Park_X) global T0_Park_X = -4.2 global T0_Park_Y = 240.0 ; ; *** *** > Tool 1 < ; M308 S2 P"spi.cs2" Y"rtd-max31865" A"T1" F60 ; PT100 M950 H2 C"e1heat" T2 ; Heater M143 H2 S390 ; Set temperature limit to 390C M307 H2 R1.940 C222.050:222.050 D5.17 S1.00 V24.3 B0 I0 ; set PID parameters ; M950 F9 C"duex.fan3" ; HE fan M106 P9 S255 H2 T70 M950 F1 C"duex.fan4" ; PCF fan 1 M106 P1 S0 ; M569 P4 S1 ; Extruder Stepper ; M563 P1 D1 H2 F4 ; Define tool ; M568 P1 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; G10 P1 X-8.65 Y39.15 Z{-5.06 + var.z_trigger_offset} ; Define tool offset - was x-9.1 ;M572 D1 S0.025 ; pressure advance for Orbiter M207 P1 S1.5 F7200 T3000 Z0.075 ; for hardware based retraction if !exists(global.T1_Park_X) global T1_Park_X = 86.0 ; strange change here global T1_Park_Y = 240.5 ; ; *** *** > Tool 2 (unpopulated) < ; ;M308 S3 P"spi.cs3" Y"rtd-max31865" A"T2" F60 ; PT100 ;M950 H3 C"duex.e2heat" T3 ; Heater ;M143 H3 S390 ; Set temperature limit to 390C ; ;M950 F5 C"duex.fan5" ; HE fan ;M106 P5 S255 H3 T70 ;M950 F6 C"duex.fan6" ; PCF fan ;M106 P6 S0 ; ;M569 P5 S1 ; Extruder Stepper ; ;M563 P2 D2 H3 F6 ; Define tool ;G10 P2 X0 Y0 Z0 ; Reset tool axis offsets ;G10 P2 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; ;G10 P2 X-9 Y39 Z-5 ; Define Tool Offset ; ; *** *** > Tool 3 (Hemera) < ; M308 S4 P"spi.cs4" Y"rtd-max31865" A"T3" F60 ; PT100 M950 H4 C"duex.e3heat" T4 ; Heater M143 H4 S390 ; Set temperature limit to 390C ;M307 H4 ... ; Set PID values ; M950 F11 C"duex.fan7" ; HE fan M106 P11 S255 H4 T70 M950 F3 C"duex.fan8" ; PCF fan 3 M106 P3 S0 ; M569 P6 S1 ; Extruder Stepper ; M563 P3 D3 H4 F8 ; Define tool ; M568 P3 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; G10 P3 X19.77 Y43.50 Z{-5.71 + var.z_trigger_offset} ; z was -6.06, then 6.00, y43.65 ; ;M572 D3 S0.07 ; ? Pressure advance ??? if !exists(global.T3_Park_X) global T3_Park_X = 308 global T3_Park_Y = 225.25 ; ; *** Accelerometer *** M955 P0 C"duex.cs5+duex.cs6" ; ; *** Define Servos *** ; > Wiper A < M950 P0 C"duex.pwm4" Q50 ; > Wiper B < M950 P1 C"duex.pwm5" Q50 ; ; *** Stepper noise tuning ;M569 P0 F1 Y10:00 ;M569 P1 F12 Y10:00 ;M569 P2 F6 Y05:03 ; ; M501 ; ; *** Actions *** ; T-1 ;de-select all tools ; ; finis
And this is my “nozzle cleaning” macro:
; for tools T0 and T1 ; echo "begin pblwiper_A" var extlen=15 ;if exists(param.L) ; set var.extlen=param.L ; var fanspd=0.0 if exists(param.F) set var.fanspd = param.F / 100 ; var cooltime=1500 if exists(param.C) set var.cooltime=param.C ; var scrubOnly=false if exists(param.S) set var.scrubOnly=true ; var a0_to_wiper=-5.25 var a0_to_brush=-8.50 ; ;;;;;;; g-code below ; G91 G1 Z1 F500 ; Drop Z 1mm for Safety G90 G1 E-1.00 F1800 ; retract ; G1 Y175 F2000 ; move tool to standby position G1 X-20 F2000 ; M98 p"/macros/set_A_min.g" ; set A wiper to use bottom endstop ; G1 A-33 F500 ; move A wiper out of the way M280 P0 S170 ; move wiper arm to ready position G4 P1000 ; ; Set Up for Pebble Purge ; G1 X-25.7 Y147.9 F24000 ; move to brad location - here to make testing easier - only for tools 0 and 1 ; M98 p"/macros/set_A_max.g" ; set A wiper to use top endstop - determine nozzle tip location ; G1 A{var.a0_to_wiper} E0.75 F500 ; move wiper to tip of std v6 nozzle ; if !var.scrubOnly G4 P0 M280 P0 S18 ; cut off any hanging string from the nozzle G4 P1000 ; ; G1 A-2 F500 ; move brass brad closer G4 P0 ; ; G1 E1 F120 ; trying to avoid strange extrusion speed that happens here G1 P500 ; echo "...Extruding" G1 E{var.extlen} F300 ; Pebble Purge G4 P0 ; G1 A-6 F500 ; move away from nozzle tip M106 S1.00 ; Cooling On M106 S0.93 ; G1 E-0.6 F300 ; Retract G4 P{var.cooltime} ; Dwell for cooltime ; ;M280 P0 S170 ; Servo Wipe 1 - toss pebble G4 P500 ; ; ;M280 P0 S18 ; G4 P1000 ; M280 P0 S170 G4 P1000 ; G1 A{var.a0_to_wiper} F500 ; go back to nozzle tip ; M280 P0 S18 ; G4 P500 ; M280 P0 S170 G4 P1000 else G1 E1.0 F1800 ; restore retracted plastic echo "...Wiping" M42 P0 S0 ; Turn Servo off ; ; ; Move Nozzle Across Nylon Brush ; G1 A{var.a0_to_brush} F500 ; move brush down ; G91 G1 X+0 Y-50 F6000 G1 X+5 Y+50 G1 X+5 Y-50 ; G1 Z-1 F500 ; restore Z height ; G90 ; locations now absolute ; G92 E0 ; Reset Extrusion - extruding ? echo "M106 S", {var.fanspd} M106 S{var.fanspd} ; restore fan speed G4 P0 echo "End of pblwiper_a" ; ;finis
-
@GeneRisi said in Error for fan not found running 3.4.6:
M563 P1 D1 H2 F4
check your config again...
-
@jay_s_uk Thank you so much for pointing that out! There are a few things that are wrong; I really appreciate your help!
This is closed. Thanks for the help!
Gene
-
-