← 所有文章

HMI 批次流程畫面如何呈現步驟 等待和失敗原因

· 站長

以清洗流程Drain步驟說明目前/完成/下一條件、等待原因、逾時、重試、返回、失敗、HMI重開與控制器重啟限制。

目前 完成與下一條件

批次流程畫面不能只顯示一個進度百分比。每一步至少要分目前狀態、已完成證據、下一條件、等待原因、逾時、重試次數與允許的復原路徑。本文用虛構清洗流程:Fill、Wash、Drain、Rinse、Complete;數值與時間是離線設計,未連接設備。

目前在Drain時,分開顯示「開閥命令已送出」「開位回饋已確認」「液位條件仍等待」。本例轉移條件訂為液位不高於20%、相關回饋品質合格且穩定兩秒;兩秒為自訂練習。命令已送出不能放進設備完成證據。液位35%時顯示目前值、目標及最後有效取得時間,讓操作員知道卡在哪一項。

控制器是狀態真值來源,HMI只是顯示與提出操作請求。重試、跳過、返回、取消、復歸都要有明確狀態與權限,不能由畫面直接改步驟索引。

流程狀態還要分等待與執行。Drain命令已送出但閥回饋未到,是Executing/Waiting feedback;液位尚未達門檻,是Waiting process condition;品質Bad是Waiting data recovery。三者的操作建議不同,畫面不能都寫Busy。

批次身份、配方版本與步驟版本要一起顯示。若控制器重啟後載入不同配方,HMI不可只因stepId相同就續跑;應標示版本不一致並要求人工恢復。

Retry要區分新嘗試與重送。故障排除後正式核准重試,才建立新attempt及命令ID;同一請求因網路重送則沿用原ID去重。尚在執行時再次按Retry,本例拒絕並顯示目前attempt,不把它排到稍後自行執行,避免人員離開後出現意外動作。

欄位 範例 目的 未知時
Current Drain 目前步驟 顯示Unknown
Completed ValveOpen proven 完成證據 不可假設完成
Wait reason Level 35% > 20% 可操作原因 列最後更新
Next condition 液位≤20%、品質合格、穩定2秒 轉移條件 保留等待

等待 逾時與失敗

Drain成功條件依前頁定義,逾時則從該attempt開始計120秒。範例規則是成功尚未確認且elapsed達120秒時轉入失敗處理;同掃描同時滿足成功與逾時的優先順序,須在控制規格明定,本例採逾時優先。開閥回饋期限、流程期限及通訊逾時分開記錄,不全叫Timeout。

逾時不是自動重試的充分理由。控制器先停止或保持輸出於定義狀態,保存stepId、attempt、開始時間、最後值與原因,再依流程規格選Retry、Return、Manual intervention或Abort。Retry前不可跳過互鎖、品質與前置條件。

失敗表要讓操作員知道下一步。若排放閥回饋矛盾,先檢查訊號品質、命令與回饋時間、現場閥狀態;若液位不降,查泵浦、管路與液位感測,不把重試當修復。

情境 畫面 流程結果 查詢
液位35% 等待Level<=20% 維持Drain 看趨勢/閥回饋
回饋Bad 資料品質不良 依規格處置;需核准恢復 查通訊/來源
120秒逾時 Drain timeout 進人工或Abort 查設備
條件成立 完成證據Good 進Rinse 記錄transition

失敗事件要保存step start、command sent、feedback received、quality、attempt與operator action。若同一秒出現兩個回饋,依source timestamp與sequence判斷,不能只取畫面最後更新值。這些欄位也能協助查HMI顯示慢或控制器狀態錯位。

成功標準是狀態、證據、時間與歷史一致。測試表要包含正常完成、等待、逾時、回饋Bad、重試、Abort、HMI重開與控制器重啟,逐列記錄預期和實際。

若回饋訊號短暫Good又回Bad,流程需按品質與穩定時間規則判斷,不因一個瞬間值跳下一步。穩定時間是案例參數,必須由設備需求核准。

成功也要保存transition時間與條件快照。否則事後只知道流程到Rinse,不知道是何時、以什麼值完成。

重試 返回與重啟

Retry是同一步的新attempt,不是把attempt歸零。每次重試都先重新確認互鎖、設備模式、回饋品質與命令未重複;若設備已部分動作,先執行清理或回安全狀態。不可因HMI按Retry就越過安全門、壓力或溫度條件。

