To whom it may concern: This morning after weeks of operation, I had strange behaviour occur. I would be sending G-code commands in this particular case G1 Z-0.05 F7. It would move once and then when I would repeat it, it would not move. I then tried to jog the Z-axis back and forward with 0.1 mm and that worked. So it is not the stepper motor (I do not believe). I could not see what was happening. The X and Y-axes seemed to work as they should. I then went into the firmware flashing tool and used the settings/options as seen in the attachment. I managed to re-load backed up settings I had but I will re-calibrate the axes. Was this the correct thing to do? It appears to be working again. Not sure what may of happened? Could you tell me what other tests I should run to make sure the board is not damaged and/or the stepper motors? Thanks again,
It sounds like you were expecting incremental moves - If you were in absolute mode, that behaviour would be correct. Incremental mode is set by sending the G-code command G91 Absolute mode is set by sending the G-code command G90 Once set, the mode will stay the same until changed (e.g. by running a program). (It's always good practice to set the mode for the behaviour you expect before sending other commands - also metric / inch mode G20 / G21) Could that be it?
I had been typing in the command G91 X0 Y0 Z0 before any other commands. That would put it into incremental mode, if I am not mistaken or how would the G-code look?
That should put it in incremental mode (G91). That actual command doesn't do anything else though - You could just send G91 on a line of its own. You can tell what mode the controller is currently in by examining the status that it returns after executing a command: If the machine is still on, you could scroll back through the messages to see what was happening.
Thank you, Misterg, I will check but thank you again for your feedback and your insights. It is extremely helpful! Regards.
Hi Misterg, You were right in your thoughts upon investigations. Thanks again for all the information and insight. Regards.
Thank you again, Misterg, Just a question(s) is it preferred to run in absolute (G90) or incremental (G91) mode? I understand creating arcs or circles would need one or the other, if I am not mistaken. Is there a time when you would use both within a program or a particular instance? Regards.
It really depends on what you are trying to do. 99.9% of the time I rely on the post processor to generate the GCode (which includes setting the relevant modes) and don't give it any thought. Most of the time you can achieve the same result with either and it's a matter of convenience. It can be quite confusing to try and visualise a long series of relative moves if reading GCode (but that's why we have GCode visualisers!). It's quite common to switch between them with a manual program - for example if you wanted to manually program a simple operation at several places on the part, it can be convenient to program the actual operation in relative coordinates (G91) and use absolute coordinates (G90) to move to each location - Adding the operation is then just a matter of cutting/pasting the relevant GCode (including the G91 before and the G90 after). Like I said, though, I mostly just leave it to the CAM post processor.
Almost all moves generated by cam software will be in absolute mode. That is because the origin you set in your cam software and the workplace coordinate system zero you set on your machine are the reference points for creating the g-code from your toolpaths. In absolute mode your controller "knows" where the tool position is after each move - in relative mode it would have to work it out. Alex.