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

Bugfix v1.0.2 #43

Open
wants to merge 5 commits into
base: bugfix-v1.0.2
Choose a base branch
from
Open

Conversation

Skalar2001
Copy link

No description provided.

First, in line 1920 in frame.py:
stat = measurement_status << 2
This should be written this way:
stat = measurement_status << 1 because, according to the standard, PMU sync takes only 1 bit, so if we shift this two times, we have one zero more than we actually need to have.

Next, in line 1955 should be:
measurement_status = DataFrame.MEASUREMENT_STATUS_WORDS[stat >> 14]
If we shift this one 15 times, we will loose less significant bit in Data error bits.
So, this whole part of code should be written like this:
The thing is that if frasec: resolves as False if frasec is zero.

We will fix this issue by checking if frasec is not None: (and if soc is not None:).
Methods set_soc() and set_frasec() will validate values.
Should be (2^24)-1 because according to the standard actual frasec is used to be 24-bit integer.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant