Comtrade Viewer Help
Read relay event records. Inspect waveforms. Measure timing. Compute power quantities.
Records never leave your device — everything runs locally.
File Formats
Comtrade Viewer reads nine record formats. All are loaded the same way — tap Open Record and select the file(s).
- COMTRADE (IEEE C37.111) — either a .cfg + .dat pair (select both together) or a single .cff file.
- Beckwith OSC — single binary
.oscfile. Auto-detects the relay variant (M-3311A, M-3430, M-3425A, and older legacy formats). - ATP/EMTP PL4 — single
.pl4file from ATP/EMTP simulations. - SEL CEV — single ASCII
.cevfile ("Compressed Event"). When the record contains the relay's settings dump (most do), a View Settings › button appears in Record Details. - SEL EVE — single ASCII
.evefile ("Event Report") — the human-readable fault report written by SEL distance and protection relays. - SEL EVZIP — multi-event archive (
.evzip), a standard ZIP file containing one or more.cevor.eveevents. When an EVZIP has more than one event inside, a picker appears so you can choose which event to load. - SEL MSR — single ASCII
.msrfile (Motor Start Report). Carries one RMS value per cycle for phase currents, line voltages, and thermal capacity used — an envelope, not a sampled waveform. Analog plot only: the phasor diagram, RX diagram, and terminal calculations are not available for MSR records. A View Report › button in Record Details shows the full report text. - SEL CMSR — compressed variant of the MSR (
.cmsr), encoding the same motor-start data in SEL's CSV-with-checksums wire format. Behaves identically to.msr(analog plot only). Record Details shows a checksum tally confirming file integrity. - S&C IntelliRupter WFC — waveform capture file (
.wfc) exported from S&C IntelliRupter Fault Interrupters. Waveforms, status points, and event data are automatically decoded and displayed like other oscillographic records.
Quick Start
Tap Open Record and pick a file (or pair of files) from the Files app.
The channel list appears. Tap any analog or digital channel to select it.
Tap the blue Plot › button at the top right to view the waveforms.
On the plot screen: pinch to zoom, drag to pan, double-tap to fit the full record. Drag the A and B cursor handles to measure timing and amplitude.
Swipe from the left edge of the screen (or use the Android back gesture) to return to the channel list.
Reading the Plot
Each selected analog channel gets its own lane with the channel name on the left, a colored trace, and a horizontal axis at the bottom showing time in seconds or milliseconds.
Digital channels get shorter lanes with a dashed gray baseline. Colored dots appear at samples where the digital is asserted (=1).
The A (red) and B (green) cursors mark two points in time. The left margin of each lane shows the trace value at A and B. The bottom strip shows the absolute times and the difference (Δ) between the two cursors, including the count of fundamental cycles between them.
Tap the file-info row at the top of the channel list to see record details — station, device, samples, sample rate, timestamps, and format.
Plot Screen Gestures
Pinch
Zoom in/out on the time axis.
Drag (one finger)
Pan left/right along the time axis.
Double-tap
Auto-scale to fit the entire record.
Swipe from left edge
Return to the channel list.
Drag A or B handle
Move the corresponding cursor.
Tap P
Toggle the phasor diagram (left of A/B handles).
Tap RX
Toggle the impedance (R-X) diagram. Visible only when a terminal is defined.
Press and hold (phasor/RX)
Show magnitude, angle, R/X readout. Release to dismiss.
Channel Customization
- Tap a channel name to rename it. The new name persists for the session and is used in plots, cursor readouts, and exports.
- Tap a color stripe (next to the channel name, only visible when selected) to change that channel's trace color. 16 colors are available.
- The Filter input at the top of the channel list narrows the visible channels by name match (case-insensitive substring).
Terminal Calculations
A terminal is a 3-phase point in the system, defined by 6 channels: three voltages and three currents. Once defined, Comtrade Viewer can plot derived power quantities alongside the raw waveforms.
Defining a Terminal
When a record contains at least 3 voltage and 3 current channels, a Define Terminal banner appears above the channel list. Tap it to open the terminal-define modal:
- Wiring — choose Wye if your voltage channels are phase-to-earth (VA, VB, VC), or Delta if they are phase-to-phase (VAB, VBC, VCA).
- Method — applies only to the calculated P / Q (power) channels. The phasor diagram and every impedance calculation (Z1, Z2, Z0, and the loop impedances) always use their own 1-cycle DFT and are not affected by this setting. Choose DFT for 1-cycle sliding-window power (smooth, recommended for steady-state and post-fault analysis), or Instantaneous for point-by-point power (shows the 2× line-frequency ripple).
- Auto-guess — fills in the channel pulldowns by matching channel names. Recognises the IEEE A/B/C convention (VA, VB, IA, etc.) and the IEC numeric convention (U1, U2, I1, etc.).
Tap Save. The banner summarizes your terminal, and a Calculated section appears in the channel list between Analog and Digital.
Calculated Channels
In Wye mode, ten quantities are available:
- PA, PB, PC — active power per phase (W).
- 3P — total 3-phase active power.
- QA, QB, QC — reactive power per phase (var). Positive Q means inductive vars flowing out of the bus.
- 3Q — total 3-phase reactive power.
- V0 — zero-sequence voltage = (VA + VB + VC) / 3.
- I0 — zero-sequence current = (IA + IB + IC) / 3.
In Delta mode, only system-level quantities are available:
- 3P, 3Q — total active and reactive power, computed via the 2-wattmeter (Aron) form.
- I0 — zero-sequence current, same as wye.
Per-phase P/Q and V0 are not physically defined when only line-to-line voltages are recorded, so they are not offered.
Sign Conventions and Units
Active and reactive power use the inductive-positive convention. Power units are derived automatically from the source channel units (V × A → W; kV × A → kW; kV × kA → MW). The display formatter chooses an SI prefix that keeps the value in a readable range (1.299 MW, 750.0 kvar, etc.).
Phasor (P) and Impedance (R-X) Diagrams
Tap P in the strip with the A/B handles to open the phasor diagram. It opens beside the waveforms — below them in portrait, to the right in landscape — and computes a one-cycle DFT phasor for each selected channel at cursor A. Move cursor A and the phasors update live.
- Select — choose which analog channels appear, the 0° reference channel (all V/I phasors rotate so that channel sits on the positive real axis; pick none to use the raw +real axis), the frequency reference (an analog channel whose unit is
Hz, sampled at the cursor so off-nominal/drifting frequency is tracked), and RMS vs Peak magnitude. - Per-quantity scaling — the largest voltage phasor is drawn at 1.0 pu and the largest current at 0.5 pu, each group scaled independently, so angular relationships are clear regardless of the V-vs-I magnitude gap. The dashed rings are labelled with the real-unit value each represents.
- Press and hold anywhere on the diagram for a readout of every phasor's magnitude and angle (relative to the reference); release to dismiss.
Tap RX (only shown when a terminal is defined) for the impedance plane. It plots the positive-sequence impedance Z1 = V1 / I1 as a point with a line from the origin, on R (horizontal) / X (vertical) axes, also tied to cursor A. Z1 is shown at its absolute angle — no reference rotation. The ohms domain follows the recorded channels as-is (no CT/PT ratio applied, so secondary inputs give secondary ohms). Press and hold for R, X, |Z1| and the impedance angle.
The one-cycle DFT uses an integer sample window. At off-nominal frequencies there is a small, predictable magnitude/angle bias; relative angles between channels are not affected, which is why a reference channel gives the most reliable reading.
Settings Reference
Open Settings via the gear icon next to the title in the top-left of the channel list.
Display
| Setting | Default | Notes |
|---|---|---|
| Lane height | 60 px | Vertical space per analog channel. With Auto-fit off this is the exact height; with it on it acts as a minimum. |
| Digital row height | 22 px | Vertical space per digital channel. |
| Space between lanes | 5 px | Gap between adjacent lanes. |
| Trace line width | 1.5 px | Thickness of plotted lines. Range 1–10. |
| Pinch zoom sensitivity | 1.5× | Multiplies the zoom factor. Higher = faster zoom with shorter finger travel. |
| Show gridlines | On | Horizontal axes within each lane. |
| Show channel labels | On | Channel name in the left margin. |
| Auto-fit lanes to screen | Off | When on, lanes grow to fill the screen if total height is less than the viewport. When off, each lane is exactly Lane height px tall. |
Why is there empty space below my waveforms? You have only a few channels selected and Auto-fit lanes is off, so each lane uses exactly Lane height px and the remaining screen is intentionally blank. Turn Auto-fit lanes to screen on to expand lanes to fill the screen. Note: Lane height and Auto-fit control vertical space; Y-axis scaling (below) controls signal amplitude within whatever space a lane has. The two are independent.
Theme
| Setting | Default | Notes |
|---|---|---|
| Theme | Auto | Auto follows the system dark/light mode. Light or Dark forces it. |
| Monochrome traces | Off | Renders all traces in a single color (white on dark, black on light). Cursor lines and A/B labels keep their own colors. |
Cursors
| Setting | Default | Notes |
|---|---|---|
| Cursor A color | Theme default | Pick from 16 swatches or tap Reset to return to the theme default. |
| Cursor B color | Theme default | Pick from 16 swatches or tap Reset to return to the theme default. |
| A/B sliders position | Bottom | Place cursor handles at the bottom or top of the plot screen. Time labels always stay at the bottom. |
Numeric Display
| Setting | Default | Notes |
|---|---|---|
| Show ε for |value| below | 0.001 | Values smaller than this display as ε instead of a tiny number. Reduces noise in cursor readouts. |
| Y-axis scaling | Auto (visible window) | Auto — y-axis rescales to the data within the current zoom window. Best for inspecting fine detail. Fixed (full record) — y-axis range computed once from the entire record. Best for comparing fault transients to pre-fault steady state. Scale never changes as you pan or zoom. |
Channels
| Setting | Default | Notes |
|---|---|---|
| Digitals Listing | All | All — every digital channel is selectable. Active only — only digitals that change state somewhere in the record. Active or asserted — digitals that change state OR stay asserted (=1) for the whole record. |
Power System
| Setting | Default | Notes |
|---|---|---|
| Default Frequency (Hz) | 60 Hz | Fallback line frequency used only when a record contains no embedded frequency value. Persists across app restarts. Set to 50 once if you mostly work on 50 Hz systems. |
| Frequency for DFT (Hz) | From record | The frequency actually used by the DFT calculations and cursor cycle counts for the current record. Defaults to: the record's embedded value → your Default Frequency → 60 Hz. Edit to override for the current record only. |
Phasor Diagram
| Setting | Default | Notes |
|---|---|---|
| Phasor arrow width | Medium | Thickness of phasor arrows in the P / R-X diagram. Small, Medium, or Large. |
Troubleshooting
If a record fails to load or computed channels look wrong:
- Open Settings → tap View Log.
- Look for entries tagged
[load](file loading),[calc](terminal calculations), or[dft](DFT engine). - Tap Copy to put the log on the clipboard, then email it to feedback@comtradeviewer.org along with the record file (if non-confidential).
Common Messages
- "no line frequency in record; using user default …" — your record didn't specify a line frequency. The app fell back to your Default Frequency setting. Set this once in Settings if you mostly work at a non-60 Hz frequency.
- "sample rate X Hz too low for f1=60 Hz" — DFT needs at least 4 samples per cycle. Increase the relay's sample rate or use the Instantaneous method.
About
- Privacy — collects nothing. Records never leave the device.
- Offline — fully functional with no network connection.
- Support — feedback@comtradeviewer.org
- Website — comtradeviewer.org
- Disclaimer — Provided as-is for quick viewing and analysis of waveform records. Results must be independently verified before use in any operational decision.