Power System Platform  2026w10a-beta
Loading...
Searching...
No Matches
TransformerForm Class Reference

Form to edit the transformer power data. More...

#include <TransformerForm.h>

Inheritance diagram for TransformerForm:
Collaboration diagram for TransformerForm:

Public Member Functions

 TransformerForm (wxWindow *parent, Transformer *transformer)
 
bool ValidateData ()
 

Protected Member Functions

virtual void OnCancelButtonClick (wxCommandEvent &event)
 
virtual void OnOKButtonClick (wxCommandEvent &event)
 
virtual void OnStabilityButtonClick (wxCommandEvent &event)
 

Protected Attributes

wxWindow * m_parent = nullptr
 
Transformerm_transformer = nullptr
 

Detailed Description

Form to edit the transformer power data.

Author
Thales Lima Oliveira thale.nosp@m.s@uf.nosp@m.u.br
Date
05/10/2017

Definition at line 33 of file TransformerForm.h.

Constructor & Destructor Documentation

◆ TransformerForm()

TransformerForm::TransformerForm ( wxWindow *  parent,
Transformer transformer 
)

Definition at line 22 of file TransformerForm.cpp.

22 : TransformerFormBase(parent)
23{
24 m_choiceResistance->SetString(1, L'\u03A9');
25 m_choiceReactance->SetString(1, L'\u03A9');
26
27 // Reset connections choice labels (to be translated)
28 m_choiceConnection->SetString(0, _("Grounded Wye - Grounded Wye"));
29 m_choiceConnection->SetString(1, _("Wye - Grounded Wye"));
30 m_choiceConnection->SetString(2, _("Grounded Wye - Wye"));
31 m_choiceConnection->SetString(3, _("Wye - Wye"));
32 m_choiceConnection->SetString(4, _("Delta - Grounded Wye"));
33 m_choiceConnection->SetString(5, _("Delta - Wye"));
34 m_choiceConnection->SetString(6, _("Grounded Wye - Delta"));
35 m_choiceConnection->SetString(7, _("Wye - Delta"));
36 m_choiceConnection->SetString(8, _("Delta - Delta"));
37
38 SetSize(GetBestSize());
39 Layout();
40
41 m_parent = parent;
42 m_transformer = transformer;
43
44 TransformerElectricalData data = transformer->GetElectricalData();
45
46 m_textCtrlName->SetValue(data.name);
47
48 wxString primVoltStr = Transformer::StringFromDouble(data.primaryNominalVoltage);
49 switch(data.primaryNominalVoltageUnit) {
51 primVoltStr += " V";
52 } break;
54 primVoltStr += " kV";
55 } break;
56 default:
57 break;
58 }
59 wxString secVoltStr = Transformer::StringFromDouble(data.secondaryNominalVoltage);
60 switch(data.secondaryNominalVoltageUnit) {
62 secVoltStr += " V";
63 } break;
65 secVoltStr += " kV";
66 } break;
67 default:
68 break;
69 }
70 m_staticTextNominalVoltageValue->SetLabel(wxString::Format("%s / %s", primVoltStr, secVoltStr));
71
72 m_choiceBaseVoltage->SetString(0, primVoltStr);
73 m_choiceBaseVoltage->SetString(1, secVoltStr);
74 m_choiceBaseVoltage->SetSelection(data.baseVoltage);
75
76 m_textCtrlNominalPower->SetValue(Transformer::StringFromDouble(data.nominalPower));
77 switch(data.nominalPowerUnit) {
79 m_choiceNominalPower->SetSelection(0);
80 } break;
82 m_choiceNominalPower->SetSelection(1);
83 } break;
85 m_choiceNominalPower->SetSelection(2);
86 } break;
87 default:
88 break;
89 }
90
91 m_textCtrlResistance->SetValue(Transformer::StringFromDouble(data.resistance));
92 switch(data.resistanceUnit) {
94 m_choiceResistance->SetSelection(0);
95 } break;
97 m_choiceResistance->SetSelection(1);
98 } break;
99 default:
100 break;
101 }
102
103 m_textCtrlReactance->SetValue(Transformer::StringFromDouble(data.indReactance));
104 switch(data.indReactanceUnit) {
106 m_choiceReactance->SetSelection(0);
107 } break;
109 m_choiceReactance->SetSelection(1);
110 } break;
111 default:
112 break;
113 }
114
115 m_choiceConnection->SetSelection(data.connection);
116
117 m_textCtrlTurnRatio->SetValue(Transformer::StringFromDouble(data.turnsRatio));
118 m_textCtrlPhaseShift->SetValue(Transformer::StringFromDouble(data.phaseShift));
119
120 m_checkUseTransformerPower->SetValue(data.useTransformerPower);
121
122 m_textCtrlZeroResistance->SetValue(Transformer::StringFromDouble(data.zeroResistance));
123 m_textCtrlZeroReactance->SetValue(Transformer::StringFromDouble(data.zeroIndReactance));
124 m_textCtrlPrimResistance->SetValue(Transformer::StringFromDouble(data.primaryGrndResistance));
125 m_textCtrlPrimReactance->SetValue(Transformer::StringFromDouble(data.primaryGrndReactance));
126 m_textCtrlSecResistance->SetValue(Transformer::StringFromDouble(data.secondaryGrndResistance));
127 m_textCtrlSecReactance->SetValue(Transformer::StringFromDouble(data.secondaryGrndReactance));
128}
static wxString StringFromDouble(double value, int minDecimal=1, int maxDecimals=13)
Convert a double value to string.
Definition Element.cpp:533

◆ ~TransformerForm()

TransformerForm::~TransformerForm ( )
virtual

Definition at line 130 of file TransformerForm.cpp.

