← 所有文章

PLC與HMI標籤對照與命名實作

· 站長

用五個槽體變數建立PLC來源、HMI標籤、型別、單位與畫面用途對照,示範差異檢查及交接驗收。

先把名稱與真正來源拆開

看到HMI的槽溫顯示不對,先追它綁到哪個標籤,再追標籤連到哪個來源。畫面文字、HMI標籤名稱、PLC變數名稱與實際通訊位置是四件事;名稱相似不代表來源相同,名稱不同也不代表資料不同。這篇用一台虛構攪拌槽TK01的五個變數,帶你建立可以交接的對照表。

先準備目前PLC專案的變數匯出、HMI標籤設定與畫面版本,記錄匯出時間及來源版本。本文以Ignition 8.1說明HMI標籤與OPC來源的關係;PLC符號是教學命名,不是假定任何特定PLC已提供這些變數,也沒有編造三菱裝置位址。實際位址必須從你的工程檔與驅動設定取得。

一筆對照至少有穩定的mappingId、設備ID、PLC符號、來源連線與位置、HMI標籤路徑、資料型別、工程單位、縮放位置、讀寫方向、畫面ID、用途和版本。把來源位置留白並標待確認,比填一個猜測的D位址更有用;未確認項目不能列為連線驗收通過。

以槽溫為例,PLC符號為Tank01.TempRaw,HMI邏輯路徑為TK01/Temperature,畫面文字為槽溫。三者各有用途,應以同一mappingId=M01連起來。若畫面又把文字改成製程溫度,只需更新顯示名稱和文件,不能因此誤改來源連線。

先建立只讀清單。命令、設定值與實際回授分開命名和分開列;不要把RunCmd與RunFeedback因為都叫運轉就合併。對照表的第一個成果是能查清來源與方向,不是立刻批次修改線上標籤。

跟著建立五筆設備對照

M01對應Tank01.TempRaw與TK01/Temperature:來源是有號16位整數,假設253代表25.3°C,由HMI縮放乘0.1,顯示用浮點數,只讀。M02對應Tank01.LevelMm與TK01/Level:來源為毫米整數,1480顯示1480mm,倍率一,只讀。這兩筆不能因為都是數字就沿用同一單位與倍率。

M03對應Tank01.RunFb與TK01/RunFeedback:布林回授,顯示運轉狀態,只讀。M04對應Tank01.TempSet與TK01/TemperatureSetpoint:本例假設來源已是°C的浮點工程值,設定範圍由工程規格另定;允許寫入須走既有授權和確認流程。M05對應Tank01.FaultCode與TK01/FaultCode:無號16位代碼,只讀,代碼文字需依該設備正式對照。

在五筆旁加入用途:M01與M02在P10設備總覽和R20班次報表;M03在P10運轉指示;M04在P11授權設定頁;M05在P12診斷頁。這樣當溫度資料型別變更,就知道除了數字元件,也要查歷史記錄與報表,而不是只看P10畫面正常便結案。

來源位置欄不只填最後一段位址,還要保存PLC設備連線名稱、OPC伺服器名稱及實際item path或驅動位址。兩台控制器可能有同名變數;省略設備連線就可能把TK01接到TK02。從工程軟體實際匯出內容複製,不自行把本篇邏輯路徑當成合法OPC item path。

完成後應有五個mappingId且用途可追到畫面。手算M01的253乘0.1得到25.3,M02保持1480。若顯示2.53,先查PLC或中介層是否已經乘過0.1;若顯示253,查縮放是否未套用。每一層保存原值與工程值,才能找到重複換算的位置。

訂出新增改名與停用規則

命名規則先定設備識別,再定物理量與角色。例如Temperature表示工程溫度,TemperatureRaw表示原始整數,TemperatureSetpoint表示設定值。Raw、Setpoint與Feedback不應只靠顏色或畫面位置區分。中文顯示名稱可以服務操作員,穩定識別碼則服務工程追蹤與資料關聯。

