訊息
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