Single-line diagram (SLD)

À propos des schémas unifilaires

Un schéma unifilaire (également appelé schéma monoligne) représente le système d'alimentation électrique d'un bâtiment ou d'un poste de transformation à l'aide d'une seule ligne représentant les trois phases d'un système alternatif triphasé. Les équipements — transformateurs, disjoncteurs, jeux de barres, moteurs, charges — sont représentés avec des symboles normalisés, et le chemin du flux de puissance les relie de haut en bas, de la source à la charge. Les ingénieurs électriciens, les planificateurs de réseaux et les gestionnaires d'installations utilisent les SLD comme document de référence principal pour tout projet de système d'alimentation : c'est le premier livrable de toute demande de raccordement, étude d'arc électrique ou dossier de mise en service.

Schematex suit les conventions de symboles graphiques de la IEEE Std 315 (ANSI Y32.2) pour les équipements, étendues avec la notation de configuration d'enroulement IEC 60617 pour les variantes de transformateurs. Cette page documente ce que le parseur accepte aujourd'hui.

SLD·§ IEEE 315-1975
↘ preview
100%
13.8 kV Substation Single-line diagram with 10 nodes and 9 connections 13.8 kV Substation 138kV 138kV/13.8kV 13.8kV Grid 138 kV 138kV · HV Bus Δ Y Main Xfmr 15 MVA 138kV/13.8kV 13.8kV · MV Bus BKR-1 1200A BKR-2 1200A BKR-3 1200A Feeder 1 Feeder 2 Feeder 3
UTF-8 · LF · 20 lines · 646 chars✓ parsed·1.2 ms·7.3 KB SVG

1. Votre premier schéma unifilaire

Le SLD le plus simple : une source réseau, un transformateur, un disjoncteur et une charge.

SLD·§ IEEE 315-1975
↘ preview
100%
Simple feeder Single-line diagram with 5 nodes and 4 connections Simple feeder 13.8kV/480V 480V Utility 13.8kV xfmr 500 kVA 13.8kV/480V 480V · 480V Bus cb1 200A Panel LP-1
UTF-8 · LF · 10 lines · 288 chars✓ parsed·0.7 ms·5.1 KB SVG

Quatre règles couvrent 80 % des usages :

  1. Commencez par sld, suivi éventuellement d'un titre entre guillemets.
  2. Déclarez chaque élément d'équipement sous la forme id = typeNœud [attributs] — un par ligne.
  3. Connectez les éléments avec from -> to, en ajoutant optionnellement [cable: "…", label: "…"].
  4. Les identifiants peuvent contenir des lettres, des chiffres, des tirets bas et des tirets — mais doivent commencer par une lettre.

Les commentaires peuvent commencer par #, // ou %% de style Mermaid sur leur propre ligne.


2. Types de nœuds

Une ligne de nœud est id = typeNœud [clé: valeur, …]. Le type de nœud détermine le symbole dessiné.

2.1 Sources

TypeSymboleUsage typique
utilityFlèche de source réseauBus infini / raccordement réseau
generatorCercle avec GGroupe électrogène diesel, gaz ou hydro
solarSymbole de panneau PVInstallation photovoltaïque
windSymbole d'éolienneÉolienne
upsBloc avec batterieAlimentation sans interruption
SLD·§ IEEE 315-1975
↘ preview
100%
Generation sources Single-line diagram with 5 nodes and 4 connections Generation sources Grid 115 kV G Diesel Gen 2 MW PV Array 500 kW Wind Turbine 1 MW UPS UPS System 100 kVA
UTF-8 · LF · 10 lines · 316 chars✓ parsed·0.5 ms·5.1 KB SVG

2.2 Transformateurs

