This project is read-only.


PMU Simulator 1.2 "Segmentation Fault"


I have downloaded the new version of PMU Simulator. I can install it fine but when I run the PMU and enter in a server port number and it run, the terminal displays "Segmentation Fault" and exits the the program(PMU). Is there anything simple that I am doing wrong to make this happen?
Closed Sep 20, 2012 at 3:35 PM by nprjhjwa
The issue of segmentation fault was due to shared memory usage conflict.
Was solved in version 1.2.1.


pipkguitar wrote Dec 12, 2011 at 9:23 PM

I tried it with another computer and it worked ok. It must be something with my computer settings

PanditNitesh wrote Dec 13, 2011 at 4:33 AM

good...finally you are running. So can you give me your suggestions on PMU Simulator-1.2 based on newly added features or for future enhancements of Simulator?

pipkguitar wrote Dec 13, 2011 at 2:57 PM

I'm having a couple of issues in the new PMUSimulator. First, the frequency that shows up in PMU simulator seems to be the value from the nominal value instead of the actual value. For instance if the csv file reads 60.12HZ for one measurement, in PMU Connection Tester it will read 0.12HZ(60.12 - 60(nominal value)). If I go into the csv file and add 60(nominal frequency) so that instead of 60.12, I get 120.12 in the csv file, PMU Connection Tester will read the original correct number 60.12. I know in the C37.118 format some of the frequency is measured from nominal value, which could be the problem somewhere.

Second, my angles are 180 degrees off. If the radian value pi/4(+45 Degrees) is in the csv file,
the value in PMU Connection Tester will be -135 Degrees. If I add pi(180 degrees) to the value in the csv file, then I will get
the correct value of 45 Degrees.

As for components that would be good for future improvemnts:
From an American Perspective, it would be nice to have frame rates of 30 and 15,100

I think it would be good if there was some type of aspect that would calibrate PMUSimulator to send
on average exactly 60 frames/second. I have code to do this but it is a bit tedious to do. Something that
would subtract a couple hundred microseconds from the usleep() command in UDP_Send_data would be good.

Another good option would be to add multiple threads so that multiple PMU's could be simulated on one PMUSimulator program.
For example, one installation of PMUSimulator that could have different PMU's with different ID's, Framerates, Port numbers, etc.
This would be similar to combining iPDC with PMUSimulator as far as the time alignment is concerned, but this feature in
PMUSimulator would allow for individual PMU Streams, whereas iPDC will output only a combined PDC Stream, ie same frame rate/port number.

Another option that would be useful would be allowing the user to send a particular data frame late. For example, the program
would send dataframe 1, wait 16.66ms(for 60 messages/sec), send dataframe 2, wait 30ms(for example), then go back to the original
frame rate. This kind of feature would be good for PDC testing. It would also be good for testing the limits of iPDC. The idea
is to see how late a data frame can be sent before it is discarded and to see what the PDC does with the data frame that it does
receive late.

Another option would be to have the user input whether the csv file angle will be in radians or degrees, so that either would be supported

Another option would be allow the user to choose to stop reading the csv file after all the lines are read if the user wants to.

Lastly, this may be more work than what it is worth, but having a PMUSimulator without a GUI that could be
used in non GUI operating systems, such as FreeBSD could be useful for more accurately simulating a PMU. I'm
running Ubuntu now and with a Garmin GPS I can get my system clock to within 30 microseconds of the actual time.
On FreeBSD, accuracies of less than 1 microsecond are possible. Most of the PMU's that we have in the lab are accurate
to a few hundred nano seconds. This kind of feature would be helpful in accurately integrating PMUSimulator with real PMU's and PDC's.

PanditNitesh wrote Dec 15, 2011 at 4:53 PM

Thanks for your suggestions, I will look into it and try to implement.