user : unknown 21.12.2024 14:46:36
 
log. name :
password :

153933
 

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

Design by Pavel Vágner ©, Copyright 2002, All rights reserved