OpenPDC Status Flags


I have OpenPDC receiving data from PMU server configured in a SEL-3555. All of the data looks good in OpenPDC, but I have status flags of DE1F0. This is what the points look like in the output monitor. Below that is a screenshot of the frequency tag in the 3555 PMU server. The quality is good and the time is being updated. I am not sure what to do to get rid of the status flags. Any ideas??


Looks like this might mean:

  1. Clock unlocked for 1000 seconds
  2. 3-bits marked reserved for security that should be 0?
  3. PMU out of sync, with error and data invalid bits set

Then the high order bits are just a non-protocol specific abstraction of these same bits so analysis can be performed on status words without needing to know underlying protocol.

Are you not hooked to a GPS clock? If you are, is the time locked?



Since you asked about GPS clock, I have looked more closely at time stamps and configuration.
The PMU server was not locked to a GPS clock, and using free-running time. I configured NTP on the PMU server, with a UTC offset of -6 hours (Texas).
The server running OpenPDC is set up for the same timezone, and not locked to a GPS clock or NTP. It is currently 11:53 Central, and both the PMU server and OpenPDC server have the correct time.
When I switch over to the connection tester, under the Real-time Frame Detail, the time on the data frames is 17:53.
If I do a query of the last 5 minutes on historian viewer, the export time starts at 17:53, and the data is all NAN.
Is there a configuration setting that defines the UTC offset?
Should I be time-stamping the PMU data with a 0 offset?


Generally everything in openPDC and historian tools use UTC regardless of local time zone settings. If you manually set a time-zone for a device in the PDC, this is saying the time coming in from PMU is in local time and openPDC uses this setting to convert to UTC - I generally do not recommend changing this setting unless the PMU has no choice but to use local time, in which case you have to make adjustments twice per year because of daylight savings time.



Sorry to ask in this topic but sometimes i had Time quality flag that number: 251658240. But my status flag was 0. Where i can find the meaning of Time Quality flag?

When this happen give me an angle difference much more than zero.



The time quality flag is defined in Table 3, Section 6.2.2 of IEEE Std C37.118.2-2001. The flags are basically defined as follows (as pulled from the open source Grid Solutions Framework implementation of the protocol):

    /// <summary>
    /// Time quality flags enumeration.
    /// </summary>
    [Flags, Serializable]
    public enum TimeQualityFlags : uint
        /// <summary>
        /// Reserved bit.
        /// </summary>
        Reserved = (uint)Bits.Bit31,
        /// <summary>
        /// Leap second direction – 0 for add, 1 for delete.
        /// </summary>
        LeapSecondDirection = (uint)Bits.Bit30,
        /// <summary>
        /// Leap second occurred – set in the first second after the leap second occurs and remains set for 24 hours.
        /// </summary>
        LeapSecondOccurred = (uint)Bits.Bit29,
        /// <summary>
        /// Leap second pending – set before a leap second occurs and cleared in the second after the leap second occurs.
        /// </summary>
        LeapSecondPending = (uint)Bits.Bit28,
        /// <summary>
        /// Time quality indicator code mask.
        /// </summary>
        TimeQualityIndicatorCodeMask = (uint)(Bits.Bit27 | Bits.Bit26 | Bits.Bit25 | Bits.Bit24),
        /// <summary>
        /// No flags.
        /// </summary>
        NoFlags = (uint)Bits.Nil



Hi Mr. Carroll

Thank you very much your answer. Now i understand.

251658240 - > 1111000000000000000000000000

24,25,26,27 bit -> ///

/// 1111 - 0xF: Fault–clock failure, time not reliable.