TypeConfiguration d'enroulementRemarques
transformerGénérique à deux enroulementsSans spécification d'enroulement
transformer_dyTriangle → Étoile mis à la terre (Δ-Yg)Distribution la plus courante
transformer_ydÉtoile mis à la terre → Triangle (Yg-Δ)
transformer_yyÉtoile-Étoile (les deux mis à la terre)
transformer_ddTriangle-Triangle
autotransformerEnroulement unique avec priseSymbole de bobine en zigzag
transformer_3windingTrois enroulementsPrises HT / MT / BT
SLD·§ IEEE 315-1975
↘ preview
100%
Transformer configurations Single-line diagram with 5 nodes and 4 connections Transformer configurations 138kV/13.8kV 138kV Grid Δ Y Δ-Yg (most common) 30 MVA 138kV/13.8kV Y Y Yg-Yg 10 MVA 138kV/13.8kV Autotransformer 50 MVA 138kV/69kV 3-Winding 40 MVA 138/13.8/4.16kV
UTF-8 · LF · 10 lines · 483 chars✓ parsed·0.6 ms·6.6 KB SVG

2.3 Jeux de barres et nœuds

TypeSymboleUsage typique
busLigne horizontale épaisseJeu de barres principal
bus_tieDisjoncteur de couplageRelie deux jeux de barres parallèles à la même tension
hubRectangle largePoint de regroupement multi-alimentation

2.4 Coupure et protection

TypeSymboleNuméro de dispositif
breakerDiagonal + arc52 (disjoncteur AC)
breaker_vacuumDiagonal + ovale V52 type à vide
switchDiagonal (sans arc)89 (sectionneur / isolateur)
switch_loadInterrupteur de coupure en charge
ground_switchDiagonal + symbole de mise à la terreSectionneur de mise à la terre
atsSymbole de transfertInverseur automatique de source
recloserDiagonal + arc + flècheDisjoncteur auto-réenclencheur
sectionalizerDiagonal + SSectionneur de distribution
fuseOvale avec diagonalCoupe-circuit à expulsion
fuse_clRectangle avec diagonalFusible limiteur de courant
SLD·§ IEEE 315-1975
↘ preview
100%
Switching and protection Single-line diagram with 6 nodes and 5 connections Switching and protection Source Recloser S Sectionalizer Fuse Disconnect Ground SW
UTF-8 · LF · 12 lines · 317 chars✓ parsed·0.6 ms·5.5 KB SVG

2.5 Protection et surveillance

TypeSymboleUsage typique
ctPetit cercle avec ligneTransformateur de courant
ptPetit cercleTransformateur de tension / potentiel
relayPetit cercle avec numéro de dispositifRelais de protection (numéro ANSI via device:)
surge_arresterFlèche + mise à la terreParafoudre
ground_faultSymbole GFIDétecteur de défaut à la terre

2.6 Charges et équipements

TypeSymboleUsage typique
motorCercle avec MMoteur triphasé
loadRectangleCharge générique ou alimentation
capacitor_bankDeux armatures + interrupteurCompensation du facteur de puissance
harmonic_filterSymbole LCFiltre harmonique passif
vfdRectangle avec VFDVariateur de fréquence

2.7 Comptage

TypeSymboleUsage typique
watthour_meterCercle avec WhCompteur d'énergie
demand_meterCercle avec DCompteur de puissance de pointe
SLD·§ IEEE 315-1975
↘ preview
100%
Equipment types Single-line diagram with 10 nodes and 9 connections Equipment types 13.8kV/480V 480V Grid 13.8kV G Emergency Gen 500kW Δ Y Main TX 1000 kVA 13.8kV/480V ATS ATS-1 800A Main Breaker 2000A 480V · 480V MV Bus CT CT-1 PF Cap 150 kVAR M Pump Motor 100HP 51 Overcurrent Relay
UTF-8 · LF · 20 lines · 631 chars✓ parsed·0.9 ms·8.5 KB SVG

3. Attributs de nœud

Les attributs sont écrits dans […] après le type de nœud, séparés par des virgules.

