Spindle immediately turns off on error
-
Stopping all commands in the buffer could lead to a positioning error. Alternatively, I can have the spindle kept on until the buffer is empty. Would that be acceptable?
-
@adegtiar said in Spindle immediately turns off on error:
The main reason - safe machining, and catch all inconsistent operations
Yes, so try to catch it in CAM simulation instead of on the Duet? I.e. avoiding it all together.
-
Or run it on the Duet in simulation mode?
-
@dc42 said in Spindle immediately turns off on error:
Stopping all commands in the buffer could lead to a positioning error. Alternatively, I can have the spindle kept on until the buffer is empty. Would that be acceptable?
Yes, this will solve the problem of a broken cutter due to movement with the spindle off.
But, Is it possible to catch the error event to run a script to handle the situation? Is it possible to determine that the last job failed? I would like to determine (inside trigger handler) whether it was done manually (canceled) or as a result of an error ? The trigger fires when machine state is idle.
-
@adegtiar said in Spindle immediately turns off on error:
But, Is it possible to catch the error event to run a script to handle the situation? Is it possible to determine that the last job failed? I would like to determine (inside trigger handler) whether it was done manually (canceled) or as a result of an error ? The trigger fires when machine state is idle.
I guess I could add a "last job finish status" value to the object model.
-
@bearer Cam simulations is OK. Out of bounds of coordinates occurred due to the incorrect WCS (a few mm was insufficient).
-
@dc42 Good idea! But in order to correctly interpret when it happened (just) or a long time ago, it would be good to either reset this status on request (for example, after processing inside a trigger) or so that the last status has the time of the event, how long ago it happened at the time of its reading. Just for example:
if {job.lastPrintStatus='some failure code'} && {job.lastPrintStatusAge < 10} ; react if it is a 'fresh' event, not older 10 seconds (or a couple seconds would be enough for process) echo "Last recent job failed"; ; proposition for event age value ; if this code executes just after error event echo {job.lastPrintStatusAge} ; will be 0 sec G4 S1.0 echo {job.lastPrintStatusAge} ; will be 1 sec G4 S10.0 echo {job.lastPrintStatusAge} ; will be 11 sec
-
Maybe a parameter to the M453 command to set if it should be affected by an error or not.
-
@dc42 Hi, David! Any progress ?
-
Not yet, but it's on the list for possible inclusion in the 3.2 release.