Skip to main content

User-defined electrical symbols

When the catalogue does not have the symbol you need, or your organisation draws to its own standard (IEC 60617, IEEE / ANSI 315, a company style), you can define your own electrical symbol. A user symbol takes full part in automatic coloring, interlocking, control and the server interlock, exactly like a catalogue symbol.

The principle: you bring the drawing, the role brings the meaning. How the symbol behaves in the network, its terminal slots, the states that must be drawn and the state colors are fixed by its role; you only decide how they look. A drawing mistake therefore cannot break the network calculation or an interlock.

Before you begin​

  • The project is open in the screen editor.

Steps​

1. Start a new symbol​

In the Explorer, click + (New electrical symbol…) in the ELECTRICAL SYMBOLS section. Type a name and choose how to start:

  • New from role: choose the role; terminal slots and required states come with a starter drawing.
  • Copy from catalogue: all state drawings, terminals and capabilities of a catalogue symbol are copied (Copy and edit). The role of the copy cannot be changed.
  • Import SVG…: see SVG files.
New electrical symbol dialog with New from role, Copy from catalogue and Import SVG…, the name Breaker IEC and the role cards Switch, Earthing switch, 3-position disconnector and others.

New folder groups the symbols in the Explorer.

2. Get to know the editor​

Click Create. The editor shows the symbol list on the left, the drawing canvas in the middle (a box of 100 × 100 units with 1-unit snap; Shift places freely, Del deletes), the tabs Meaning, Terminals, States, Extra and Check on the right, and the preview strip at the bottom with every state as a thumbnail.

Electrical symbol: Breaker IEC editor with the drawing canvas, terminals t and b, the tabs Meaning to Check and the preview strip.

On Meaning you set the name, the English name, the capabilities the role allows (for a switch: Trip, Truck (test / withdrawn), Fused, Disconnector (cannot break load), Local control (L), Carries measurement), the standard designations and the default size.

3. Place the terminals​

On Terminals, every terminal belongs to a slot (t, b or c); the network only sees the slot.

Terminals tab with the top (t) terminal at 50, 0 and the bottom (b) terminal at 50, 100.
  • A terminal can be anywhere inside the box or on its edge, in one of eight directions, and can have a visible name such as X1.
  • Several terminal points can share a slot; they are one electrical node.
  • On a busbar role the terminal is a line, set by dragging its ends.
  • Terminals of different slots must be at least 6 units apart, otherwise a wire would snap to the wrong one.
  • When a terminal moves, connected wire ends follow. Adding or removing a slot asks for confirmation and reports how many instances and wire ends are affected.

4. Draw the states​

On States, every state has its own drawing. Copy into copies one drawing to another as a starting point.

States tab with the drawings Closed, Open and Invalid / awaiting, Intermediate falling back to Invalid / awaiting, and the Copy into tool.
StateRequiredIf not drawn
Closed, OpenOn switching roles—
Invalid / awaitingAlways on roles with a positionNo fallback: uncertainty must have its own drawing
IntermediateNoThe invalid drawing, with the intermediate color and blinking
Trip, Truck, Fuse blownNoThe open drawing, with the trip color and blinking, or the truck mark
Earthed, Input A, Input BOn 3-position and transfer roles—
Voltage present / no voltage / residual / no evidenceOn measuring rolesThe measurement badge of YTCC

Communication lost and possible (dashed) are not drawn: YTCC adds them. The communication lost frame appears on every symbol and cannot be switched off; on Terminals you can choose where it goes, otherwise it covers the lower half of the box.

Every drawn part carries a color role or a fixed color. You do not pick state colors; you say which role's color a part carries:

GroupRolesCarries
State rolesWt Wb Wc (terminal lines), L, G, O, X, B Bw Bg (body), Fb Fc Ft, Cw Ct Cb Cc, RpL RpT, W7 W5, TlNetwork or state color; pattern and blinking come from YTCC
Neutral rolesA, D, Af, Rp, T, TwAccent, text, fixed detail
Fixedno roleIts own color; does not change with the state