AttributValeursEffet
label: "…"chaîne entre guillemetsNom d'affichage sur le schéma
voltage: "…"chaîne entre guillemets, ex. "13.8kV", "480V"Annotation du niveau de tension
rating: "…"chaîne entre guillemets, ex. "1000 kVA", "200A"Annotation de la puissance nominale
device: "…"numéro de dispositif ANSI, ex. "51", "87"Utilisé avec les nœuds relay
toute autre cléchaîne entre guillemetsStocké comme données de plaque signalétique (kVA, %Z du transformateur, etc.)

Exemple avec tous les attributs courants :

xfmr = transformer_dy [
  label: "Main Transformer",
  voltage: "13.8kV/480V",
  rating: "1000 kVA",
  impedance: "5.75%Z"
]

Le bloc d'attributs peut s'étendre sur plusieurs lignes — le parseur joint les lignes jusqu'à ce que le ] soit équilibré.


4. Connexions

Une ligne de connexion est idSource -> idCible, suivie éventuellement de [cable: "…", label: "…"].

bus1 -> cb1
bus1 -> cb1 [cable: "3#2/0 AWG"]
bus1 -> cb1 [cable: "3#2/0 AWG", label: "Feeder A"]

Règles :

  • Les deux identifiants doivent être déclarés avant ou après la connexion — toutes les connexions sont validées à la fin de l'analyse.
  • Seul -> (orienté, de la source vers la charge) est accepté. Le sens de la connexion est utilisé pour la mise en page.
  • Un identifiant de nœud inconnu génère SLDParseError: Connection references unknown node "…".
SLD·§ IEEE 315-1975
↘ preview
100%
ATS backup with cable labels Single-line diagram with 8 nodes and 7 connections ATS backup with cable labels 480V Normal source Emergency source 3#2/0 AWG 3#4 AWG 3#4 AWG Utility 480V G Emergency Gen 500 kW ATS ATS-1 800A 480V · Critical Bus CB-1 200A CB-2 200A Server Room Life Safety
UTF-8 · LF · 16 lines · 580 chars✓ parsed·0.9 ms·6.7 KB SVG

5. Étiquettes et commentaires

  • Titre : sld "Substation One-Line" — première ligne uniquement.
  • Étiquette de nœud : id = type [label: "…"] — le nom d'affichage.
  • Étiquette de connexion : A -> B [label: "…"] — apparaît le long de la ligne de connexion.
  • Annotation de câble : A -> B [cable: "3#2/0 AWG, 200ft"] — spécification du conducteur.
  • Commentaires : # en début de ligne. Le # en ligne sur la même ligne qu'un nœud ou une connexion est également supprimé.
  • Alias résidentiels : le vocabulaire IEC / REBT tel que mcb, rcd, rcbo, rccb, pia, iga, main_switch, consumer_unit, distribution_board, panel et panelboard est accepté en entrée et mappé sur les primitives SLD existantes.

6. Mots réservés et échappement

Réservés en début de ligne : sld (en-tête).

Jeton opérateur — évitez -> dans les identifiants de nœuds. Les identifiants peuvent contenir [A-Za-z][A-Za-z0-9_-]* — les tirets sont valides (par exemple CB-101 est un identifiant légal).

Bloc d'attributs — les crochets […] peuvent s'étendre sur plusieurs lignes physiques. Le parseur joint les lignes de continuation jusqu'à ce que la profondeur des crochets atteigne zéro.

Les identifiants dupliqués génèrent SLDParseError: Duplicate node id "…".


7. Erreurs courantes

