SECS/GEM 慣用詞語 — Stream Function

Stream Function 是 SECS/GEM 通訊 (尤其是指 SECS-II ) 的基礎, 我們在處理 SECS/GEM 相關實務的日常對話中 (至少在台灣是如此), 常常會提到這個詞, 通常用來指單一個訊息。 事實上, 這是個不精準, 但已經被沿用的稱呼。 單一個訊息比較正確的說法應該是 Function。

Stream 與 Function

在 SECS-II 規範中定義了許多單一的訊息, 稱為 Function , 並且將同類別的 Function 合併為一個類別, 稱為一個 Stream , 並分別用單一字母 S 和 F,加上數字來區別, 例如: S1,F1 表示 Stream 1 類別下的 Function 1, 有時也寫作 S1F1。 因此,每個訊息都需要用一個 S 和一個 F 才能明確標定, 再加上 Function 這個字在很多領域地方都會用到, 為了避免混淆, 這也是為什麼我們習慣上用 Stream Function 來稱呼 SECS-II 訊息的原因。

定義範圍

按照 SECS-II 的規範, Stream 的合法範圍是 0~127, Function 則是 0~255, 這個長度讓這二個值可以剛好放入 SECS-II 與 HSMS 的訊息表頭 (message header) 中, 而且表示整個 SECS-II 規範總共可能有 128*256 = 32768 個訊息。 實際上 SECS-II 只保留並定義了其中一部份。

SECS-II 規範中 Stream 與 Function 的範圍
SECS-II 規範中 Stream 與 Function 的範圍

如上圖所示, 紅色的區域為 SECS-II 包留區塊, 包括以下部份

  • S0, F0~255
  • S1~63, F0~63
  • S64~127, F0

使用者自定義訊息

雖然 SECS-II 訊息已經涵蓋常用的類別與訊息, 但由於裝置的種類眾多, 而且日新月異, 或是有時為了配合終端使用者的需求, 在規範未保留使用的合法範圍, 也就是上圖綠色區域, 開放給使用者在有需要的時候, 可以自行定義。 針對這些使用者自定義的訊息, 可以透過智連工控的 SECI Box 系列, 可以讓使用者輕鬆的加入自行定義的 SECS-II 訊息。