訊息

Stream 1 16 則

S1F1R Are You There Request (R) Host ↔ Equipment

✅ 已實作 · ControlStateMachine.HandleAreYouThereAsync / RequestOnlineAsync

確認對方是否還在線上。收到 function 0 的回覆代表通訊已經失效。

只有表頭,沒有內文。

E30-0526 §7.3.6 / E5-0725 §10.5

S1F2 On-Line Data (D) Host ↔ Equipment

✅ 已實作 · ControlStateMachine.HandleAreYouThereAsync

對 S1F1 的回覆,代表對方還活著。設備回覆時附上機型與軟體版本,Host 回覆時是零長度清單。

L,2
  MDLN
  SOFTREV

E30-0526 §7.3.6 / E5-0725 §10.5

S1F3R Selected Equipment Status Request (SSR) Host → Equipment

✅ 已實作 · S1StatusHandlers.HandleSelectedStatusRequestAsync · API gem.Variables.Get(vid)

Host 要求設備回報指定狀態變數的當前值。

L,n
  SVID

E30-0526 §7.3.5 / E5-0725 §10.5

S1F4 Selected Equipment Status Data (SSD) Equipment → Host

✅ 已實作 · S1StatusHandlers.HandleSelectedStatusRequestAsync

設備依照請求的順序逐一回報每個 SVID 的值。

L,n
  SV

E30-0526 §7.3.5 / E5-0725 §10.5

S1F11R Status Variable Namelist Request (SVNR) Host → Equipment

✅ 已實作 · S1StatusHandlers.HandleNamelistRequestAsync · API gem.Variables.StatusVariables

Host 要求設備列出指定狀態變數的名稱與單位。零長度清單代表要全部。

L,n
  SVID

E30-0526 §7.3.5 / E5-0725 §10.5

S1F12 Status Variable Namelist Reply (SVNRR) Equipment → Host

✅ 已實作 · S1StatusHandlers.HandleNamelistRequestAsync

設備回報所要求的狀態變數的識別碼、名稱與單位。

L,n
  L,3
    SVID
    SVNAME
    UNITS

E30-0526 §7.3.5 / E5-0725 §10.5

S1F13R Establish Communications Request (CR) Host ↔ Equipment

✅ 已實作 · CommunicationStateMachine.HandleEstablishRequestAsync / EstablishAsync · API gem.StartAsync()

在應用層正式建立通訊,用於開機以及通訊中斷之後。任一方都可以發起。

L,2
  MDLN
  SOFTREV

E30-0526 §7.2 / E5-0725 §10.5

S1F14 Establish Communications Request Acknowledge (CRA) Host ↔ Equipment

✅ 已實作 · CommunicationStateMachine.HandleEstablishRequestAsync

接受或拒絕建立通訊的請求。機型與軟體版本只有在 COMMACK = 0 時才有效。

L,2
  COMMACK
  L,2
    MDLN
    SOFTREV

方向依 E5-0725 更正:E5 §S1,F14 是 S,H<->E——S1F13 兩邊都可以發起,所以兩邊都可能送出這則回覆。E30-0526 §10 的訊息表列的是 S,H->E。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.2 / E5-0725 §10.5

S1F15R Request OFF-LINE (ROFL) Host → Equipment

✅ 已實作 · ControlStateMachine.HandleOfflineRequestAsync · API gem.OnControlStateChangeRequest(handler)

Host 要求設備轉換到 OFF-LINE 狀態。

只有表頭,沒有內文。

方向依 E5-0725 更正:E5 §S1,F15 是 S,H->E(Host 送出、要求回覆)——這是 Host 用來要求設備轉入 OFF-LINE 的請求。E30-0526 §10 的訊息表列的是 S,H<-E,方向剛好相反。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.13.3.2 / E5-0725 §10.5

S1F16 OFF-LINE Acknowledge (OFLA) Equipment → Host

✅ 已實作 · ControlStateMachine.HandleOfflineRequestAsync

設備回覆是否接受轉為 OFF-LINE。

OFLACK

方向依 E5-0725 更正:E5 §S1,F16 是 S,H<-E——設備用它回覆 S1F15。E30-0526 §10 的訊息表列的是 S,H->E,方向剛好相反。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.13.3.2 / E5-0725 §10.5

S1F17R Request ON-LINE (RONL) Host → Equipment

✅ 已實作 · ControlStateMachine.HandleOnlineRequestAsync · API gem.OnControlStateChangeRequest(handler)

Host 要求設備轉換到 ON-LINE 狀態。

只有表頭,沒有內文。

方向依 E5-0725 更正:E5 §S1,F17 是 S,H->E(Host 送出、要求回覆)——這是 Host 用來要求設備轉入 ON-LINE 的請求。E30-0526 §10 的訊息表列的是 S,H<-E,方向剛好相反。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.13.3.2 / E5-0725 §10.5

S1F18 ON-LINE Acknowledge (ONLA) Equipment → Host

✅ 已實作 · ControlStateMachine.HandleOnlineRequestAsync

設備回覆是否接受轉為 ON-LINE。

ONLACK

E30-0526 §7.13.3.2 / E5-0725 §10.5

S1F21R Data Variable Namelist Request (DVNR) Host → Equipment

✅ 已實作 · S1NamelistHandlers.HandleDataVariableNamelistRequestAsync · API gem.Variables.DataVariables

Host 要求設備列出指定資料變數的基本資訊。

L,n
  DVID

E30-0526 §7.3.1.4 / E5-0725 §10.5

S1F22 Data Variable Namelist (DVN) Equipment → Host

✅ 已實作 · S1NamelistHandlers.HandleDataVariableNamelistRequestAsync

設備回報所要求的資料變數的識別碼、名稱與單位。

L,n
  L,3
    DVID
    DVVALNAME
    UNITS

