← 所有文章

斷電保持資料該存哪些 PLC 記憶體保存範圍與初始化

· 站長

區分配方、累計、動作請求與流程狀態的保存需求,建立 Q06UDVCPU M/L 保持限制與重啟初始化矩陣。

先分資料性質

配方設定通常希望斷電後保留;正在運轉的動作狀態則不宜無條件沿用。暫存資料、保持裝置、參數區與非揮發性保存是不同機制。本文以虛擬配方 RecipeTemp=80 和累計 GrandTotal=120 為例,示範重啟後的預期矩陣,不代表任何通用 PLC 的預設值。

資料 用途 重啟策略 驗證
RecipeTemp 操作設定 保留但驗證範圍 80°C 是否有效
GrandTotal 歷史統計 保留並檢查完整性 120 是否可信
RunRequest 動作請求 通常清除 不可自動動作
StepState 流程位置 清除或進安全初始化 回到初始步驟
FaultLog 診斷 保留/另存 重啟原因可查

Q06UDVCPU 的保持範圍不能靠記憶猜測。依 Mitsubishi QnUCPU 官方手冊 SH-080807ENG-AF 所述,M 裝置不屬於斷電保持,L 裝置可作為鎖存用途;實際範圍、參數和清除方式仍需依手冊與專案設定確認。

建立重啟預期矩陣

情境 RecipeTemp GrandTotal RunRequest StepState 預期
正常斷電再上電 80 120 0 INIT 設定/累計保留,動作不自動恢復
下載含清除 預設值 依下載策略 0 INIT 保存區可能被清除
人工清除保持區 預設值 0或預設 0 INIT 需記錄操作者
資料無效 999 未知 0 INIT 拒絕使用並報錯
電池或保存異常 未知 未知 0 INIT 進入資料恢復流程

完成後應看到的是『設定可用、累計可追溯、動作不自動啟動』,不是所有數值都原封不動。若 RecipeTemp 超界,應載入明確預設或停在待確認狀態;若 GrandTotal 不可信,不要用上一筆猜回。

初始化與清除流程

  1. 列出每個資料的保存需求、來源、範圍和失效策略。

  2. 確認 CPU 型號、保持參數、電池或非揮發性記憶體狀態。

  3. 啟動時先驗證版本、範圍、校驗或有效旗標,再允許流程使用。

  4. 將動作請求和步驟狀態導入安全初始化,不把舊動作直接恢復。

  5. 分開測試正常重啟、下載清除、人工清除和資料失效。

教學偽碼(需依目標 PLC 語法調整):
若 FirstScan:
  ConfigValid := FALSE;RunRequest := FALSE;StepState := INIT
  保留原始 RecipeTemp 供診斷
  若 RecipeTemp 超出0~200:
    RawInvalid := TRUE;ConfigInvalid := TRUE
    PendingDefault := 80(待確認候選,不自動採用)
  否則:仍須通過版本、單位及完整性檢查,才允許ConfigValid成立。
初始化與允許動作必須使用這個有效性結果。
失敗現象 先查哪裡 完成判定
設定變預設 保持範圍、下載選項、清除操作 知道是哪一情境清除
重啟自動運轉 RunRequest、StepState 初始化 輸出保持關閉
累計跳回零 資料區、電池、保存錯誤 恢復或報資料無效
設定超界仍使用 啟動驗證未執行 拒絕並顯示原因

適用限制與常見問題

適用型號與限制:本文以 Q06UDVCPU/QnUCPU 手冊作保持概念的具體查核例,QJ71C24N 是通訊模組,不是保存記憶體。M、L、寄存器、參數區及電池行為不可跨型號泛化;下載與清除操作也要依 GX Works 版本核對。

問題 回答
保持資料越多越好嗎? 不是,動作狀態可能造成重啟後誤動作。
斷電保持等於非揮發性嗎? 不一定;保持範圍、電池與保存媒介要分開確認。
啟動後數值存在就能用嗎? 還要驗證範圍、版本和有效旗標。
清除保持區會影響程式嗎? 依操作範圍可能影響裝置資料;先保存並核對文件。

