Learning Objectives
- 說明工廠從硬接線、現場匯流排到工業乙太網路的演進,以及各自解決的問題
- 用自動化金字塔描述 ERP、MES、SCADA、PLC、現場設備的分工與時間尺度
- 說出常見工業通訊協定大致用在哪一層,並說明下層為什麼重視確定性
- 估算序列匯流排輪詢一圈需要的時間,比較週期輪詢與有變化才送
一條生產線上的通訊
前面幾課的 PLC 只和自己的按鈕、燈、馬達打交道:每個訊號一條線,接到 PLC 的一個端子。一條真實的生產線上卻有 幾百個感測器、幾十台變頻器、好幾台 PLC,上面還有監控畫面、生產管理系統、公司的訂單系統。它們之間都要交換資料。
這一課先看全貌,後面幾課再動手:
- 為什麼不能每個訊號都拉一條線?
- 現場匯流排和工業乙太網路解決了什麼?
- 工廠裡的系統分成哪幾層?每一層用什麼方式通訊?
從硬接線到網路
| 階段 | 做法 | 優點 | 限制 |
|---|---|---|---|
| 硬接線 | 每個感測器、致動器一條(或一對)線拉到 PLC | 簡單、反應快 | 線多、配線與除錯費工,只能傳一個值 |
| 現場匯流排 | 多台設備串在同一條通訊線上(例如 RS-485) | 省線,能傳多個值與診斷資訊 | 速度有限,各家協定不相容 |
| 工業乙太網路 | 用乙太網路的硬體,加上滿足即時需求的協定 | 速度快,和資訊網路的設備相通 | 要處理即時性與資安 |
常見的名稱:現場匯流排有 PROFIBUS、CANopen、Modbus RTU;工業乙太網路有 PROFINET、EtherNet/IP、EtherCAT、Modbus TCP。 它們各有管理組織,例如 PROFINET 由 PROFIBUS & PROFINET International(PI)推動,EtherNet/IP 由 ODVA 管理(以 CIP 協定為基礎), EtherCAT 由 Beckhoff 開發、現在由 EtherCAT Technology Group(ETG)管理;多數也收錄在 IEC 61158/IEC 61784 系列標準裡。 感測器這一端還有 IO-Link(IEC 61131-9),把一顆感測器和主站之間的普通接線變成能傳參數與診斷的數位連線。
本軌接下來會動手做的是 Modbus:Modicon 公司在 1979 年發表,規格公開、免授權費,至今仍是最常見的入門協定。
逐步看:序列匯流排問一圈要多久
序列匯流排上同一時間只能有一台設備說話,主站要一台一台輪流問。這支程式只算資料在線上傳送的時間(不含設備思考的時間), 看鮑率(每秒傳幾個位元)和設備數量怎麼影響「問完一圈」的時間。
確定性:準時比快更重要
辦公室的網路慢一點只是等久一點;控制馬達的網路如果這一輪 2 毫秒、下一輪 40 毫秒,馬達就會抖動,甚至撞機。 下層網路最重視的是確定性(determinism):每一輪資料交換的時間固定、可以事先算出來。
工業乙太網路用不同的方法達到確定性,例如固定的週期排程、專用的時間槽,或讓一個封包依序經過每台設備(各協定的做法以其規格為準)。 上層的系統(監控、生產管理)時間尺度是秒到天,資料量大、偶爾延遲一下沒關係,所以常用一般的資訊網路技術。
另一個差別是什麼時候送:
- 週期輪詢:主站每隔固定時間問一次,不管值有沒有變。行為可以預測,下層最常用。
- 有變化才送(訂閱、發布):值改變時才通知,省下大量傳輸。OPC UA 的訂閱、MQTT 屬於這一類,常用在上層。
拓樸
| 拓樸 | 樣子 | 常見於 |
|---|---|---|
| 匯流排、菊鏈 | 一條線依序串過每台設備 | RS-485、EtherCAT 的線型接法 |
| 星狀 | 每台接到交換器 | 一般乙太網路 |
| 環狀 | 首尾相接,一處斷線還有另一條路 | 需要備援的工業乙太網路 |
逐步看:週期輪詢與有變化才送
同樣 10 筆溫度讀值,週期輪詢每一筆都要傳;有變化才送只傳 3 筆。注意第二種方式要記住「上一次送出的值」(last)。
自動化金字塔
工廠的系統常畫成一座金字塔,參考 ISA-95(國際標準 IEC 62264)的功能階層,由下而上:
| 層 | 系統 | 做什麼 | 時間尺度 |
|---|---|---|---|
| 4 企業層 | ERP(企業資源規劃) | 訂單、採購、成本 | 天~月 |
| 3 製造執行層 | MES(製造執行系統) | 工單、排程、品質追溯 | 分鐘~天 |
| 2 監控層 | SCADA、HMI | 監看、操作、告警、歷史資料 | 秒 |
| 1 控制層 | PLC、控制器 | 讀輸入、執行控制邏輯、寫輸出 | 毫秒 |
| 0 現場層 | 感測器、致動器 | 量測與動作 | 毫秒以下 |
越往下,設備越多、每筆資料越小、要求越準時;越往上,設備越少、資料量越大、越重視整合。 這幾年常聽到的 IT/OT 整合,就是讓資訊系統(IT)和營運現場的控制系統(OT)交換資料,OPC UA、MQTT 是常用的橋樑; 同時也讓原本封閉的控制網路面對資安風險(第 17 課會談防禦的做法)。
金字塔是方便溝通的簡化圖:真實工廠的界線不一定這麼清楚,同一個協定也可能出現在不同層。
小測驗:金字塔與協定
把訂單變成工單、追蹤每一批產品用了哪些原料,屬於哪一層的工作?
工業乙太網路比一般辦公室網路多要求了什麼?
下面哪一個最適合把多台設備的資料送到監控與生產管理系統,而且能用「訂閱」在值改變時收到通知?
小測驗:輪詢與傳輸時間
下面的程式會印出什麼?
bits = 8 * 11
print(round(bits / 9600 * 1000, 2))
序列匯流排上有 30 台設備,輪詢一圈太慢。下面哪個做法不能縮短一圈的時間?
「有變化才送」比週期輪詢省傳輸量,但有什麼代價?
重點整理
- 硬接線一個訊號一條線;現場匯流排讓多台設備共用一條通訊線;工業乙太網路用乙太網路的硬體並滿足即時需求。
- 下層網路重視確定性:每一輪的時間固定;上層重視資料量與整合。
- 自動化金字塔(參考 ISA-95):ERP、MES、SCADA/HMI、PLC、感測器與致動器,越往下時間尺度越短。
- 週期輪詢可預測、下層常用;有變化才送(訂閱、發布)省傳輸量、上層常用,但要另外確認連線還在。
- 序列匯流排輪詢一圈的時間,由鮑率、每筆的位元組數與設備數量決定。
接下來三課動手做 Modbus:下一課從 RS-485 與 Modbus RTU 的訊框開始,自己算 CRC。