Each state drawing needs at least one part with a state role, or the state is invisible. A part with a state role cannot be dashed or transparent: dashes and visibility are state information (earthed, possible, second source).

5. Check the symbol​

Check lists the problems; click a row to select the tab, terminal, part or overlay concerned. The same rules are applied when the project is saved on the server.

Check tab with 0 errors, 0 warnings and 1 info: the Intermediate drawing falls back to Invalid / awaiting (fallback-state).
CodeLevelMeaning
missing-stateErrorA required state, or a state of a capability that is on, is not drawn
slot-countErrorA slot is missing or not allowed for the role; a busbar without a line terminal; the measured terminal points to a missing slot
terminal-outsideErrorA terminal is outside the box
terminal-overlapErrorTerminals of different slots are closer than 6 units
no-state-partErrorA state drawing has no part with a state role
overlay-reserved-paintErrorAn overlay part uses a state color or state role
state-dashErrorA part with a state role is dashed or transparent
variant-slotsErrorVariants have different slots
unknown-fieldErrorAn overlay condition or text reads an undefined field or parameter
bad-definitionErrorThe definition is broken, typically in a file edited by hand
overlay-covers-stateWarningAn opaque overlay covers more than 15 % of the state parts
terminal-unattachedWarningA terminal does not touch the end of a terminal line (Wt / Wb / Wc)
fallback-stateInformationAn optional state is not drawn; its fallback is used

6. Simulate​

Simulate in the preview strip draws the symbol with the real YTCC output: position, trip, truck, fuse, local, the level color of a chosen source, possible (dashed), communication lost, measurement, rotation and mirroring.

Preview strip with Simulate, Position closed / open / intermediate / invalid, Communication lost, Source MV (34.5 kV), Certainty, Rotate and Mirror.

7. Save​

Click Save. Each save increases the revision.

The editor after Save with the symbol at rev 1 and the check result Valid.
  • A symbol with errors is saved as a draft and cannot be placed on a page; it is grey in the symbol list.
  • If the symbol already has instances, a version with errors is not saved and the last valid version stays in effect. Saving a version with changed slots or a changed role first shows how many instances and wire ends are affected (Save anyway).
  • A symbol with instances cannot be deleted: choose Replace with… a symbol of the same role and Replace and delete; terminals are matched by slot.
  • A project whose pages use a missing or invalid symbol is not saved.

On the run screen, a symbol whose definition is missing or invalid is drawn as a red ?. It counts as undefined in the network, its control and the earthing around it are locked, and ELECTRICAL CHECK shows an error. It never falls back to another catalogue symbol with a different role.

Roles​

The role is the behavior of the symbol in the network.

RoleTerminal slotsRequired statesCapabilities
Switcht, bClosed, open, invalidTrip, truck, fused, disconnector (cannot break load), local control, measurement
Earthing switchtClosed, open, invalidLocal control
3-position disconnectort, bClosed, open, earthed, invalidDisconnector (on by default), local control
Automatic transfer (ATS)t, c, bInput A, input B, open, invalidLocal control
Ring main unit (RMU)t, b, cNormal—
Fuset, bNormal, blown—
Transformer, Convertert, b, (c)NormalOne or two source fields
Series elementt, bNormalLoad, measurement
Shunt elementtNormalLoad
Sourcet, (b)NormalVoltage present signal, measurement
Load / outgoingtNormalMeasurement
Off-page connectortNormal—
BusbarLineNormalMeasurement
Voltage measuring pointtVoltage present, no voltage, residual, no evidenceMeasurement always on
Voltage measuring point (line)LineVoltage present, no voltage, residual, no evidenceMeasurement always on

Slots in brackets are optional.

Variants​

