単線結線図(SLD)

Schematex の SLD エンジンを使って、IEEE Std 315 準拠の単線結線図(一線図)をテキスト DSL から生成する方法を解説します。

単線結線図について

単線結線図(ワンラインダイアグラムとも呼ばれます)は、1 本の線で三相交流システムのすべての 3 相を表すことで、施設や変電所の電力システムを表現します。変圧器、遮断器、母線、モーター、負荷などの機器が標準化されたシンボルで示され、電力フローのパスが電源から負荷へ上から下へ接続されます。電気エンジニア、電力会社の計画担当者、施設管理者は SLD をあらゆる電力システムプロジェクトの主要参照ドキュメントとして使用します。系統連系申請、アーク閃光調査、試運転パッケージの最初の成果物です。

Schematex は機器の標準シンボルに IEEE Std 315 (ANSI Y32.2) のグラフィックシンボル規則に従い、変圧器バリアントの巻線構成表記には IEC 60617 を拡張して使用しています。このページでは現在パーサーが受け付けるものを解説します。

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

1. はじめての単線結線図

最もシンプルな SLD:電源、変圧器、遮断器、負荷。

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

80% のケースは次の 4 つのルールで対応できます。

  1. sld で始め、オプションでクォートされたタイトルを続けます。
  2. 各機器を id = nodeType [attributes] で宣言します(1 行に 1 つ)。
  3. from -> to で機器を接続し、オプションで [cable: "…", label: "…"] を追加します。
  4. ID には文字、数字、アンダースコア、ハイフンを使用でき、文字で始まる必要があります。

コメントは単独行の #//、または Mermaid スタイルの %% で始めます。


2. ノードタイプ

ノード行は id = nodeType [attr: value, …] の形式です。ノードタイプが描画されるシンボルを決定します。

2.1 電源

タイプシンボル典型的な用途
utilityユーティリティ電源矢印無限母線 / 系統連系
generatorG 入り円ディーゼル、ガス、水力発電機
solarPV パネルシンボル太陽光発電アレイ
windタービンシンボル風力タービン
upsバッテリー付きブロック無停電電源装置
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.6 ms·5.1 KB SVG

2.2 変圧器

タイプ巻線構成備考
transformer汎用二巻線巻線仕様なし
transformer_dyデルタ → グラウンデッドワイ(Δ-Yg)最も一般的な配電
transformer_ydグラウンデッドワイ → デルタ(Yg-Δ)
transformer_yyワイ-ワイ(両方グラウンド)
transformer_ddデルタ-デルタ
autotransformerタップ付き単一巻線ジグザグコイルシンボル
transformer_3winding三巻線HV / MV / LV タップ
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.9 ms·6.6 KB SVG

2.3 母線とノード

タイプシンボル典型的な用途
bus太い水平線主電圧母線バー
bus_tie母線タイ遮断器同一電圧の 2 つの並列母線を接続
hub広い矩形複数フィーダー結合点

2.4 開閉と保護

タイプシンボル機器番号
breaker斜線+アーク52(AC 遮断器)
breaker_vacuum斜線+V 楕円52 真空タイプ
switch斜線(アークなし)89(断路器 / アイソレーター)
switch_load負荷開閉スイッチ
ground_switch斜線+接地シンボル接地断路器
ats切替スイッチシンボル自動切替スイッチ
recloser斜線+アーク+矢印自動再閉路遮断器
sectionalizer斜線+S配電セクション開閉器
fuse斜線付き楕円膨張ヒューズカットアウト
fuse_cl斜線付き矩形限流ヒューズ
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.7 ms·5.5 KB SVG

2.5 保護と監視

タイプシンボル典型的な用途
ct線を通した小円変流器
pt小円電圧変成器
relay機器番号付き小円保護リレー(device: で ANSI 番号指定)
surge_arrester矢印+接地避雷器
ground_faultGFI シンボル地絡検出器

2.6 負荷と機器

タイプシンボル典型的な用途
motorM 入り円三相モーター
load矩形汎用負荷またはフィーダー
capacitor_bank2 枚プレート+スイッチ力率改善
harmonic_filterLC シンボルパッシブ高調波フィルター
vfdVFD 付き矩形可変周波数ドライブ

2.7 計量

タイプシンボル典型的な用途
watthour_meterWh 入り円電力量計
demand_meterD 入り円デマンド計
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·5.3 ms·8.5 KB SVG

3. ノード属性

属性はノードタイプの後の […] 内にカンマ区切りで記述します。

