Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frequency error #4

Open
cepedajaime opened this issue Mar 14, 2018 · 1 comment
Open

Frequency error #4

cepedajaime opened this issue Mar 14, 2018 · 1 comment
Labels

Comments

@cepedajaime
Copy link

Hello, I am trying to use your Python app (pyPMU) in its pdc option. However, I have problems with reading the data from ints special format, mainly regarding the frequency. This variable is not correct. I am using PMU data in 60 Hz. In this connection, I already read the previous issue named "Trouble Reading from SEL735" and I did your suggested change in line 2144 in frame.py, after which it works. However, the frequency keeps in 60.06 Hz, almost constant (please see the attached figure).
freq_pypmu
I realized that this value was also reported on the mentioned previous issue "Trouble Reading from SEL735". Therefore, please help me with suggestions for solving this inconsistency. Thanks in advance for your help and for sharing this so interesting application.

@sstevan
Copy link
Contributor

sstevan commented Mar 14, 2018

Hello Jaime,

As already mentioned here: #3 (comment)
we are unpacking FREQ field as the frequency deviation. Please check the image below:
c37 118

So we do not expect to get there 60 as for nominal frequency. Nominal frequency is defined inside the Configuration Frame and theFREQ field should carry deviation.

So if you can provide FREQ as Actual Frequency - Nominal Frequency in mHz it will work.

Please let us know if you think this is misinterpreted. If you could share with us your sample data we might have a solution for you - how to adjust the script to get correct measurements.

However, there might be a bug in FREQ range validation that I have just noticed if you are trying to send actual frequency deviation in mHz which can be solved by editing line 2144 in frame.py.

@sstevan sstevan added the bug label Mar 21, 2018
veljkoDjurkovic added a commit to veljkoDjurkovic/pypmu that referenced this issue Jul 28, 2022
According to C37.118 standard, the most significant bit in Data format defines representation of FREQ/DFREQ. If this bit is logical "1", frequency is shown by floating point, otherwise 16-bit integer.
If we have representation in 16-bit integer, than FREQ is frequency deviation from nominal in mHz. In other case it is actual frequency value ( I think in mHz too).
veljkoDjurkovic added a commit to veljkoDjurkovic/pypmu that referenced this issue Jul 28, 2022
veljkoDjurkovic added a commit to veljkoDjurkovic/pypmu that referenced this issue Jul 28, 2022
According to C37.118 standard, the most significant bit in Data format defines representation of FREQ/DFREQ. If this bit is logical "1", frequency is shown by floating point, otherwise 16-bit integer.
If we have representation in 16-bit integer, than FREQ is frequency deviation from nominal in mHz. In other case it is actual frequency value.
Skalar2001 added a commit to Skalar2001/pypmu-popravka that referenced this issue Jul 28, 2022
In C37.118.2-2011 - IEEE Standard for Synchrophasor Data Transfer for Power Systems  says that frequency can be 32 bit floating point in witch case we would use real value of freq and 16 intiger in witch case we would represent frequency as real value of frequency + deviation frequency
veljkoDjurkovic added a commit to veljkoDjurkovic/pypmu that referenced this issue Jul 29, 2022
When FREQ is 16-bit integer, it is considered to be frequency deviation from nominal (in mHz) and it is added to nominal frequency value to get actual value of frequency (see one of my commits) , divided by 1000.
When FREQ is floating points, it is actual frequency value that should be written in Hz (because range is -32767 <= freq<=32767, so max value would be 32.767Hz if we use mHz for input).

This is only my understanding of standard and should be checked by others.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants