這篇部落格文章最初發表於 cimetrix.com
為了展開我們的 SECS/GEM 系列,讓我們先從解釋 GEM 標準的一項關鍵功能——「資料擷取事件」(Collection Events)開始。我們將先說明其運作原理,接著探討為何它們在從製造設備擷取資料時如此有效。
什麼是收款活動?
「募款活動」這個名稱中的兩個詞語具有描述性。
正如「事件」一詞所示,收集事件即是一種通知。其目的是在設備發生值得關注的狀況時,通知主機。 所謂的「主機」,是指連接到設備 GEM 介面的工廠端客戶端軟體。例如,資料擷取事件可報告物料到貨、耗材即將用罄、發生硬體問題、相機已檢查物料、物料已準備好移出、腔室達到目標真空壓力、處理完成等狀況。設備可利用資料擷取事件功能,在發生任何值得關注的狀況時進行通報。 GEM 介面的開發者會決定主機可使用的收集事件種類;因此,各設備類型可用的收集事件集各不相同。
正如「收集」一詞所示,收集事件亦能隨同收集事件訊息一併發布資料。這是一種非常高效的資料收集形式,能在資訊一經產生時即以非同步方式提供。舉例來說,一個用於通報物料到貨的收集事件,同時也可能通報該到貨物料的條碼與位置。 GEM 介面中的資料分為三種類型:關於收集事件的資訊(稱為「資料變數」)、狀態資訊(稱為「狀態變數」)以及設備設定(稱為「設備常數」)。GEM 介面的建立者將決定每個收集事件可提供的具體資訊。因此,各設備類型可用的收集事件資訊集各不相同。此外,只有當主機設定了相關報告時,這些可用資料才會被傳送。
總而言之,收集事件不僅能告知主機發生了什麼事,還能提供關於事件詳情及設備狀態的更詳細資訊。
一個小小的比喻
舉個比喻來說,不妨將工廠視為老闆,而他們購置的設備則視為員工。管理方式有許多不同的風格,就像工廠的類型和經營方式各不相同一樣。您不希望被迫像別人那樣經營自己的工廠,而是希望按照自己的方式來經營。
此外,每位員工都是獨一無二的,需要不同程度的關注;而且每位員工所從事的工作也各不相同。 一般而言,所有管理階層都希望了解員工的基本資訊及其工作內容。他們希望知道員工何時開始執行專案,以及何時完成專案。有些員工即使在極少的監督與報告要求下,工作效率依然很高;有些員工則需要大量的監督與報告。GEM 系統讓工廠能夠針對每台設備採取獨特的處理方式。具體而言,GEM 的資料蒐集事件為設備提供了一種回報其運作狀況的途徑。
主機必須設定報告規則,並視情況適當調整這些規則。例如,有時主管並不關心員工何時去洗手間;但對於某些員工,主管可能希望知情。在 GEM 介面中,主機可以選擇要觸發哪些通知,以及不觸發哪些通知。
有時,主管只需要知道員工的基礎動態,例如員工何時到崗、離崗、開始休息以及結束休息。有時,主管則需要更詳細的資訊,例如完成了哪個專案、耗時多久,以及該專案的關鍵成果。同樣地,GEM 不僅讓主持人能夠追蹤事件發生的時間點,還能提供活動的詳細資訊。GEM 的報表能非常有效地滿足這項需求。
為什麼需要這項功能?
簡而言之,資料擷取事件能讓您即時追蹤設備的運作狀況。若工廠希望實現任何程度的智慧製造,或是單純想提升生產力,那麼首要之務之一便是具備追蹤設備運作狀況的能力。資料擷取事件正是為此而設。 您可以追蹤設備利用率、物料流動、加工里程碑、用於預測性維護的活動計數週期、耗材使用情況,以及任何與已發布的資料擷取事件相關的資訊。此類資訊的應用範圍無窮無盡。
有時也會利用收集事件來實現以下情境:設備在繼續執行之前,需要從主機獲取資訊,或是取得繼續執行的授權。收集事件會通知主機,設備何時已準備好接收主機的指示或授權。
「收款事件通知」是怎麼運作的?
某台設備的 GEM 介面可以發佈許多不同的資料擷取事件。主機通常不希望一次收到所有事件的通知,而且也不必如此。資料擷取事件以兩種方式採用發佈/訂閱設計模式。
基本發佈/訂閱通知
主機會訂閱特定的資料蒐集事件,以便在事件發生時收到通知。透過訂閱,主機可以啟用或停用 GEM 介面中各資料蒐集事件的回報功能。設備會在資料蒐集事件發生時即時發佈相關事件。
事件報告發佈/訂閱資料收集
預設情況下,資料擷取事件訊息不會包含任何資料。訂閱功能亦允許主機決定應在每個已啟用的資料擷取事件訊息中包含哪些資料。主機會定義報告,並將報告與資料擷取事件建立關聯;藉此訂閱相關資料。每個資料擷取事件均可對應不同的報告。報告亦可跨多個資料擷取事件共用。 報告可包含與資料擷取事件相關的任何資料變數、任何狀態變數以及任何設備常數。設備會發佈包含所請求資料的資料擷取事件。
識別
設備發佈的每個資料擷取事件皆具有一個用於辨識的唯一識別碼。主機軟體在啟用或停用資料擷取事件時,會使用此識別碼;設備在傳送資料擷取事件訊息時,亦會使用此識別碼。每個可用的資料變數、狀態變數及設備常數也各具一個唯一識別碼。當主機定義一份報表時,會為該報表指派一個唯一識別碼。
經紀人
負責處理所有資料擷取事件發佈與訂閱的中介軟體,已內建於設備的 GEM 介面中。它是設備系統的一部分。主機(客戶端)與 GEM 介面之間的通訊,採用 SECS/GEM 通訊標準進行。 GEM 介面與設備其他硬體及軟體(即設備資料擷取事件與資料的來源)之間的通訊,可採用任何適當的技術;只要 GEM 介面能正常運作且效能足夠,具體採用何種技術並無妨。
這意味著,只有當主機已訂閱時,設備才會將訊息傳送至主機。由於訊息中介伺服器是設備與 GEM 介面的一部分,因此 GEM 介面運作非常高效,且所佔用的頻寬遠低於那些使用外部訊息中介伺服器的通訊協定——後者必須將所有訊息和資料持續傳送至訊息中介伺服器。

