Ask Your Question

perolofl's profile - activity

2021-09-23 13:47:38 -0500 answered a question Bus Frequency Output

The speed channel in PSSE is in per unit speed deviation. Nominal frequency (60 or 50 Hz) is zero pu deviation. Positive pu speed deviation means overfrequency and negative means underfrequency.

Example: 61 Hz is (61-60)/60 pu speed deviation.

When plotting, use a formula and calculate (1+spd)*60 to get the channel value in Hz.

2021-09-17 05:57:16 -0500 answered a question How to change line length unit from Miles to Kilo-meters?

The length parameter is for user information only. Use it as you want. Just enter the line length in km. PSSE doesn’t use the parameter.

2021-09-16 10:30:54 -0500 answered a question Model Writing in PSS/E

The block diagram for DEMOEX model:

image description

The first time constant block has steady state gain 1 and the second block has steady state gain K. The output of time constant blocks are the same as the state of the block. This means that Esensed = Ec and E = Efd at steady state (mode 1). The two states therefore becomes:


where ECOMP and EFD are the arrays with measured voltage and field voltage respectively. I is the index for the machine.

The relationship between input and output at steady state is:

(Vref-Ec+Vothsg)*K = Efd

Efd is known (calculated by generator model in mode 1). Ec is terminal voltage if no compensation model is used. Vothsg is zero at steady state. The formula is rewritten to get the necessary value of Vref at initialisation:

Vref = Ec + Efd/K

The initialisation is made backward from the output signal (Efd) and forward from the input signals in mode 1.

2021-09-12 13:49:23 -0500 commented question VSC-HVDC in pss/e v33.4

How did you enter the model? Any message in progress window?

2021-09-09 08:01:40 -0500 commented answer How to get REPC model's VARS parameter?

Note that var_channel defines a channel. It doesn't return the VAR value.

2021-09-09 07:59:27 -0500 commented question How do i retrieve the tap ratio of a 3 winding transformer?

It is better you show your code and what is returned by awndreal. It seems like you give up too fast...

2021-09-09 06:54:08 -0500 commented answer How to get REPC model's VARS parameter?

Status is a list, see the manual. Use psspy.var_channel([-1,239],'channel id')

2021-09-08 09:49:16 -0500 commented answer How to use CBEST model to detect frequency variation ?

There is no such model available in standard PSSE. You have to write your own model.

2021-09-08 06:00:29 -0500 commented answer How to get REPC model's VARS parameter?

The API returns the index of the first VAR of the model. After simulation, you can only get the actual value of the VAR, i.e. the value at the end of the simulation.

2021-09-08 00:34:37 -0500 answered a question How to get REPC model's VARS parameter?

Use API psspy.windmind. See API manaul.

2021-09-04 03:41:56 -0500 answered a question What model can make the CBEST model achieve frequency control power output?

There is no library model available for active power control of a CBEST. You have two options:

  1. Updata VAR(L) manually during the simulation.
  2. Write a frequency control user model with control logic that updates VAR(L) of CBEST during the simulation.
2021-08-30 15:02:27 -0500 answered a question Getting current time in dynamics simulation?

Use API dsrval:

ierr, time = psspy.dsrval('TIME', 0)

The API returns the current time.

2021-08-30 03:30:14 -0500 commented answer how to get the bus sequence number

Give me your email.

2021-08-30 03:25:16 -0500 answered a question Dynamic simulation: oscillations without disturbance applied
  1. Check progress window for messages during the simulation.

  2. Use activity Compare (DIFF) to compare the load flow after 15 s simulation with the original saved case to see if there are any changes in bus voltages or line flow. This may indicate what is going on in the simulation.

2021-08-28 04:33:56 -0500 answered a question Hi, am trying to model a battery storage to provide primary frequency response in PSSE using CBEST model but am unable to observe any dynamic changes in its output. Will appreciate if i can get some direction.

Model CBESTdoesn't have frequency control loop itself. Pout will be kept constant by the model. The power may be changed either manually or automatically by a separate model.

You can change Pout manually during the simulation by updating VAR(L).

