FluxSECS

FluxSECS 提供 HSMS 傳輸、SECS-II 訊息處理與 GEM 整合能力,用於半導體設備通訊整合

.NET Standard 2.0 .NET Framework / .NET E5 E37 E30

核心能力

從底層連線到 GEM 模型,一套元件涵蓋設備端通訊所需的四個層次。

HSMS Communication

SEMI E37 的 TCP/IP 連線層,Active / Passive 模式、Select 與 Linktest 交握、T3–T8 逾時控制皆由元件處理,斷線自動重連。

SECS-II Engine

SEMI E5 訊息編解碼。以 SecsItem 組裝巢狀 List、ASCII、整數與浮點資料,收送 Primary / Secondary 訊息不必自己拼位元組。

GEM Integration

SEMI E30 模型管理。VID、EC、Report、CEID 與 Alarm 以 XML 定義,也能在執行期用程式碼新增修改,含控制狀態機。

Simulator & Docs

附 Host 端模擬工具,沒有真實機台也能驗證訊息流程;技術文件涵蓋設定檔參數、API 與 GEM 標準指令庫。

幾行程式碼就能通訊

載入設定、啟動連線、送出 SECS-II 訊息,不需要自己處理 socket 與位元組編碼。

// 1. 建立元件並載入設定
FluxSECS.SECS secs = new FluxSECS.SECS();

secs.InitializeConfig(
    ConnectionPath:   "Config/Connection.xml",
    GemDataPath:      "Config/GemConfig.xml",
    StandardDataPath: "Config/Standard.xml",
    LicensePath:      "Config/License.license",
    debugmode: true,
    monitor: (msg) => Console.WriteLine($"[MON] {msg}"),
    trace:   (msg) => Console.WriteLine($"[TRC] {msg}")
);

// 2. 依 Connection.xml 啟動 HSMS 連線
secs.Start();
// 3. 送出 S1F13(建立通訊請求)
var s1f13 = new SecsMessage(1, 13, true);

var root = new SecsItem(SecsFormat.List);
root.Add_ASCII("MDLN-01");  // Model Name
root.Add_ASCII("1.0.0");    // Software Rev
s1f13.Add(root);

secs.SendPrimary(s1f13);

// 4. 接收訊息並回覆
secs.OnDataMessage += (type, msg) =>
{
    if (type == TransactionType.PrimaryIn
        && msg.Stream == 1 && msg.Function == 1)
        secs.Standard_S1F2(msg, "MY_MODEL", "1.0");
};