E30-0526 §7.3.1.4 / E5-0725 §10.5

S1F23R Collection Event Namelist Request (CENR) Host → Equipment

✅ 已實作 · S1NamelistHandlers.HandleCollectionEventNamelistRequestAsync · API gem.Events.DefinedEvents

Host 要求設備列出有哪些收集事件,以及每個事件可以提供哪些資料變數。

L,n
  CEID

E30-0526 §7.3.1.4 / E5-0725 §10.5

S1F24 Collection Event Namelist (CEN) Equipment → Host

✅ 已實作 · S1NamelistHandlers.HandleCollectionEventNamelistRequestAsync

設備回報所要求收集事件的名稱與關聯的資料變數識別碼。

L,n
  L,3
    CEID
    CENAME
    L,a
      DVID

E30-0526 §7.3.1.4 / E5-0725 §10.5

Stream 2 44 則

S2F13R Equipment Constant Request (ECR) Host → Equipment

✅ 已實作 · S2ConstantHandlers.HandleRequestAsync · API gem.Variables.GetEquipmentConstant(ecid)

Host 讀取設備常數的當前值——校正值、增益、警戒值這類不常變動的設定。

L,n
  ECID

E30-0526 §7.6.3.2 / E5-0725 §10.6

S2F14 Equipment Constant Data (ECD) Equipment → Host

✅ 已實作 · S2ConstantHandlers.HandleRequestAsync

設備依照請求的順序回報每個 ECID 的值。

L,n
  ECV

E30-0526 §7.6.3.2 / E5-0725 §10.6

S2F15R New Equipment Constant Send (ECS) Host → Equipment

✅ 已實作 · S2ConstantHandlers.HandleNewValuesAsync · API gem.OnEquipmentConstantChanged(handler)

Host 變更一個或多個設備常數。

L,n
  L,2
    ECID
    ECV

E30-0526 §7.6.3.1 / E5-0725 §10.6

S2F16 New Equipment Constant Acknowledge (ECA) Equipment → Host

✅ 已實作 · S2ConstantHandlers.HandleNewValuesAsync

回覆設備常數的變更結果。EAC 非零時設備不得改動 S2F15 指定的任何一個常數。

EAC

E30-0526 §7.6.3.1 / E5-0725 §10.6

S2F17R Date and Time Request (DTR) Host ↔ Equipment

✅ 已實作 · S2ClockHandlers.HandleTimeRequestAsync

要求對方回報目前的日期與時間。

只有表頭,沒有內文。

E30-0526 §7.11 / E5-0725 §10.6

S2F18 Date and Time Data (DTD) Host ↔ Equipment

✅ 已實作 · S2ClockHandlers.HandleTimeRequestAsync

回覆目前的日期與時間。

TIME

E30-0526 §7.11 / E5-0725 §10.6

S2F23R Trace Initialize Send (TIS) Host → Equipment

✅ 已實作 · S2TraceHandlers.HandleTraceInitializeAsync

Host 開一條 trace:指定要週期取樣的狀態變數、取樣週期與總筆數,資料以 S6F1 回報。零長度的 TRID 代表停掉全部 trace。

L,5
  TRID
  DSPER
  TOTSMP
  REPGSZ
  L,n
    SVID

區塊數依 E5-0725 更正:E5 §S2,F23 是 M(可多區塊),E30-0526 §10 的訊息表列的是 S(單區塊);方向兩邊一致。SVID 清單夠長時這則訊息會超過一個區塊,Host 要能送出多區塊的它。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的寫法。

E30-0526 §7.3.3 / E5-0725 §10.6

S2F24 Trace Initialize Acknowledge (TIA) Equipment → Host

✅ 已實作 · S2TraceHandlers.HandleTraceInitializeAsync

回覆 trace 是否被接受。

TIAACK

E30-0526 §7.3.3 / E5-0725 §10.6

S2F29R Equipment Constant Namelist Request (ECNR) Host → Equipment

✅ 已實作 · S2ConstantHandlers.HandleNamelistAsync · API gem.Variables.EquipmentConstants

Host 要求設備列出有哪些設備常數,以及各自的上下限與預設值。

L,n
  ECID

E30-0526 §7.6.3.3 / E5-0725 §10.6

S2F30 Equipment Constant Namelist (ECN) Equipment → Host

✅ 已實作 · S2ConstantHandlers.HandleNamelistAsync

設備回報設備常數的識別碼、名稱、上下限、預設值與單位。

L,n
  L,6
    ECID
    ECNAME
    ECMIN
    ECMAX
    ECDEF
    UNITS

E30-0526 §7.6.3.3 / E5-0725 §10.6

S2F31R Date and Time Send (DTS) Host → Equipment

✅ 已實作 · S2ClockHandlers.HandleTimeSetAsync · API gem.OnDateTimeSet(handler)

Host 把自己的時間送給設備,用於對時。

TIME

E30-0526 §7.11 / E5-0725 §10.6

S2F32 Date and Time Acknowledge (DTA) Equipment → Host

✅ 已實作 · S2ClockHandlers.HandleTimeSetAsync

回覆對時是否被接受。

TIACK

E30-0526 §7.11 / E5-0725 §10.6

S2F33R Define Report (DR) Host → Equipment

✅ 已實作 · EventReportRegistry.DefineReports · API gem.Events.GetReportVariables(rptid)

Host 定義一組報告,每個報告是一串變數識別碼。零長度的變數清單代表刪除那個報告。

L,2
  DATAID
  L,a
    L,2
      RPTID
      L,b
        VID

E30-0526 §7.3.1.3 / E5-0725 §10.6

S2F34 Define-Report Acknowledge (DRA) Equipment → Host

✅ 已實作 · EventReportRegistry.DefineReports

回覆報告定義的結果。偵測到任何錯誤就整則拒絕,不做部分套用。

DRACK

E30-0526 §7.3.1.3 / E5-0725 §10.6

S2F35R Link Event Report (LER) Host → Equipment

✅ 已實作 · EventReportRegistry.LinkReports · API gem.Events.GetLinkedReports(ceid)

Host 把已定義的報告連結到收集事件。零長度的報告清單代表解除那個事件的全部連結。

L,2
  DATAID
  L,a
    L,2
      CEID
      L,b
        RPTID

全有全無;b = 0 解除該事件的全部連結。「事件可提供的變數」那道限制只對<b>資料變數</b>成立——SV 與 EC 的值隨時都是當下的(E30-0526 §7.3.2.3),可以連到任何事件。

E30-0526 §7.3.1.3 / E5-0725 §10.6

S2F36 Link Event Report Acknowledge (LERA) Equipment → Host

✅ 已實作 · EventReportRegistry.LinkReports

回覆連結的結果。偵測到任何錯誤就整則拒絕,不做部分套用。

LRACK

E30-0526 §7.3.1.3 / E5-0725 §10.6

S2F37R Enable/Disable Event Report (EDER) Host → Equipment

✅ 已實作 · EventReportRegistry.SetEventsEnabled · API gem.Events.IsEnabled(ceid)

Host 啟用或停用一組收集事件的通報。零長度的事件清單代表套用到全部事件。

L,2
  CEED
  L,n
    CEID

E30-0526 §7.3.1.3 / E5-0725 §10.6

S2F38 Enable/Disable Event Report Acknowledge (EDEA) Equipment → Host

✅ 已實作 · EventReportRegistry.SetEventsEnabled

回覆啟用/停用的結果。偵測到任何錯誤就整則拒絕。

ERACK

E30-0526 §7.3.1.3 / E5-0725 §10.6

S2F39R Multi-Block Inquire (DMBI) Host → Equipment

✅ 已實作 · S2MultiBlockHandlers.HandleMultiBlockInquireAsync

Host 在送出可能很大的 S2F23/S2F33/S2F35/S2F45/S2F49 之前先問設備收不收得下。走 SECS-I 且訊息超過一個區塊時必須先問,走 HSMS 則是選用。

L,2
  DATAID
  DATALENGTH

Host 在送出可能很大的 S2F23/S2F33/S2F35/S2F45/S2F49 之前先問設備收不收得下。E5 §10.2:走 SECS-I 且訊息超過一個區塊時必須先問,走 HSMS 則是選用——但選用的是 Host 要不要問,不是設備要不要答。模組用 MaxInboundBodyBytes 判斷,與 S9F11 同一個門檻。

E5-0725 §10.6

S2F40 Multi-Block Grant (DMBG) Equipment → Host

✅ 已實作 · S2MultiBlockHandlers.HandleMultiBlockInquireAsync

設備回覆是否許可送出那則大訊息。

GRANT

回覆 S2F39。GRANT = 0 許可、2 代表宣告的長度超過 MaxInboundBodyBytes。

E5-0725 §10.6

S2F41R Host Command Send (HCS) Host → Equipment

✅ 已實作 · S2RemoteCommandHandlers.HandleHostCommandAsync · API gem.OnRemoteCommand(rcmd, handler)

Host 要求設備執行一個遠端命令,並帶上命令參數。

僅限 REMOTE:設備要在 ONLINE/REMOTE 才接受這則訊息,否則拒絕。

L,2
  RCMD
  L,n
    L,2
      CPNAME
      CPVAL

E30-0526 §7.5 / E5-0725 §10.6

S2F42 Host Command Acknowledge (HCA) Equipment → Host

✅ 已實作 · S2RemoteCommandHandlers.HandleHostCommandAsync

回覆遠端命令是否被接受。因參數不合法而拒絕時(HCACK = 3),會附上出問題的參數名稱與原因。

L,2
  HCACK
  L,n
    L,2
      CPNAME
      CPACK

E30-0526 §7.5 / E5-0725 §10.6

S2F43R Reset Spooling Streams and Functions (RSSF) Host → Equipment

✅ 已實作 · S2SpoolConfigHandlers.HandleResetSpoolingAsync

Host 指定哪些 Stream 與 Function 在暫存啟用時要被暫存。

L,m
  L,2
    STRID
    L,n
      FCNID

E30-0526 §7.12 / E5-0725 §10.6

S2F44 Reset Spooling Acknowledge (RSA) Equipment → Host

✅ 已實作 · S2SpoolConfigHandlers.HandleResetSpoolingAsync

回覆暫存清單的設定結果。

L,2
  RSPACK
  L,m
    L,3
      STRID
      STRACK
      L,n
        FCNID

E30-0526 §7.12 / E5-0725 §10.6

S2F45R Define Variable Limit Attributes (DVLA) Host → Equipment

✅ 已實作 · S2LimitHandlers.HandleDefineLimitsAsync · API AddStatusVariable(..., limitsMonitored: true)

Host 定義變數的監控界限。三層零長度清單的意思不同:整批清空、清空某個變數、把某一條界限設回未定義。

L,2
  DATAID
  L,m
    L,2
      VID
      L,n
        L,2
          LIMITID
          L,2
            UPPERDB
            LOWERDB

定義監控界限。三層零長度清單的意思不同:m = 0 清掉所有受監控變數的所有界限、n = 0 清掉那個變數的、p = 0 把那一條設回 undefined。任何一項不合法就整則拒絕(E5 對 S2F46 的規定),不做部分套用。接受後界限定義會寫進非揮發儲存(E30 §7.3.4.4)。

E30-0526 §7.3.4 / E5-0725 §10.6

S2F46 Variable Limit Attribute Acknowledge (VLAA) Equipment → Host