新增標籤先申請mappingId,填來源、型別、單位、讀寫用途,再由另一位工程人員核對。確認沒有與既有設備ID或標籤路徑衝突,才在隔離測試專案建立。名稱審核不能代替權限審核;看起來像只讀的名稱仍可能配置成可寫,需直接查設定。

改名時列出畫面綁定、腳本、歷史路徑、警報、報表與外部介接。若舊路徑仍有消費者,規劃相容期或一次性更新清單,記錄舊名、新名、生效版本與回復方式。不要假設平台會自動更新所有外部字串,也不要把直接改名當成不影響歷史查詢的小修改。

停用時先標Deprecated和替代標籤,確認沒有讀寫者後再依核准程序移除。過去報表引用的名稱仍留在歷史對照版本。若設備換位置或來源重新指派,應新增映射版本;不能悄悄讓同一標籤從量TK01變成量TK02,卻把前後資料混成同一設備趨勢。

Ignition OPC標籤的資料來源涉及OPC伺服器與item path,標籤資料型別也可能把來源值轉成配置型別。因此型別核對要同時看來源和HMI兩端。將整數強制轉成浮點,只改變表示方式,不會自動完成0.1倍率或°C單位換算。

用差異檢查找出錯接與漏改

先把兩次匯出按mappingId配對,逐欄比較來源位置、資料型別、單位、倍率、方向及用途。分類為新增、移除、改名、來源改接或換算變更;不要只對整份文字檔做差異,因為排列順序變化可能產生大量雜訊,真正一筆倍率變更反而看不見。

本例故意加入三個差異:M01倍率由0.1改成1,M03誤接TK02的運轉回授,M04被配置成一般操作員可寫。第一個用253預期25.3的測例抓出;第二個在離線測試標籤安排TK01停止、TK02運轉,看指示是否跟錯;第三個用角色測試核對後端拒絕未授權寫入。

測試資料須與現場來源隔離,寫入測例只作用於測試端點,不能為了確認對照就任意啟停設備。若只有工程檔可查而沒有測試環境,標記已核對設定、未完成動態驗證。交接時把這個差距留在驗收欄,不要把匯入成功當成每個點都正確。

Ignition可匯出與匯入標籤設定,但匯入的衝突處理選項會影響既有標籤。先在專案副本或隔離Provider檢查匯入結果,再比對數量和設定。標籤檔是設定證據,不等於PLC程式備份、Gateway完整備份或所有歷史資料。

失敗時依序查設備連線、來源位置、來源型別、HMI型別、換算、元件綁定與顯示格式。若同一標籤在監看值正確但只有一張畫面錯,優先查那個元件的二次換算、參數和綁定;不要回頭改共用PLC變數來配合單一畫面。

交付對照表與完成判準

交接包應包含五筆完整對照、來源匯出檔、差異清單、測例及結果。每個結果附版本與證據:M01測試輸入253顯示25.3°C,M02顯示1480mm,M03只跟TK01回授,M04一般角色不得寫入,M05以測試代碼查到對應文字。

請接手者從P10的槽溫元件反查到M01,再從M01找到來源設定和報表用途。若必須靠原作者口頭解釋才能找到,對照表還欠路徑或版本。最後檢查所有待確認欄位都有負責人與下一步,讓未知項目可以被處理。

問:PLC與HMI一定要同名嗎?答:不必,但需有穩定識別與可查的映射,避免只依顯示文字猜來源。

問:來源整數改成Float是否就有小數?答:只能改數字表示;253要變25.3仍需明確的縮放規則。

問:舊標籤不在畫面上能直接刪嗎?答:先查腳本、歷史、警報、報表與外部讀取者,畫面只是其中一種用途。

問:這些PLC符號可直接匯入Q系列嗎?答:不能據此假定可用。須依實際CPU、工程軟體、驅動與來源專案確認合法命名和通訊位址。

參考:Ignition 8.1 Tag Properties:資料型別與OPC來源設定。

參考:Ignition 8.1 Exporting and Importing Tags:標籤設定匯出、匯入及衝突處理。

延伸閱讀


使用 PLC 工具箱 →