finding_an_intermittent_fault_from_sampled_values
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| finding_an_intermittent_fault_from_sampled_values [2026/09/07 18:51] – [COMTRADE is the deliverable] wikiadmin | finding_an_intermittent_fault_from_sampled_values [2026/09/09 14:31] (current) – wikiadmin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Application note: finding | + | ====== Application note: finding intermittent |
| - | ===== The problem | + | ===== The challenge |
| - | A feeder trips every few weeks. Nobody knows why. | + | A feeder trips every few weeks, but the cause is unclear. |
| - | The relay' | + | The protection |
| - | confirm that the relay did what it was set to do and nothing at all about what caused the event. | + | |
| - | Worse, | + | |
| - | drive faulting out, a contactor that chatters, and by the time anyone looks there is nothing to | + | |
| - | look at. The evidence exists for a few milliseconds somewhere on the bus and then it is gone. | + | |
| - | What is needed is a recorder that is always listening, that keeps the cycles from **before** | + | Even more difficult are disturbances that never cause a trip. Operators may report flickering lights, a drive shutting down, or a contactor chattering, but by the time an engineer investigates, |
| - | event as well as after it, that writes what it caught in a format a protection engineer can open, | + | |
| - | and that can say something useful about several hundred captures without a person opening each one. | + | |
| - | This note describes that application, built from the IEC 61850 beans and the waveform beans | + | To diagnose these problems effectively, the system needs to do more than record |
| - | together. The same diagram runs against a merging unit on a live bus and against a folder | + | |
| - | COMTRADE files on a laptop, which is what makes it possible | + | |
| ===== The approach ===== | ===== The approach ===== | ||
| - | < | + | The basic approach is straightforward: |
| - | ┌─ the substation ──────────────┐ | + | |
| - | │ | + | |
| - | │ | + | |
| - | │ | + | |
| - | │ | + | |
| - | │ | + | |
| - | │ | + | |
| - | └───────────────────────────────┘ | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | </ | + | |
| - | The left half is IEC 61850 and the right half has never heard of it. That separation is the design, | + | * continuously monitor high-speed current |
| - | not an accident of packaging: '' | + | |
| - | the feature beans take records, and a record is a record whether it arrived | + | |
| - | from a file. Build the right half against | + | |
| - | it. | + | * save the result in a standard disturbance-record format, and |
| + | | ||
| - | ===== The pieces ===== | + | This allows engineers to see not just **that** something happened, but what the system was doing immediately before, during, and after the event. |
| - | ==== GOOSE is the trigger, not the data ==== | + | The trigger |
| - | '' | + | ===== Why the pre-trigger |
| - | its data set members as data sources. The trip signal is the obvious trigger for a capture, and it | + | |
| - | arrives within the 4 ms GOOSE is engineered for, which is well inside the window the buffer is | + | |
| - | already holding. | + | |
| - | Two properties of the subscription matter more than they look. | + | For intermittent faults, |
| - | * **A subscription going quiet is data.** Every frame carries the publisher' | + | A recorder that starts |
| - | * **// | + | |
| - | The trigger | + | A rolling waveform buffer solves that problem. When a trigger |
| - | inport, and the interesting configurations usually have both: the relay' | + | |
| - | of your own for the events that never trip. | + | |
| - | ==== Sampled Values are the waveform | + | * the waveform |
| + | * the system response afterward. | ||
| - | A merging unit sends four thousand frames a second. Nothing in an application wants four thousand | + | This makes it possible to investigate questions such as: |
| - | values a second and no connector should carry them, so '' | + | |
| - | every '' | + | |
| - | publishes the RMS of each channel beside | + | |
| - | connector instead of four thousand. | + | |
| - | ==== The window comes before the recorder ==== | + | * Was the current already becoming unstable? |
| + | * Did one phase begin behaving differently? | ||
| + | * Was there evidence of arcing or switching | ||
| + | * Did the disturbance begin before the protection system reacted? | ||
| + | * Did the system recover normally afterward? | ||
| - | '' | + | ===== Using Sampled Values as the waveform |
| - | happening or not. This is the part that is easy to leave out and impossible to add later: **the | + | |
| - | half of a disturbance record that matters most is the half from before the trigger.** What the | + | |
| - | current was doing in the cycles leading up to the trip is what says whether the relay was right, and | + | |
| - | a recorder that began collecting when something happened would have missed exactly that. | + | |
| - | '' | + | IEC 61850 Sampled Values provide |
| - | '' | + | |
| - | producing a hundred captures | + | |
| - | ==== COMTRADE is the deliverable ==== | + | Rather than treating |
| - | '' | + | That makes the same captured waveform useful for several purposes: |
| - | detail, it is the reason the application is worth building. A protection engineer opens COMTRADE | + | |
| - | in the tool they already own, the utility' | + | |
| - | relay vendor with a fault report. A capture in a proprietary format is an argument; a capture in | + | |
| - | COMTRADE is evidence. | + | |
| - | '' | + | * disturbance recording, |
| - | of the diagram be developed | + | * RMS and power-quality monitoring, |
| + | * spectral analysis, | ||
| + | * automated anomaly detection, | ||
| + | * later offline review. | ||
| - | ==== One number | + | The high-resolution data is retained where it is useful, without requiring every downstream application to process thousands of individual samples |
| - | Several hundred captures | + | ===== Using GOOSE or analytics as the trigger ===== |
| - | sortable. '' | + | |
| - | 50 Hz — and the metric that carries the most information | + | A relay trip delivered over GOOSE is a natural trigger for disturbance recording, but it should not be the only one. |
| - | each cycle' | + | |
| + | Many of the most useful captures are events that never result in a trip. | ||
| + | |||
| + | Additional triggers can therefore be based on: | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | * operator input, or | ||
| + | * application-specific rules. | ||
| + | |||
| + | This makes the recorder useful for both protection events | ||
| + | |||
| + | ===== COMTRADE as the common record format ===== | ||
| + | |||
| + | Captured waveforms can be stored as IEEE C37.111 COMTRADE records. | ||
| + | |||
| + | This is important because COMTRADE is already widely used in protection and power-system engineering. The same capture can be: | ||
| + | |||
| + | * opened in existing engineering tools, | ||
| + | * archived with other disturbance records, | ||
| + | * shared with a relay or equipment vendor, | ||
| + | * analyzed by another application, | ||
| + | * replayed later for testing. | ||
| + | |||
| + | A standard record format also separates | ||
| + | |||
| + | ===== Reducing | ||
| + | |||
| + | A single event may contain thousands | ||
| + | |||
| + | Opening every capture manually is not practical. | ||
| + | |||
| + | The more useful approach is to first reduce | ||
| + | |||
| + | One useful example | ||
| + | |||
| + | For a 50 Hz system: | ||
| < | < | ||
| Line 109: | Line 108: | ||
| </ | </ | ||
| - | which is '' | + | A clean waveform remains close to zero even if its amplitude |
| - | large its amplitude. Arcing, switching transients, converter | + | |
| - | move energy away from the fundamental and score high. | + | Arcing, switching transients, converter |
| + | |||
| + | Two summary values can then describe a large part of each capture: | ||
| + | |||
| + | * the **median impurity**, representing the normal background condition, and | ||
| + | * the **worst cycle**, including the affected channel and time. | ||
| + | |||
| + | A low median with a short, large excursion suggests a transient disturbance. A consistently elevated median suggests a sustained waveform-quality problem. | ||
| + | |||
| + | This turns a large waveform into a small amount of evidence that can be searched, ranked, and compared. | ||
| + | |||
| + | ===== AI-assisted interpretation ===== | ||
| + | |||
| + | Once the waveform has been reduced to meaningful features, AI can help interpret the results. | ||
| + | |||
| + | The important point is that the AI does not need to inspect thousands of raw samples directly. | ||
| + | |||
| + | Instead, analytics first identify the significant measurements, | ||
| + | |||
| + | This has several benefits: | ||
| + | |||
| + | * less data must be presented to the model, | ||
| + | * the important evidence is already identified, | ||
| + | * results are easier for an engineer to verify, | ||
| + | * smaller or local models become more practical, and | ||
| + | * the same diagnostic process can be applied consistently across large numbers of captures. | ||
| + | |||
| + | The AI can describe what the event is consistent with and identify the evidence behind that interpretation. The engineer remains responsible for the final diagnosis. | ||
| + | |||
| + | ===== Worked example ===== | ||
| + | |||
| + | The screen below shows one disturbance record from an RTE digital fault recorder. The original waveform is sampled at 6400 Hz with a nominal frequency of 50 Hz. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | The display contains three views. | ||
| + | |||
| + | * **Raw waveform** — six channels representing three currents and three voltages. A disturbance begins just before 17:27:41, current collapses, and approximately one second later the system recovers. The waveform clearly shows that an event occurred, but does not by itself explain its character. | ||
| + | |||
| + | * **Per-cycle spectral purity** — during normal operation the waveform contains very little energy outside the 50 Hz fundamental. During the event the impurity rises sharply for several cycles, showing that much of the signal energy has moved away from the fundamental. | ||
| + | |||
| + | * **Diagnosis** — the steady-state waveform is clean, followed by a short, highly distorted event. Energy is distributed across a much wider frequency range rather than remaining concentrated at 50 Hz. That is evidence consistent with arcing, contact operation, switching, or another transient disturbance rather than a simple clean fundamental-frequency fault. | ||
| + | |||
| + | The analysis also identifies what should be checked next. RMS and peak current, for example, can help distinguish between remaining possibilities. | ||
| + | |||
| + | That combination of **automated screening and explicit supporting evidence** is more useful than simply assigning a fault label. | ||
| + | |||
| + | ===== Important limitations ===== | ||
| + | |||
| + | No single analytic identifies every electrical fault, so practical monitoring combines several measurements. | ||
| + | |||
| + | * **Spectral impurity does not detect every fault.** A high-amplitude fault that remains almost entirely at the fundamental frequency may still have very low spectral impurity. Amplitude, RMS, peak, and other tests should therefore be used alongside spectral analysis. | ||
| + | |||
| + | * **A failed measurement channel may appear artificially clean.** A channel stuck at zero has no out-of-band energy. A liveness or RMS check should therefore be used before classifying a low impurity value as healthy operation. | ||
| + | |||
| + | * **This is not a protection system.** The relay remains responsible for protecting the plant. The recorder and analytics provide additional evidence to explain what happened. | ||
| - | Two numbers per record then say most of what is worth knowing: | + | * **Accurate timing matters.** If records from multiple devices or applications are to be compared, appropriate time synchronization |
| - | * the **median** impurity across every cycle and channel, which is the steady state, and | + | ===== Developing without a live substation ===== |
| - | * the **worst** cycle, with the channel and the time it occurred on. | + | |
| - | A record whose median is low and whose worst is high had a brief event. A record whose median is | + | The analysis does not need to begin with live IEC 61850 equipment. |
| - | already high has a sustained harmonic problem — a different fault, and a different report. | + | |
| - | ==== The diagnosis ==== | + | Existing COMTRADE records can be used to develop and validate the disturbance analysis, event screening, visualization, |
| - | '' | + | Those records may come from: |
| - | what they are consistent with. The value is not that it is clever; it is that it writes the same | + | |
| - | paragraph for the four hundredth record as for the first, and names the evidence it used so that a | + | |
| - | person can disagree with it. | + | |
| - | ===== A worked example ===== | + | * protection relays, |
| + | * digital fault recorders, | ||
| + | * laboratory tests, | ||
| + | * archived plant events, or | ||
| + | * public disturbance data sets. | ||
| - | The screen below is one record from an RTE digital fault recorder, 6400 Hz, 50 Hz nominal, one | + | Once the analysis |
| - | 20 ms cycle per feature vector — a file, played through | + | |
| - | merging unit. | + | |
| - | {{ : | + | Waveforms can also be replayed in a laboratory environment, allowing |
| - | // | + | ===== Implementing |
| - | displayed width.// | + | |
| - | Three panes, top to bottom. | + | MIStudio provides the building blocks needed |
| - | * **Raw waveform** — six channels, three currents | + | For live IEC 61850 systems, MIStudio can subscribe to Sampled Values for waveform |
| - | before 17:27:41, the currents collapse, and roughly a second later everything comes back. That | + | |
| - | is a fault, a breaker opening, and a successful reclose. It is also about as much as the raw | + | |
| - | trace will tell you. | + | |
| - | * **Per-cycle spectral purity** — the impurity of every cycle of every channel. The steady state | + | |
| - | sits on the floor at 0.033 and below. During the event it goes to nearly 1: for a cluster of | + | |
| - | cycles, almost none of the energy is at 50 Hz. | + | |
| - | * **Diagnosis** — median 0.00217, worst 0.96135 on I3. The steady state was clean, so this is not | + | |
| - | a harmonic load; the excursion is a factor of several hundred over a short cluster of cycles; | + | |
| - | within those cycles the fundamental is nearly gone and the energy is spread over 400–3150 Hz. | + | |
| - | That signature is arcing | + | |
| - | The last sentence of the diagnosis is the important one, and it is a limitation stated rather than | + | A rolling time-series buffer retains |
| - | hidden: to remove the remaining ambiguity, check where rms and peak maximised across | + | |
| - | clean high-amplitude fault current is **pure** — it would score near zero on this metric | + | |
| - | screening would pass it. See below. | + | |
| - | ===== What to build ===== | + | MIStudio' |
| - | ^ Bean ^ Role ^ | + | The analytics layer can extract |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | Set '' | + | |
| - | twice. See **IEC 61850** for the subscriber beans, **Disturbance recording** for the recorder | + | |
| - | the writer, and **FeatureExtractor** for the metric vocabulary | + | * spectral energy, |
| + | | ||
| + | | ||
| + | | ||
| + | * other waveform features. | ||
| - | ===== What this does not do ===== | + | Those analytics can be used directly for rules and anomaly detection, or passed to an AI model for higher-level interpretation. |
| - | * **The impurity metric does not see a clean fault.** A high-amplitude fault current at the | + | The resulting |
| - | fundamental is spectrally pure and scores near zero. This screening finds events with a | + | |
| - | distorted signature — arcing, switching, converter faults — and must be paired with an | + | |
| - | amplitude test to find the rest. Neither test subsumes the other. | + | |
| - | * **A dead channel looks perfectly clean.** A channel reading zero, or a stuck value, has no | + | |
| - | out-of-band energy at all. A liveness gate on RMS belongs in front of any threshold set on this | + | |
| - | metric, or an instrument failure will be reported as a healthy bus. | + | |
| - | * **Nothing here is protection.** This is a recorder and an analysis of what it recorded. The | + | |
| - | relay protects the plant, the application | + | |
| - | * **A capture is only as good as its clock.** Sampled Values are timestamped from the kernel' | + | |
| - | receive time of the frame that begins the cycle; comparing captures from two applications means | + | |
| - | both need real time synchronisation. | + | |
| - | ===== Getting started without a substation ===== | + | * IEC 61850 connectivity, |
| + | * continuous high-speed waveform acquisition, | ||
| + | * pre- and post-event disturbance recording, | ||
| + | * COMTRADE interoperability, | ||
| + | * waveform analytics, | ||
| + | * automated event screening, | ||
| + | * visualization, | ||
| + | * AI-assisted diagnosis. | ||
| - | The right-hand half of the diagram needs no IEC 61850 at all. Point '' | + | Because MIStudio treats |
| - | of existing captures — a relay' | + | |
| - | extraction, the detector and the screen against | + | |
| - | in front of it. | + | |
| - | To go the other way, '' | + | That provides |
| - | relay on the same segment sees a fault it cannot tell from the one that happened. That is how | + | |
| - | protection settings are proved before they are trusted, | + | |
| - | tested end to end without waiting weeks for the feeder to trip again. | + | |
finding_an_intermittent_fault_from_sampled_values.1788821517.txt.gz · Last modified: by wikiadmin
