51513 定子電阻,基本上就是找 `MOTOR_STATORRESISTANCE` 這個關鍵字。 和參數識別相關的有 `control` `PMSMMotorIdentification`, `control` `EstInertia` 再來就是`imctrl` `InitEstimation`, `imctrl` `InitSMEstimation`。 imctrl 應該是 induction motorl control,estimation 偏向在estimate runtime 時的參數 e.g. flux, speed. 而非電阻電感這類。 --- 看起來最像的是 `control` `ACIMotorIdentification`。 | index | name | |:----- |:------------------------------------ | | 56012 | IDENTIFICATION_CURRENTLIMIT | | 57032 | DEVICE_AD_RATEDCURRENT | | 53004 | SETTING_INVERTER_SETDAXIS | | 51522 | MOTOR_ROTORRESISTANCE | | 51524 | MOTOR_MAGNETIZINGINDUCTANCE | | 51529 | MOTOR_ROTORLEAKAGEINDUCTANCE | | 51501 | MOTOR_RATEDCURRENT | | 55500 | PWM_FREQUENCY | | 55048 | CLOSELOOP_OPTIONMODE | | 50500 | SAMPLINGTIME_CURRENTLOOP | | 52002 | ENCODER_OFFSET | | 56002 | IDENTIFICATION_STATORINDUCTANCE | | 56021 | IDENTIFICATION_ROTORINDUCTANCE | | 56020 | IDENTIFICATION_ROTORRESISTANCE | | 56026 | IDENTIFICATION_ROTORTIMECONSTANT | | 56022 | IDENTIFICATION_MAGNETIZINGINDUCTANCE | | 51504 | MOTOR_RATEDFREQUENCY | | 51500 | MOTOR_RATEDVOLTAGE | | 56023 | IDENTIFICATION_MAGNETIZINGCURRENT | | 56019 | IDENTIFICATION_ENCODER_REVERSE | | 52003 | ENCODER_REVERSE | | 56009 | IDENTIFICATION_CURRENTCONTROLLER_KP | | 56010 | IDENTIFICATION_CURRENTCONTROLLER_KI | | 56024 | IDENTIFICATION_FLUXCONTROLLER_KP | | 56025 | IDENTIFICATION_FLUXCONTROLLER_TI | | 56001 | IDENTIFICATION_STATORRESISTANCE | 看起來 `ACIMotorIdentification` 是 non-realtime 的calling ,`ACIMotorTestControl` 是 realtime ISR calling function。 `ACIMotorIdentification` function 的最後一區就是 存資料的地方。 有存的entry * IDENTIFICATION_STATORRESISTANCE * IDENTIFICATION_STATORINDUCTANCE * IDENTIFICATION_ROTORINDUCTANCE * IDENTIFICATION_ROTORRESISTANCE * IDENTIFICATION_MAGNETIZINGINDUCTANCE * IDENTIFICATION_MAGNETIZINGCURRENT * * IDENTIFICATION_CURRENTCONTROLLER_KP * IDENTIFICATION_CURRENTCONTROLLER_KI * IDENTIFICATION_FLUXCONTROLLER_KP * IDENTIFICATION_FLUXCONTROLLER_KI 其中 `IDENTIFICATION_STATORINDUCTANCE` 和 `IDENTIFICATION_ROTORINDUCTANCE` 相等。 ```c=12058 DBVALUE(IDENTIFICATION_STATORINDUCTANCE).fData = //(VMag / AMag * fabs(cos(VAng - AAng)) - fRs)/1.7320508; DBVALUE(IDENTIFICATION_ROTORINDUCTANCE).fData = fl; ``` 這行很怪,voltage 為什麼乘一常數就變 current。 ```c=12342 dbActualCurrent.fData = _IQtoF(volt1.Valpha) * 900.0; ``` 這些Lr, Rs, inductance ... 本來應該是有一個對應的電路的,但現在沒有這個,就沒辦法。 大致可以猜測出是用 steady state response compare to model. HDT output 的值有 phase resistor, Synchrony Inductance, Magnet flow, Max deflux speed