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

Multiple messages in one DATA FRAME #8

Open
RadevicI opened this issue Jun 28, 2018 · 8 comments
Open

Multiple messages in one DATA FRAME #8

RadevicI opened this issue Jun 28, 2018 · 8 comments

Comments

@RadevicI
Copy link

RadevicI commented Jun 28, 2018

Hi again,

I am facing another problem with multiple messages in one data frame.
What is the reason for that?
Why each message sent with send_data method is not in separate data frame?
multiple_messages

Thanks.

Best Regards,

Isidora

@sstevan
Copy link
Contributor

sstevan commented Jun 28, 2018

Hey @RadevicI,

Please share ConfigFrame that you are using in your script with us.
It will help us to debug data frame from above.

@RadevicI
Copy link
Author

RadevicI commented Jun 28, 2018

Hi Stefan,

This is the ConfigFrame I am using:

pmu = Pmu(ip="131.180.164.101", port=4701, pmu_id=1, data_rate=50, set_timestamp=False)
#pmu = Pmu(ip="131.180.164.99", port=4701, pmu_id=1, data_rate=50, set_timestamp=False)
pmu.logger.setLevel("INFO")

cfg = ConfigFrame2(pmu_id,  # PMU_ID
                   1000000,  # TIME_BASE
                   1,  # Number of PMUs included in data frame
                   "sensorPMU",  # Station name
                   pmu_id,  # Data-stream ID(s)
                   (False, True, True, True),  # Data format - POLAR; PH - REAL; AN - REAL; FREQ - REAL;
                   3,  # Number of phasors
                   1,  # Number of analog values
                   1,  # Number of digital status words
                    ["VA", "VB", "VC", "ANALOG1", "BREAKER 1 STATUS",
                    "BREAKER 2 STATUS", "BREAKER 3 STATUS", "BREAKER 4 STATUS", "BREAKER 5 STATUS",
                    "BREAKER 6 STATUS", "BREAKER 7 STATUS", "BREAKER 8 STATUS", "BREAKER 9 STATUS",
                    "BREAKER A STATUS", "BREAKER B STATUS", "BREAKER C STATUS", "BREAKER D STATUS",
                    "BREAKER E STATUS", "BREAKER F STATUS", "BREAKER G STATUS"],  # Channel Names
                   [(1, "v"), (1, "v"), (1, "v")],  # Conversion factor for phasor channels - (float representation, not important)
                   [(1, "pow")],  # Conversion factor for analog channels
                   [(0x0000, 0xffff)],  # Mask words for digital status words
                   data_rate,  # Nominal frequency
                   1,  # Configuration change count
                   50)  # Rate of phasor data transmission)


pmu.set_configuration(cfg)
pmu.set_header("sensorPMU here!")

pmu.run()
print("pmu started")

@RadevicI
Copy link
Author

RadevicI commented Jun 29, 2018

Also, I would like to share what I am getting in Wireshark when I am sending the data to the local PDC computer. The length of the data frames is big and varies (I would expect 110 all the time - one message per frame, now there are multiple). Finally it increases to 1230 and communication stops (Data transmission OFF).
pdc_pypmu

I hope you know the reason for this :)

Thanks

Isidora

@sstevan
Copy link
Contributor

sstevan commented Jun 29, 2018

@RadevicI ConfigFrame looks fine, can you please upload pcap file?

Have you tried to test with PMU Connection tester or openPDC?
Does the same thing happen?

@RadevicI
Copy link
Author

RadevicI commented Jul 3, 2018

Hi @sstevan,

I have tried to test with PMU Connection Tester. And the same issue is happening. I am sending to you pcap file.
PyPMU.zip

Best regards,

Isidora

@RadevicI
Copy link
Author

RadevicI commented Jul 3, 2018

Additionally,

I would like to share what I have noticed after running pyPMU module. The example is tinyPMU.py, but the same happens when I run my code with pyPMU implemented inside.
Namely, after running tinuPMU.py there is a huge increase in CPU load. Additionally, each time I connect with PMU Connection Tester, new process start without terminating the previous. I am sending the screen shots showing these issues:
with pmu connection tester
multiple_tinypmu

Thanks :)

@sstevan
Copy link
Contributor

sstevan commented Jul 5, 2018

@RadevicI,

Looks like the FRAMESIZE is causing troubles in this case.
The frame is much bigger than the actual frame size specified.

However, I am not able to reproduce this on my setup.

Can you send us the pickled version
of your data frames, or maybe the script with fixed values that you are trying to send?

Regarding performance issues, we already discussed this in #5 and it will be fixed
in next version.

@caldweln
Copy link

caldweln commented Feb 6, 2020

@sstevan @RadevicI I know this is somewhat an old issue... but why is multiple C37 dataframes in a TCP packet considered an issue here?
This looks to me like the TCP layer efficiently encapsuating several PDUs (C37 Dataframes) into one TCP segment.

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

No branches or pull requests

3 participants