メールマガジン・新着情報一覧
- TOP
- メールマガジン・新着情報一覧
- D-0199. SECS/GEM 通信オプションについて — T.T
2023.08.23
D-0199. SECS/GEM 通信オプションについて — T.T
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ SECS/GEM 通信オプションについて 発行:エスオーエル株式会社 https://www.sol-j.co.jp/ 連載「知って得する干渉計測定技術!」 2023年8月23日号 VOL.199 平素は格別のお引き立てを賜り、厚く御礼申し上げます。 干渉計による精密測定やアプリケーション開発情報などをテーマに、 無料にてメールマガジンを配信いたしております。 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ Tropel の測定機を工場のホストコンピュータと接続し、 自動運転させたいときには、SECS/GEM 通信オプションを 導入することができます。 SECS/GEM というのは、SEMI規格で定められた 半導体製造装置の通信仕様に関するものです。 「SECS」= SEMI Equipment Communications Standard 「GEM」 = Generic Equipment Model なので、SECS/GEM を日本語で書くと、 「SEMI装置通信標準/包括的装置モデル」 ということになります。 ちなみに、SEMIとは、 国際半導体製造装置材料協会のことで、 Semiconductor Equipment and Materials International の略です。 規格で内容が細かく定められているので、 何もないところからホストと装置の通信仕様を作り上げる必要がなく、 SECS/GEM の仕様をベースに対応の可否やカスタマイズ部分の議論ができ、 効率的に仕様決めができます。 SECS/GEM オプションは、UltraFlat や UltraSort-II で実績があり、 測定物の自動搬送機と組み合わせて、測定の自動化に役立っています。 この仕事に携わるに当たり、SEMIの関連文章は今でもよく読みます。 よく読むのは、 ・SEMI E5 : 半導体製造装置通信スタンダード 2 メッセージ内容 (SECS-II) ・SEMI E30 : 製造装置の通信およびコントロールのための包括モデル (GEM) ・SEMI E37 : 高速 SECS メッセージサービス (HSMS) 汎用サービス です。 その他にも、E84 (エンハンストキャリア移載パラレルI/Oインタフェースの仕様)も 比較的よく読みます。 規格文章には、定義から細かく内容が書かれており、 正確を期してはいますが、概要を簡単につかむのは容易ではないかもしれません。 今回は、正確性は犠牲になるかもしれませんが、 SECS/GEM がどのように機能するのか表面的に説明しようと思います。 まず、工場内にホストと呼ばれるコンピュータがあり、 LANでネットワーク接続できる状況を想定します。 ホストは、装置状態確認、測定物管理、プロセス管理、測定結果収集 などを 行うコンピュータで、各装置とつながっている状態です。 装置には、オンラインとオフラインという状態があります。 装置の状態という概念が一つの重要なポイントで、 オンライン/オフライン の切り替わりの他にも、 稼働中/測定物待ち/一時停止中 という区分があったり、 搬入要求/搬入完了/搬出要求/搬出完了 といった測定物の搬入搬出に関する 状態もあります。 装置は状況に合わせて、ホストに通信メッセージを送り、 ホストも装置に応答したり、命令の通信メッセージを送ったりします。 通信メッセージは、その機能によって名前(番号)が付いています。 扱いやすいように、「ストリーム」と呼ばれる大まかなまとまりがあり、 その細分化として「ファンクション」があります。 ストリームは「S」、ファンクションは「F」という記号で表し、 記号の後に数字を並べて、メッセージのタイプを指定します。 例えば、S5F1 のように書きます。 ちなみに、S5F1は、アラーム報告の送信メッセージです。 装置が S5F1 をホストに送信し、ホストが S5F1 を受け取ったら、 応答として S5F2 を返します。 基本的に、F の奇数番メッセージを装置またはホストが相手に送ると、 受け取った側は、応答として F の番号+1 の偶数番メッセージを返します。 応答の中身は、「了解しました」か「了解できません」です。 もし、応答がなければ、何らかの異常が発生しています。 よく出てくるメッセージは S6F11(イベントレポート送信)です。 装置状態が変化したときには、装置がホストに S6F11 に情報を乗せて送ります。 ホストから装置に命令するときには、S2F41 を使います。 このように、通信メッセージはタイプごとに分類され、 どんな情報を乗せるかは仕様として明確に定義されています。 SECS/GEM で重要なのは、メッセージの仕様だけではありません。 お互いが好き勝手にメッセージを送り合っても、上手くいきません。 そこで、シーケンスの仕様も明確にしておく必要があります。 シーケンスというのは、メッセージやり取りの流れ(順序)のことです。 ただ順序通りにメッセージを送ればよいわけではないので、 装置動作や状態、測定物の流れ等に沿って、メッセージ送信の条件を定めます。 これは、シナリオとも呼び、正常な一連の流れや、異常時の流れも決めておきます。 典型的なシナリオの例は、 1. 装置→ホスト: S1F13 「通信始めてもいいですか?」 2. ホスト→装置: S1F14 「どうぞ。」 3. 装置→ホスト: S1F1 「オンラインですか?」 4. ホスト→装置: S1F2 「オンラインですよ。」 5. ホスト→装置: S2F31 「時計合わせします。こちらの日時に合わせて下さい。」 6. 装置→ホスト: S2F32 「了解。時計合わせしました。」 7. 装置→ホスト: S6F11 「装置もオンライン状態になりました。」 8. ホスト→装置: S6F12 「了解です。」 9. 装置→ホスト: S6F11 「測定物を送って下さい。」 10. ホスト→装置: S6F12 「分かりました。」 11. 装置→ホスト: S6F11 「今は、測定物待ちの状態です。」 12. ホスト→装置: S6F12 「はい。」 13. 装置→ホスト: S6F11 「測定物を受け取りました。」 14. ホスト→装置: S6F12 「そうですか。」 15. 装置→ホスト: S6F11 「測定の準備ができたので、命令して下さい。」 16. ホスト→装置: S6F12 「そうですね。」 17. ホスト→装置: S2F41 「では始めて下さい。」 18. 装置→ホスト: S2F42 「お任せ下さい。」 19. 装置→ホスト: S6F11 「測定が完了しました。結果も添付しておきますね。」 20. ホスト→装置: S6F12 「ご苦労様です。」 21. 装置→ホスト: S6F11 「終わった測定物を早く持って行って欲しいのだが。」 22. ホスト→装置: S6F12 「喜んで。」 23. 装置→ホスト: S6F11 「今、測定物が回収されていきましたよ。」 24. ホスト→装置: S6F12 「それはよかった。」 25. 装置→ホスト: S6F11 「装置はオフライン状態になりますね。」 26. ホスト→装置: S6F12 「どうぞどうぞ。」 という具合です。 メッセージを会話のように書きましたが、実際は予め決めておいた数字です。 現場の立ち上げ時に、仕様の詳細すり合わせやバグ取りに何日も集中していると、 よく使うメッセージ内の数字(ホストによって異なる)を覚えてしまいます。 朝、寝ぼけて、目覚まし時計を消そうとして、 「あれ?目覚まし時計を消すメッセージはS2F41で何番を送るんだっけ?」 と考えてしまい、もう少し意識がはっきりしてきてから、 「あ、現実世界は通信メッセージで操作しないんだった。」 と思い返すことが何度かありました。 一緒に作業していたアメリカ人のソフトウェアエンジニアに、 「毎日集中し続けて、コマンドが脳裏に焼き付いた状態だと、 寝ぼけて現実世界にコマンド出しそうになることない?」 と聞きましたが、「ない」と即答でした。 -- 高野智暢