Learning Objectives
- 讀懂階梯圖的電源線、rung、接點與線圈
- 用串聯與並聯寫出 AND 與 OR 的條件
- 寫出「按一下啟動、按一下停止」的自保持電路
- 說明停止按鈕為什麼用常閉的實體接點,以及在階梯圖裡怎麼寫
為什麼 PLC 的程式長得像電路圖
在 PLC 出現以前,工廠的自動控制靠的是一整面牆的繼電器:按鈕、繼電器接點、線圈用電線接起來, 改一個動作順序就要重新配線。PLC 取代了這面牆,但為了讓原本看得懂電路圖的電機技術人員也能寫程式, 最常用的 PLC 語言就畫得像繼電器電路圖,這就是階梯圖(Ladder Diagram,LD)。
這一課要回答:
- 階梯圖怎麼讀?為什麼「串聯是 AND、並聯是 OR」?
- 按鈕放開之後,馬達怎麼繼續轉?
- 停止按鈕為什麼要用「常閉」的?
讀階梯圖
| 部分 | 樣子 | 意思 |
|---|---|---|
| 左右兩條直線 | ‖ … ‖ | 電源線:想像左邊有電、右邊接地 |
| rung(梯級) | 一橫列 | 一條規則:左邊是條件,右邊是結果 |
| 常開接點(NO) | -| |- |
這個位元是 1 時導通 |
| 常閉接點(NC) | -|/|- |
這個位元是 0 時導通 |
| 線圈(OUT) | -( )- |
左邊有電流流到這裡時,這個位元變成 1,否則是 0 |
想像電流從左往右流:接點串在一起(串聯),要每個都導通電流才過得去,這就是 AND; 接點上下並排(並聯),任何一條路導通都可以,這就是 OR。
位址 I0.0 是第 0 號輸入的第 0 個位元(接按鈕、感測器),Q0.0 是輸出(接燈、馬達)。各廠牌的寫法不同
(例如 %I0.0、X0、I:0/0),但意思一樣。
PLC 不是一直「通電」:它不斷重複掃描:讀所有輸入 → 由上而下算完每一條 rung → 一次更新所有輸出。一輪通常只要幾毫秒。
自保持:按一下啟動、按一下停止
工廠的按鈕大多是按下才通、放開就斷的瞬時按鈕。如果線圈只接在啟動按鈕後面,手一放開馬達就停了。
解法是自保持(seal-in,也叫自鎖):在啟動按鈕旁邊並聯一個「馬達自己的輸出」接點 Q0.0。
‖ I0.0 啟動 I0.1 停止 Q0.0
‖────| |────┬────────| |────────────────( )────‖
‖ Q0.0 │
‖────| |────┘
- 按下啟動:I0.0 導通,Q0.0 變成 1。
- 下一輪掃描,並聯的 Q0.0 接點也導通了;這時候放開啟動,電流改走 Q0.0 這條路,輸出自己撐住自己。
- 按下停止:串聯的停止接點斷開,Q0.0 變成 0;並聯的 Q0.0 接點也跟著斷開,放開停止後也不會再啟動。
停止按鈕為什麼用常閉的實體接點
上圖的停止接點畫成常開 -| |-,看起來很奇怪,其實是刻意的:實體的停止按鈕用常閉(NC)接點接到 PLC,
沒按的時候電路是通的,I0.1=1;按下時斷開,I0.1=0。
這樣如果停止按鈕的電線被扯斷、接觸不良,I0.1 也會變成 0,機器就停下來,這叫故障安全(fail-safe)。 如果用常開按鈕,電線斷了反而按不停。所以階梯圖裡寫的是「停止訊號還在(I0.1=1)才能運轉」,用常開接點去檢查它。
結論:階梯圖的接點檢查的是位元的值,不是實體按鈕的樣子。先知道實體接點是常開還是常閉,再決定階梯圖要用哪一種接點。
小測驗:讀階梯圖
一條 rung 是「I0.0 常開」串聯「I0.1 常閉」,接到線圈 Q0.0。I0.0=1、I0.1=1 時,Q0.0 是多少?
「A 或 B 都可以讓燈亮」要怎麼畫?
PLC 一次掃描的順序是?
小測驗:自保持與安全
自保持電路裡,和啟動按鈕並聯的接點是什麼?
下面的 Python 模擬兩輪掃描的自保持,會印出什麼?
q = 0
for start, stop in [(1, 1), (0, 1), (0, 0), (0, 1)]:
q = (start or q) and stop
print(int(q), end=" ")
重點整理
- 階梯圖從左電源線往右讀:左邊是條件(接點),右邊是結果(線圈)。
- 常開接點
-| |-在位元=1 時導通,常閉接點-|/|-在位元=0 時導通。 - 串聯=AND,並聯=OR。
- 自保持:在啟動接點旁並聯輸出自己的接點,放開按鈕也能維持。
- 停止按鈕用常閉的實體接點(故障安全),階梯圖裡用常開接點檢查「停止訊號還在」。
- PLC 不斷掃描:讀輸入 → 由上而下執行 → 更新輸出。
下一課加入時間與次數:計時器 TON、TOF 與計數器 CTU。