Return把流程帶回指定步驟,必須定義回退前提與資料影響。Abort結束批次但保留事件;Manual intervention交給授權人員處理。Skip只有在工程規格明確允許時存在,且要記錄理由與後續品質影響。

重啟分兩種:HMI重開與控制器/流程服務重啟。HMI重開應重新讀Current、attempt、quality與transition,不以本地頁面恢復。控制器重啟能否resume取決於產品、保持資料與流程設計;本文不假定可resume,未確認時進Recovery Required。

事件 不可假設 應顯示 復原
HMI重開 流程停止 重新讀取狀態 不重送命令
控制器重啟 可續跑 Recovery Required 人工核對
Retry 一定安全 條件清單 重新驗互鎖
Abort 資料消失 批次中止 保留歷史

自訂本例最多重試兩次,不含最初一次,因此attempt依序為1、2、3;第三次仍失敗後要求人工處理。畫面同時列attempt=3與retryUsed=2,避免不同人把「兩次」誤讀成總執行兩次。每次重新檢查設備現況,HMI不能把計數清零來繞過上限。

離線案例的每個時間與閾值都要標示自訂,現場要依清洗設備、液位感測與順序文件重建。

重啟後的Recovery畫面應列出批次、配方、step、attempt、最後回饋與待確認項,讓人員能在決定Resume或Abort前看到完整上下文。沒有持久化證據時,選擇人工重建而不是猜測。

若重啟前停在Drain,重啟後液位仍35%不代表可從Drain繼續;要確認輸出、閥位置、批次身份與設備現況。沒有持久化與版本文件時,選擇保守的人工恢復。

案例畫面與排錯

離線驗收:attempt1進Drain,液位35%降至25%後品質變Bad,依本例設計進Recovery Required;品質恢復且顯示18%也不能自動進Rinse。授權人核對設備後請求恢復,控制器重新驗前置條件,液位≤20%及相關回饋品質連續合格兩秒後才可轉移。另測120秒邊界,確認與既定優先規則一致。

若畫面顯示Rinse但控制器仍Drain,先查HMI讀取快取、狀態版本、transition event與通訊品質;不要直接修改畫面文字。若retry後出現兩次開閥命令,查attempt、commandId與控制器冪等處理。

成功驗收包括目前/完成/下一條件一致、等待原因可行動、逾時有結果、失敗可排查、重試不跳互鎖、重啟不假定resume、歷史可回查。設備型號、流程時間、回饋與安全條件需另依順序操作手冊。

中斷包括取消、急停、通訊中斷與人員暫停,處理方式不同。急停或安全條件觸發不能用普通Resume;通訊恢復也不代表設備位置可信,先重新取得狀態與回饋。

流程完成後仍保留失敗與重試歷史,報表可分正常、重試成功與人工介入,不以最後Complete洗掉中途異常。

Ignition公開資料把Sequential Function Charts描述為按順序執行、可等待步驟完成的流程工具;本文只引用概念,不宣稱案例可直接編譯或使用任何特定HMI/PLC指令。

FAQ 來源與驗證

FAQ1:逾時後按Retry就好嗎?不一定,先查品質、互鎖、輸出與回饋,並建立新attempt。

FAQ2:HMI重開等於流程重啟嗎?不等於。先讀權威控制器狀態,流程可能仍在執行;控制器本身重啟才另依持久化與復原規格判斷,不一律自動續跑。

FAQ3:失敗時可Skip一步嗎?只有工程規格明確允許並記錄影響,不能由畫面任意跳過。

FAQ4:顯示完成就代表設備已完成嗎?不一定,需有控制器回饋、品質與transition證據。

本文流程、時間與回饋均為離線假設。

參考:Ignition 8.1 Sequential Function Charts:流程圖、步驟及轉移概念。本文清洗順序是自訂範例,非產品內建流程。

適用於能取得流程狀態、條件與命令結果的HMI專案。若設備只提供單一完成位元,先補齊介面規格再設計等待原因;沒有可核對的控制器訊號時,不從畫面停留時間自行推算步驟。設備型號與現場順序文件尚未提供,本文不替代其操作程序。

延伸閱讀


使用 PLC 工具箱 →