MiCOM COMTRADE Export: Getting a Disturbance Record Off a P14x
By Yarden Jordan ยท September 3, 2026
A MiCOM relay will happily record a disturbance and then hand you a file that is not a COMTRADE file. Whether you get COMTRADE, a compressed blob that needs vendor software, or nothing at all depends on which port you connect to. That is the first thing to know about this family, and it explains most of the confusion around getting records off one.
This page covers what a MiCOM Px4x relay actually captures, the three retrieval paths and what each one returns, the record numbering scheme that changes as you extract, and two configuration details that quietly decide whether the record can answer your question. The specifics quoted are from the Schneider Electric MiCOM P14x technical manual and apply broadly across the Px4x platform, but numbers do move between products and software releases, so confirm against the manual for the relay in front of you.
The port you use determines the format you get
This is the detail that sends people looking for a corrupt file. The same disturbance record comes out in a different form depending on the interface, and only two of the three paths give you something a third party tool can open.
| Path | What the relay returns | What you need |
|---|---|---|
| Rear Courier port | A file in a compressed format. Not COMTRADE, and not readable as it stands. | MiCOM S1 Studio, to decompress it and save the record in COMTRADE format. The manual names this as the step, not as an option. |
| IEC 61850 Ethernet | ASCII format COMTRADE files, by file transfer. Listed directly under the interface capabilities. | Nothing vendor specific. This is the cleanest path if the relay has the Ethernet board. |
| IEC 60870-5-103 | Records stored uncompressed, extracted by the standard mechanisms of that protocol. | A 103 master. Note the retrieval limit described below, which is specific to this path. |
The manual also describes a two stage extraction over the numbered register interface: first the configuration file, then the data file, presented in IEEE COMTRADE format as an ASCII text configuration file and a binary data file. If an error occurs mid extraction it is reported in the disturbance record status register, and the manual gives two causes worth remembering. One is the master issuing a command outside the bounds of the extraction procedure. The other is the product overwriting the record that is currently being extracted, which is to say the relay can record over the thing you are in the middle of downloading.
Fifty records stored, eight retrievable
The manual states the relay can typically store a minimum of 50 records each of 1.5 seconds duration, with the actual number depending on the selected recording duration and the installed software release. Recording does not stop when memory fills. It continues, and the oldest records are overwritten to make space.
Then comes the line that matters on an older installation. For relays with IEC 60870-5 CD 103, the manual states the total record length is the same, but the protocol dictates that only 8 records, of 3 seconds duration, can be extracted via the rear port.
Read that as a gap between what exists and what you can reach. A relay that has seen a multi shot reclose sequence or a morning of nuisance operations can be holding records that the rear port will not surrender, and they will age out unnoticed because nothing reports them as unreachable. If a site is standardised on 103 and someone asks why the record from three events ago is gone, this is usually the answer.
Record 0 is not the first record
The record selection scheme is genuinely unusual and it is easy to script against incorrectly. Over Courier, record 0 is the oldest unextracted record. Records that have already been extracted and are older than that take positive values, and more recent records take negative values.
The consequence is that the index of a record is not a property of the record. It is a property of what you have already downloaded. Extract one record and every other record renumbers. A retrieval script that walks a fixed index range across two sessions is not reading the same records the second time.
The relay does expose a cleaner signal for automation. A Disturbance bit in the status byte is set whenever there are unextracted disturbance records, which is the intended way to poll for new captures rather than counting. The manual also notes that the rear Courier port supports automatic extraction as records occur, while the front Courier port does not, so front port work is manual selection only. A separate register interface addresses records by an offset from the oldest record identifier instead, so confirm which convention the tool in front of you is using.
A CT ratio below one writes a channel of zeros
This is the setting that produces a flat trace and a wasted afternoon. CT and VT ratios are extracted along with the record so the analysis tool can scale to primary quantities. The manual then states plainly that if a CT ratio is set to less than unity, the relay will choose a scaling factor of zero for the appropriate channel.
There is no error and no warning. A ratio typed in as a fraction, or a secondary and primary transposed on a low ratio core, gives you a channel that reads exactly zero for the whole record. The samples were taken. The scaling threw them away.
It is worth checking this deliberately, because a zero channel reads as an unenergised circuit or a dead CT, and both of those are plausible conclusions in a fault record. If a channel is flat at zero while its phase partners are not, look at the ratio before you write anything down.
What the record actually contains
The disturbance recorder runs as a separate task from protection and control. Per the manual it records up to 9 analog channels and up to 128 digital signals, with a user selectable recording time up to a maximum of 10.5 seconds, and a default duration of 1.5 seconds on the XCPU3 variant with a setting step of 0.1 s.
On resolution, the product design section describes frequency tracking that maintains a sample rate of 24 samples per cycle, with hardware anti-alias filtering attenuating frequencies above half the sample rate. The disturbance recorder takes the samples from the input module in unprocessed form, while the protection elements work from a one cycle, 24 sample Discrete Fourier Transform of the same data.
Twenty four samples per cycle is 1200 Hz at 50 Hz and 1440 Hz at 60 Hz. That is enough to reconstruct the fundamental cleanly and enough for low order harmonics, and it is thin if the question involves fast transients, high order harmonic content or precise timing of a sub millisecond event. It is worth knowing before you promise an answer that the record cannot support. Note also that because the rate is defined per cycle and held there by frequency tracking, the spacing between samples in absolute time follows system frequency rather than staying fixed.
One small feature that helps more than it looks like it should: custom labels for the digital channels. The manual notes these labels are available only in the COMTRADE file. A digital channel that is cryptic on the relay display can arrive in the record named for what it does, which is worth setting up during commissioning while someone still knows what each signal is.
The fault locator does not use the disturbance record
Worth separating clearly, because the distance to fault figure and the waveform are often discussed as if they came from the same capture. They do not.
The fault locator is described as an integral function separate from the protection and control task, writing to its own cyclic 12 cycle buffer at 24 samples per cycle. When triggered, the buffer freezes with 6 cycles of pre trigger and 6 cycles of post trigger data, and the calculation runs on that. It stores data for up to four faults, which the manual explains is so a location can be produced for every shot in a typical multiple reclose sequence. The calculated location is passed to the protection and control task and included in the fault record.
So the distance figure was computed from 12 cycles around the trigger, by an algorithm with its own phase selection rules, while your disturbance record may be seconds long and triggered by something else entirely. The manual gives the phase selection thresholds: current changes are treated as equal if within 20% of each other, and phase selection and location can only be calculated if the current change exceeds 5% In. A fault that does not clear that threshold produces no location, and that is a designed outcome rather than a failure.
This is exactly the case for recomputing from the waveform yourself rather than accepting a single number. Detego runs fault location off the record you actually loaded, alongside the phasors, sequence components and impedance trajectory it was derived from, so the figure can be checked against the evidence rather than taken on trust.
Settings changes need confirming, and they generate no event until you do
Disturbance recorder settings behave differently from control and support settings. Control and support changes are implemented immediately and stored in non volatile memory. Changes to the disturbance recorder settings or to a protection setting group go into a scratchpad in SRAM and are not implemented until the Save Changes cell in the Configuration column is written to.
Two practical points follow. Changes can be aborted from the scratchpad, which is a safety net worth knowing about. And the event record is only created once the settings are confirmed at the setting trap, so the audit trail reflects the confirmation, not the editing. If you are reconstructing what the relay was configured to do at the time of an event, the event log tells you when a change was committed rather than when someone started making it.
What to ask for
If you are requesting a MiCOM record from site, ask which port it came off, because that tells you whether you are getting COMTRADE or a compressed file that still needs S1 Studio. Ask for both the configuration file and the data file, since the extraction is a two stage process and receiving one without the other is a common outcome. Ask for the CT and VT ratio settings for the channels in question, both because they scale the record and because of the sub unity zeroing described above.
If the site is on IEC 60870-5-103 and the event is more than a few operations old, ask sooner rather than later, and ask whether the record is inside the eight the rear port will release. And if anyone is about to go and change disturbance recorder settings on that relay, ask them to collect first.
Once you have the pair of files, you can open them in Detego without installing anything. It reads COMTRADE and CFF from any vendor, so a MiCOM record, an SEL event report and a GE oscillography file can be examined side by side in the same session, which is the part that matters on a mixed fleet.
Frequently asked questions
How do I get a COMTRADE file from a MiCOM relay?
It depends on the port. Over the rear Courier port the relay returns a compressed file, and the manual directs you to MiCOM S1 Studio to decompress it and save the record as COMTRADE. Over the IEC 61850 Ethernet interface the manual lists disturbance record extraction by file transfer as ASCII format COMTRADE files, with no conversion step. Over IEC 60870-5-103 the records are stored uncompressed and extracted using that protocol standard mechanisms.
How many disturbance records does a MiCOM P14x hold?
Typically a minimum of 50 records of 1.5 seconds each, varying with the selected duration and the software release, with the oldest overwritten once memory is exhausted. On relays with IEC 60870-5-103 only 8 records of 3 seconds duration can be extracted via the rear port, so what is stored and what is reachable are not the same number.
What sample rate is a MiCOM disturbance record?
Frequency tracking maintains 24 samples per cycle, which is 1200 Hz at 50 Hz and 1440 Hz at 60 Hz, with anti-alias filtering above half the sample rate. The disturbance recorder stores those samples unprocessed.
Why is a channel in my MiCOM record flat at zero?
Most likely the CT ratio for that channel is set below unity, in which case the manual states the relay chooses a scaling factor of zero for that channel. It fails silently, and the result looks like a dead circuit.
Is the MiCOM fault location calculated from the disturbance record?
No. The fault locator has its own 12 cycle cyclic buffer at 24 samples per cycle, frozen as 6 cycles pre trigger and 6 post, and stores up to four faults. The location it reports comes from that buffer, not from the disturbance record you downloaded.