✅ 已實作 · S2LimitHandlers.HandleDefineLimitsAsync

回覆界限定義的結果。因參數不合法而拒絕時會逐一列出出問題的變數與界限。偵測到任何錯誤就整則拒絕。

L,2
  VLAACK
  L,m
    L,3
      VID
      LVACK
      L,2
        LIMITID
        LIMITACK

回覆 S2F45。VLAACK = 0 代表整批接受;非零時第二項逐一列出被拒絕的變數與界限,LVACK 講變數層級的問題(1 = 不存在、2 = 沒有 limits 能力),LIMITACK 講界限層級的(2 = 超過 LIMITMAX、3 = 低於 LIMITMIN、4 = 上界小於下界)。

E30-0526 §7.3.4 / E5-0725 §10.6

S2F47R Variable Limit Attribute Request (VLAR) Host → Equipment

✅ 已實作 · S2LimitHandlers.HandleLimitRequestAsync

Host 查詢設備目前的變數界限設定。零長度清單代表列出所有可設定界限的變數識別碼。

L,m
  VID

查詢界限屬性。零長度清單代表「列出所有可以設定界限的 VID」。

E30-0526 §7.3.4 / E5-0725 §10.6

S2F48 Variable Limit Attributes Send (VLAS) Equipment → Host

✅ 已實作 · S2LimitHandlers.HandleLimitRequestAsync

設備依照請求的順序回報界限屬性:單位、上下界,以及每一條已定義的界限。

L,m
  L,2
    VID
    L,4
      UNITS
      LIMITMIN
      LIMITMAX
      L,n
        L,3
          LIMITID
          UPPERDB
          LOWERDB

回覆 S2F47,依照請求的順序。p = 0 代表那個 VID 不支援界限;n = 0 代表目前一條界限都沒定義。

E30-0526 §7.3.4 / E5-0725 §10.6

S2F49R Enhanced Remote Command Host → Equipment

✅ 已實作 · S2RemoteCommandHandlers.HandleEnhancedCommandAsync · API gem.OnRemoteCommand(rcmd, handler)

Host 送出加強版遠端命令,可以指定命令的目標物件,參數也允許巢狀結構。

僅限 REMOTE:設備要在 ONLINE/REMOTE 才接受這則訊息,否則拒絕。

L,4
  DATAID
  OBJSPEC
  RCMD
  L,m
    L,2
      CPNAME
      CEPVAL

E30-0526 §7.5 / E5-0725 §10.6

S2F50 Enhanced Remote Command Acknowledge Equipment → Host

✅ 已實作 · S2RemoteCommandHandlers.HandleEnhancedCommandAsync

回覆加強版遠端命令是否被接受。拒絕的理由與 S2F42 相同。

L,2
  HCACK
  L,n
    L,2
      CPNAME
      CEPACK

E30-0526 §7.5 / E5-0725 §10.6

S2F51R Request List of Report Identifiers (RQRPTID) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleReportIdRequestAsync · API gem.Events.DefinedReports

Host 要求設備列出目前所有已定義的報告識別碼。

只有表頭,沒有內文。

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F52 Return List of Report Identifiers (RTRPTID) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleReportIdRequestAsync

設備回報目前所有已定義的報告識別碼。

L,n
  RPTID

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F53R Request List of Report Definitions (RQLRD) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleReportDefinitionRequestAsync · API gem.Events.GetReportVariables(rptid)

Host 要求設備回報一個或多個報告的定義內容。

L,n
  RPTID

方向依 E5-0725 更正:E5 §S2,F53 是 M,H->E(Host 送出、要求回覆)——是 Host 向設備要報告定義,回覆是 S2F54。E30-0526 §10 的訊息表列的是 M,H<-E,方向剛好相反。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F54 Return List of Report Definitions (RTLRD) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleReportDefinitionRequestAsync

設備回報所要求的報告定義,也就是每個報告包含哪些變數。

L,n
  L,2
    RPTID
    L,a
      VID

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F55R Request Event Report Links (RQERL) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleEventLinkRequestAsync · API gem.Events.GetLinkedReports(ceid)

Host 要求設備回報一個或多個收集事件連結了哪些報告。

L,n
  CEID

方向依 E5-0725 更正:E5 §S2,F55 是 M,H->E(Host 送出、要求回覆)——是 Host 向設備要事件與報告的連結,回覆是 S2F56。E30-0526 §10 的訊息表列的是 M,H<-E,方向剛好相反。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F56 Return Event Report Links (RTERL) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleEventLinkRequestAsync

設備回報所要求的事件與報告的連結。

L,n
  L,3
    CEID
    CENAME
    L,a
      RPTID

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F57R Request List of Enabled Events (RQEE) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleEnabledEventRequestAsync · API gem.Events.IsEnabled(ceid)

Host 要求設備列出目前已啟用通報的收集事件。

只有表頭,沒有內文。

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F58 Return List of Enabled Events (RTEE) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleEnabledEventRequestAsync

設備回報目前已啟用通報的收集事件識別碼。同樣的資訊也可以從狀態變數 EventsEnabled 取得。

L,n
  CEID

E30-0526 §7.3.1.5 / E5-0725 §10.6

S2F59R Request Selected Spooling Stream and Functions (RQSSF) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleSpoolSetupRequestAsync

Host 要求設備回報目前設定要暫存的 Stream 與 Function。

只有表頭,沒有內文。

E30-0526 §7.12.6 / E5-0725 §10.6

S2F60 Return Selected Spooling Stream and Functions (RTSSF) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleSpoolSetupRequestAsync

設備回報目前設定要暫存的 Stream 與 Function。

L,n
  L,2
    STRID
    L,a
      FCNID

E30-0526 §7.12.6 / E5-0725 §10.6

S2F61R Request List of Trace Identifiers (RQTRID) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleTraceIdRequestAsync

Host 要求設備列出目前所有的 trace 識別碼。

只有表頭,沒有內文。

E30-0526 §7.3.3.7 / E5-0725 §10.6

S2F62 Return List of Trace Identifiers (RTTRID) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleTraceIdRequestAsync

設備回報目前所有已定義的 trace 識別碼。

L,n
  TRID

E30-0526 §7.3.3.7 / E5-0725 §10.6

S2F63R Request Trace Definitions (RQTD) Host → Equipment

✅ 已實作 · S2InformationHandlers.HandleTraceDefinitionRequestAsync

Host 要求設備回報一個或多個 trace 的定義內容。

L,n
  TRID

方向依 E5-0725 更正:E5 §S2,F63 是 M,H->E(Host 送出、要求回覆)——是 Host 向設備要 trace 定義,回覆是 S2F64。E30-0526 §10 的訊息表列的是 M,H<-E,方向剛好相反。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E30-0526 §7.3.3.7 / E5-0725 §10.6

S2F64 Return Trace Definitions (RTTD) Equipment → Host

✅ 已實作 · S2InformationHandlers.HandleTraceDefinitionRequestAsync

設備回報所要求的 trace 定義:取樣週期、總筆數、每組筆數與變數清單。

L,n
  L,5
    TRID
    DSPER
    TOTSMP
    REPGSZ
    L,a
      SVID

E30-0526 §7.3.3.7 / E5-0725 §10.6

Stream 5 8 則

S5F1R Alarm Report Send (ARS) Equipment → Host

✅ 已實作 · AlarmReporter.ApplyAsync · API gem.SetAlarmAsync(alid) / gem.ClearAlarmAsync(alid)

設備通報一個警報被設定或被清除,內容是警報代碼、識別碼與警報文字。ALCD 的最高位元代表設定或清除。

L,3
  ALCD
  ALID
  ALTX

E30-0526 §7.4.3.4 / E5-0725 §10.9

S5F2 Alarm Report Acknowledge (ARA) Host → Equipment

✅ 已實作 · OutboundGateway.InspectAcknowledgement

Host 回覆已收到警報通報。

ACKC5

E30-0526 §7.4.3.4 / E5-0725 §10.9

S5F3R Enable/Disable Alarm Send (EAS) Host → Equipment

✅ 已實作 · S5AlarmHandlers.HandleEnableAlarmAsync · API gem.Alarms.IsEnabled(alid)

Host 開啟或關閉個別警報的通報。這只改變「要不要送給 Host」,不影響警報本身的狀態;不受此控制的警報不受影響。

L,2
  ALED
  ALID

E30-0526 §7.4.3.3 / E5-0725 §10.9

S5F4 Enable/Disable Alarm Acknowledge (EAA) Equipment → Host

✅ 已實作 · S5AlarmHandlers.HandleEnableAlarmAsync

回覆警報通報開關的設定結果。

ACKC5

E30-0526 §7.4.3.3 / E5-0725 §10.9

S5F5R List Alarms Request (LAR) Host → Equipment

✅ 已實作 · S5AlarmHandlers.HandleListAlarmsAsync · API gem.Alarms.GetAllAlarms()

Host 要求設備列出警報的資訊。零長度清單代表要全部。

ALID

E30-0526 §7.4.3.5 / E5-0725 §10.9

S5F6 List Alarm Data (LAD) Equipment → Host

✅ 已實作 · S5AlarmHandlers.HandleListAlarmsAsync

設備回報警報清單,每一筆含警報代碼、識別碼與文字。

L,m
  L,3
    ALCD
    ALID
    ALTX

E30-0526 §7.4.3.5 / E5-0725 §10.9

S5F7R List Enabled Alarm Request (LEAR) Host → Equipment

✅ 已實作 · S5AlarmHandlers.HandleListEnabledAlarmsAsync · API gem.Alarms.GetEnabledAlarms()

Host 要求設備列出目前已啟用通報的警報。

只有表頭,沒有內文。

E30-0526 §7.4.3.7 / E5-0725 §10.9

S5F8 List Enabled Alarm Data (LEAD) Equipment → Host

✅ 已實作 · S5AlarmHandlers.HandleListEnabledAlarmsAsync

設備回報目前已啟用通報的警報清單。

L,m
  L,3
    ALCD
    ALID
    ALTX

區塊數依 E5-0725 更正:E5 §S5,F8 是 M(可多區塊),E30-0526 §10 的訊息表列的是 S(單區塊);方向兩邊一致。啟用中的警報夠多時這則回覆會超過一個區塊,Host 要能收多區塊的它。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的寫法。

E30-0526 §7.4.3.7 / E5-0725 §10.9

Stream 6 12 則

S6F1R Trace Data Send (TDS) Equipment → Host

✅ 已實作 · TraceSession.FlushAsync

設備送出一組 trace 取樣資料,以 TRID 對應到當初的 S2F23 請求。

L,4
  TRID
  SMPLN
  STIME
  L,n
    SV

第 4 格是攤平的 L,n(n = SVID 數 × REPGSZ),同一組裡的多個樣本依序交錯排列,不是「每個樣本各自一層 L,SVID 數」的巢狀寫法——依據 E30-0526 Annex A.4 的圖,單讀 E5 本身不會得出這個攤平的形狀。另外,區塊數依 E5-0725 更正:E5 §S6,F1 是 M(可多區塊),E30-0526 §10 的訊息表列的是 S(單區塊);方向兩邊一致。

E30-0526 §7.3.3 / E5-0725 §10.10

S6F2 Trace Data Acknowledge (TDA) Host → Equipment

✅ 已實作 · OutboundGateway.InspectAcknowledgement

Host 回覆已收到 trace 資料。

ACKC6

E30-0526 §7.3.3 / E5-0725 §10.10