堅持
資料擷取事件的訂閱設定會儲存於 GEM 介面中。因此,若主機斷開連線後重新連線,或設備重新啟動,GEM 介面將記住所有訂閱的設定。
會使用哪些訊息?
以下是與收款事件相關的各主要訊息摘要。請注意,「S」代表「流(stream)」,「F」代表「函式(function)」。流號與函式號結合起來,可唯一識別一條訊息。
| 訊息編號 | 方向 | 說明 |
| S2F37 | 主機 → 設備 | 啟用或停用某組收集事件的報告功能。
一個空清單可啟用或停用所有回收事件的報告功能。在分析 GEM 介面的特性時,啟用所有回收事件的報告功能會很有幫助;而在啟用特定回收事件的報告功能之前,停用所有回收事件的報告功能則會很有幫助。 |
| S2F33 | 主機 → 設備 | 定義一份或多份報表。
若清單為空,系統將刪除所有報告,以及與彙整事件相關的報告連結。刪除所有報告在重設訂閱時相當實用,或在首次連線至 GEM 介面時,用以覆寫預設訂閱。 |
| S2F35 | 主機 → 設備 | 將一份或多份報告與一組收集事件關聯起來。
如果報告已與某個彙整事件建立連結,您必須先移除這些連結,然後將所有彙整事件在同一則訊息中進行連結。若清單為空,系統將從該彙整事件中移除報告連結。 |
| S1F23 | 主機 → 設備 | 請提供可用的資料蒐集活動清單,以及各資料蒐集活動的可用資料。 |
| S6F11 | 設備 -> 主機 | 此為「收集活動」訊息。
若未連結任何報告,該訊息將僅包含資料蒐集事件的識別碼。若有一份或多份報告與該資料蒐集事件相關聯,則每份相關聯報告的報告資料都將包含在該訊息中。 |
關於收款活動的常見問題
收集事件需要多少頻寬?
這取決於幾個因素。
- 由主機啟用的收集事件數量。
- 與資料蒐集事件相關的資料報告大小。
- 設備觸發已啟用資料擷取事件的頻率。這取決於該資料擷取事件的含義。
收集事件能以多快的速度被觸發?
GEM 標準並未限制資料擷取事件的頻率,且採用標準通訊硬體。換言之,透過升級硬體,即可實現更快的資料擷取事件。
GEM 支援兩種通訊協定:SECS-I 與 HSMS。SECS-I 基於 RS-232 序列通訊,因此現今已鮮少使用。此類實作無法非常迅速地觸發資料擷取事件。
HSMS 基於網路通訊。由於串列通訊速度較慢,目前絕大多數的 GEM 實作皆採用 HSMS。GEM 能非常有效率地運用 TCP/IP。資料擷取事件的可能頻率取決於網路硬體的速度、設備電腦的效能,以及主機電腦的效能。與大多數通訊協定一樣,處理訊息通常比產生訊息消耗更多的電腦資源。
產生收集事件的速度,也取決於與這些收集事件關聯的資料報告。例如,如果某份資料報告體積龐大(例如 10 MB),將會影響效能。
為什麼我收不到收集事件訊息?
主機可能無法收到收集事件訊息,原因有以下幾點:
- 主機與設備必須已透過成功的 S1F13/S1F14 交換建立 GEM 通訊。
- GEM 控制狀態必須為「線上」狀態。不得處於「主機離線」或「設備離線」狀態。
- GEM 緩衝區必須處於非活躍狀態。若在緩衝區處於活躍狀態時嘗試停用其功能,並不會使緩衝區轉為非活躍狀態。若不需要緩衝區中的訊息,請使用訊息 S6F23 清除緩衝區。若需要緩衝區中的訊息,請反覆使用 S6F23 請求這些訊息,直到緩衝區狀態轉為非活躍為止。
- 必須啟用收集事件。請使用 S1F3 查詢「EventsEnabled」狀態變數,以確認收集事件是否已啟用。請使用訊息 S2F37 來啟用收集事件。
- 必須發生「揀貨事件」活動。例如,若物料實際上並未送達,則報告物料送達的揀貨事件將永遠不會發生。若該活動確實發生且符合上述條件,則表示該設備的 GEM 介面存在缺陷。
如果某台設備的 GEM 介面未發佈我所需的資料擷取事件,該怎麼辦?
請要求設備供應商新增所需的收集事件。設備供應商很難準確預測工廠所需的所有收集事件。設備供應商將需要在工廠端升級其 GEM 介面軟體。
與資料彙整事件關聯時,資料報告的最大規模可達多少?
GEM 允許單一資料變數值或狀態變數值為任何資料類型的陣列或結構體,包括浮點數、字串或整數。單一陣列的大小上限為 16.777215 MB。訊息總大小上限為 4.294967295 GB。