Single-line diagram (SLD)

Sobre diagramas unifilares

Um diagrama unifilar (também chamado de diagrama de linha única) representa o sistema de energia elétrica de uma instalação ou subestação usando uma única linha para representar as três fases de um sistema CA trifásico. Os equipamentos — transformadores, disjuntores, barramentos, motores, cargas — são mostrados com símbolos padronizados, e o caminho do fluxo de energia os conecta de cima para baixo, da fonte à carga. Engenheiros elétricos, planejadores de concessionárias e gerentes de instalações usam SLDs como documento de referência primário em todo projeto de sistema de energia: é o primeiro entregável em qualquer pedido de interconexão, estudo de flash de arco ou pacote de comissionamento.

O Schematex segue as convenções de símbolos gráficos do IEEE Std 315 (ANSI Y32.2) para equipamentos, estendidas com a notação de configuração de enrolamento IEC 60617 para variantes de transformadores. Esta página documenta o que o parser aceita atualmente.

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·6.0 ms·7.3 KB SVG

1. Seu primeiro diagrama unifilar

O SLD mais simples: uma fonte de concessionária, um transformador, um disjuntor e uma carga.

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.9 ms·5.1 KB SVG

Quatro regras cobrem 80% dos casos de uso:

  1. Comece com sld, opcionalmente seguido de um título entre aspas.
  2. Declare cada equipamento como id = nodeType [attributes] — um por linha.
  3. Conecte os itens com from -> to, opcionalmente adicionando [cable: "…", label: "…"].
  4. IDs podem conter letras, dígitos, underscores e hifens — mas devem começar com uma letra.

Comentários podem começar com #, // ou %% no estilo Mermaid na própria linha.


2. Tipos de nó

Uma linha de nó tem o formato id = nodeType [attr: value, …]. O tipo de nó determina o símbolo desenhado.

2.1 Fontes

TipoSímboloUso típico
utilitySeta de fonte da concessionáriaBarramento infinito / conexão com a rede
generatorCírculo com GGerador a diesel, gás ou hidro
solarSímbolo de painel fotovoltaicoArranjo fotovoltaico
windSímbolo de turbinaTurbina eólica
upsBloco com bateriaNo-break (fonte ininterrupta de energia)
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·1.0 ms·5.1 KB SVG

2.2 Transformadores

TipoConfiguração de enrolamentoObservações
transformerGenérico de dois enrolamentosSem especificação de enrolamento
transformer_dyDelta → Estrela aterrada (Δ-Yg)Distribuição mais comum
transformer_ydEstrela aterrada → Delta (Yg-Δ)
transformer_yyEstrela-Estrela (ambos aterrados)
transformer_ddDelta-Delta
autotransformerEnrolamento único com tapSímbolo de bobina em zigue-zague
transformer_3windingTrês enrolamentosTaps AT / 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·1.1 ms·6.6 KB SVG

2.3 Barramentos e nós

TipoSímboloUso típico
busLinha horizontal espessaBarramento principal de tensão
bus_tieDisjuntor de interligaçãoLiga dois barramentos paralelos na mesma tensão
hubRetângulo largoPonto de combinação de múltiplos alimentadores

2.4 Chaveamento e proteção

TipoSímboloNúmero de dispositivo
breakerDiagonal + arco52 (disjuntor CA)
breaker_vacuumDiagonal + oval com V52 tipo a vácuo
switchDiagonal (sem arco)89 (seccionadora / isoladora)
switch_loadChave de interrupção de carga
ground_switchDiagonal + símbolo de terraSeccionadora de aterramento
atsSímbolo de chave de transferênciaChave de transferência automática
recloserDiagonal + arco + setaDisjuntor com religamento automático
sectionalizerDiagonal + SSeccionalizador de distribuição
fuseOval com diagonalFusível tipo expulsão
fuse_clRetângulo com diagonalFusível limitador de corrente
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·2.2 ms·5.5 KB SVG

2.5 Proteção e monitoramento