S6F5R Multi-block Data Send Inquire (MBI) Equipment → Host

❌ 未實作

設備在送出可能很大的資料報告之前先問 Host 收不收得下。走 SECS-I 且訊息超過一個區塊時必須先問,走 HSMS 則是選用。

本模組未實作,結構見 SEMI E5-0725 §10.10

E5-0725 §10.10

S6F6 Multi-block Grant (MBG) Host → Equipment

❌ 未實作

Host 回覆是否許可送出那則大訊息。

本模組未實作,結構見 SEMI E5-0725 §10.10

E5-0725 §10.10

S6F11R Event Report Send (ERS) Equipment → Host

✅ 已實作 · EventReporter.TriggerAsync · API gem.TriggerEventAsync(ceid)

收集事件發生時,設備把該事件已定義、已連結、且已啟用的整組報告送給 Host。

L,3
  DATAID
  CEID
  L,a
    L,2
      RPTID
      L,b
        V

E30-0526 §7.3.1.2 / E5-0725 §10.10

S6F12 Event Report Acknowledge (ERA) Host → Equipment

✅ 已實作 · OutboundGateway.InspectAcknowledgement

Host 回覆已收到事件報告。

ACKC6

E30-0526 §7.3.1.2 / E5-0725 §10.10

S6F15R Event Report Request (ERR) Host → Equipment

✅ 已實作 · S6EventHandlers.HandleEventReportRequestAsync

Host 主動要求設備送出指定收集事件的報告,不等事件真的發生。

CEID

E30-0526 §7.3.1.2 / E5-0725 §10.10

S6F16 Event Report Data (ERD) Equipment → Host

✅ 已實作 · S6EventHandlers.HandleEventReportRequestAsync

設備送出指定收集事件所連結的報告。

L,3
  DATAID
  CEID
  L,a
    L,2
      RPTID
      L,b
        V

E30-0526 §7.3.1.2 / E5-0725 §10.10

S6F19R Individual Report Request (IRR) Host → Equipment

❌ 未實作

Host 主動要求設備送出某一個報告的內容。

本模組未實作,結構見 SEMI E5-0725 §10.10

E30-0526 §7.3.2 / E5-0725 §10.10

S6F20 Individual Report Data (IRD) Equipment → Host

❌ 未實作

設備送出指定報告所含的變數值。

本模組未實作,結構見 SEMI E5-0725 §10.10

E30-0526 §7.3.2 / E5-0725 §10.10

S6F23R Request Spooled Data (RSD) Host → Equipment

✅ 已實作 · S6SpoolHandlers.HandleRequestSpooledDataAsync · API gem.Spool.TransmitAsync / gem.Spool.PurgeAsync

Host 指示設備把目前暫存的訊息重送出來,或是整批清除。

RSDC

E30-0526 §7.12 / E5-0725 §10.10

S6F24 Request Spooled Data Acknowledgement Send (RSDAS) Equipment → Host

✅ 已實作 · S6SpoolHandlers.HandleRequestSpooledDataAsync

設備回覆暫存重送或清除的指示結果。

RSDA

E30-0526 §7.12 / E5-0725 §10.10

Stream 7 18 則

S7F1R Process Program Load Inquire (PPI) Host ↔ Equipment

✅ 已實作 · S7ProcessProgramHandlers.HandleGrantRequestAsync · API gem.OnProcessProgramGrantRequest(handler)

在傳送製程程式之前先詢問對方收不收,並宣告 PPID 與長度。任一方都可以發起。

L,2
  PPID
  LENGTH

E30-0526 §7.7 / E5-0725 §10.11

S7F2 Process Program Load Grant (PPG) Host ↔ Equipment

✅ 已實作 · S7ProcessProgramHandlers.HandleGrantRequestAsync

回覆是否許可傳送製程程式。

PPGNT

E30-0526 §7.7 / E5-0725 §10.11

S7F3R Process Program Send (PPS) Host ↔ Equipment

⚠️ 部分實作 · S7ProcessProgramHandlers.HandleDownloadAsync · API gem.OnProcessProgramDownload(handler)

送出製程程式的內容。走 SECS-I 而訊息超過一個區塊時,必須先完成 S7F1/S7F2 的詢問與許可。

L,2
  PPID
  PPBODY

只做 by-reference 傳輸:PPBODY 帶的是本機檔案位置與 SHA-256 雜湊,不是製程程式本身的內容。

E30-0526 §7.7 / E5-0725 §10.11

S7F4 Process Program Acknowledge (PPA) Host ↔ Equipment

✅ 已實作 · S7ProcessProgramHandlers.HandleDownloadAsync

回覆製程程式是否被接受。

ACKC7

E30-0526 §7.7 / E5-0725 §10.11

S7F5R Process Program Request (PPR) Host ↔ Equipment

⚠️ 部分實作 · S7ProcessProgramHandlers.HandleUploadAsync · API gem.OnProcessProgramUploadRequest(handler)

要求對方送出指定 PPID 的製程程式。

PPID

只做 by-reference 傳輸:回覆 S7F6 的 PPBODY 帶的是上傳後的位置與雜湊,不是製程程式本身的內容。

E30-0526 §7.7 / E5-0725 §10.11

S7F6 Process Program Data (PPD) Host ↔ Equipment

✅ 已實作 · S7ProcessProgramHandlers.HandleUploadAsync

送出所要求的製程程式內容。找不到那個 PPID 時回零長度的內容。

L,2
  PPID
  PPBODY

E30-0526 §7.7 / E5-0725 §10.11

S7F17R Delete Process Program Send (DPS) Host → Equipment

✅ 已實作 · S7ProcessProgramHandlers.HandleDeleteAsync · API gem.OnProcessProgramDelete(handler)

