案例研究:多車道自由流電子收費系統(MLFF ETC)的狀態機模型

隨著智慧交通的發展,傳統人工收費站逐漸被多車道自由流電子收費系統(Multi-Lane Free-Flow ETC)取代。車輛無需減速、停車或變換車道,即可完成通行費扣款。此系統仰賴高精度車牌辨識(ANPR)、RFID/DSRC/5G通訊、車輛偵測與後端扣款平台,廣泛應用於高速公路、都會快速道路、停車場入口等場景。

本狀態機圖描述的正是此類系統的核心控制邏輯:從車輛接近 → 偵測 → 辨識 → 扣款 → 放行或處罰的完整生命週期。透過UML狀態機圖,能清楚呈現系統在不同情境下的行為,幫助工程師設計韌體、軟體控制器,以及進行異常處理與壓力測試。

系統主要狀態與轉移說明

  • Idle(閒置) 系統待機,無車輛接近。 → 觸發事件:vehicle_approaches_toll_plaza(車輛接近收費區)
  • Toll Processing(收費處理)(複合狀態)
    • Reading License Plate(讀取車牌) 啟動相機/雷達讀取車牌號碼 → plate_read → Checking Validity(檢查有效性)
    • Checking Validity(檢查有效性) 比對資料庫(是否註冊、是否欠費、是否黑名單等) → valid_plate → Generating Receipt(產生收據) → invalid_plate → Error(錯誤)
    • Generating Receipt(產生收據) 產生扣款指令並傳送至後端 → receipt_sent → PaymentReceived(已收到付款)
  • InRange → Detect(範圍內 → 偵測) 車輛進入偵測區(通常為虛擬閘門範圍) → detect_vehicle_entry → PaymentReceived 或 NoPayment
  • PaymentReceived(付款成功) 扣款完成,系統記錄交易 → payment_successful → TollCollected(收費完成)
  • NoPayment(未付款) 未偵測到有效扣款(e.g. 未註冊、餘額不足、OBU故障) → no_payment_received → Penalty(罰單)
  • TollCollected(收費完成) / Penalty(罰單) 兩條路徑最終匯合: → process_toll / apply_penalty → update_road_segment(更新路段紀錄) → Clear(清除 / 放行)
  • Clear(清除) 車輛已離開收費區,系統恢復正常 → reset_system → Idle
  • Error(錯誤) 讀取失敗、系統異常、通訊中斷等 → system_alert → 進入終止或等待人工介入

關鍵概念(UML 狀態機圖核心元素)

  1. 狀態(State) 系統在某段時間內的穩定條件,例如「Idle」、「Reading License Plate」、「Penalty」。 本圖使用簡單狀態與複合狀態(Toll Processing 包含子狀態)。
  2. 轉移(Transition) 狀態之間的箭頭,標示觸發事件(trigger),如 plate_read、valid_plate、payment_successful。 本圖未顯示守衛條件(guard),但實際系統常加入,例如 [餘額 ≥ 通行費]。
  3. 事件(Event) 引起狀態改變的外部或內部刺激,例如 vehicle_approaches_toll_plaza、invalid_plate、system_reset。
  4. 初始與終態 ● 表示起始偽狀態,● 表示終態(本圖有多個終態:Error、Clear)。
  5. 複合狀態與區域(Composite State & Region) Toll Processing 為複合狀態,內含並行或循序子狀態,有助於處理複雜邏輯。
  6. 自環與歷史狀態(本圖未出現,但常見於ETC) 例如讀取車牌失敗後可重試(self-transition),或記錄上次成功狀態(shallow/deep history)。
  7. 進入/離開/內部行為(Entry / Exit / Do) 雖然圖中未標示,但實作時常定義:
    • Entry / 開啟相機
    • Do / 持續偵測車輛
    • Exit / 關閉雷射或記錄log

設計價值與工程應用

  • 避免非法序列:確保未讀取車牌就不能扣款,未扣款就不能直接放行。
  • 異常處理明確:invalid_plate → Error、no_payment_received → Penalty,提供完整追蹤路徑。
  • 可測試性:狀態機可直接轉換為狀態表或自動測試案例,覆蓋率高。
  • 實作參考:可對應到狀態模式(State Pattern)、有限狀態機(FSM)程式碼,或硬體描述語言(Verilog/VHDL)。
  • 擴展性:未來可加入子狀態如「多車同時處理」、「5G通訊等待」、「違規車攔截」等。

結語

此狀態機圖完整呈現現代自由流電子收費系統的核心行為邏輯,是嵌入式系統、智慧交通、軟體工程領域極具代表性的案例。透過視覺化的狀態轉移,能大幅降低設計錯誤、加速開發與維護,並作為與硬體廠商、系統整合商溝通的重要規格文件。

若需進一步產生PlantUML程式碼、加入守衛條件、或繪製更細分的並行區域版本,皆可依此案例繼續擴展。

Visual Paradigm International