Vous avez écritLe parseur indiqueCorrection
xfmr1 [type: transformer]SLDParseError: Cannot parse lineUtilisez l'affectation = : xfmr1 = transformer [...]
id = battery [...]SLDParseError: Unknown node type "battery"Pas de type battery — utilisez ups ou generator
id = breakerzSLDParseError: Unknown node type ... (did you mean 'breaker'?)Utilisez le type canonique suggéré ou l'alias
A -- B (bidirectionnel)SLDParseError: Cannot parse lineSeul -> est accepté ; utilisez deux lignes -> si nécessaire
A -> B -> C (enchaîné)SLDParseError: Cannot parse lineChaque connexion est un -> par ligne
relay [label: "OC"] (sans numéro de dispositif)Le relais s'affiche avec un numéro videAjoutez device: "51" pour le numéro de dispositif ANSI
voltage: 480V (sans guillemets)Valeur d'attribut non reconnueMettez toutes les valeurs entre guillemets : voltage: "480V"
Identifiant commençant par un chiffre : 2BUSSLDParseError: Cannot parse lineLes identifiants doivent commencer par une lettre : BUS2
Connexion avant la déclaration du nœudSLDParseError: Connection references unknown node "…"Déclarez les nœuds avant ou après les connexions — validé à la fin de l'analyse, donc l'ordre est flexible

8. Grammaire (EBNF)

document      = header NEWLINE ( blank | comment | node-def | connection )*

header        = "sld" ( WS quoted-string )? NEWLINE
quoted-string = '"' any-char-but-quote* '"'

node-def      = id WS "=" WS node-type ( WS "[" attr-list "]" )? NEWLINE
node-type     = "utility" | "generator" | "solar" | "wind" | "ups"
              | "transformer" | "transformer_dy" | "transformer_yd"
              | "transformer_yy" | "transformer_dd"
              | "autotransformer" | "transformer_3winding"
              | "bus" | "bus_tie" | "hub"
              | "breaker" | "breaker_vacuum" | "switch" | "switch_load"
              | "ground_switch" | "ats" | "recloser" | "sectionalizer"
              | "fuse" | "fuse_cl"
              | "ct" | "pt" | "relay" | "surge_arrester" | "ground_fault"
              | "motor" | "load" | "capacitor_bank" | "harmonic_filter" | "vfd"
              | "watthour_meter" | "demand_meter"
              | residential-alias

residential-alias
              = "mcb" | "mccb" | "rcd" | "rcbo" | "rccb"
              | "differential" | "diferencial" | "pia" | "iga"
              | "main_switch" | "isolator" | "disconnector"
              | "consumer_unit" | "distribution_board" | "panel" | "panelboard"

attr-list     = attr ( "," attr )*
attr          = key ":" WS quoted-string

connection    = id WS "->" WS id ( WS "[" conn-attrs "]" )? NEWLINE
conn-attrs    = conn-attr ( "," conn-attr )*
conn-attr     = "cable" ":" WS quoted-string
              | "label" ":" WS quoted-string

id            = [A-Za-z] [A-Za-z0-9_-]*
key           = [A-Za-z] [A-Za-z0-9_]*
comment       = ( "#" | "//" | "%%" ) any NEWLINE

Le bloc d'attributs […] peut s'étendre sur plusieurs lignes physiques — le parseur joint les lignes de continuation jusqu'à ce que la profondeur des crochets revienne à zéro.

Source faisant autorité : src/diagrams/sld/parser.ts. En cas de divergence avec le parseur, le parseur a la priorité — veuillez ouvrir un ticket.


9. Conformité aux normes

Les SLD Schematex suivent les conventions de symboles graphiques de la IEEE Std 315 (ANSI Y32.2) pour les équipements de coupure, les transformateurs et les sources. Les variantes de configuration d'enroulement des transformateurs (transformer_dy, transformer_yy, etc.) utilisent la notation Δ/Y de l'IEC 60617. Les numéros de dispositifs de relais de protection suivent l'ANSI/IEEE C37.2.