Host 要求設備刪除一支或多支製程程式。零長度清單代表刪除全部。

L,n
  PPID

E30-0526 §7.7 / E5-0725 §10.11

S7F18 Delete Process Program Acknowledge (DPA) Equipment → Host

✅ 已實作 · S7ProcessProgramHandlers.HandleDeleteAsync

回覆刪除的結果。

ACKC7

E30-0526 §7.7 / E5-0725 §10.11

S7F19R Current EPPD Request (RER) Host → Equipment

✅ 已實作 · S7ProcessProgramHandlers.HandleListAsync · API gem.ProcessPrograms.List()

Host 要求設備回報目前儲存的製程程式目錄,也就是所有 PPID 的清單。

只有表頭,沒有內文。

E30-0526 §7.7 / E5-0725 §10.11

S7F20 Current EPPD Data (RED) Equipment → Host

✅ 已實作 · S7ProcessProgramHandlers.HandleListAsync

設備回報目前儲存的所有 PPID。

L,n
  PPID

E30-0526 §7.7 / E5-0725 §10.11

S7F23R Formatted Process Program Send (FPS) Host ↔ Equipment

❌ 未實作

送出格式化製程程式,內容是一串製程命令與參數。機型與軟體版本取自產生這支程式的 PCD。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F24 Formatted Process Program Acknowledge (FPA) Host ↔ Equipment

❌ 未實作

回覆格式化製程程式是否被收下並被解譯器接受。「接受」只代表訊息可以被解譯,不保證執行得起來。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F25R Formatted Process Program Request (FPR) Host ↔ Equipment

❌ 未實作

要求對方送出指定 PPID 的格式化製程程式。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F26 Formatted Process Program Data (FPD) Host ↔ Equipment

❌ 未實作

送出所要求的格式化製程程式。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F27R Process Program Verification Send (PVS) Equipment → Host

❌ 未實作

設備告訴 Host 一支製程程式已經收到並檢查完畢,並附上錯誤清單。空的錯誤清單代表檢查通過。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F28 Process Program Verification Acknowledge (PVA) Host → Equipment

❌ 未實作

Host 回覆已收到製程程式的驗證結果。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F29R Process Program Verification Inquire (PVA) Equipment → Host

❌ 未實作

設備在送出可能很大的驗證結果之前,先問 Host 收不收得下。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

S7F30 Process Program Verification Grant (PVG) Host → Equipment

❌ 未實作

Host 回覆是否許可送出那份驗證結果。

本模組未實作,結構見 SEMI E5-0725 §10.11

E30-0526 §7.7 / E5-0725 §10.11

Stream 9 7 則

S9F1R Unrecognized Device ID (UDN) Equipment → Host

✅ 已實作 · S9Messages.UnrecognizedDeviceId

收到的訊息表頭裡的 Device ID 不是本節點認得的任何一個。

MHEAD

E30-0526 §7.10 / E5-0725 §10.13

S9F3R Unrecognized Stream Type (USN) Equipment → Host

✅ 已實作 · S9Messages.UnrecognizedStream

收到的訊息表頭裡的 Stream 不被接收方認得。

MHEAD

E30-0526 §7.10 / E5-0725 §10.13

S9F5R Unrecognized Function Type (UFN) Equipment → Host

✅ 已實作 · S9Messages.UnrecognizedFunction

Stream 認得,但那個 Function 不被接收方認得。

MHEAD

E30-0526 §7.10 / E5-0725 §10.13

S9F7R Illegal Data (IDN) Equipment → Host

✅ 已實作 · S9Messages.IllegalData

Stream 與 Function 都認得,但訊息的內容格式不正確——結構不符定義,或資料型別不是允許的那幾種。

MHEAD

E30-0526 §7.10 / E5-0725 §10.13

S9F9R Transaction Timer Timeout (TTN) Equipment → Host

✅ 已實作 · S9Messages.TransactionTimeout

交易計時器逾時,那一次交易已經被放棄。

SHEAD

E30-0526 §7.10 / E5-0725 §10.13

S9F11R Data Too Long (DLN) Equipment → Host

✅ 已實作 · S9Messages.DataTooLong

收到的資料超過接收方處理得了的量。

MHEAD

E30-0526 §7.10 / E5-0725 §10.13

S9F13R Conversation Timeout (CTN) Equipment → Host

✅ 已實作 · S9Messages.ConversationTimeout

由多則訊息構成的一次交談沒有在時限內完成。

L,2
  MEXP
  EDID

E30-0526 §7.10 / E5-0725 §10.13

Stream 10 7 則

S10F1R Terminal Request (TRN) Equipment → Host

✅ 已實作 · SecsGemEquipment.SendTerminalMessageAsync · API gem.SendTerminalMessageAsync(terminalId, text)

設備請 Host 端顯示一段文字給操作員看。

L,2
  TID
  TEXT

E30-0526 §7.9 / E5-0725 §10.14

S10F2 Terminal Request Acknowledge (TRA) Host → Equipment

✅ 已實作 · OutboundGateway.InspectAcknowledgement

Host 回覆終端訊息是否會被顯示。

ACKC10

E30-0526 §7.9 / E5-0725 §10.14

S10F3R Terminal Display, Single (VTN) Host → Equipment

✅ 已實作 · S10TerminalHandlers.HandleDisplayAsync · API gem.OnTerminalMessage(handler)

Host 請設備端在操作面板上顯示一段文字。

L,2
  TID
  TEXT

E30-0526 §7.9 / E5-0725 §10.14

S10F4 Terminal Display, Single Acknowledge (VTA) Equipment → Host

✅ 已實作 · S10TerminalHandlers.HandleDisplayAsync

設備回覆終端訊息是否會被顯示。

ACKC10

E30-0526 §7.9 / E5-0725 §10.14

