Hi Tom,
I've been having some issues with the new versions of KmotionCNC (4.33k and 4.33l) and was hoping you could shed some light.
The problem I've been having with both 4.33k and 4.33l is that a user program called by the gcode interpreter will hang at random. The problem is not repeatable and happens at random. Some days it doesn't do it at all. Today it has happened 3 times. Most of the time it has been an S command which hangs. The S command calls a user program to update the spindle jog speed. The gcode interpreter will just stay in that position. The way i've been managing to making the interpreter move past it was by opening up kmotion (not kmotioncnc) and closing it again. The gcode then continues forward in kmotioncnc. The more serious issue is when it hangs on a M5 command. The M5 user program is supposed to turn off the relays which controll the spindle drive. Most of the time it works but on rare occasions the spindle doesn't come to a complete stop. The DAC functions properly but the spindle continues to spin very slowly because the "Spindle Run" relay doesn't turn off. Looking at the digital I/O window in kmotion I can see that the bits are switched off(are in the state that they are supposed to be) but looking on the Konnect the LEDs for those outputs are still on. The only way I've managed to get out of this situation is to power cycle the kflop by shutting down the PC and turning it back on again. Not sure if it's a bug in the program or firmware or if it's being cause by EMI noise from the power supply or something else. The console shows no errors or messages.
Another issue I've been having is when my init program runs and the 2 Konnects are added and initialized the #1(second) Konnect begins to quickly toggle its outputs for a brief moment. I can hear the solenoids on the pallet changer firing away which are controlled by that board. I thought it might be a noise issue due to the length of the ribbon cable but then realized this never happened in KmotionCNC 4.32 and the #0 Konnect is stable and doesn't flicker it's outputs on startup like the #1 Konnect does.
The following are issues that I have ran into in 4.33l but not in 4.33k.
My home user program worked perfectly in 4.32 and 4.33k but an issue with the "move" function creates a follow error in 4.33l. The program has a number of Jog() commands which work fine but once the Move() command is reached it'll move the axis and then error out the axis because it exceeded max follow error. I then changed the Move() command to MoveAtVel() and set the velocity to something relatively slow. This lets the homing program work now but there is a hard thump at the end of the MoveAtVel() move which tells me that either the Acceleration or the Jerk values set in the init program are not being used. Its like the deceleration curve is a step rather than a ramp. What's weird is the axes work fine and decelerate properly when being controller through gcode and jog buttons and even my tool change user program, which uses Move() commands but the Move() commands in my homing program don't.
In 4.33k when i hit the halt button during a tool change the tool change would finish and the machine would wait at the next line of gcode which was fine. In 4.33l, when I hit the halt button during a tool change the axes would stop and the tool would unclamp with the toolholder falling out and then the next line of gcode would execute which was a spindle start command, and the spindle would start spinning while the spindle was unclamped. Essentially only some of the code from the user program was executed, out of sequence and then the next line of gcode was executed and at that point the program would halt. So now I'm afraid to use the halt button. Also hitting the halt button during an axis move makes the axis stop with a step deceleration rather than being ramped down smoothly. Not sure if that's the way halt was designed or if its supposed to decelerate the axis using the accel and jerk values.
Your advice would be greatly appreciated.
-Tom