TipoSímboloUso típico
ctPequeno círculo com linhaTransformador de corrente (TC)
ptPequeno círculoTransformador de potencial / tensão (TP)
relayPequeno círculo com número de dispositivoRelé de proteção (número ANSI via device:)
surge_arresterSeta + terraPara-raios
ground_faultSímbolo GFIDetector de falta à terra

2.6 Cargas e equipamentos

TipoSímboloUso típico
motorCírculo com MMotor trifásico
loadRetânguloCarga genérica ou alimentador
capacitor_bankDuas placas + chaveCorreção do fator de potência
harmonic_filterSímbolo LCFiltro harmônico passivo
vfdRetângulo com VFDInversor de frequência

2.7 Medição

TipoSímboloUso típico
watthour_meterCírculo com WhMedidor de energia
demand_meterCírculo com DMedidor de demanda
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·3.4 ms·8.5 KB SVG

3. Atributos de nó

Os atributos são escritos dentro de […] após o tipo de nó, separados por vírgulas.

AtributoValoresEfeito
label: "…"string entre aspasNome de exibição no diagrama
voltage: "…"string entre aspas, ex.: "13.8kV", "480V"Anotação do nível de tensão
rating: "…"string entre aspas, ex.: "1000 kVA", "200A"Anotação da capacidade do equipamento
device: "…"número de dispositivo ANSI, ex.: "51", "87"Usado com nós relay
qualquer outra chavestring entre aspasArmazenado como dado de plaqueta (kVA, %Z do transformador, etc.)

Exemplo com todos os atributos comuns:

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

O bloco de atributos pode abranger múltiplas linhas — o parser une as linhas até que o ] seja fechado.


4. Conexões

Uma linha de conexão é fromId -> toId, opcionalmente seguida de [cable: "…", label: "…"].

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

Regras:

  • Ambos os IDs devem ser declarados antes ou após a conexão — todas as conexões são validadas ao final do parse.
  • Apenas -> (direcionado, da fonte para a carga) é aceito. A direção da conexão é usada no layout.
  • Um ID de nó desconhecido lança 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·1.2 ms·6.7 KB SVG

5. Rótulos e comentários

  • Título: sld "Substation One-Line" — apenas na primeira linha.
  • Rótulo do nó: id = type [label: "…"] — o nome de exibição.
  • Rótulo da conexão: A -> B [label: "…"] — aparece ao lado da linha de conexão.
  • Anotação de cabo: A -> B [cable: "3#2/0 AWG, 200ft"] — especificação do condutor.
  • Comentários: # no início de uma linha. O # inline na mesma linha de um nó ou conexão também é removido.
  • Aliases residenciais: vocabulário IEC / REBT como mcb, rcd, rcbo, rccb, pia, iga, main_switch, consumer_unit, distribution_board, panel e panelboard é aceito como entrada e mapeado para primitivos SLD existentes.

6. Palavras reservadas e escapamento

Reservadas no início da linha: sld (cabeçalho).

Token operador — evite -> dentro de IDs de nó. IDs podem conter [A-Za-z][A-Za-z0-9_-]* — hifens são válidos (por exemplo, CB-101 é um ID legal).

Bloco de atributos — os colchetes […] podem abranger múltiplas linhas físicas. O parser une as linhas de continuação até que a profundidade dos colchetes chegue a zero.

IDs duplicados lançam SLDParseError: Duplicate node id "…".


7. Erros comuns

Você escreveuO parser dizCorreção
xfmr1 [type: transformer]SLDParseError: Cannot parse lineUse a atribuição com =: xfmr1 = transformer [...]
id = battery [...]SLDParseError: Unknown node type "battery"Não existe tipo battery — use ups ou generator
id = breakerzSLDParseError: Unknown node type ... (did you mean 'breaker'?)Use o tipo canônico sugerido ou um alias
A -- B (bidirecional)SLDParseError: Cannot parse lineApenas -> é aceito; use duas linhas -> se necessário
A -> B -> C (encadeado)SLDParseError: Cannot parse lineCada conexão é um -> por linha
relay [label: "OC"] (sem número de dispositivo)O relé é renderizado com número em brancoAdicione device: "51" para o número de dispositivo ANSI
voltage: 480V (sem aspas)Valor do atributo não reconhecidoColoque todos os valores entre aspas: voltage: "480V"
ID de nó começando com dígito: 2BUSSLDParseError: Cannot parse lineIDs devem começar com uma letra: BUS2
Conexão antes do nó declaradoSLDParseError: Connection references unknown node "…"Declare os nós antes ou após as conexões — validado ao final do parse, portanto a ordem é flexível

8. Gramática (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

O bloco de atributos […] pode abranger múltiplas linhas físicas — o parser une as linhas de continuação até que a profundidade dos colchetes retorne a zero.

Fonte autoritativa: src/diagrams/sld/parser.ts. Se houver divergência com o parser, o parser prevalece — por favor, abra uma issue.


9. Conformidade com padrões

Os SLDs do Schematex seguem as convenções de símbolos gráficos do IEEE Std 315 (ANSI Y32.2) para equipamentos de chaveamento, transformadores e fontes. As variantes de configuração de enrolamento de transformadores (transformer_dy, transformer_yy, etc.) usam a notação Δ/Y da IEC 60617. Os números de dispositivos de relés de proteção seguem a ANSI/IEEE C37.2.

O que está implementado atualmente:

  • ✅ Todos os tipos de fonte: concessionária, gerador, solar, eólico, UPS
  • ✅ Seis variantes de transformador, mais autotransformador e de três enrolamentos
  • ✅ Barramento, interligação de barramentos, hub
  • ✅ Aliases de vocabulário residencial IEC / REBT mapeados para primitivos canônicos
  • ✅ Conjunto completo de chaveamento: disjuntor, disjuntor a vácuo, chave, chave de carga, chave de aterramento, ATS, religador, seccionalizador, fusível, fusível limitador de corrente
  • ✅ Proteção e monitoramento: TC, TP, relé (com número de dispositivo ANSI), para-raios, detector de falta à terra
  • ✅ Equipamentos de carga: motor, carga, banco de capacitores, filtro harmônico, inversor de frequência
  • ✅ Medição: medidor de energia, medidor de demanda
  • ✅ Conexões direcionadas com anotações de cabo e rótulo
  • ✅ Atributos de nó label, voltage, rating, device; dados de plaqueta arbitrários
  • ⏳ Chaveamento de interligação de barramentos com indicador de estado aberto/fechado
  • ⏳ Zonas de proteção (linhas de fronteira tracejadas envolvendo relé + TC)
  • ⏳ Blocos de rótulo de flash de arco (energia incidente, nível de EPI, distância de trabalho)
  • ⏳ Faixas de nível de tensão (faixas horizontais coloridas automaticamente por nível de kV)

Referências:

  • 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. Exemplos relacionados

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

Planejado — ainda não parseável. Não use estes itens em DSL gerado hoje; o parser os rejeitará ou ignorará.

  • Estado aberto/fechado do bus-tiebus_tie com atributo explícito de aberto/fechado para que o símbolo seja renderizado na posição de chaveamento correta.
  • Zonas de proteção — um bloco zone: ou boundary: que desenha um retângulo tracejado ao redor de um conjunto de nós (relé + TC + disjuntor) para indicar uma zona de proteção.
  • Blocos de anotação de flash de arcoarc_flash: [incident_energy: "8 cal/cm²", ppe: "2", distance: "18in"] por IEEE 1584.
  • Faixas de nível de tensão — sombreamento horizontal automático por nível de kV; os nós são posicionados automaticamente em seu nível de tensão.
  • Conexão bidirecional (<->) — para caminhos de interligação de barramentos ou normalmente abertos onde a direção é indefinida.

Acompanhe nas issues do GitHub se precisar de algum desses itens mais cedo.

Found this useful?

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