For automatic primary frequency control you need to add a model updating VAR(L) of CBEST, as @Yunzhi Cheng wrote.

2021-08-26 11:03:33 -0500 answered a question TIOCR1 model for monitoring line current and shedding a load at a certain bus after a certain current threshold

Try to add the model to savnw case and present the model data in this forum. As it is now it is difficult to nail down the problem.

2021-08-26 10:54:13 -0500 answered a question how to get the bus sequence number

Both CURNT and VOLT are indexed by IB (bus sequence number).

You must calculate IB after ENTRY TEST. As it is now IB is not set before you use it in CURNT(IB) = statement.

Also, normally there is a RETURN before the ENTRY point, i.e. CONEC-part of the subroutine returns before the code for CONET.

2021-08-24 08:19:23 -0500 commented answer API for robust solution?

Thank you very much! Can be useful..

2021-08-23 02:47:23 -0500 answered a question Transformer data to PSS /E


Winding I/O Code: Winding voltage (kV)

Winding 1 Ratio: 165.025

Winding 2 Ratio: 13.5

Impedance I/O Code: Zpu (winding base)

Winding MVA Base: 68.325

Specified X: 0.11

2021-08-23 00:51:25 -0500 commented question Change value STATES and how to see in GUI

See post "Monitoring VAR and STATES - Dyn simulation"

2021-08-19 03:22:03 -0500 answered a question how to add PV controllers data in PSSE

User models must be added with DYRE. (Or, at least the first instance of each model)

2021-08-19 03:13:03 -0500 answered a question TIOCR1 Rely modelling

Model TIOCR1 is a time inverse relay. You want to use it with definite time of 5 s. See description in manual Program Application Guide, vol II, Chapter 20.9.

Try with same multiple (1 pu of threshold current) for all four current points defining the time inverse curve. Use 5 s for all relay closing times.

2021-08-19 03:00:31 -0500 commented answer REPCA compensation

It doesn't matter. In both cases the measured voltage will be used.

2021-08-16 05:01:48 -0500 commented answer REPCA compensation

Kc is only used in voltage control if you want to compensate the measured voltage with the branch reactive power flow.

2021-08-16 03:17:25 -0500 answered a question REPCA compensation

As I understand it you are measuring the voltage at bus 5 and want to control the voltage at bus 1000.

Select RefFlag = 1 and VCFlag = 1. Rc and Xc shall be the impedance of the line (in pu system base) between bus 5 and bus 1000. Note, Kc is not used here.

2021-08-11 04:00:35 -0500 answered a question how to extract out file and plot with matplotlib

The dictionary is indexed with the channel number (integer).

I.e. f = chandata_dict[24] to get the values for channel 24

2021-08-05 09:22:17 -0500 answered a question User defined model loading

There is an issue in PSSE 34.3 so it is not possible to load DLL's for version 34.4 or newer. Try to update PSSE to rev 34.4 or newer.

2021-08-05 08:54:15 -0500 commented question Change value STATES and how to see in GUI

You have to change the corresponding VAR in the model.

2021-08-04 05:43:07 -0500 commented question Change value STATES and how to see in GUI

The STATE values are updated by PSSE during the dynamic and should not be changed by the user. What’s the reason for updating a STATE? The actual values of the states can be shown with DLST.

2021-08-03 15:02:54 -0500 answered a question Is there a Python API to get the GREF value?

The approach using a GREF channel is correct, but it can be done simpler. There is no need for RUN command since the channel is initialised at start of simulation. Use API chnval to get the channel value directly, i.e. the GREF value. There is no need to read it from the output file.

GREF_chan_number = 10
ierr, GREF = psspy,chnval(GREF_chan_number)
2021-08-01 13:29:30 -0500 answered a question Changing the Base Frequency in PSSE

There is no need to recalculate data since all data are in pu. See post ”How to simulate 2 systems with different frequency in one file?”.

Similarly, there is no need to update the inertia constant H!

So it is only needed to update the base frequency on the first row in the file with additional system data (network no 2).

2021-07-19 14:46:23 -0500 answered a question Ifd with PSS E