S10F5R Terminal Display, Multi-block (VMN) Host → Equipment

✅ 已實作 · S10TerminalHandlers.HandleMultiBlockDisplayAsync · API gem.OnTerminalMessage

多區塊版本的終端顯示:文字是一份清單,每一格是一行。

L,2
  TID
  L,n
    TEXT

多區塊版本的終端顯示,文字是一份清單、每格一行。模組用換行接起來交給與 S10F3 同一個處理常式——對整合商來說「Host 要顯示這段字」是同一件事。

E30-0526 §7.9 / E5-0725 §10.14

S10F6 Terminal Display, Multi-block Acknowledge (VMA) Equipment → Host

✅ 已實作 · S10TerminalHandlers.HandleMultiBlockDisplayAsync

回覆多區塊終端訊息是否會被顯示。

ACKC10

回覆 S10F5。沒有註冊終端訊息處理常式時回 ACKC10 = 1(不會顯示),與 S10F4 同一條規則。

E30-0526 §7.9 / E5-0725 §10.14

S10F7R Multi-block Not Allowed (MNN) Equipment → Host

❌ 未實作

終端無法處理多區塊訊息時回這一則,取代 S10F6。

本模組未實作,結構見 SEMI E5-0725 §10.14

模組刻意不送這一則。它是給「終端處理不了多區塊訊息」的設備用的退路,而多區塊是 SECS-I 的 244 位元組上限造成的概念(E5 §6.3.2);跑在 HSMS 上沒有那個限制,收得下就該收。真的顯示不出來時走 S10F6 的 ACKC10 = 1。

E30-0526 §7.9 / E5-0725 §10.14

Stream 21 20 則

S21F1R Item Load Inquire (ITEMLI) Host ↔ Equipment

❌ 未實作

在用單一則 S21F3 送出一個項目之前,先請求許可。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F2 Item Load Grant (ITEMLG) Host ↔ Equipment

❌ 未實作

回覆是否許可送出項目。許可時 ITEMACK 為 0,錯誤說明為零長度。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F3R Item Send (ITEMS) Host ↔ Equipment

❌ 未實作

用單一則訊息送出一個項目。之前必須先完成 S21F1/S21F2 的請求與許可。項目可以切成數段,由接收方接回原樣。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F4 Item Send Acknowledge (ITEMSA) Host ↔ Equipment

❌ 未實作

回覆項目是否被收下。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F5R Item Request (ITEMR) Host ↔ Equipment

❌ 未實作

要求對方送出指定的項目。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F6 Item Data (ITEMD) Host ↔ Equipment

❌ 未實作

送出所要求的項目。項目可以切成數段,由接收方接回原樣。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F7R Item Type List Request (ITEMTLRQ) Host ↔ Equipment

❌ 未實作

要求對方列出某一種項目類型目前有哪些項目。例如類型是製程程式時,就是要一份 PPID 清單。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F8 Item Type List Results (ITEMTLRS) Host ↔ Equipment

❌ 未實作

回報某一種項目類型目前的項目清單與各自的長度。每個項目識別碼都必須唯一。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F9R Supported Item Type List Request (ITEMTYPERQ) Host ↔ Equipment

❌ 未實作

要求對方列出它支援哪些項目類型。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F10 Supported Item Type List Results (ITEMTYPERS) Host ↔ Equipment

❌ 未實作

回報支援的項目類型清單,例如支援配方時會包含製程程式那一項。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F11R Item Delete (ITEMDEL) Host → Equipment

❌ 未實作

要求對方刪除指定類型的一個或多個項目。

本模組未實作,結構見 SEMI E5-0725 §10.25

方向依 E5-0725 更正:E5 §S21,F11 是 M,H->E(Host 送出、要求回覆)。E30-0526 §10 的訊息表列的是 M,H<->E。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E5-0725 §10.25

S21F12 Item Delete Acknowledge (ITEMDELACK) Equipment → Host

❌ 未實作

回報每一個項目的刪除結果。

本模組未實作,結構見 SEMI E5-0725 §10.25

方向依 E5-0725 更正:E5 §S21,F12 是 M,H<-E——設備用它回覆 S21F11。E30-0526 §10 的訊息表列的是 M,H<->E。E30 §10.1 說這些訊息的定義以 SEMI E5 為準,本站因此採用 E5 的方向。

E5-0725 §10.25

S21F13R Request Permission To Send Item Using S21F17 (RPTSIF17) Host ↔ Equipment

❌ 未實作

在用一連串 S21F17 分段送出一個項目之前,先請求許可。同一個項目一次只能有一組傳輸在進行。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F14 Grant Permission To Send Item Using S21F17 (GPTSIF17) Host ↔ Equipment

❌ 未實作

回覆是否許可用分段方式送出項目。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F15R Item Request Using S21F17 (ITEMRF17) Host ↔ Equipment

❌ 未實作

要求對方用一連串 S21F17 分段送出一個項目。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F16 Item Request Grant Using S21F17 (ITEMRGF17) Host ↔ Equipment

❌ 未實作

回覆是否接受用分段方式傳輸項目的請求。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F17R Send Item Part (SIP) Host ↔ Equipment

❌ 未實作

送出項目的其中一段。各段由接收方依序接回原本的項目。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F18 Send Item Part Acknowledge (IPACK) Host ↔ Equipment

❌ 未實作

回覆該段是否被收下。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F19R Item Type Feature Support (ITEMFS) Host ↔ Equipment

❌ 未實作

要求對方說明它對某幾種項目類型支援哪些 Stream 21 的功能。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25

S21F20 Item Type Feature Support Results (ITEMFSR) Host ↔ Equipment

❌ 未實作

回報對某幾種項目類型支援哪些 Stream 21 的功能。

本模組未實作,結構見 SEMI E5-0725 §10.25

E5-0725 §10.25