Crash


Results 1 to 7 of 7

Thread: Crash

  1. #1
    Registered
    Join Date
    Jan 2012
    Location
    us
    Posts
    33
    Downloads
    0
    Uploads
    0

    Default Crash

    Hi Tom,

    In about 1 in 20 jobs I get a strange Kflop crash. While interpreting gcode the z axis will suddenly dive and stall the x or y axis which causes a following error. After this happens, the kflop will still respond to jog commands but not properly. If I try to move Z up it jerks down. Same with the x, y they both move but jerk in the negative direction, even when I command positive. A soft reintialization of the board does not help. The only way to recover is to power cycle the board.

    I'm running the same gcode job over and over and it does it in different places in the job. It will do it with or without the tool. I replaced the kflop, kanalog and servo driver to no avail. I'm running VB6 with my modified dll. While the gcode is executing I am only doing a kmr("CheckDoneBuf") and polling for x,y, z positions. Any way to determine what might be causing the problem? something I should check after the crash or some kind of a log file perhaps? I know this type of problem can be very difficult to find.

    Thanks, Shannon

    Similar Threads:


  2. #2
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    4045
    Downloads
    0
    Uploads
    0

    Default

    Hi Shannon,

    Yikes! When you say 1 of 20 Jobs - how long are the jobs? What do they mainly consist of? Long paths with short vectors? Any Rapids? What level of Look Ahead Time are you using? If you leave KMotion.exe open are there any messages on the Console Screen? Can you re-create the problem with a simple job? Please post your configuration parameters.

    It sounds like something is getting corrupted. Can you try a Step Response Plot after having the problem and re-initializing? That might give some clues on what is still working and what is not. For example is the trajectory (blue plot) looking normal? Is the servo Output (green) Normal? Encoder Reading (red) reasonable?

    Another approach is to capture the motion trajectory with a C program with a circular buffer and if you can somehow trigger on something going wrong (axis disabled, sudden z change, etc), that might provide some clues. I've attached a Capture program that will capture data and trigger on a z (chan2) following error of more than 20 counts and will then write 1000 data samples to a file. Mostly before the trigger and 20 samples after the trigger.

    Regards

    Attached Files Attached Files
    Regards
    TK http://dynomotion.com


  3. #3
    Registered
    Join Date
    Jan 2012
    Location
    us
    Posts
    33
    Downloads
    0
    Uploads
    0

    Default

    Thanks Tom,

    how long are the jobs? the one that crashed last night and triggered my plea for help was just under 1000 lines. A 2d router carving with around 50 segments. see attached ngc file.

    What do they mainly consist of? the crash occurred in the first segment in this area
    G02 X34.28715 Y14.06464 I-0.07505 J-0.12839
    G02 X34.24017 Y13.92527 I-0.146 J-0.02839
    G02 X34.13442 Y13.78687 I-0.14118 J-0.00173
    G02 X33.99276 Y13.76818 I-0.23479 J1.23302

    Long paths with short vectors? It doesn't seem to matter. I had one crash the other day in the middle of a 6" y motion only line

    Any Rapids? no

    What level of Look Ahead Time are you using? 5

    If you leave KMotion.exe open are there any messages on the Console Screen? I will leave kmotion running until I get a crash

    Can you re-create the problem with a simple job? no. I rerun the jobs that crash and they work fine.

    Please post your configuration parameters. See below

    Can you try a Step Response Plot after having the problem and re-initializing? Yes

    Public Sub init_kflop()

    kmw "Kill2" 'stop the THC.C program in the Kflop in case its running
    kmw "P0=7" 'proportional gain
    kmw "D0=100" 'derivitive gain
    kmw "I0=.0001" 'integral gain
    kmw "Jerk0=4000000"
    kmw "Accel0=100000"
    kmw "FFAccel0=.0001"
    kmw "FFVel0=.004"
    kmw "InputMode0=1" 'encoder
    kmw "OutputMode0=2" 'dc servo
    kmw "InputGain00=1"
    kmw "OutputGain0=1"
    kmw "InputChan00=0"
    kmw "deadband0=100"
    kmw "deadbandgain0=.1"
    kmw "OutputChan00=8" 'first output on snapamp
    kmw "MaxFollowingError0=5000"
    kmw "Maxoutput0=200"
    kmw "MaxI0=200"
    kmw "MasterAxis0=-1"

    'IIR<N> <M>=<A1> <A2> <B0> <B1> <B2>
    kmw "IIR0 0=0.752278 0.000000 0.123861 0.123861 0.000000"
    kmw "IIR0 1=0 0 1 0 0"
    kmw "IIR0 2=1.606600 -0.673034 0.016608 0.033215 0.016608"

    kmw "P1=7" 'proportional gain
    kmw "D1=100" 'derivitive gain
    kmw "I1=.0001" 'integral gain
    kmw "Jerk1=4000000"
    kmw "Accel1=200000"
    kmw "FFAccel1=.0001"
    kmw "FFVel1=.004"
    kmw "InputMode1=1" 'encoder
    kmw "OutputMode1=2" 'dc servo
    kmw "InputGain01=1"
    kmw "OutputGain1=1"
    kmw "InputChan01=1"
    kmw "deadband1=100"
    kmw "deadbandgain1=.1"
    kmw "OutputChan01=9" 'second output on snapamp
    kmw "MaxFollowingError1=5000"
    kmw "Maxoutput1=200"
    kmw "MaxI1=200"
    kmw "MasterAxis1=0"

    'IIR<N> <M>=<A1> <A2> <B0> <B1> <B2>
    kmw "IIR1 0=0.752278 0.000000 0.123861 0.123861 0.000000"
    kmw "IIR1 1=0 0 1 0 0"
    kmw "IIR1 2=1.606600 -0.673034 0.016608 0.033215 0.016608"



    kmw "P2=1" 'proportional gain
    kmw "D2=40" 'derivitive gain
    kmw "I2=0" 'integral gain
    kmw "Jerk2=4000000"
    kmw "Accel2=200000"
    kmw "FFAccel2=.0001"
    kmw "FFVel2=.004"
    kmw "InputMode2=1" 'encoder
    kmw "OutputMode2=2" 'dc servo
    kmw "InputGain02=1"
    kmw "OutputGain2=1"
    kmw "InputChan02=2"
    kmw "OutputChan02=10" 'third output on snapamp
    kmw "MaxFollowingError2=1000"
    kmw "Maxoutput2=200"
    kmw "MaxI2=200"
    'kmw "MasterAxis2=0"
    kmw "MasterAxis2=-1"
    kmw "deadband1=100"
    kmw "deadbandgain1=.1"

    kmw "IIR2 0=0 0 1 0 0"
    kmw "IIR2 1=0 0 1 0 0"
    kmw "IIR2 2=1.920810 -0.923885 0.000769 0.001538 0.000769"

    'Axis 3
    kmw "P3=.15" 'proportional gain
    kmw "D3=3" 'derivitive gain
    kmw "I3=0.00002" '4ntegral gain
    kmw "Jerk3=40000000"
    kmw "Accel3=5000000"
    kmw "FFAccel3=0"
    kmw "FFVel3=0"
    kmw "InputMode3=1" 'encoder
    kmw "OutputMode3=2" 'dc servo
    kmw "InputGain03=-1" '-1 will reverse count
    kmw "OutputGain3=1"
    kmw "InputChan03=3"
    kmw "OutputChan03=11" 'forth output on snapamp
    kmw "MaxFollowingError3=10000"
    kmw "Maxoutput3=200"
    kmw "MaxI3=200"
    kmw "deadband3=100"
    kmw "deadbandgain3=.1"
    kmw "MasterAxis3=-1"
    kmw "IIR3 0=0 0 1 0 0"
    kmw "IIR3 1=0 0 1 0 0"
    kmw "IIR3 2=1.606790 -0.673229 0.016609 0.033219 0.016609"

    'axis A ADC mode used for THC
    kmw "DisableAxis4"
    kmw "InputMode4=2" 'adc
    kmw "OutputMode4=0" 'NO_OUTPUT_MODE 0
    kmw "InputGain04=1" '- will reverse count
    kmw "InputChan04=0" 'plasma arc voltage on adc0
    'kmw "InputChan04=1" 'for testing using adc1 ultrasonic
    kmw "P4=.0001" 'proportional gain
    kmw "D4=0" 'derivitive gain
    kmw "I4=0" 'integral gain
    kmw "Jerk4=5000000"
    kmw "Accel4=4000"
    kmw "FFAccel4=0"
    kmw "FFVel4=0"
    kmw "MaxFollowingError4=2000"
    kmw "Maxoutput4=5"
    kmw "MaxI4=2000"
    kmw "deadband4=0"
    kmw "deadbandgain4=1"
    kmw "IIR4 0=0 0 1 0 0"
    kmw "IIR4 1=0 0 1 0 0"
    kmw "IIR4 2=0 0 1 0 0"

    'gcode_init
    ctrl.Interpreter.abort
    ctrl.Interpreter.MaxAccelX = 20
    ctrl.Interpreter.MaxAccelY = 20
    ctrl.Interpreter.MaxAccelZ = 25

    ctrl.Interpreter.MaxVelX = 500
    ctrl.Interpreter.MaxVelY = 500
    ctrl.Interpreter.MaxVelZ = 500

    ctrl.Interpreter.CountsPerInchX = cpiX
    ctrl.Interpreter.CountsPerInchY = cpiY
    ctrl.Interpreter.CountsPerInchZ = cpiZ


    ctrl.Interpreter.BreakAngle = 20 'if angle is less than this then there will be no stop
    ctrl.Interpreter.CollinearTolerance = 0.001
    ctrl.Interpreter.CornerTolerance = 0.003
    ctrl.Interpreter.FacetAngle = 1 'arcs are broken into small segemnts
    ctrl.Interpreter.MaxLinearLength = 40
    ctrl.Interpreter.TPLookahead = 5

    'EnableAxisX
    'kmw "EnableAxis2"
    'kmw "EnableAxis3"
    ctrl.Interpreter.MainPathRoot = "C:\KMotion428"

    Attached Files Attached Files


  4. #4
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    4045
    Downloads
    0
    Uploads
    0

    Default

    Hi Shannon,

    I don't see anything obvious that sticks out as a problem in your configuration or GCode.

    Do you have a C program running in KFLOP to do the THC?

    It looks like you are based on version 4.28?

    Please try the Step Response and Data Capture tests.

    Regards

    Regards
    TK http://dynomotion.com


  5. #5
    Registered
    Join Date
    Jan 2012
    Location
    us
    Posts
    33
    Downloads
    0
    Uploads
    0

    Default

    Hi Tom,
    No, not running any THC C program right now. Multi tool and am now engraving. The problem has also occurred while plasma cutting.

    Yes I'm still at 4.28.

    Ran about 1 hour last night... no problems. I'll let you know what I find.
    Shannon



  6. #6
    Registered
    Join Date
    Nov 2012
    Location
    USA
    Posts
    139
    Downloads
    0
    Uploads
    0

    Default

    FWIW, I was getting similar strange behavior on mine with my initial setups where I neglected to define the coordinate system. Everything sorta worked, and then it would make a strange move, jogging acted very strangely, etc. I'm a newbie at this but your symptoms sound similar to mine, and I didn't happen to notice that you did that anywhere. Anyhow, just putting it out there. Could be I had something else wrong too, but I'm pretty sure that's how I fixed it.



  7. #7
    Registered
    Join Date
    Jan 2012
    Location
    us
    Posts
    33
    Downloads
    0
    Uploads
    0

    Default

    Thanks John,
    I did define my coordinate system and have quite a few hours on my machine running with different configurations and I get the glitch in all of them. I think it's some kind of noise issue. Tom gave me suggestions of some things to look at next time it does it. Since my first post it has been running perfect.
    Shannon



Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Crash

Crash