---
title: "Compare two SCL files"
---

# Compare two SCL files

Compare two SCL files by meaning rather than by XML lines, with every difference as a sentence grouped by part of the station and opened at its place.

**State:** modelled. Tested on hand-written files and on each public SCL file against itself and after Rename IED; no real pair of releases of a station is public, so none has been compared.

## Compare

1. Run **Compare IEC 61850 Files**.
2. Pick the earlier file, then the later file.
3. A tab opens for the pair. It lists the differences by meaning, grouped by part of the station, each as a sentence, for example:

```text
IED P1 / S1 / LD0 / LLN0 / Data set Trips: Data set member LD0/XCBR1.Pos[ST] was removed
```

4. Click a row to open the file where the thing is.

The tab follows both files on disk: save either file and the list updates.

## What is compared

| Part | What is compared |
|---|---|
| IEDs | IEDs, access points, logical devices and logical nodes, and their attributes |
| Data sets | Data sets and their attributes; members added, removed or reordered |
| Control blocks | GOOSE, Sampled Values and report control blocks and their attributes, such as confRev |
| Inputs | Inputs added or removed |
| Communication | Subnetworks, connected access points and their addresses |
| Substation | Voltage levels, bays, equipment and their logical node bindings |
| Data type templates | Logical node, data object, data attribute and enumeration types, and their members |

Each difference reads as added, removed, changed order, or changed from one value to another.

The same station written differently (CRLF instead of LF, spaces instead of tabs, without a comment, IEDs in another order) has no differences. Vendor data in `Private` elements is not compared. Relay setting values are compared by the [Relay settings](https://neuralinverse.com/docs/modules/energy/relay-settings/) editor, not here.

**Try it:** compare a station with a later revision in which the APPID of P1 `gcb01` went from 0001 to 0002, the member `XCBR1.Pos` was removed from data set Trips, and confRev of `gcb01` went from 1 to 2. The tab lists exactly those three changes.

The same comparison writes the "What" of [Record Revision](https://neuralinverse.com/docs/modules/energy/change-record/) and the change list of [Update IED from IID](https://neuralinverse.com/docs/modules/energy/add-ied/).

## Limits

- The list cannot be exported.
- The description of a logical node is not among the differences listed.

## Not verified

- A real pair of releases of a station.
- Which differences a reviewer needs that are not in the list.
- Windows.