重啟前後逐項核對

進一步操作時,先備份保持資料與下載設定,逐一測試正常斷電、程式下載清除、人工清除和保存異常。每次上電先記錄原始值,再記錄驗證後是否可用。配方版本不符時應拒絕使用或轉入人工確認;累計資料不完整時,保留未知狀態而不是補零。流程位置即使保存,也必須重新確認輸入、模式、互鎖和輸出條件。這些檢查完成後才可讓自動流程接受新的啟動命令。

教學驗收時還要將保持資料和動作恢復完全分開。配方可保留但必須驗證版本、範圍和單位;累計可保留但必須確認完整性;流程位置和運轉命令則應進入初始化。每次清除或下載都先保存快照並記錄操作者。若資料無法證明可信,畫面應顯示未知或待確認,不可用預設數字冒充原值。初始化完成後再開放啟動命令,避免上電瞬間輸出。

保存資料每次使用前都要先驗證來源、版本、範圍和有效旗標;設定值可保留,動作狀態需重新初始化。下載或清除前先備份,完成後依矩陣逐項讀回。若保持失敗,畫面應顯示待確認並停止自動流程,不要猜回原值。

做斷電保持測試時,先列出預期值,再執行一個情境,最後逐項讀回。正常重啟要確認配方值仍在有效範圍、總累計可追溯、RunRequest 已清除、流程回到 INIT。邊界情境包括下載時勾選清除、人工清除保持區、資料校驗失敗、電池或保存媒介異常。若設定無效,應停在待確認狀態或載入文件指定的預設值,並留下原因;不要沿用超界數字。動作輸出必須重新通過現場條件,不可因 StepState 被保存就直接恢復。

情境 完成後應看到 先查
正常上電 設定保留、動作不自動啟動 保存範圍與初始化
清除保持區 預設值或無效旗標 清除操作記錄
資料超界 拒絕使用並報警 範圍檢查
重啟後誤動作 RunRequest或輸出未清 啟動順序與輸出閘門

復原時先保存原始記錄,確認輸入、狀態、診斷旗標和輸出,再依規格清除或重試。這些是教學案例,不是 PLC 模擬或實機結果。

從保存值到可用設定還有一道驗證

先建立資料字典,每一列寫名稱、型別、單位、有效範圍、來源版本、保存位置與清除條件。配方溫度八十只是一個數字,若新版程式把單位從攝氏改成十分之一攝氏,直接讀回八十就會變成八度。版本和倍率的檢查因此與數值範圍同樣重要。

正常重啟練習先保存配方八十、累計一百二十,再記錄下載設定與裝置位置。重新啟動後先讀原始保存值,接著記錄驗證結果,最後才看流程是否接受新啟動。若只在初始化之後監看,你可能看到程式填入的預設八十,而不知道原先保存資料其實已遺失。

現在把配方改為九百九十九模擬無效資料。本例應保留九百九十九供診斷,將設定有效旗標清除,並提供八十作為待確認預設候選;它不是自動生效的安全溫度。操作員確認正確配方前,初始化不能直接允許使用這個候選值執行動作。

對總累計則採另一種處理。若校驗失敗,不能把未知值改成零再聲稱今天尚未生產。應保存錯誤原因,暫停依賴此累計的正式報表,使用外部紀錄完成對帳。恢復時記錄採用的資料來源與調整量,讓後續人員能追溯數字為何改變。

最後把資料保持和設備恢復分開驗收。流程步驟即使成功保存,工件可能已被移走,氣壓或驅動器狀態也可能改變。重新接受工作之前仍要核對現場前提。本文只要求重啟後不沿用舊運轉請求,沒有把資料保存成功等同於設備可以無條件續跑。

附錄記錄 CPU 型號、專案版本、保持參數、資料字典、初始值、重啟情境、實際觀察和清除操作者。Q06UDVCPU 的 M/L 差異已依 SH-080807ENG-AF 記錄,但完整範圍與現場設定仍待核對。

參考:三菱 QnUCPU 使用手冊 SH080807ENG AF 第4章裝置

延伸閱讀


使用 PLC 工具箱 →