ZHCU083I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
代码中所有与 PowerWarp 软件有关的函数均称为 POWERWARP。以下代码示例显示如何启用此标志。可见,对于与 PowerWarp 软件有关的函数,其名称包含 POWERWARP。
CTRL_setFlag_enablePOWERWARP(ctrlHandle,TRUE);
使用此标志不会产生任何影响,除非控制器和估算器在线运行,即不识别电机而是使其在闭环中运行。另一个条件是电机类型必须是交流感应电机。如果电机是 PM 电机,则不会产生任何效果。因此,通过总结 PowerWarp 启用后能够生效的各种情况,必须满足以下条件:
在图 17-2 中,InstaSPIN 控制器的突出显示状态即电机在闭环中运行的部分。此状态也称为在线状态,且该状态下可执行 PowerWarp 算法(有关 CTRL 和 EST 状态的完整信息,请参阅Chapter7)。
类似地,以下状态机中突出显示了可执行 PowerWarp 算法的估算器状态机。图 17-3 中所示的状态机表示电机在闭环中运行的状态(从估算器的角度来看)。
以下代码示例展示了如何检查状态机的状态:控制器 (CTRL) 和估算器 (EST) 状态机以及电机类型:
CTRL_Obj *obj = (CTRL_Obj *)ctrlHandle;
ctrlState = CTRL_getState(ctrlHandle);
estState = EST_getState(obj->estHandle);
motorType = CTRL_getMotorType(ctrlHandle);
if( (ctrlState == CTRL_State_OnLine) &&
(estState == EST_State_OnLine) &&
(motorType == MOTOR_Type_Induction) )
{
CTRL_setFlag_enablePOWERWARP(ctrlHandle,TRUE);
}