這篇部落格文章最初發表於 cimetrix.com
訊息暫存的目的
即使是最穩健的電腦網路,也會發生通訊故障。無論原因為何,一次輕微的服務中斷都可能導致大量關鍵任務資料的遺失。GEM 透過提供訊息暫存功能,來緩解這種資料遺失的情況。
捲繞的定義
「捲繞(Spooling)是一種功能,使設備能在通訊中斷期間將 intended for the host 的訊息排入佇列,並在通訊恢復後傳送這些訊息。」SEMI E30-0717 7.12。
捲繞的優點
自動化工廠是以數據為驅動的。透過萃取與分析數據,進而做出決策,這些決策將影響工程與管理團隊的應對方式,以確保產品良率高且廢品率低。
這些資料中的缺漏可能會導致錯誤判斷,甚至只能憑空揣測。暫存機制是一種備份系統,能確保這些資料得以保存並還原,從而降低遺失寶貴資料的風險。
GEM 能力要求
暫存並非 GEM 的必要要求;然而,若要實作這項額外功能,必須以正確的方式進行。以下列出幾項用於實作符合規範的暫存介面的要求。
該設備必須讓主機能夠透過設備常數「EnableSpooling」來啟用或停用緩衝功能。此常數由設備發佈,主機可據此選擇所需的狀態。
當實施捲軸處理時,其必須能對所有相關的主要訊息正常運作,並可透過 S2、F43/F44 交易進行存取。此不包括第一流訊息;若該類訊息嘗試「設定捲軸」,則必須予以拒絕。
非揮發性儲存裝置
該設備負責分配足夠的非揮發性儲存空間,以儲存所有已排入緩衝區且至少需保留一個設備處理週期的訊息。非揮發性儲存(NVS)亦將存放所有與緩衝相關的狀態變數。採用 NVS 來儲存這些資料,是為了確保一旦發生停電,資料仍能得以保留。
停電
在設備斷電前已進行暫存的所有訊息,由於已儲存於非揮發性儲存裝置中,因此仍可取得。若在發生斷電時暫存功能處於活躍狀態,所有暫存相關資訊皆會從非揮發性儲存裝置(NVS)中還原。這包括已暫存的資料,以及儲存於 NVS 中的所有與暫存相關的狀態變數。
主機在執行 Spooling 方面的責任
訊息暫存功能需要各主機共同參與,才能在通訊中斷後成功恢復運作。最理想的作法是將暫存功能保持在停用狀態,直到該主機經過程式設定,能夠妥善處理此狀態機中可能發生的所有情況為止。停用暫存功能,總比管理不當的暫存功能來得好。
一旦通訊恢復,主機必須負責管理對暫存訊息的調取。主機亦可選擇在必要時將檔案從設備中清除。
結論
雖然卷筒輸出並非 GEM 的基本要求,但若要實作此功能,必須正確執行。當啟用卷筒輸出時,主機與設備軟體均有責任確保符合 GEM 規範。GEM 卷筒輸出可防止寶貴資料的潛在損失,並為設備與主機軟體提供一套易於遵循的標準。