Ce qui est implémenté aujourd'hui :

  • ✅ Tous les types de sources : réseau, groupe électrogène, solaire, éolien, UPS
  • ✅ Six variantes de transformateurs plus autotransformateur et transformateur à trois enroulements
  • ✅ Jeu de barres, couplage de jeu de barres, hub
  • ✅ Alias du vocabulaire résidentiel IEC / REBT mappés sur les primitives canoniques
  • ✅ Ensemble complet de coupure : disjoncteur, disjoncteur à vide, sectionneur, interrupteur de charge, sectionneur de mise à la terre, ATS, réenclencheur, sectionnaliseur, fusible, fusible limiteur de courant
  • ✅ Protection et surveillance : TC, TP, relais (avec numéro de dispositif ANSI), parafoudre, détecteur de défaut à la terre
  • ✅ Équipements de charge : moteur, charge, batterie de condensateurs, filtre harmonique, variateur de fréquence
  • ✅ Comptage : compteur d'énergie, compteur de puissance de pointe
  • ✅ Connexions orientées avec annotations de câble et d'étiquette
  • ✅ Attributs de nœud label, voltage, rating, device ; données de plaque signalétique arbitraires
  • ⏳ Coupure de jeu de barres avec indicateur d'état ouvert/fermé
  • ⏳ Zones de protection (lignes de délimitation en pointillés encadrant le relais + TC)
  • ⏳ Blocs d'étiquettes d'arc électrique (énergie incidente, niveau EPI, distance de travail)
  • ⏳ Bandes par niveau de tension (bandes horizontales colorées automatiques par niveau en kV)

Références :

  • IEEE Std 315-1975 / ANSI Y32.2-1975 — Graphic Symbols for Electrical and Electronics Diagrams
  • IEC 60617:2025 (BS 3939) — Graphical symbols for diagrams
  • ANSI/IEEE C37.2 — Electrical Power System Device Function Numbers

10. Exemples associés

sld·§ IEEE 315
Utility + Generator Backup Single-line diagram with 8 nodes and 7 connections Utility + Generator Backup 480V 480V Utility 480V G Emergency Gen 500 kW 480V ATS ATS-1 800A 480V · Critical Load Bus CB1 200A CB2 200A Critical Load 1 100A Critical Load 2 100A
Generator + ATS backup power
Single-line diagram for a utility + emergency generator ATS transfer system feeding critical loads on a 480 V bus — per IEEE 315 for facility design review.
industrial & process
sld·§ IEEE 315
13.8 kV Substation Single-line diagram with 10 nodes and 9 connections 13.8 kV Substation 138 13.8 Grid 138 kV 138 · bus_hv xfmr1 kva: 15000 primary: 138 secondary: 13.8 13.8 · bus_mv brk1 brk2 brk3 Feeder 1 Feeder 2 Feeder 3
13.8 kV utility substation
13.8 kV distribution substation single-line diagram with 138 kV grid input, 15 MVA step-down transformer, and three feeder breakers per IEEE 315.
industrial & process

11. Feuille de route

Prévu — pas encore analysable. N'utilisez pas ces éléments dans le DSL généré aujourd'hui ; le parseur les rejettera ou les ignorera.

  • État ouvert/fermé du couplage de jeu de barresbus_tie avec un attribut ouvert/fermé explicite pour que le symbole s'affiche dans la bonne position de coupure.
  • Zones de protection — un bloc zone: ou boundary: qui dessine un rectangle en pointillés autour d'un ensemble de nœuds (relais + TC + disjoncteur) pour indiquer une zone de protection.
  • Blocs d'annotation d'arc électriquearc_flash: [incident_energy: "8 cal/cm²", ppe: "2", distance: "18in"] selon l'IEEE 1584.
  • Bandes par niveau de tension — ombrage horizontal automatique par niveau de tension en kV ; les nœuds sont placés automatiquement dans leur niveau de tension.
  • Connexion bidirectionnelle (<->) — pour les chemins de couplage de jeu de barres ou normalement ouverts où la direction est indéfinie.

Suivez les tickets GitHub si vous avez besoin de l'une de ces fonctionnalités plus tôt.

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.