属性効果
label: "…"クォート文字列図上の表示名
voltage: "…"クォート文字列(例:"13.8kV""480V"電圧レベルアノテーション
rating: "…"クォート文字列(例:"1000 kVA""200A"機器定格アノテーション
device: "…"ANSI 機器番号(例:"51""87"relay ノードで使用
その他のキークォート文字列銘板データとして保存(変圧器 kVA、%Z など)

すべての一般的な属性を含む例:

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

属性ブロックは複数行にまたがることができます。パーサーは ] が閉じるまで行を結合します。


4. 接続

接続行は fromId -> toId の形式で、オプションで [cable: "…", label: "…"] を続けます。

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

ルール:

  • 両方の ID は接続の前後のどこかで宣言されている必要があります。すべての接続はパース終了時にバリデーションされます。
  • ->(有向、電源から負荷へ)のみ受け付けます。接続方向はレイアウトに使用されます。
  • 未知のノード ID は 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·4.6 ms·6.7 KB SVG

5. ラベルとコメント

  • タイトル: sld "Substation One-Line" — 最初の行のみ。
  • ノードラベル: id = type [label: "…"] — 表示名。
  • 接続ラベル: A -> B [label: "…"] — 接続線の横に表示。
  • ケーブルアノテーション: A -> B [cable: "3#2/0 AWG, 200ft"] — 導体仕様。
  • コメント: 行頭の #。ノードや接続と同じ行のインライン # も除去されます。
  • 住宅用エイリアス: IEC / REBT の語彙(mcbrcdrcborccbpiaigamain_switchconsumer_unitdistribution_boardpanelpanelboard)は入力として受け付けられ、既存の SLD プリミティブにマッピングされます。

6. 予約語とエスケープ

行頭での予約語: sld(ヘッダー)。

演算子トークン — ノード ID 内で -> を使用しないでください。ID は [A-Za-z][A-Za-z0-9_-]* を使用できます。ハイフンは有効です(例:CB-101 は合法な ID)。

属性ブロック[…] 括弧は複数の物理行にまたがることができます。パーサーは括弧の深さがゼロに戻るまで続行行を結合します。

重複 IDSLDParseError: Duplicate node id "…" をスローします。


7. よくある間違い

記述した内容パーサーのエラー修正方法
xfmr1 [type: transformer]SLDParseError: Cannot parse line= 代入を使用:xfmr1 = transformer [...]
id = battery [...]SLDParseError: Unknown node type "battery"battery タイプはなし — ups または generator を使用
id = breakerzSLDParseError: Unknown node type ... (did you mean 'breaker'?)提案された正規タイプまたはエイリアスを使用
A -- B(双方向)SLDParseError: Cannot parse line-> のみ受け付け;必要なら 2 つの -> 行を使用
A -> B -> C(チェーン)SLDParseError: Cannot parse line各接続は 1 行につき 1 つの ->
relay [label: "OC"](機器番号なし)リレーが空白番号でレンダリングされるANSI 機器番号のために device: "51" を追加
voltage: 480V(クォートなし)属性値が認識されないすべての値をクォート:voltage: "480V"
数字で始まるノード ID:2BUSSLDParseError: Cannot parse lineID は文字で始まる必要があります:BUS2
宣言前の接続SLDParseError: Connection references unknown node "…"ノードは接続の前後のどこかに宣言できます。パース終了時にバリデーションされるため順序は柔軟です

8. 文法(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

属性ブロック […] は複数の物理行にまたがることができます。パーサーは括弧の深さがゼロに戻るまで続行行を結合します。

正式な仕様は src/diagrams/sld/parser.ts です。このドキュメントとパーサーで差異がある場合はパーサーが優先されます。差異を発見した場合は Issue を開いてください。


9. 標準準拠

Schematex の SLD は開閉機器、変圧器、電源の IEEE Std 315 (ANSI Y32.2) グラフィックシンボル規則に従います。変圧器の巻線構成バリアント(transformer_dytransformer_yy など)は IEC 60617 の Δ/Y 記法を使用します。保護リレーの機器番号は ANSI/IEEE C37.2 に従います。

現時点での実装:

  • ✅ すべての電源タイプ:ユーティリティ、発電機、太陽光、風力、UPS
  • ✅ 6 種類の変圧器バリアント+オートトランスフォーマーと三巻線
  • ✅ 母線、母線タイ、ハブ
  • ✅ IEC / REBT 住宅用語彙エイリアスを正規プリミティブにマッピング
  • ✅ 完全な開閉セット:遮断器、真空遮断器、スイッチ、負荷スイッチ、接地スイッチ、ATS、再閉路器、セクション開閉器、ヒューズ、限流ヒューズ
  • ✅ 保護と監視:CT、PT、リレー(ANSI 機器番号付き)、避雷器、地絡検出器
  • ✅ 負荷機器:モーター、負荷、コンデンサーバンク、高調波フィルター、VFD
  • ✅ 計量:電力量計、デマンド計
  • ✅ ケーブルとラベルアノテーション付き有向接続
  • labelvoltageratingdevice ノード属性;任意の銘板データ
  • ⏳ 開/閉状態インジケーター付き母線タイ開閉
  • ⏳ 保護ゾーン(リレー+CT を囲む破線境界線)
  • ⏳ アーク閃光ラベルブロック(入射エネルギー、PPE レベル、作業距離)
  • ⏳ 電圧レベルバンディング(kV レベル別の自動カラーコード付き水平バンド)

参考資料:

  • 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. 関連サンプル

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. ロードマップ

計画中 — 現時点ではパース不可。 今日の生成 DSL ではこれらを使用しないでください;パーサーが拒否または無視します。

  • 母線タイの開/閉状態 — 正しい開閉位置でシンボルをレンダリングするための明示的な開/閉属性を持つ bus_tie
  • 保護ゾーン — ノードのセット(リレー+CT+遮断器)の周囲に破線矩形を描く zone: または boundary: ブロック(保護ゾーンを示す)。
  • アーク閃光アノテーションブロック — IEEE 1584 に準拠した arc_flash: [incident_energy: "8 cal/cm²", ppe: "2", distance: "18in"]
  • 電圧レベルバンディング — kV レベルによる自動水平シェーディングバンド;ノードは自動的に電圧ティアに配置される。
  • 双方向接続<->) — 方向が未定義の母線タイや常時開路パス用。

早急に必要な場合は GitHub Issues でトラッキングしてください。

Found this useful?

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