130{}

Member Function Documentation

◆ OnCancelButtonClick()

void TransformerForm::OnCancelButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 131 of file TransformerForm.cpp.

131{ EndModal(wxID_CANCEL); }

◆ OnOKButtonClick()

void TransformerForm::OnOKButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 132 of file TransformerForm.cpp.

133{
134 if(ValidateData()) EndModal(wxID_OK);
135}

◆ OnStabilityButtonClick()

void TransformerForm::OnStabilityButtonClick ( wxCommandEvent &  event)
protectedvirtual

Definition at line 136 of file TransformerForm.cpp.

137{
138 if(ValidateData()) {
139 SwitchingForm swForm(m_parent, m_transformer);
140 swForm.SetTitle(_("Transfomer: Switching"));
141 swForm.ShowModal();
142 EndModal(wxID_OK);
143 }
144}
Form to edit the switching data of power elements for electromechanical transient studies.

◆ ValidateData()

bool TransformerForm::ValidateData ( )

Definition at line 146 of file TransformerForm.cpp.

147{
148 TransformerElectricalData data = m_transformer->GetElectricalData();
149
150 data.name = m_textCtrlName->GetValue();
151 data.baseVoltage = m_choiceBaseVoltage->GetSelection();
152
153 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlNominalPower->GetValue(), data.nominalPower,
154 _("Value entered incorrectly in the field \"Nominal power\".")))
155 return false;
156 switch(m_choiceNominalPower->GetSelection()) {
157 case 0: {
158 data.nominalPowerUnit = ElectricalUnit::UNIT_VA;
159 } break;
160 case 1: {
161 data.nominalPowerUnit = ElectricalUnit::UNIT_kVA;
162 } break;
163 case 2: {
164 data.nominalPowerUnit = ElectricalUnit::UNIT_MVA;
165 } break;
166 }
167
168 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlResistance->GetValue(), data.resistance,
169 _("Value entered incorrectly in the field \"Resistance\".")))
170 return false;
171 switch(m_choiceResistance->GetSelection()) {
172 case 0: {
173 data.resistanceUnit = ElectricalUnit::UNIT_PU;
174 } break;
175 case 1: {
176 data.resistanceUnit = ElectricalUnit::UNIT_OHM;
177 } break;
178 }
179
180 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlReactance->GetValue(), data.indReactance,
181 _("Value entered incorrectly in the field \"Indutive reactance\".")))
182 return false;
183 switch(m_choiceReactance->GetSelection()) {
184 case 0: {
185 data.indReactanceUnit = ElectricalUnit::UNIT_PU;
186 } break;
187 case 1: {
188 data.indReactanceUnit = ElectricalUnit::UNIT_OHM;
189 } break;
190 }
191
192 switch(m_choiceConnection->GetSelection()) {
193 case 0: {
194 data.connection = GWYE_GWYE;
195 } break;
196 case 1: {
197 data.connection = WYE_GWYE;
198 } break;
199 case 2: {
200 data.connection = GWYE_WYE;
201 } break;
202 case 3: {
203 data.connection = WYE_WYE;
204 } break;
205 case 4: {
206 data.connection = DELTA_GWYE;
207 } break;
208 case 5: {
209 data.connection = DELTA_WYE;
210 } break;
211 case 6: {
212 data.connection = GWYE_DELTA;
213 } break;
214 case 7: {
215 data.connection = WYE_DELTA;
216 } break;
217 case 8: {
218 data.connection = DELTA_DELTA;
219 } break;
220 }
221
222 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlTurnRatio->GetValue(), data.turnsRatio,
223 _("Value entered incorrectly in the field \"Turns ratio\".")))
224 return false;
225
226 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlPhaseShift->GetValue(), data.phaseShift,
227 _("Value entered incorrectly in the field \"Phase shift\".")))
228 return false;
229
230 data.useTransformerPower = m_checkUseTransformerPower->GetValue();
231
232 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlZeroResistance->GetValue(), data.zeroResistance,
233 _("Value entered incorrectly in the field \"Zero sequence resistance\".")))
234 return false;
235
236 if(!m_transformer->DoubleFromString(
237 m_parent, m_textCtrlZeroReactance->GetValue(), data.zeroIndReactance,
238 _("Value entered incorrectly in the field \"Zero sequence indutive reactance\".")))
239 return false;
240
241 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlPrimResistance->GetValue(), data.primaryGrndResistance,
242 _("Value entered incorrectly in the field \"Primary ground resistance\".")))
243 return false;
244
245 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlPrimReactance->GetValue(), data.primaryGrndReactance,
246 _("Value entered incorrectly in the field \"Primary ground reactance\".")))
247 return false;
248
249 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlSecResistance->GetValue(), data.secondaryGrndResistance,
250 _("Value entered incorrectly in the field \"Secondary ground resistance\".")))
251 return false;
252
253 if(!m_transformer->DoubleFromString(m_parent, m_textCtrlSecReactance->GetValue(), data.secondaryGrndReactance,
254 _("Value entered incorrectly in the field \"Secondary ground reactance\".")))
255 return false;
256
257 m_transformer->SetElectricaData(data);
258 return true;
259}
static bool DoubleFromString(wxWindow *parent, wxString strValue, double &value, wxString errorMsg)
Get a double value from a string. Show a error message if the conversion fail.
Definition Element.cpp:505

Member Data Documentation

◆ m_parent

wxWindow* TransformerForm::m_parent = nullptr
protected

Definition at line 45 of file TransformerForm.h.

◆ m_transformer

Transformer* TransformerForm::m_transformer = nullptr
protected

Definition at line 46 of file TransformerForm.h.


The documentation for this class was generated from the following files: