diff options
Diffstat (limited to 'Project')
-rw-r--r-- | Project/Project.mk | 2 | ||||
-rw-r--r-- | Project/Release/PSP-UFU.exe | bin | 4261748 -> 4272500 bytes | |||
-rw-r--r-- | Project/Release/Text.cpp.o | bin | 86630 -> 100370 bytes | |||
-rw-r--r-- | Project/Release/TextForm.cpp.o | bin | 165849 -> 165817 bytes | |||
-rw-r--r-- | Project/Text.cpp | 242 | ||||
-rw-r--r-- | Project/TextForm.cpp | 22 |
6 files changed, 249 insertions, 17 deletions
diff --git a/Project/Project.mk b/Project/Project.mk index 78e334f..83cac59 100644 --- a/Project/Project.mk +++ b/Project/Project.mk @@ -13,7 +13,7 @@ CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=Thales -Date :=08/12/2016 +Date :=09/12/2016 CodeLitePath :="C:/Program Files/CodeLite" LinkerName :=C:/TDM-GCC-64/bin/g++.exe SharedObjectLinkerName :=C:/TDM-GCC-64/bin/g++.exe -shared -fPIC diff --git a/Project/Release/PSP-UFU.exe b/Project/Release/PSP-UFU.exe Binary files differindex bf151c3..299db58 100644 --- a/Project/Release/PSP-UFU.exe +++ b/Project/Release/PSP-UFU.exe diff --git a/Project/Release/Text.cpp.o b/Project/Release/Text.cpp.o Binary files differindex 85c409a..830aa66 100644 --- a/Project/Release/Text.cpp.o +++ b/Project/Release/Text.cpp.o diff --git a/Project/Release/TextForm.cpp.o b/Project/Release/TextForm.cpp.o Binary files differindex ec68417..26381da 100644 --- a/Project/Release/TextForm.cpp.o +++ b/Project/Release/TextForm.cpp.o diff --git a/Project/Text.cpp b/Project/Text.cpp index f9ddb71..411520f 100644 --- a/Project/Text.cpp +++ b/Project/Text.cpp @@ -646,19 +646,251 @@ void Text::UpdateText(double systemPowerBase) } } break; case TYPE_LOAD: { - + Load* load = (Load*)m_element; + if(load) { + LoadElectricalData data = load->GetPUElectricalData(systemPowerBase); + std::complex<double> sPower(data.activePower, data.reactivePower); + if(data.loadType == CONST_IMPEDANCE && load->IsOnline()) { + std::complex<double> v = ((Bus*)load->GetParentList()[0])->GetEletricalData().voltage; + sPower = std::pow(std::abs(v), 2) * sPower; + } + switch(m_dataType) { + case DATA_NAME: { + SetText(data.name); + } break; + case DATA_ACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(sPower.real(), m_decimalPlaces) + " p.u."); + } + case UNIT_W: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase, m_decimalPlaces) + " W"); + } + case UNIT_kW: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase / 1e3, m_decimalPlaces) + + " kW"); + } + case UNIT_MW: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase / 1e6, m_decimalPlaces) + + " MW"); + } + default: + break; + } + } break; + case DATA_REACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(sPower.imag(), m_decimalPlaces) + " p.u."); + } + case UNIT_VAr: { + SetText( + wxString::FromDouble(sPower.imag() * systemPowerBase, m_decimalPlaces) + " VAr"); + } + case UNIT_kVAr: { + SetText(wxString::FromDouble(sPower.imag() * systemPowerBase / 1e3, m_decimalPlaces) + + " kVAr"); + } + case UNIT_MVAr: { + SetText(wxString::FromDouble(sPower.imag() * systemPowerBase / 1e6, m_decimalPlaces) + + " MVAr"); + } + default: + break; + } + } break; + default: + break; + } + } } break; case TYPE_SYNC_MOTOR: { - + SyncMotor* syncMotor = (SyncMotor*)m_element; + if(syncMotor) { + SyncMotorElectricalData data = syncMotor->GetPUElectricalData(systemPowerBase); + std::complex<double> sPower(data.activePower, data.reactivePower); + switch(m_dataType) { + case DATA_NAME: { + SetText(data.name); + } break; + case DATA_ACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(sPower.real(), m_decimalPlaces) + " p.u."); + } + case UNIT_W: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase, m_decimalPlaces) + " W"); + } + case UNIT_kW: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase / 1e3, m_decimalPlaces) + + " kW"); + } + case UNIT_MW: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase / 1e6, m_decimalPlaces) + + " MW"); + } + default: + break; + } + } break; + case DATA_REACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(sPower.imag(), m_decimalPlaces) + " p.u."); + } + case UNIT_VAr: { + SetText( + wxString::FromDouble(sPower.imag() * systemPowerBase, m_decimalPlaces) + " VAr"); + } + case UNIT_kVAr: { + SetText(wxString::FromDouble(sPower.imag() * systemPowerBase / 1e3, m_decimalPlaces) + + " kVAr"); + } + case UNIT_MVAr: { + SetText(wxString::FromDouble(sPower.imag() * systemPowerBase / 1e6, m_decimalPlaces) + + " MVAr"); + } + default: + break; + } + } break; + default: + break; + } + } } break; case TYPE_IND_MOTOR: { - + IndMotor* indMotor = (IndMotor*)m_element; + if(indMotor) { + IndMotorElectricalData data = indMotor->GetPUElectricalData(systemPowerBase); + std::complex<double> sPower(data.activePower, data.reactivePower); + switch(m_dataType) { + case DATA_NAME: { + SetText(data.name); + } break; + case DATA_ACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(sPower.real(), m_decimalPlaces) + " p.u."); + } + case UNIT_W: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase, m_decimalPlaces) + " W"); + } + case UNIT_kW: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase / 1e3, m_decimalPlaces) + + " kW"); + } + case UNIT_MW: { + SetText(wxString::FromDouble(sPower.real() * systemPowerBase / 1e6, m_decimalPlaces) + + " MW"); + } + default: + break; + } + } break; + case DATA_REACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(sPower.imag(), m_decimalPlaces) + " p.u."); + } + case UNIT_VAr: { + SetText( + wxString::FromDouble(sPower.imag() * systemPowerBase, m_decimalPlaces) + " VAr"); + } + case UNIT_kVAr: { + SetText(wxString::FromDouble(sPower.imag() * systemPowerBase / 1e3, m_decimalPlaces) + + " kVAr"); + } + case UNIT_MVAr: { + SetText(wxString::FromDouble(sPower.imag() * systemPowerBase / 1e6, m_decimalPlaces) + + " MVAr"); + } + default: + break; + } + } break; + default: + break; + } + } } break; case TYPE_CAPACITOR: { - + Capacitor* capacitor = (Capacitor*)m_element; + if(capacitor) { + CapacitorElectricalData data = capacitor->GetPUElectricalData(systemPowerBase); + double reativePower = -data.reactivePower; + if(capacitor->IsOnline()) { + std::complex<double> v = ((Bus*)capacitor->GetParentList()[0])->GetEletricalData().voltage; + reativePower *= std::pow(std::abs(v), 2); + } + switch(m_dataType) { + case DATA_NAME: { + SetText(data.name); + } break; + case DATA_REACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(reativePower, m_decimalPlaces) + " p.u."); + } + case UNIT_VAr: { + SetText( + wxString::FromDouble(reativePower * systemPowerBase, m_decimalPlaces) + " VAr"); + } + case UNIT_kVAr: { + SetText(wxString::FromDouble(reativePower * systemPowerBase / 1e3, m_decimalPlaces) + + " kVAr"); + } + case UNIT_MVAr: { + SetText(wxString::FromDouble(reativePower * systemPowerBase / 1e6, m_decimalPlaces) + + " MVAr"); + } + default: + break; + } + } break; + default: + break; + } + } } break; case TYPE_INDUCTOR: { - + Inductor* inductor = (Inductor*)m_element; + if(inductor) { + InductorElectricalData data = inductor->GetPUElectricalData(systemPowerBase); + double reativePower = data.reactivePower; + if(inductor->IsOnline()) { + std::complex<double> v = ((Bus*)inductor->GetParentList()[0])->GetEletricalData().voltage; + reativePower *= std::pow(std::abs(v), 2); + } + switch(m_dataType) { + case DATA_NAME: { + SetText(data.name); + } break; + case DATA_REACTIVE_POWER: { + switch(m_unit) { + case UNIT_PU: { + SetText(wxString::FromDouble(reativePower, m_decimalPlaces) + " p.u."); + } + case UNIT_VAr: { + SetText( + wxString::FromDouble(reativePower * systemPowerBase, m_decimalPlaces) + " VAr"); + } + case UNIT_kVAr: { + SetText(wxString::FromDouble(reativePower * systemPowerBase / 1e3, m_decimalPlaces) + + " kVAr"); + } + case UNIT_MVAr: { + SetText(wxString::FromDouble(reativePower * systemPowerBase / 1e6, m_decimalPlaces) + + " MVAr"); + } + default: + break; + } + } break; + default: + break; + } + } } break; } } diff --git a/Project/TextForm.cpp b/Project/TextForm.cpp index c4f9ea1..148847a 100644 --- a/Project/TextForm.cpp +++ b/Project/TextForm.cpp @@ -162,10 +162,10 @@ void TextForm::OnTypeChoiceSelected(wxCommandEvent& event) m_text->SetDataType(DATA_NAME); } break; case 1: { - m_text->SetDataType(DATA_PF_ACTIVE); + m_text->SetDataType(DATA_ACTIVE_POWER); } break; case 2: { - m_text->SetDataType(DATA_PF_REACTIVE); + m_text->SetDataType(DATA_REACTIVE_POWER); } break; } } break; @@ -176,7 +176,7 @@ void TextForm::OnTypeChoiceSelected(wxCommandEvent& event) m_text->SetDataType(DATA_NAME); } break; case 1: { - m_text->SetDataType(DATA_PF_REACTIVE); + m_text->SetDataType(DATA_REACTIVE_POWER); } break; } } break; @@ -562,7 +562,7 @@ bool TextForm::LoadChoices() case DATA_NAME: { m_choiceTextType->SetSelection(0); } break; - case DATA_PF_ACTIVE: { + case DATA_ACTIVE_POWER: { m_choiceTextType->SetSelection(1); switch(m_text->GetUnit()) { case UNIT_PU: { @@ -581,7 +581,7 @@ bool TextForm::LoadChoices() break; } } break; - case DATA_PF_REACTIVE: { + case DATA_REACTIVE_POWER: { m_choiceTextType->SetSelection(2); switch(m_text->GetUnit()) { case UNIT_PU: { @@ -610,7 +610,7 @@ bool TextForm::LoadChoices() case DATA_NAME: { m_choiceTextType->SetSelection(0); } break; - case DATA_PF_REACTIVE: { + case DATA_REACTIVE_POWER: { m_choiceTextType->SetSelection(1); } break; @@ -624,7 +624,7 @@ bool TextForm::LoadChoices() case DATA_NAME: { m_choiceTextType->SetSelection(0); } break; - case DATA_PF_REACTIVE: { + case DATA_REACTIVE_POWER: { m_choiceTextType->SetSelection(1); switch(m_text->GetUnit()) { case UNIT_PU: { @@ -653,7 +653,7 @@ bool TextForm::LoadChoices() case DATA_NAME: { m_choiceTextType->SetSelection(0); } break; - case DATA_PF_ACTIVE: { + case DATA_ACTIVE_POWER: { m_choiceTextType->SetSelection(1); switch(m_text->GetUnit()) { case UNIT_PU: { @@ -672,7 +672,7 @@ bool TextForm::LoadChoices() break; } } break; - case DATA_PF_REACTIVE: { + case DATA_REACTIVE_POWER: { m_choiceTextType->SetSelection(2); switch(m_text->GetUnit()) { case UNIT_PU: { @@ -701,7 +701,7 @@ bool TextForm::LoadChoices() case DATA_NAME: { m_choiceTextType->SetSelection(0); } break; - case DATA_PF_ACTIVE: { + case DATA_ACTIVE_POWER: { m_choiceTextType->SetSelection(1); switch(m_text->GetUnit()) { case UNIT_PU: { @@ -720,7 +720,7 @@ bool TextForm::LoadChoices() break; } } break; - case DATA_PF_REACTIVE: { + case DATA_REACTIVE_POWER: { m_choiceTextType->SetSelection(2); switch(m_text->GetUnit()) { case UNIT_PU: { |