メインコンテンツまでスキップ

SECS/GEM (HSMS) — 半導体 / ディスプレイ fab

SECS/GEM は、半導体 / ディスプレイ fab の装置 (tool) とホスト (MES / EAP) 間の標準通信です。メッセージは SECS-II で定義され、イーサネット上では HSMS (High-Speed SECS Message Services) TCP/IP で伝送されます。

運用ガイド

ゲートウェイの SECS/GEM ドライバは、HSMS Select handshake + バックグラウンド Linktest + 非同期 reply マッチング + SECS-II item codec (L / A / B / U1U8 / I1I8 / F4 / F8) の上で read (S<n>F<m>) / write (S2F41 host command、HCACK 検証) を提供します。 装置ごとの GEM シーケンス — S1F13/F14 establish、S6 event reports、S5 alarms、control state model、spool — が追加で必要な場合は 開発チームへお問い合わせ ください。


登録フォームの入力値

入力欄何を入力するか
IP アドレス装置 (tool) の HSMS IP192.168.0.140
ポートHSMS ポート5000 (よく使われる)
Device IDSECS device ID0 (よく使われる)
Modepassive / activeactive (ゲートウェイが connect 側)
T3 / T5 / T6 / T7 / T8HSMS タイムアウト (ms)デフォルト値の使用を推奨
active と passive

SECS/GEM 標準では host (MES / ゲートウェイ) が passive で listen し、tool が connect する構成が推奨されますが、現場の事情により active でゲートウェイが connect する環境の方が多いです。tool 側の設定に合わせてください。


タグの PLC アドレス表記

ゲートウェイでは SECS-II メッセージを S<n>F<m> 形式で入力します。n=stream、m=function。

表記意味
S1F1Are You There — 通信が生きているかの ping
S1F3Selected Equipment Status Request
S1F11Status Variable Namelist Request
S2F13Equipment Constant Request
S2F41Host Command Send (write — start/stop など)
S5F1Alarm Report
S6F11Event Report Send

読み取りメッセージ (S1F3、S1F11 など) は、応答がそのまま値になります。

応答から特定の値を取り出す

応答が SECS-II list 形式の場合、S1F4[0]S1F4[2].[1] のようにインデックスで取り出せます。

表記意味
S1F4[0]S1F4 応答 list の 0 番目
S6F12[1].[3]S6F12 nested list の [1][3]

データ形式のマッチング

SECS-II の item code と対応します。

SECS-II タイプ意味データ形式形式補助
LList (再帰)(インデックスで展開して使用)
AASCIIString(空欄)
BBinaryString(空欄)
BOOLEANBooleanBoolean(空欄)
U1/U2/U4Unsigned 1/2/4 byteIntegerUI/UDW
U8Unsigned 8 byteLong(空欄)
I1/I2/I4Signed 1/2/4 byteInteger(空欄)/DW
F4Float 32-bitFloatREAL
F8Float 64-bitDoubleLREAL

書き込み (Write) のサポート

S2F41 (Host Command Send) で装置に命令を送れます。

表記意味
S2F41Host Command Send (RCMD = "START" / "STOP" / "PP-SELECT" など)
S2F49Enhanced Remote Command

値は 命令名 (RCMD) + パラメータ list の形式で送信します。詳細なフォーマットは装置マニュアルの SEMI 標準仕様を参照してください。

fab 運用への影響

S2F41 の START / STOP は 実際の装置動作 を引き起こします。稼働中の fab では必ず EAP / MES チームと協議のうえ使用してください。


よくある問題と解決

症状考えられる原因解決
「Select.rsp not received」active/passive の不一致tool 側の GEM 設定を確認
「Linktest timeout」ファイアウォールT6 (linktest) を延長しても解決しない場合はネットワークを点検
「Communication not established (S1F13)」一部の装置は S1F13/F14 establish sequence を先に要求する装置側 GEM 設定で自動 establish オプションを有効化、または S1F1 / S1F3 などで raw 通信
応答のデコード失敗nested list の深さの誤り応答を raw で受け取り、SECS-II デコーダで別途パースする

よく使う SECS メッセージの詳細

S1F1 / S1F2 — Are You There (ping)

メッセージ方向意味
S1F1host → tool「生きているか?」 — 空メッセージ
S1F2tool → host「MDLN, SOFTREV」応答 (装置モデル名 + ファームウェア)

S1F3 / S1F4 — Selected Equipment Status Request (SVID 読み取り)

S1F3 の body は SVID list。応答 S1F4 は同じ順序の値 list です。

表記意味
S1F3 (body=L,1.<U4 100>)SVID 100 (CassetteCount など) の読み取り
S1F4[0]応答 list の 0 番目 (= SVID 100 の値)

S2F41 — Host Command Send (write — 装置動作)

RCMD意味
START加工開始
STOP加工停止
ABORT即時中断
PP-SELECTProcess Program の選択 (CPNAME=PPID、CPVAL=プログラム名)
PAUSE / RESUME一時停止 / 再開

S6F11 / S6F12 — Event Report Send (CEID 単位)

装置がイベント発生時に自ら host へ push します。CEID (Collection Event ID) ごとにまとめて送られてきます。

フィールド意味
DATAIDイベント通し番号
CEIDCollection Event ID (例: 21=ProcessStarted)
RPTID listレポート ID ごとの nested data

PlantPulse は応答 raw をそのまま受け取るため、S6F11[0]S6F11[1] のようにインデックス抽出したうえで 計算式 で後処理します。

S5F1 / S5F2 — Alarm Report

フィールド意味
ALCDAlarm Code (1 byte: bit7=set/clear、bit0~6=category)
ALIDAlarm ID
ALTXAlarm text (人が読むメッセージ)

よく使う運用パターン

パターン 1. fab tool のヘルスモニタリング (ping + 状態)

タグ名アドレス形式備考
PingS1F1(応答の有無)timecycle 30s
モデル名S1F4[0]String(S1F3 SVID=MDLN)
加工状態S1F4[1]Integer(S1F3 SVID=ControlState)

パターン 2. 結果データの収集 (S6F11)

装置側 GEM 設定で「EventReport on PROCESSEND」を有効化 → S6F11 で push されます。PlantPulse が active mode で connect した後、応答 raw を収集 → 後処理パイプラインで SECS-II デコーダ (例: secsgem-py) によりパースします。

パターン 3. Pset / Recipe の切り替え (S2F41)

S2F41 RCMD="PP-SELECT" CPNAME="PPID" CPVAL="RECIPE_AB100"
運用への影響

実際の fab では S2F41 は装置動作を引き起こします。必ず EAP / MES チームと協議のうえ、装置が idle 状態のときのみ使用してください。


次のステップ

  • SEMI E5 (SECS-II) / E37 (HSMS) / E30 (GEM) の標準文書を参照してください。
  • 本格的な GEM 統合 (event reporting、control state、recipe) が必要な場合は 開発チームへお問い合わせ ください。
  • 高度な内容 — REST API の SECS/GEM 例を参照してください。