Help

← comtradeviewer.org

Comtrade Viewer Help

Read relay event records. Inspect waveforms. Measure timing. Compute power quantities.
Records never leave your device — everything runs locally.

COMTRADE .cfg + .dat Single-file .cff Beckwith OSC ATP/EMTP PL4 SEL CEV / EVE / EVZIP SEL MSR / CMSR S&C IntelliRupter WFC

File Formats

Comtrade Viewer reads nine record formats. All are loaded the same way — tap Open Record and select the file(s).


Quick Start

  1. Tap Open Record and pick a file (or pair of files) from the Files app.

  2. The channel list appears. Tap any analog or digital channel to select it.

  3. Tap the blue Plot › button at the top right to view the waveforms.

  4. 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.

  5. 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


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:

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:

In Delta mode, only system-level quantities are available:

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.

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

SettingDefaultNotes
Lane height60 pxVertical space per analog channel. With Auto-fit off this is the exact height; with it on it acts as a minimum.
Digital row height22 pxVertical space per digital channel.
Space between lanes5 pxGap between adjacent lanes.
Trace line width1.5 pxThickness of plotted lines. Range 1–10.
Pinch zoom sensitivity1.5×Multiplies the zoom factor. Higher = faster zoom with shorter finger travel.
Show gridlinesOnHorizontal axes within each lane.
Show channel labelsOnChannel name in the left margin.
Auto-fit lanes to screenOffWhen 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

SettingDefaultNotes
ThemeAutoAuto follows the system dark/light mode. Light or Dark forces it.
Monochrome tracesOffRenders all traces in a single color (white on dark, black on light). Cursor lines and A/B labels keep their own colors.

Cursors

SettingDefaultNotes
Cursor A colorTheme defaultPick from 16 swatches or tap Reset to return to the theme default.
Cursor B colorTheme defaultPick from 16 swatches or tap Reset to return to the theme default.
A/B sliders positionBottomPlace cursor handles at the bottom or top of the plot screen. Time labels always stay at the bottom.

Numeric Display

SettingDefaultNotes
Show ε for |value| below0.001Values smaller than this display as ε instead of a tiny number. Reduces noise in cursor readouts.
Y-axis scalingAuto (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

SettingDefaultNotes
Digitals ListingAllAll — 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

SettingDefaultNotes
Default Frequency (Hz)60 HzFallback 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 recordThe 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

SettingDefaultNotes
Phasor arrow widthMediumThickness 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:

  1. Open Settings → tap View Log.
  2. Look for entries tagged [load] (file loading), [calc] (terminal calculations), or [dft] (DFT engine).
  3. 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


About