Select channel XADIFD.

2021-07-16 14:00:28 -0500 commented answer How to handle branches with RATEA=0

That means that the rate is 1 MVA.

2021-07-16 11:00:55 -0500 answered a question Modelling individual and lumped generators

All data with units MW, Mvar and MVA will be doubled. All data in pu are unchanged.

1: reactance 0.18 pu.

2: No changes in dynamic data since they are in pu. Only changes in load flow data.

3: No difference.

2021-07-15 21:29:49 -0500 answered a question How to handle branches with RATEA=0

RATEA=0 means that no current limit is defined for rate A. It is equivalent to infinite current capacity and the rate will be ignored in all overload reports.

The approach in Pandapower seems correct.

2021-07-15 13:42:51 -0500 answered a question user-defined a model to calculate rocof

Use a VAR to store the generator speed for the previous time step.

The simulation time at each time step is found in variabel TIME.

Also, remember that the model is called twice at the same time step when a pause is made in the simulation. Read Model Writing in POM.

2021-07-15 13:27:56 -0500 answered a question Is it require to run fault on every branch in the model and determine the stability of the generator?

If rotor angle stability is the issue here then it is sufficient to just add system angles statistics channels and monitor the angle spread in each simulation.

If any generator goes out of step in the simulation the angle spread will increase. Angle spread is therefore a good indicator of rotor angle instability. If angle spread is high (<300-400 deg) the bus number of the most unstable generator is seen in the channel with bus number of maximum rotor angle.

It is thereby possible to identify unstable generators without adding channels for individual generators.

2021-07-15 13:10:48 -0500 answered a question when the rotor angle becomes negative in PSSE, what does it mean?

If relative angles are used in PSSE, the difference between the rotor angle and the reference angle is shown. The reference angle may be a single machine or the average angle for all machines in the system. Negative rotor angles for some machines are normal when using relative angles.

2021-07-09 02:45:49 -0500 commented question How to add model "VTGTPAT"

Yes, the relay timer will start when the voltage goes below 0.8 pu. The total trip time is 2 + 0.1 = 2.1 s

2021-07-08 03:41:35 -0500 commented question How to add model "VTGTPAT"

Relay pickup time is the time the voltage must be over/under the limit to activate trip signal to the breaker. Breaker time is the time the breaker needs to open.

2021-07-07 04:51:02 -0500 commented question How to add model "VTGTPAT"

What do you mean with "it doesn't work"? Does model VTGTPAT trip the generator?

2021-06-24 15:11:16 -0500 commented answer set dead band

As @jconto wrote, you have to use HYGOVDU. There is no dead band in HYGOV.

2021-06-24 15:03:28 -0500 answered a question How to run two py files

A python script can be executed by another python script with execfile. Use a main script to execute the two scripts. For example:

2021-06-23 03:23:47 -0500 answered a question SVC and Induction Motors in the same bus

You can have an SVC modelled as a generator and induction motors as loads at the same bus. The bus type must be 2. It is ok to have loads at generator buses.

2021-06-18 02:05:58 -0500 commented answer how can I find PVGU1 or REGCAU1 dynamic generator models in PSSE 33.6 version ? is there is some initial parameters that i need to define and I have missed ?

See the model manual for the DYRE record for the model.

2021-06-18 02:02:06 -0500 commented question Are there any methods to improve the speed of batch dynamic simulations?

Search for "parallel" in this forum.

2021-06-14 10:54:33 -0500 commented answer When i run ASCC fault calculation PSS/e crash down and restart without any results

Missing sequence data shouldn't cause PSSE to crash. It must be a fatal error leading to division with 0.

2021-06-12 02:37:28 -0500 answered a question how to close the "sav" and " dyr" file through psspy?

See post "What is the correct way to finish a simulation"

2021-06-11 16:12:07 -0500 commented answer Swing Bus Negative Active Power

Google swing bus or slack bus.

2021-06-11 16:08:05 -0500 commented answer Swing Bus Negative Active Power

We are not dealing with a real generator, it is a swing bus! A swing bus has no boundaries.