KFLOP Closed Loop Steppers Init C Code

 

 

Backup 20120530

<pre>#include "KMotionDef.h"main()
{
    printf("Hello World!\n");  // send message to console
    //FPGA(STEP_PULSE_LENGTH_ADD)=63;
    FPGA(STEP_PULSE_LENGTH_ADD)=48 + 0X80;   ch0->InputMode=NO_INPUT_MODE;
    ch0->InputMode=ENCODER_MODE;
    ch0->OutputMode=CL_STEP_DIR_MODE;
    ch0->Vel=20000;
    ch0->Accel=40000;
    ch0->Jerk=4e+006;
    ch0->P=0.1;
    ch0->I=0.002;
    ch0->D=0.1;
    ch0->FFAccel=5e-005;
    ch0->FFVel=5e-005;
    ch0->MaxI=1e+009;
    ch0->MaxErr=1e+012;
    ch0->MaxOutput=1e+009;
    ch0->DeadBandGain=0;
    ch0->DeadBandRange=0.65;
    ch0->InputChan0=0;
    ch0->InputChan1=0;
    ch0->OutputChan0=8;
    ch0->OutputChan1=1;
    ch0->MasterAxis=-1;
    ch0->LimitSwitchOptions=0xc;
    ch0->InputGain0=1;
    ch0->InputGain1=1;
    ch0->InputOffset0=0;
    ch0->InputOffset1=0;
    ch0->OutputGain=-1.5;
    ch0->OutputOffset=0;
    ch0->SlaveGain=1;
    ch0->BacklashMode=BACKLASH_OFF;
    ch0->BacklashAmount=0;
    ch0->BacklashRate=0;
    ch0->invDistPerCycle=1;
    ch0->Lead=0;
    ch0->MaxFollowingError=1000000000;
    ch0->StepperAmplitude=20;

    ch0->iir[0].B0=1;
    ch0->iir[0].B1=0;
    ch0->iir[0].B2=0;
    ch0->iir[0].A1=0;
    ch0->iir[0].A2=0;

    ch0->iir[1].B0=1;
    ch0->iir[1].B1=0;
    ch0->iir[1].B2=0;
    ch0->iir[1].A1=0;
    ch0->iir[1].A2=0;

    ch0->iir[2].B0=1;
    ch0->iir[2].B1=0;
    ch0->iir[2].B2=0;
    ch0->iir[2].A1=0;
    ch0->iir[2].A2=0;


    ch1->InputMode=ENCODER_MODE;
    ch1->OutputMode=CL_STEP_DIR_MODE;
    ch1->Vel=26668;
    ch1->Accel=60000;
    ch1->Jerk=600000;
    ch1->P=0.1;
    ch1->I=0.0035;
    ch1->D=0.1;
    ch1->FFAccel=1e-005;
    ch1->FFVel=1e-005;
    ch1->MaxI=1e+009;
    ch1->MaxErr=1e+012;
    ch1->MaxOutput=1e+009;
    ch1->DeadBandGain=0;
    ch1->DeadBandRange=0.6;
    ch1->InputChan0=1;
    ch1->InputChan1=1;
    ch1->OutputChan0=9;
    ch1->OutputChan1=3;
    ch1->MasterAxis=-1;
    ch1->LimitSwitchOptions=0x0;
    ch1->InputGain0=1;
    ch1->InputGain1=1;
    ch1->InputOffset0=0;
    ch1->InputOffset1=0;
    ch1->OutputGain=2.4;
    ch1->OutputOffset=0;
    ch1->SlaveGain=1;
    ch1->BacklashMode=BACKLASH_OFF;
    ch1->BacklashAmount=0;
    ch1->BacklashRate=0;
    ch1->invDistPerCycle=1;
    ch1->Lead=0;
    ch1->MaxFollowingError=1000000000;
    ch1->StepperAmplitude=20;

    ch1->iir[0].B0=1;
    ch1->iir[0].B1=0;
    ch1->iir[0].B2=0;
    ch1->iir[0].A1=0;
    ch1->iir[0].A2=0;

    ch1->iir[1].B0=1;
    ch1->iir[1].B1=0;
    ch1->iir[1].B2=0;
    ch1->iir[1].A1=0;
    ch1->iir[1].A2=0;

    ch1->iir[2].B0=1;
    ch1->iir[2].B1=0;
    ch1->iir[2].B2=0;
    ch1->iir[2].A1=0;
    ch1->iir[2].A2=0;



    ch3->InputMode=NO_INPUT_MODE;
     ch3->OutputMode=STEP_DIR_MODE;
     ch3->Vel=4000;
     ch3->Accel=40000;
     ch3->Jerk=400000;
     ch3->P=1;
     ch3->I=0;
     ch3->D=0;
     ch3->FFAccel=0;
     ch3->FFVel=0;
     ch3->MaxI=200;
     ch3->MaxErr=1e+006;
     ch3->MaxOutput=200;
     ch3->DeadBandGain=1;
     ch3->DeadBandRange=0;
     ch3->InputChan0=11;
     ch3->InputChan1=3;
     ch3->OutputChan0=11;
     ch3->OutputChan1=7;
     ch3->MasterAxis=-1;
     ch3->LimitSwitchOptions=0x0;
     ch3->InputGain0=1;
     ch3->InputGain1=1;
     ch3->InputOffset0=0;
     ch3->InputOffset1=0;
     ch3->OutputGain=1;
     ch3->OutputOffset=0;
     ch3->SlaveGain=1;
     ch3->BacklashMode=BACKLASH_OFF;
     ch3->BacklashAmount=0;
     ch3->BacklashRate=0;
     ch3->invDistPerCycle=1;
     ch3->Lead=0;
     ch3->MaxFollowingError=1000000000;
     ch3->StepperAmplitude=20; ch3->iir[0].B0=1;
     ch3->iir[0].B1=0;
     ch3->iir[0].B2=0;
     ch3->iir[0].A1=0;
     ch3->iir[0].A2=0; ch3->iir[1].B0=1;
     ch3->iir[1].B1=0;
     ch3->iir[1].B2=0;
     ch3->iir[1].A1=0;
     ch3->iir[1].A2=0; ch3->iir[2].B0=1;
     ch3->iir[2].B1=0;
     ch3->iir[2].B2=0;
     ch3->iir[2].A1=0;
     ch3->iir[2].A2=0;
}</pre>

 

 