A symbol can have several drawing sets, for example a compact IEC and a detailed ANSI drawing, with the same meaning. All variants have the same slots; terminal positions may differ. Give each variant tags such as iec, ansi, compact or detailed. The variant used is the first match of: the Variant field of the object, the drawing style of the page, the drawing style of the project, the first variant. Changing the variant does not change the network; wires stay.

Overlays and parameters​

On Extra you add overlays: indicators that do not take part in the network, such as cable connected, test position, spring charged or SF6 low.

  • An overlay is bound to an extra field (on/off, number or text, for example cableIn) or to a symbol parameter, with an optional condition: equal, not equal, greater, less, is true, is false.
  • Overlay texts may contain {label}, {name}, {x.<field>} and {p.<parameter>}; these only insert values and run no expression.
  • A symbol parameter, for example the rated current or the cell number, is a fixed value per instance.
  • Bind to device… also binds the extra fields.
  • An overlay never changes the network, the coloring or an interlock, and it cannot cover the state: overlays are drawn between the fixed parts and the state parts.

Measurement​

A user symbol carries a voltage measurement in one of two ways: as a Voltage measuring point role (one terminal or a line on a busbar), whose four measurement drawings are required; or with the Carries measurement capability on a switch, busbar, series element, load or source, whose measurement drawings are optional. The measurement inputs are bound on each instance, see Bind signals to electrical symbols.

Organisation library​

Every user symbol used or edited in a project is stored completely in the project: backups, exports and packages contain all of them. The organisation library on the server is only a source of copies.

  • Save to library in the editor writes the complete definition to the library. It is available only for a saved version without errors, and only to server administrators.
  • Organisation library… opens the library: copy a symbol into the project, or, when the library has a newer version (newer version in library (rev 3 → 5)), Show difference / update and Copy update into project. If the project copy has local changes, Detach as local copy and update keeps them apart.
  • Nothing is synchronised automatically. The identifier of a symbol is fixed; renaming it does not break pages.

SVG files​

Import SVG… reads a symbol drawing in the browser. The file may have at most 512 KB and 2000 elements; a larger or unreadable file is refused. Allowed elements are g line rect circle ellipse path polyline polygon text; scripts, foreign objects, images, use, styles, links, media, animations and paint with url(…) are removed. The drawing is scaled to 100 units on its long side and centred. Information that is missing is listed on Check and set in the editor.

WhatHow to write it in the SVG
Terminaldata-ytcc-terminal="t" (or id="term:t"), slots t, b, c; optional data-ytcc-name="Feeder". The centre of the element is the terminal point; the element itself is removed.
Busbar line terminalA line with data-ytcc-terminal="bus"
StateGroups <g data-ytcc-state="open"> under the root: closed, open, intermediate, invalid, tripped, racked, blown, earthed, inputA, inputB, normal; for measurement live, dead, residual, noEvidence. Without groups the whole drawing is normal / closed.
Color roledata-ytcc-role="L" or class="ytcc-L"; without a role the part keeps its color
Overlay<g data-ytcc-overlay="cableIn">
Roledata-ytcc-kind="switch" on the root or the symbol group; otherwise the import asks
Several symbolsSeveral <g data-ytcc-symbol="…"> in one file
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g data-ytcc-symbol="Breaker IEC" data-ytcc-kind="switch">
<circle data-ytcc-terminal="t" data-ytcc-name="Busbar side" cx="50" cy="2" r="1"/>
<circle data-ytcc-terminal="b" data-ytcc-name="Feeder" cx="50" cy="98" r="1"/>
<g data-ytcc-state="closed">
<line class="ytcc-Wt" x1="50" y1="2" x2="50" y2="30"/>
<rect data-ytcc-role="B" x="34" y="30" width="32" height="40"/>
<line class="ytcc-Wb" x1="50" y1="70" x2="50" y2="98"/>
</g>
<g data-ytcc-state="open"> … </g>
<g data-ytcc-state="invalid"> … </g>
<g data-ytcc-overlay="cableIn"> … </g>
</g>
</svg>