Init File
Code:
#include "KMotionDef.h"
// Note Low Gains, Limited Max Limits, No Limit Options, No Soft Limits,
// Large allowed Following Error, No Feed Forward, No Filters, etc
void main()
{
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=30000;
ch0->Accel=25000;
ch0->Jerk=100000;
ch0->P=11.5;
ch0->I=0.0002;
ch0->D=1;
ch0->FFAccel=0.0002;
ch0->FFVel=0.0001;
ch0->MaxI=2047;
ch0->MaxErr=1000;
ch0->MaxOutput=2047;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=1;
ch0->OutputChan0=0;
ch0->OutputChan1=1;
ch0->MasterAxis=-1;
ch0->LimitSwitchOptions=0x12c;
ch0->LimitSwitchNegBit=136;
ch0->LimitSwitchPosBit=136;
ch0->SoftLimitPos=1e+09;
ch0->SoftLimitNeg=-1e+09;
ch0->InputGain0=1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=1;
ch0->OutputOffset=0;
ch0->SlaveGain=0;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=1;
ch0->BacklashRate=10;
ch0->invDistPerCycle=1;
ch0->Lead=5;
ch0->MaxFollowingError=1000;
ch0->StepperAmplitude=250;
ch0->iir[0].B0=0.570375;
ch0->iir[0].B1=-1.07753;
ch0->iir[0].B2=0.508907;
ch0->iir[0].A1=1.91629;
ch0->iir[0].A2=-0.918042;
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=DAC_SERVO_MODE;
ch1->Vel=40000;
ch1->Accel=70000;
ch1->Jerk=100000;
ch1->P=6;
ch1->I=0.0003;
ch1->D=1;
ch1->FFAccel=0.0004;
ch1->FFVel=0.0054;
ch1->MaxI=500;
ch1->MaxErr=100000;
ch1->MaxOutput=2047;
ch1->DeadBandGain=1;
ch1->DeadBandRange=0;
ch1->InputChan0=1;
ch1->InputChan1=1;
ch1->OutputChan0=1;
ch1->OutputChan1=1;
ch1->MasterAxis=-1;
ch1->LimitSwitchOptions=0x110;
ch1->LimitSwitchNegBit=138;
ch1->LimitSwitchPosBit=138;
ch1->SoftLimitPos=1e+09;
ch1->SoftLimitNeg=-1e+09;
ch1->InputGain0=1;
ch1->InputGain1=1;
ch1->InputOffset0=0;
ch1->InputOffset1=0;
ch1->OutputGain=1;
ch1->OutputOffset=0;
ch1->SlaveGain=0;
ch1->BacklashMode=BACKLASH_OFF;
ch1->BacklashAmount=0;
ch1->BacklashRate=0;
ch1->invDistPerCycle=1;
ch1->Lead=11;
ch1->MaxFollowingError=100000;
ch1->StepperAmplitude=250;
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;
ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=60000;
ch2->Accel=40000;
ch2->Jerk=200000;
ch2->P=12;
ch2->I=0.0001;
ch2->D=1;
ch2->FFAccel=0.0001;
ch2->FFVel=0.0009;
ch2->MaxI=2047;
ch2->MaxErr=1000;
ch2->MaxOutput=2047;
ch2->DeadBandGain=1;
ch2->DeadBandRange=0;
ch2->InputChan0=2;
ch2->InputChan1=1;
ch2->OutputChan0=2;
ch2->OutputChan1=1;
ch2->MasterAxis=-1;
ch2->LimitSwitchOptions=0x11c;
ch2->LimitSwitchNegBit=137;
ch2->LimitSwitchPosBit=137;
ch2->SoftLimitPos=1e+06;
ch2->SoftLimitNeg=-1e+06;
ch2->InputGain0=1;
ch2->InputGain1=1;
ch2->InputOffset0=0;
ch2->InputOffset1=0;
ch2->OutputGain=-1;
ch2->OutputOffset=0;
ch2->SlaveGain=0;
ch2->BacklashMode=BACKLASH_OFF;
ch2->BacklashAmount=0;
ch2->BacklashRate=0;
ch2->invDistPerCycle=1;
ch2->Lead=5;
ch2->MaxFollowingError=10000;
ch2->StepperAmplitude=250;
ch2->iir[0].B0=1;
ch2->iir[0].B1=0;
ch2->iir[0].B2=0;
ch2->iir[0].A1=0;
ch2->iir[0].A2=0;
ch2->iir[1].B0=1;
ch2->iir[1].B1=0;
ch2->iir[1].B2=0;
ch2->iir[1].A1=0;
ch2->iir[1].A2=0;
ch2->iir[2].B0=1;
ch2->iir[2].B1=0;
ch2->iir[2].B2=0;
ch2->iir[2].A1=0;
ch2->iir[2].A2=0;
ch7->InputMode=ENCODER_MODE;
ch7->OutputMode=DAC_SERVO_MODE;
ch7->Vel=0.5;
ch7->Accel=1;
ch7->Jerk=5;
ch7->P=0;
ch7->I=0;
ch7->D=0;
ch7->FFAccel=0;
ch7->FFVel=2047;
ch7->MaxI=2047;
ch7->MaxErr=1e+10;
ch7->MaxOutput=2047;
ch7->DeadBandGain=1;
ch7->DeadBandRange=0;
ch7->InputChan0=7;
ch7->InputChan1=1;
ch7->OutputChan0=7;
ch7->OutputChan1=1;
ch7->MasterAxis=-1;
ch7->LimitSwitchOptions=0x100;
ch7->LimitSwitchNegBit=0;
ch7->LimitSwitchPosBit=0;
ch7->SoftLimitPos=1e+09;
ch7->SoftLimitNeg=-1e+09;
ch7->InputGain0=1;
ch7->InputGain1=1;
ch7->InputOffset0=0;
ch7->InputOffset1=0;
ch7->OutputGain=-1;
ch7->OutputOffset=0;
ch7->SlaveGain=1;
ch7->BacklashMode=BACKLASH_OFF;
ch7->BacklashAmount=0;
ch7->BacklashRate=0;
ch7->invDistPerCycle=1;
ch7->Lead=0;
ch7->MaxFollowingError=10000000000;
ch7->StepperAmplitude=250;
ch7->iir[0].B0=1;
ch7->iir[0].B1=0;
ch7->iir[0].B2=0;
ch7->iir[0].A1=0;
ch7->iir[0].A2=0;
ch7->iir[1].B0=1;
ch7->iir[1].B1=0;
ch7->iir[1].B2=0;
ch7->iir[1].A1=0;
ch7->iir[1].A2=0;
ch7->iir[2].B0=1;
ch7->iir[2].B1=0;
ch7->iir[2].B2=0;
ch7->iir[2].A1=0;
ch7->iir[2].A2=0;
EnableAxis(0);
EnableAxis(1);
EnableAxis(2);
EnableAxis(7);
DefineCoordSystem(2,1,0,7); // define XYZU axes
}