Implementation of dynamic model from the MODES into Dispatcher Training Simulator (DTS)
The MODES calculation engine is integrated into the DTS, which is prepared for the CEPS - Czech Transmission System Operator.
DTS serves for dispatcher training to solve power system operation. Dynamic model is an important part od the DTS, which makes possible realistic respense of the DTS to disturbances and dispatcher's actions.
Participation in the international EWIS project("European Wind Integration Study")
Project continues by the second phase(see website: www.wind-integration.eu). Dynamic bahaviour of the wind turbines is analysed by differnmt tools. Beside the MODES another network simualtors like Netomac, PowerFactory and PSS-E are used.
Changes in the 2.2/10 and 11 versions
2.2/11:
- Alternative model for excitation control and PSS
- External stabiliser with 3 inputs
- Improved model GASA of combined gas cycle with HRSG (Heat Recovery Steam Generator) for steam turbine
2.2/10:
- new model PMGC - Permanent Magnet Generator with Converter with full power frequency converter was implemeted for wind generators
- improved model of DFIG - Double Feed Induction Gnerator
- new WIND model of the wind turbine with variable speed and wind velecity
- new model GASA for combined gas cycle
- alternative speed controler for hydro turbines
- on load tape changer model for three winding transformers
Changes in the 2.2/9 version (released on the first quarter 2005)
Wind turbine model will be improved (variable wind speed) and asynchronnous wind rotor generator.
Models of phase shifting transformers, FACTS are under consideration.
New ways for impementing of user models are searched besides the actual DLL (WINDOWS version) and FORTRAN source code creating and linking (DOS version) .
The Load Flow Editor will get new grpahical functions.
The new posibilities for Graphical editor (one line schemes) is searched.
Implemented changes in the 2.2/8 version
The MODES models library is exdented for wind turbine (with constatnt wind speed) with asynchronnous squirrel-cage generator.
The Model Editor (integrated in the MODMAN user interface) is complemented by parameters description.
Several another improvements wer carried out in the Model and Load Flow Editors.
There are two new tools - the PARAMAS for calculation of asynchronnous motors parameters and the Transf for transformation load flow data amng the MODES, PSS/E and UCTE format
Four attempts to implement (creating and editing one line schemes) were not sucessfull.
1.Probability access to the power system performance
See the reference Using of Probabilistic Technique for Power System Scheduling
2.Programs MODES (dynamic simulation) a UST (load flow calculation) as DLL
The both software (UST and MODES) were converted into Dynamic Linking Library
(DLL) form for purpose of using in frame of Load Flow Editor. This conversion
simplifies a work of user during load flow tuning and dynamic model initialization.
Using of these DLLs in a own WINDEWS (capable to call external DLL) application is
a side effect of the DLLs creation. It is necessary to comply the number and type of
parameters, which are described in the following tables.
UST.DLL
Function name |
Value |
Purpose |
Parameters |
iChod(Integer) |
1 without errors
-1 allocation error of volt.levels
-2 allocat. error of nodes number
-3 allocation error of input data
-4 alloc. error of Jacobian matrix
-5 alloc. error of factorised Jac.
-6 deallocation error of matrix
-7 dealloc. error of calc. param.
-8 divergence
|
Calculate load flow based on Newton Rapshon methodIt is using for Load Flow Editors |
Input(Integer) |
nObjects(Integer) |
number of objects |
Returns number of objects according "Kod" value |
"kod"
1 nodes number
2 areas number
3 profiles number
4 lines number
5 transformer number
6 3winding transf. number
|
Voltage(Real) |
Node voltage in kV |
RMS voltage |
Sequen. node number (Integer) |
User can test these DLL function by TestUST.XLS application,
which is in the MODES working. The following listening shows the used code.
(Variable Integer correspond to the Visual Basic type LONG and Real to
the type SINGLE):
Private Declare Function Voltage Lib "ust.dll" Alias "_VOLTAGE@4" (Index As Long) As Single
Private Declare Function nObjects Lib "ust.dll" Alias "_NOBJECTS@4" (Index As Long) As Long
Private Declare Function iChod Lib "ust.dll" Alias "_ICHOD@4" (Index As Long) As Long
Private Sub cmdInit_Click()
Dim Rezim As Long, Nu As Long, iRow As Long
Columns("A:B").Select: Selection.ClearContents 'clear the first two columns
Cells(1, 1).Value = "NodeNumber": Cells(1, 2).Value = "Voltage [kV]"
Rezim = iChod(1) ' LF calculation
Cells(1, 8).Value = "Chod>" & Rezim 'write the return code
If Rezim = 1 Then 'Calculation without errors
Nu = nObjects(1) 'Number of nodes
For iRow = 1 To Nu
Cells(iRow + 1, 1).Value = iRow 'write the sequence number
Cells(iRow + 1, 2).Value = Voltage(iRow) 'write node voltage
Next iRow
End If
End Sub
MODES.DLL
Function name |
Value |
Purpose |
Parameters |
Inicializace(Integer) |
0 calculation without errors
-1 input data error |
Dynamic models initializationIt is using for Load Flow Editors |
- |
Prolog(Integer |
0 calculation without errors
-1 input data error
-2 network matrix alloc. error |
Dynamic models initialization Calculate state for t=0Write the initial state |
Final time (Real)Sampling period (Real)Nodes Number (Integer)Initialization mode (Integer) |
Simulace(Integer |
0 calculation without errors
-2 network matrix alloc. error
-3 state reading error
-4 chyba během výpočtu
|
Calculate state to the time t |
time T (Real) |
Epilog(Integer) |
0 calculation without errors |
Finish the session |
- |
NodeNumber(Integer) |
User defined node number |
Node defined by user in the node table |
Sequen. node number (Integer)) |
Voltage(Real) |
Node voltage in kV |
RMS voltage |
Sequen. node number (Integer) |
The last two functions serve for communication with client application.
User can test these DLL function by Test.XLS application, which is
in the MODES working. The following listening shows the used code.
(Variable Integer correspond to the Visual Basic type LONG and
Real to the type SINGLE):
Private Declare Function Simulace Lib "modes.dll" Alias "_SIMULACE@4" (t As Single) As Long
Private Declare Function Prolog Lib "modes.dll" Alias "_PROLOG@16" (Tkon As Single, Sampling As Single, Number As Long, Mode As Long) As Long
Private Declare Function Epilog Lib "modes.dll" Alias "_EPILOG@0" () As Long
Private Declare Function Voltage Lib "modes.dll" Alias "_VOLTAGE@4" (Index As Long) As Single
Private Declare Function NodeNumber Lib "modes.dll" Alias "_NODENUMBER@4" (Index As Long) As Long
Dim Tfinal As Single, dT As Single, t As Single 'final time of calculation, sampling period,actual time
Dim Nodes_Number As Long, Node_Number As Long 'nodes number, sequence number of selected node
Private Sub cmdCalc_Click()
Dim iRow As Integer, Rezim As Long
iRow = 3
10 t = t + dT 'increasing of time
Cells(1, 8).Value = "Simulation t=" & t & "[s]"'headers
Rezim = Simulace(t) 'calculate to the time t
If Rezim = 0 Then 'Calculation without error
iRow = iRow + 1
Cells(iRow, 1).Value = t 'time updating
Cells(iRow, 2).Value = Voltage(Node_Number) 'voltage updating
If t < Tfinal Then
GoTo 10 'checking the time
Else
Cells(1, 8).Value = "Errror during calculation" 'Calculation with error
End If 'End of calculation
Cells(1, 8).Value = "End of calculation" 'final time
Rezim = Epilog() 'end of calculation
If Rezim <> 0 Then Cells(1, 8).Value = "Error during calculation end"
cmdInit.Enabled = True: cmdCalc.Enabled = False: ComboBox1.Enabled = False
End
End Sub
|