diff options
Diffstat (limited to 'Project/IndMotor.cpp')
-rw-r--r-- | Project/IndMotor.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Project/IndMotor.cpp b/Project/IndMotor.cpp index 1c3b252..7a56466 100644 --- a/Project/IndMotor.cpp +++ b/Project/IndMotor.cpp @@ -35,3 +35,43 @@ bool IndMotor::ShowForm(wxWindow* parent, Element* element) indMotorForm->Destroy(); return false; } + +IndMotorElectricalData IndMotor::GetPUElectricalData(double systemPowerBase) +{ + IndMotorElectricalData data = m_electricalData; + + switch(data.activePowerUnit) { + case UNIT_W: { + data.activePower = data.activePower / systemPowerBase; + data.activePowerUnit = UNIT_PU; + } break; + case UNIT_kW: { + data.activePower = (data.activePower * 1e3) / systemPowerBase; + data.activePowerUnit = UNIT_PU; + } break; + case UNIT_MW: { + data.activePower = (data.activePower * 1e6) / systemPowerBase; + data.activePowerUnit = UNIT_PU; + } break; + default: + break; + } + switch(data.reactivePowerUnit) { + case UNIT_VAr: { + data.reactivePower = data.reactivePower / systemPowerBase; + data.reactivePowerUnit = UNIT_PU; + } break; + case UNIT_kVAr: { + data.reactivePower = (data.reactivePower * 1e3) / systemPowerBase; + data.reactivePowerUnit = UNIT_PU; + } break; + case UNIT_MVAr: { + data.reactivePower = (data.reactivePower * 1e6) / systemPowerBase; + data.reactivePowerUnit = UNIT_PU; + } break; + default: + break; + } + + return data; +} |