Open-source PRC-029 checker

Hello all, I was wondering if there is any open-source checker tool (i.e. python script) for PRC-029 NERC standard using PSSE?

I need to make one for PSS/E - I’ll give that a go tonight if I have some insomnia. What I do in PSLF is playback this .csv file to the POI. To playback waveforms, just supply a file to the gencls model at the POI.

models
gencls   1 "POI" 115.00 "1" : #9 mva=9999  "h" 999.0000 "d" 0.0000 "ra" 0.0000 "lppd" 0.1000 "rcomp" 0.0000 "xcomp" 0.0000 "accel" 0.0000  "file" ridethrough.csv

It synthesizes the voltages and frequencies that the generator must ridethrough. If the generator can stay connected through this waveform to at least 30 seconds as a wind unit, it meets the PRC-029 standard. And if it makes it all the way to the end as any other kind of IBR, you can be pretty confident it passes PRC-029. I say “pretty confident” because the waveform doesn’t catch the steady-state behavior where voltage can be 1.099 p.u. for 1800 seconds or frequency can be 61.199 or 58.801 for 299 seconds. But running dynamics that long is a tough ask, you’ll have to check those manually or make a really long waveform.

ridethrough.csv (843 Bytes)

Sorry to reply twice. It took a while to get the PSSE version working because it's my second language, it's very poorly documented, and the mechanism isn't as elegant as PSLF.

First you have to add a machine for the playback. It cannot be the infinite bus with the gencls model on it. The machine must be connected to a generator bus (type 2) and have Pgen=Qgen=Qmax=Qmin=0 and Vsched=Vinitial.

Then add a playback model like this one to the .dyr file.

# Bus ModelName UnitID UserModelName Undocumented flags(1 1 3 4 3 6) VplaybackFlag FplaybackFlag PlbFileNoExtension12CharMax Vscale Fscale VtimeConst FtimeConst /
1 'USRMDL' 1 'PLBVFU1' 1 1 3 4 3 6 1 1 'ridethrough' 1.0 1.0 0.0 0.0 /

Attached is the playback data. The extension must be .plb which can't be uploaded here right now thus the zip.

ridethrough.zip (367 Bytes)