#include "KMotionDef.h"main()
{
    printf("Hello World!\n");  // send message to console
    //FPGA(STEP_PULSE_LENGTH_ADD)=63;
    FPGA(STEP_PULSE_LENGTH_ADD)=48 + 0X80;   ch0->InputMode=NO_INPUT_MODE;
    ch0->InputMode=ENCODER_MODE;
    ch0->OutputMode=CL_STEP_DIR_MODE;
    ch0->Vel=20000;
    ch0->Accel=40000;
    ch0->Jerk=4e+006;
    ch0->P=0.1;
    ch0->I=0.002;
    ch0->D=0.1;
    ch0->FFAccel=5e-005;
    ch0->FFVel=5e-005;
    ch0->MaxI=1e+009;
    ch0->MaxErr=1e+012;
    ch0->MaxOutput=1e+009;
    ch0->DeadBandGain=0;
    ch0->DeadBandRange=0.65;
    ch0->InputChan0=0;
    ch0->InputChan1=0;
    ch0->OutputChan0=8;
    ch0->OutputChan1=1;
    ch0->MasterAxis=-1;
    ch0->LimitSwitchOptions=0xc;
    ch0->InputGain0=1;
    ch0->InputGain1=1;
    ch0->InputOffset0=0;
    ch0->InputOffset1=0;
    ch0->OutputGain=-1.5;
    ch0->OutputOffset=0;
    ch0->SlaveGain=1;
    ch0->BacklashMode=BACKLASH_OFF;
    ch0->BacklashAmount=0;
    ch0->BacklashRate=0;
    ch0->invDistPerCycle=1;
    ch0->Lead=0;
    ch0->MaxFollowingError=1000000000;
    ch0->StepperAmplitude=20;

    ch0->iir[0].B0=1;
    ch0->iir[0].B1=0;
    ch0->iir[0].B2=0;
    ch0->iir[0].A1=0;
    ch0->iir[0].A2=0;

    ch0->iir[1].B0=1;
    ch0->iir[1].B1=0;
    ch0->iir[1].B2=0;
    ch0->iir[1].A1=0;
    ch0->iir[1].A2=0;

    ch0->iir[2].B0=1;
    ch0->iir[2].B1=0;
    ch0->iir[2].B2=0;
    ch0->iir[2].A1=0;
    ch0->iir[2].A2=0;


    ch1->InputMode=ENCODER_MODE;
    ch1->OutputMode=CL_STEP_DIR_MODE;
    ch1->Vel=26668;
    ch1->Accel=60000;
    ch1->Jerk=600000;
    ch1->P=0.1;
    ch1->I=0.0035;
    ch1->D=0.1;
    ch1->FFAccel=1e-005;
    ch1->FFVel=1e-005;
    ch1->MaxI=1e+009;
    ch1->MaxErr=1e+012;
    ch1->MaxOutput=1e+009;
    ch1->DeadBandGain=0;
    ch1->DeadBandRange=0.6;
    ch1->InputChan0=1;
    ch1->InputChan1=1;
    ch1->OutputChan0=9;
    ch1->OutputChan1=3;
    ch1->MasterAxis=-1;
    ch1->LimitSwitchOptions=0x0;
    ch1->InputGain0=1;
    ch1->InputGain1=1;
    ch1->InputOffset0=0;
    ch1->InputOffset1=0;
    ch1->OutputGain=2.4;
    ch1->OutputOffset=0;
    ch1->SlaveGain=1;
    ch1->BacklashMode=BACKLASH_OFF;
    ch1->BacklashAmount=0;
    ch1->BacklashRate=0;
    ch1->invDistPerCycle=1;
    ch1->Lead=0;
    ch1->MaxFollowingError=1000000000;
    ch1->StepperAmplitude=20;

    ch1->iir[0].B0=1;
    ch1->iir[0].B1=0;
    ch1->iir[0].B2=0;
    ch1->iir[0].A1=0;
    ch1->iir[0].A2=0;

    ch1->iir[1].B0=1;
    ch1->iir[1].B1=0;
    ch1->iir[1].B2=0;
    ch1->iir[1].A1=0;
    ch1->iir[1].A2=0;

    ch1->iir[2].B0=1;
    ch1->iir[2].B1=0;
    ch1->iir[2].B2=0;
    ch1->iir[2].A1=0;
    ch1->iir[2].A2=0;



    ch3->InputMode=NO_INPUT_MODE;
     ch3->OutputMode=STEP_DIR_MODE;
     ch3->Vel=4000;
     ch3->Accel=40000;
     ch3->Jerk=400000;
     ch3->P=1;
     ch3->I=0;
     ch3->D=0;
     ch3->FFAccel=0;
     ch3->FFVel=0;
     ch3->MaxI=200;
     ch3->MaxErr=1e+006;
     ch3->MaxOutput=200;
     ch3->DeadBandGain=1;
     ch3->DeadBandRange=0;
     ch3->InputChan0=11;
     ch3->InputChan1=3;
     ch3->OutputChan0=11;
     ch3->OutputChan1=7;
     ch3->MasterAxis=-1;
     ch3->LimitSwitchOptions=0x0;
     ch3->InputGain0=1;
     ch3->InputGain1=1;
     ch3->InputOffset0=0;
     ch3->InputOffset1=0;
     ch3->OutputGain=1;
     ch3->OutputOffset=0;
     ch3->SlaveGain=1;
     ch3->BacklashMode=BACKLASH_OFF;
     ch3->BacklashAmount=0;
     ch3->BacklashRate=0;
     ch3->invDistPerCycle=1;
     ch3->Lead=0;
     ch3->MaxFollowingError=1000000000;
     ch3->StepperAmplitude=20; ch3->iir[0].B0=1;
     ch3->iir[0].B1=0;
     ch3->iir[0].B2=0;
     ch3->iir[0].A1=0;
     ch3->iir[0].A2=0; ch3->iir[1].B0=1;
     ch3->iir[1].B1=0;
     ch3->iir[1].B2=0;
     ch3->iir[1].A1=0;
     ch3->iir[1].A2=0; ch3->iir[2].B0=1;
     ch3->iir[2].B1=0;
     ch3->iir[2].B2=0;
     ch3->iir[2].A1=0;
     ch3->iir[2].A2=0;
}

xx