時序圖的畫法 — 人與程式碼、人與人之間的共同介面
最後更新: 2026-09-25 / 分類: 控制設計、PLC
時序圖是把機械工程師腦中的「動作順序」交給軟體工程師的圖。本文寫給只拿到圖面與配線表就得寫程式的人,以及想把順序傳達給對方的機械工程師。
1. 圖面沒有順序。把順序交出去的就是這張圖
看機械也看不出原本打算怎麼動。因為圖面上只有氣缸與感測器的位置,沒有寫「前進端到了之後才關夾爪」這種順序。
不知道順序的軟體工程師只能猜著寫。猜對就能動,猜錯就在試車時停下。時序圖是把這個順序從圖面拿出來、放在硬體與軟體之間的圖。波形與箭頭只是外觀,內容是下面三件事。
2. 圖的內容是三件事
① 把連續的動作切成狀態
第一件,是把沒有切分的動作切成「狀態」。活塞桿連續移動,馬達持續旋轉。軟體沒有段落就無法處理,所以要在某處切開。例如「前進端變 ON 之前是前進中」「變 ON 就是前進完成」。
為什麼需要 — 因為只有機械工程師知道在哪裡切。感測器的位置,和機械工程師稱為「完成」的位置不一定相同。圖上沒有切法,軟體工程師就會把感測器的 ON 直接當成完成來寫。
② 讓週期不同的機器同步
第二件,是讓以各自週期運作的機器步調一致的程序。PLC 是 10 ms 的掃描,機器人有自己的週期,隔壁的裝置由另一台 PLC 運作。彼此都不知道對方的週期。只是丟出訊號,可能在對方看到之前就消失,或原本要一次卻被撿到兩次。
為什麼需要 — 因為每台機器單獨做得正確,接起來的地方仍會壞。要求 ON → 回應 ON → 要求 OFF → 回應 OFF 這 4 個變化(交握)不是小技巧。它是兩台非同步的機器確實對齊狀態的最小程序。省略中間的步驟,兩邊的實作就會在省略處分歧。
③ 把機器之間的責任分界定為契約
第三件,是機器與機器之間的約定。連時間條件一起決定,例如「伺服就緒變 ON 之後,到動作要求要間隔 500 ms 以上」。等待時間畫成我方計時的計時器波形,對方送出什麼、我方何時送出,用列分開。哪一列屬於誰,分界就會出現在圖上。
為什麼需要 — 因為這裡達成共識,內部就能各自自由設計。放大器裡面做什麼都好,只要守住就緒與 500 ms,PLC 側就不用變。沒有共識,兩邊就猜著對方的內部來做,試車時容易變成「你那邊太慢」「你那邊先撤掉的」。
3. 圖上要這樣畫
- 波形的邊緣 — ① 的狀態分界。ON/OFF 切換的位置,就是狀態改變的位置
- 箭頭 — 跨越 ① 的分界的條件。從邊緣畫到邊緣。寫進軟體時,一支箭頭就是一個條件。畫不出箭頭的邊緣,就是條件還沒決定的地方
- 要求與回應的 4 個變化 — ② 的同步程序。跨機器的訊號 4 個全部都畫,不畫只有 1 個 Step 的脈衝
- 列的排法 — ③ 的分界。依送出該列的機器分組,原因在上、結果在下。跨機器的箭頭排列的地方,直接就是開會的議題
- 時間的數值 — ③ 的時間條件。寫成「間隔 500 ms 以上」「3 s 內回覆」。時間軸(Step)只有順序,所以時間以數值傳遞,計時的樣子用計時器的波形呈現
- 一張圖一條劇情 — 時間軸只有一條。正常的一個週期、異常停止、原點復歸各畫一張圖,分支用PLC 控制流程圖的畫法表示
4. 畫的順序
- 排列機器,以及在分界交換的訊號 列依機器分組,訊號名稱也附上變數名稱與元件。例:進料要求 bLoadReq / Y020。
- 一邊在狀態分界切分,一邊畫正常的一個週期 從啟動到完成,依序放邊緣,用箭頭連起來。連不起來的邊緣,就是切法還沒決定的地方。
- 分界的時間條件以數值標上 等待時間與回應期限。寫在邊緣附近,或該列的註解。
- 異常時與復歸另畫一張圖 用相同的列,只改劇情。連在哪裡停、撤掉哪個訊號、怎麼回到原位都要決定好。
5. 容易出錯的地方
- 把跨機器的訊號畫成「同時」變化 — 不同的機器以各自的週期運作,不會同時變化。需要順序就用箭頭連,不需要就寫清楚讓人看得出來
- 把只有 1 個 Step 的訊號(脈衝)交給對方 — 接收方的週期較長就會漏掉。跨機器的訊號,要做成看到對方回應才撤掉的形式(4 個變化)
- 把感測器的 ON 直接當成狀態分界 — 感測器的位置,和機械工程師稱為「完成」的位置不一定相同。在哪裡切,由狀態決定,不是由感測器決定
6. 畫完之後
箭頭直接成為流程圖的判斷(進到下一步的條件),列成為位址對照表的變數。
製作本文的圖所用的工具
本文的圖全部用 Timing Chart Editor 畫好,再匯出成 SVG。
- Timing Chart Editor — 依送出訊號的一方(M / S)排列列,從變化畫箭頭到變化,可寫入等待時間與註解。
- Flowchart Editor — 把時序圖的箭頭換成判斷與等待,組成流程圖。
- Address Map Editor — 為時序圖的訊號分配 PLC 元件。
不用安裝也不用註冊,只要瀏覽器就能使用。
相關文章
- 用 Excel 製作時序圖
- 用 draw.io 製作時序圖
- 交握時序圖(範例)
- 氣缸時序圖(範例)
- 皮帶輸送帶時序圖(範例)
- 伺服定位時序圖(範例)
- PLC 控制流程圖的畫法
- PLC 位址對照表的作法
- 系統架構圖的畫法
- 讓 AI 畫規格書
- JSON 資料結構規格 — 4 個編輯器讀寫的格式,以及 Schema、驗證、範例
- 控制規格書的寫法
- 週期時間圖的畫法
yk.builds