Ask Your Question

N.Nikolaev's profile - activity

2022-06-19 00:27:54 -0500 answered a question How to create .plb file using psse35? What should be the settings of PLBVF1 model?

The PLB file shall be located in the same path as the DYR file. First, your DYR file must contain the following definition of the playback model:

BusNr 'USRMDL' machID 'PLBVFU1' 1 1 3 4 3 6 1 1 'PLBFNAME' Ubase Fbase 0.000 0.000 /

Note that at that bus no other dynamic model shall be attached.

2021-08-16 00:56:25 -0500 received badge  Famous Question (source)
2021-08-04 00:54:09 -0500 commented answer Is there a Python API to get the GREF value?

Thanks, perolofi! This is definetely a much cleaner solution :)

2021-08-03 14:47:39 -0500 received badge  Notable Question (source)
2021-08-02 05:13:42 -0500 received badge  Popular Question (source)
2021-07-30 11:06:24 -0500 answered a question Is there a Python API to get the GREF value?

Okay, I found a workaround myself:

GREF_chan_number = 10
runUntill = 0.0
psspy.run(0, runUntill, 0, 1, 1)
ChfData = dyntools.CHNF(fileChan) 
short_title, chanid, chandata = ChfData.get_data()
GREF = chandata[GREF_chan_number ][-1]

What this code does is the following. You must have defined a channel that records the GREF variable in your output file and you must have initialized the dynamic simulation before running my code. In the code above we say that the GREF channel is number 10 (will be different for your situation). Then the simulation is run until 0.0 seconds. This will record a few integration iterations in the out file. Then you load the channel out file and just read the last value from the GREF channel.

This is a good solution because:

  1. It works for every possible governor model
  2. It does not mess your simulation because you only run the simulation until the 0.0 seconds. Have you noticed when working with the PSS/E GUI that when you initialize the dynamic simulation, the current simulation time is slightly negative? This is why running up until 0.0 seconds actually works.
2021-07-30 09:06:32 -0500 asked a question Is there a Python API to get the GREF value?

Hello, community!

I am building some automation Python script and I need to change the MW output of the machine during time-domain simulation. I know I need to use the psspy.change_gref() API to do that. But the problem is that I do not know what is the initial GREF value so I could scale it properly in order to get the desired MW output. The initial GREF value depends on various governor parameters, such as the droop R value. Hence, I am searching for an API that can get me the initial GREF.

I found that I can read it as a VAR variable, but every governor model has different vars, so this is not practical at all.

Does anyone know an API that can readily provide what is the current GREF value?

Thanks! Nikolay