第一次失敗先看哪些條件還沒就緒
設備重啟後第一批失敗,第二批開始正常,先檢查初始化依賴,而不是立即加固定五秒延遲。PLC開始掃描時,遠端I/O、驅動器、配方、感測器與通訊可能仍在準備。若第一批提早使用未完成的狀態,後來自然就緒就會掩蓋問題。
保存一次完整重啟時間線:電源或程式啟動、I/O有效、配方讀取、驅動就緒、原點確認、量測有效、允許啟動與第一件進線。每個事件要有來源與品質,不能把「通訊連上」等同所有參數、位置和資料都已可信。
本篇是通用控制流程檢查,不指定第一掃描位元、保持暫存器或廠牌指令。冷啟動、暖啟動、程式下載、模式切換和通訊重新連線可能有不同語意,先按實際平台文件分開,不要全部叫重啟。
重啟試驗在核准停機與可控機械狀態下進行,處理殘留產品、重力與儲能。不得為了重現第一批失敗而反覆讓未確認的設備自動動作;測試前定義輸出狀態、停測條件和恢復程序。
列出依賴關係而不只等待時間
將初始化拆成可觀察的階段:載入並驗證設定、取得有效I/O、確認驅動與機構狀態、建立追蹤資料,再發布Ready。每階段有完成條件、失敗原因和逾時處置。Ready應表示所有必要前提在目前啟動期間成立,不只是計時器到時。
離線時間例:PLC於0 ms啟動,I/O於300 ms有效,配方於800 ms確認,驅動於1200 ms就緒,原點於1500 ms確認。若第一批在500 ms被接受,它早於配方、驅動與原點前提,故障可能來自順序。這些時間不是產品規格,只用來練習閱讀依賴。
若加兩秒等待看似修好,仍要測較慢啟動、通訊重試或設定讀取失敗。時間到而依賴未完成,不能直接Ready;反之,某些硬體有必要的最低暖機時間,就須同時滿足時間與有效狀態,不能只看一個就緒接點。
並行初始化可以提高速度,但所有依賴需清楚。配方驗證和網路連線可同時做,真正開始動作前仍需匯合確認。若某階段失敗,保存哪個條件未完成,不讓其他成功項目的完成事件把總狀態錯誤覆蓋成Ready。
Ready發布也要防止混合狀態。相同啟動識別下的版本、原點與資料品質一起判定;上一個連線保留的Good不能和這次新讀取的配方拼成已就緒。必要條件失效時如何撤銷允許,要在運轉狀態設計中明訂。
各階段的逾時從何時起算也要明訂。配方讀取尚未發出就開始累計通訊逾時,可能把前一階段等待錯算成讀取失敗;從收到回應才起算又可能永遠抓不到無回應。保存階段進入、請求發出及回應時間,才能分辨。
保持資料與未完成動作要分開處理
列出每個變數在不同啟動方式下會清除、保持或重建。產品計數、配方、校正與未完成步驟可能需要不同策略;保持不是一律較安全,清零也不是一律正確。以平台手冊和現場狀態確認,不從變數名稱猜斷電保持能力。
例如步驟號保持在夾持完成,但夾具在停電期間已鬆開,重啟後不能直接進壓裝。需要重新確認物理狀態,或按核准恢復流程重建步驟。相反地,任意清除在途產品表也可能讓產品被重複計數或錯配結果。
通訊命令同樣需要處理未知結果。斷線前的寫入可能已執行但未回應,重啟後盲目再發會造成重複動作。保存請求與確認狀態,依設備提供的查詢、識別或人工確認機制處理,不能把重啟當成所有外部設備都回到初始位置。
第一筆資料也要檢查。輸入裝置初始零值、舊快取、未校時時間或未填滿的濾波窗口,都可能被第一批當真。先建立資料有效條件;濾波初始化依方法定義,不把缺少的前置樣本全補零後直接判產品不合格。
初始化例程應考慮再次進入的行為。重試配方讀取可以重做,但已確認的機械動作不能因每次連線重試都重新執行。將可重做的資料準備與需要確認的物理動作分開,並記錄目前階段與此次啟動識別。
用啟動矩陣驗收第一批
至少區分完整斷電再開、僅PLC重啟、僅遠端設備重啟、通訊恢復及設定變更後啟動。每種測試核對資料保持、初始輸出、Ready條件、第一批結果和故障報告;平台不支援或現場不允許的項目寫明限制,不用其他測試代替。
故意延後一個依賴的回應,在離線或受控環境確認Ready不會提早出現。再測依賴永遠未完成時能否逾時並指出原因,以及恢復後是否按程序重建。若只測所有設備快速啟動,最容易漏掉原本的競態。
失敗時先看第一個被使用但尚未有效的資料或狀態,再查保持語意與階段轉移。第一批成功但計數、位置或品質歷史錯誤,仍不算驗收完成;核對每件識別與重啟前後的資料連續性。
交付初始化依賴圖、啟動矩陣、各階段事件與第一批證據。CODESYS等平台的初始化與保持文件可作核對範例,但不代表Q系列使用同樣語法或順序。
練習與常見問題
練習:I/O和驅動都就緒,但配方驗證失敗,固定等待三秒已到,能否Ready?依本例不能,應保留配方失敗原因。只有重新取得有效且相容的設定,並完成其他當前前提後,才按程序發布允許。
FAQ1:加長啟動延遲就能結案嗎?不能取代依賴驗證,還要測慢啟動及永遠失敗的情況。
FAQ2:保持步驟號一定能接續工作嗎?不一定,必須確認外部機構與在途產品仍符合該步驟。
FAQ3:網路連上就是資料有效嗎?不是,還要查資料時間、品質、設定和本次啟動狀態。
FAQ4:第一件合格就算初始化通過嗎?還須測不同啟動方式、失敗依賴、計數與恢復限制。