單線圖(SLD)
關於單線圖
單線圖(也稱為單線接線圖)使用一條線代表三相交流系統的全部三相,來呈現設施或變電站的電力系統。設備——變壓器、斷路器、匯流排、電動機、負載——以標準化符號顯示,電力流動路徑從頂部電源到底部負載依序連接。電氣工程師、電力規劃人員和設施管理人員將 SLD 作為每個電力系統專案的主要參考文件:它是每份互連申請、弧閃研究或試運轉文件中的第一份交付物。
Schematex 遵循 IEEE Std 315(ANSI Y32.2) 設備圖形符號慣例,並以 IEC 60617 繞組配置標記擴展了變壓器變體。本頁記錄目前解析器支援的語法。
1. 第一個單線圖
最簡單的 SLD:一個電源、一個變壓器、一個斷路器和一個負載。
四條規則涵蓋 80% 的用法:
- 以
sld開頭,後可跟帶引號的標題。 - 宣告每個設備項目:
id = nodeType [attributes]——每行一個。 - 以
from -> to連接項目,可選擇性加上[cable: "…", label: "…"]。 - ID 可包含字母、數字、底線和連字號——但必須以字母開頭。
註解可以在獨立行上以
#、//或 Mermaid 風格的%%開頭。
2. 節點類型
節點行格式為 id = nodeType [attr: value, …]。節點類型決定繪製的符號。
2.1 電源
| 類型 | 符號 | 典型用途 |
|---|---|---|
utility | 電源箭頭 | 無窮大匯流排/電網連接 |
generator | 帶「G」的圓形 | 柴油、天然氣或水力發電機 |
solar | 太陽能板符號 | 光電陣列 |
wind | 風機符號 | 風力發電機 |
ups | 帶電池的方塊 | 不斷電系統 |
2.2 變壓器
| 類型 | 繞組配置 | 備註 |
|---|---|---|
transformer | 通用雙繞組 | 無繞組規格 |
transformer_dy | 三角形 → 接地星形(Δ-Yg) | 最常見的配電方式 |
transformer_yd | 接地星形 → 三角形(Yg-Δ) | |
transformer_yy | 星形-星形(兩端接地) | |
transformer_dd | 三角形-三角形 | |
autotransformer | 帶抽頭的單繞組 | 鋸齒形線圈符號 |
transformer_3winding | 三繞組 | 高壓/中壓/低壓抽頭 |
2.3 匯流排與節點
| 類型 | 符號 | 典型用途 |
|---|---|---|
bus | 粗水平線 | 主電壓匯流排 |
bus_tie | 聯絡斷路器 | 連接同電壓的兩條平行匯流排 |
hub | 寬矩形 | 多條饋線的匯合點 |
2.4 開關與保護
| 類型 | 符號 | 裝置編號 |
|---|---|---|
breaker | 對角線+弧形 | 52(交流斷路器) |
breaker_vacuum | 對角線+V 形橢圓 | 52 真空型 |
switch | 對角線(無弧形) | 89(隔離開關) |
switch_load | 負載斷路開關 | — |
ground_switch | 對角線+接地符號 | 接地隔離開關 |
ats | 轉換開關符號 | 自動轉換開關 |
recloser | 對角線+弧形+箭頭 | 自動重合閘斷路器 |
sectionalizer | 對角線+S | 配電分段開關 |
fuse | 帶對角線的橢圓 | 噴出型熔絲截斷器 |
fuse_cl | 帶對角線的矩形 | 限流熔絲 |
2.5 保護與監測
| 類型 | 符號 | 典型用途 |
|---|---|---|
ct | 帶穿越線的小圓形 | 電流互感器 |
pt | 小圓形 | 電壓互感器 |
relay | 帶裝置編號的小圓形 | 保護繼電器(ANSI 編號透過 device: 指定) |
surge_arrester | 箭頭+接地 | 避雷器 |
ground_fault | 接地故障符號 | 接地故障偵測器 |
2.6 負載與設備
| 類型 | 符號 | 典型用途 |
|---|---|---|
motor | 帶「M」的圓形 | 三相電動機 |
load | 矩形 | 通用負載或饋線 |
capacitor_bank | 兩片板+開關 | 功率因數補償 |
harmonic_filter | LC 符號 | 被動諧波濾波器 |
vfd | 帶 VFD 的矩形 | 變頻驅動器 |
2.7 計量
| 類型 | 符號 | 典型用途 |
|---|---|---|
watthour_meter | 帶「Wh」的圓形 | 電能表 |
demand_meter | 帶「D」的圓形 | 需量表 |
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 "…"。
5. 標籤與註解
- 標題:
sld "Substation One-Line"— 僅限第一行。 - 節點標籤:
id = type [label: "…"]— 顯示名稱。 - 連接標籤:
A -> B [label: "…"]— 出現在連接線旁邊。 - 電纜標注:
A -> B [cable: "3#2/0 AWG, 200ft"]— 導體規格。 - 註解:
#在行首。同一行中節點或連接後的內嵌#也會被移除。 - **住宅別名:**接受 IEC / REBT 詞彙,如
mcb、rcd、rcbo、rccb、pia、iga、main_switch、consumer_unit、distribution_board、panel和panelboard作為輸入,並映射到現有的 SLD 基本元素。
6. 保留字與跳脫
行首保留:sld(標頭)。
運算子符號 — 避免在節點 ID 中使用 ->。ID 可包含 [A-Za-z][A-Za-z0-9_-]*——連字號有效(例如 CB-101 是合法 ID)。
屬性塊 — […] 括號可跨越多個實體行。解析器合併延續行,直到括號深度歸零。
重複 ID 會拋出 SLDParseError: Duplicate node id "…"。
7. 常見錯誤
| 你寫的 | 解析器回應 | 修正方式 |
|---|---|---|
xfmr1 [type: transformer] | SLDParseError: Cannot parse line | 使用 = 賦值:xfmr1 = transformer [...] |
id = battery [...] | SLDParseError: Unknown node type "battery" | 沒有 battery 類型——使用 ups 或 generator |
id = breakerz | SLDParseError: Unknown node type ... (did you mean 'breaker'?) | 使用建議的標準類型或別名 |
A -- B(雙向) | SLDParseError: Cannot parse line | 只接受 ->;若需要可使用兩條 -> 行 |
A -> B -> C(鏈式) | SLDParseError: Cannot parse line | 每個連接一行一個 -> |
relay [label: "OC"](無裝置編號) | 繼電器以空白編號渲染 | 加入 device: "51" 作為 ANSI 裝置編號 |
voltage: 480V(未加引號) | 屬性值無法識別 | 為所有值加引號:voltage: "480V" |
以數字開頭的節點 ID:2BUS | SLDParseError: Cannot parse line | ID 必須以字母開頭: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_dy、transformer_yy 等)使用 IEC 60617 的 Δ/Y 標記。保護繼電器裝置編號遵循 ANSI/IEEE C37.2。
目前已實作:
- ✅ 所有電源類型:電源、發電機、太陽能、風能、UPS
- ✅ 六種變壓器變體,加上自耦變壓器和三繞組
- ✅ 匯流排、聯絡匯流排、集線器
- ✅ IEC / REBT 住宅詞彙別名映射到標準基本元素
- ✅ 完整開關集:斷路器、真空斷路器、隔離開關、負載開關、接地開關、ATS、重合閘、分段開關、熔絲、限流熔絲
- ✅ 保護與監測:CT、PT、繼電器(帶 ANSI 裝置編號)、避雷器、接地故障偵測器
- ✅ 負載設備:電動機、負載、電容器組、諧波濾波器、變頻驅動器
- ✅ 計量:電能表、需量表
- ✅ 帶電纜和標籤標注的有向連接
- ✅
label、voltage、rating、device節點屬性;任意銘牌資料 - ⏳ 帶開啟/關閉狀態指示器的聯絡斷路器切換
- ⏳ 保護區(圍繞繼電器+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. 相關範例
11. 路線圖
**計劃中——目前尚無法解析。**請勿在今天生成的 DSL 中使用這些功能;解析器會拒絕或忽略它們。
- 聯絡斷路器開啟/關閉狀態 — 帶明確開啟/關閉屬性的
bus_tie,使符號以正確的開關位置渲染。 - 保護區 — 一個
zone:或boundary:塊,圍繞一組節點(繼電器+CT+斷路器)繪製虛線矩形,以表示保護區。 - 弧閃標注塊 — 依照 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.