PIV_GTBlock& PIV_GT(); |
Required Header: mechaware.h |
This block represents the standard PIV algorithm as used on the ZMP-SynqNet controller including the Gain Tables and Feed Forward parameters. The only difference is the addition of the Ksm value for smoothing.
Each parameter must have a corresponding .txt file containing structure with five (5) coefficient values. Individual parameters can be modified using the API functions below.
int32_t |
PIV_GT().AxisNumber |
Axis number |
double |
PIV_GT().PosErrorSum |
Summation of position integral error. |
double |
PIV_GT().VelErrorSum |
Summation of velocity integral error. |
double |
PIV_GT().Kpp[index] |
Sets gain value at specified index.
Position Proportion Gain. |
double |
PIV_GT().Kip[index] |
Set integral gain value at index.
Position Integral Gain.
Ki output = Σ(input) * Ki, not to exceed IMax. |
double |
PIV_GT().Kpv[index] |
Sets gain value at index value.
Velocity Proportional Gain. |
double |
PIV_GT().Kpff[index] |
Sets gain value at index value.
Position Feed Forward to Torque Command. |
double |
PIV_GT().Kvff[index] |
Sets gain value at specified index.
Velocity Feed Forward to Velocity Command. |
double |
PIV_GT().Kafff[index] |
Sets gain value at specified index.
Acceleration Feed Forward to Torque Command. |
double |
PIV_GT().Kfff[index] |
Sets gain value at specified index.
Friction Feed Forward to Torque Command. |
double |
PIV_GT().MovingIMax |
Sets gain value at specified index.
Position Integral Limit when Trajectory Generator Command Velocity ~= 0. |
double |
PIV_GT().RestIMax |
Sets gain value at specified index.
Position Integral Limit when Trajectory Generator Command Velocity == 0. |
double |
PIV_GT().Kdv[index] |
Not used. |
double |
PIV_GT().Ksm[index] |
Smoothing parameter.
0 = no smoothing
1 = infinite smoothing |
double |
PIV_GT().OutputLimit[index] |
Control loop output limit.
The absolute value of the control output will never exceed this value. (DAC counts) |
double |
PIV_GT().OutputLimitHigh[index] |
Control loop output positive limit
The control output will never exceed this value in the positive sense. The smaller (more negative) value contained between Output Limit and Output Limit High will take precedence. (DAC counts) |
double |
PIV_GT().OutputLimitLow[index] |
Control loop output negative limit.
The control output will never exceed this value in the positive sense. The smaller (more negative) value contained between Output Limit and Output Limit High will take precedence. (DAC counts) |
double |
PIV_GT().OutputOffset[index] |
Control loop offset.
Creates an offset to the control output. The Output Offset is not removed from the DAC in an abort condition. (DAC counts) |
double |
PIV_GT().Kiv[index] |
Sets gain value at specified index.
Velocity Integral Gain. |
double |
PIV_GT().VintMax[index] |
Sets gain value at specified index.
Velocity Integral Limit. |
double |
PIV_GT().Ka0[index] |
Sets gain value at specified index.
FFT gain block Ka0 ~= 0. Noise injected at Velocity Command.
Ka0 = 0. No Noise Injection. |
double |
PIV_GT().Ka1[index] |
Sets gain value at specified index
Velocity Estimate Smoothing parameter.
0 = No smoothing
1 = Infinite smoothing
|
double |
PIV_GT().Ka2[index] |
Sets gain value at specified index.
FFT gain block Ka2 ~= 0. Noise injected at Torque Command.
Ka2 = 0. No Noise Injection |
The PIV with Reset block is an alternate PIV loop without gain tables or feed forward terms.
.