このガイドは、SECS/GEMの概要チュートリアルと基本的な紹介、および半導体産業におけるその使用法を初心者に提供することを目的としています。また 意図しない 規格の完全な参考資料となるものではありません。規格の完全な参考資料については、SEMI.
このチュートリアルでは、SECS/GEMの高度な理解をできるだけシンプルな方法で提供しようと試みていますが、あなたのビジネスでSECS/GEMドライバをゼロから開発するのは簡単なことではありません。実際、必要以上の出費をしてしまいがちですが、コスト削減や業務効率向上のチャンスもあるので見逃せません。必要な知識をすべて学びながら、日々の業務をこなすのは大変です。.
INSPHERE TECHNOLOGYの製品は、これらの複雑さを簡素化し、ほとんどの作業を自動化します。 GEM メッセージは、費用対効果が高く、市場投入までに時間がかかるSECS/GEMソリューションを構築できるようにします。.
SECS/GEMについて、またSECS/GEMの製品がお客様の開発にどのようにお役に立てるかについては、下記の弊社の主力製品をご覧ください: sales@insphere.com.sg
| OEM用SECS/GEM | ファクトリーオートメーション用SECS/GEM |
![]() |
SECS/GEMとは?
1.
SECS(SEMI Equipment Communication Standards)およびGEM(Generic Model For Communications and Control Of Manufacturing Equipment)規格は、半導体メーカーの国際組織であるSEMI.orgによって発行・維持されており、半導体製造に関する規格を管理する組織体である。.
2.
当初は)半導体/エレクトロニクス産業のオートメーションで使用される主要な通信プロトコルであったが、今日では太陽光発電やSMT産業でも広く採用されている。.
3.
機器とホストシステム間の通信インターフェースを提供する。.
4.
PLCのような他の通信プロトコルとは異なり、様々なベンダーの機器が様々なタイプのホストシステムと標準的で一貫性のあるプロトコルを使用して通信することができます。.
SECS/GEM規格を理解するには、SEMIから以下の3つの基本規格を購入する必要があります:
1.
SEMI E30 GEM規格 - これは、機器の動作(ビジネスルール)、ステートマシン、およびどのSECS-IIメッセージをどのような状況で使用し、その結果どのようなアクティビティが発生するかといったルールを定義する「頭脳」である。また、ステータスデータ収集、トレースデータ収集、アラーム管理、スプーリング、リモートコマンドなどの機能を定義します。.
2.
セミE5セカンズII - 機器とホスト間で交換されるメッセージ(API)の解釈の詳細を定義する。また、メッセージ入出力のデータ構造、データ項目のフォーマット、確認応答コードなどを定義する。.
3.
SEMI E37 HSMS - 高速SECSメッセージサービス。これはTCP/IPプロトコルに基づくトランスポート層であり、シリアル通信に基づく従来のSEMI E4 SECS-I規格の後継である。SECS-IIメッセージがHSMSメッセージフォーマットにエンコードされる層でもある。.
下の図は、GEMからSECS-II、そしてHSMSレイヤーへのコマンドの流れを高レベルで示したものである。.
SEMI E30 GEM規格
GEM規格は、半導体デバイスメーカーの製造自動化プログラムをサポートするための機能と柔軟性を提供する、装置の動作と通信機能の共通セットを定義しています。装置サプライヤーは、GEMに含まれないSECS-II機能を、GEMに定義された動作や機能に抵触しない限り、追加で提供することができる。そのような追加機能には、SECS-IIメッセージ、収集イベント、アラーム、リモートコマンドコード、処理状態、可変データ項目(データ値、ステータス値、または装置定数)、またはクラス(エッチャー、ステッパーなど)や装置の特定のインスタンスに固有のその他の機能が含まれます。.
コミュニケーション
COMMUNICATION状態モデルは、ホストとの通信リンクの有無に関する機器の動作を定義する。また、通信が切断された場合に、S1F13/S1F14とどのように通信を確立または再確立するかを定義する。
コントロール
CONTROL状態モデルは、ホストと機器の間の協力レベルを定義する。CONTROLモデルは、ホストが機器を制御する能力を決定する3つの基本的なホスト制御レベルをホストに提供する:
OFFLINE(最低レベル):装置の操作は、オペレータコンソールでオペレータが手動で行う。装置は、S1F13 または S1F17 以外のホストからのプライマリメッセージに SxF0 で応答する。.
ONLINE/LOCAL(ミドルレベル):この状態では、ホストはデータ収集のような「読み取り専用」操作のみを行うことができる。ホストは、プロセスに影響を与える機器定数、物理的な動きを引き起こすリモートコマンド、または処理を開始するコマンドを変更してはならない。.
ONLINE/REMOTE(最高レベル):この状態では、ホストは通信インターフェイスを通じて利用可能な全範囲で機器を操作することができる(「読み書き」操作)。.
加工
PROCESSING状態モデルは、機器のプロセス、技術、およびスタイルに大きく依存する。しかし、これらのモデルには共通の側面があると予想される。.
リモートコマンド
ホストがコマンドを送信して、機器に自動運転を指示することができる。例えば例:START、STOP、PAUSE など。これはオペレーターがコンソールで行う手動操作に似ています。.
変数
ステータス変数:これは装置内で定義された「読み取り専用」のグローバル変数です。処理が行われるたびに、機器はそれぞれのステータス変数を更新し、最新のデータを反映します。例:あるカウンターの増分、現在/以前の状態など。.
機器定数:これは機器に定義された「読み書き可能」なグローバル変数です。ホストは、機器の動作を変更する設定に影響を与える機器定数変数を設定または変更することができます。.
離散変数:これは、コレクションイベント内にのみ存在する "ローカル "変数です。.
データ収集
SECS/GEMには、ホストが機器からデータや情報を収集する手段がいくつかある:
ステータス変数値のセットは、S1F3 コマンドを使用していつでも要求できる。.
S2F13を使用して、いつでも機器定数値のセットを要求することができる。
ホストはステータス変数、機器定数、データ変数を含むレポートを定義し、それを収集イベントに添付することができます。機器がイベントを発生させると(S6F11コマンドを使用)、それらの変数の値を含むレポートが一緒に送信されます。.
ホストは、ステータス変数データを定期的にサンプリングするトレースを定義できる。.
もう一つの方法は、アラーム通知を活用して収集イベントでより多くのデータを収集することです。標準では、アラームが発生またはクリアされるたびに、イベント(収集イベント)をホストに送信する必要があります。.
アラーム通知
この機能により、装置でアラーム/エラーが発生またはクリアされるたびに、装置はホストに通知することができます。アラームとは、異常で望ましくない、処理中の人、装置、または物理的な材料に危険を及ぼすような発生を指します。.
以下は、GEMが定義するアラーム管理の特徴である:
各アラームには、2 つの関連する状態モデルがあります。ALARM SET (発生) および ALARM CLEAR (クリア)
各 AlarmSet と AlarmClear には、関連する Collection Event があります。これは、より広範で柔軟なデータレポートに対するホストの潜在的なニーズに対応するためです。.
ホストは、有効/無効にするアラームを要求することができ、装置は、有効なアラームに対してのみホストに通知します。.
ドキュメンテーション
SECS/GEM標準は、各機器サプライヤーがGEMインターフェース・リファレンス・マニュアルを提供することを要求しています。このマニュアルには、GEM コンプライアンス声明、完全な SECS-II メッセージ文書、状態モデル、機器によって定義/サポートされる状態変数、機器定数、データ変数、アラーム、収集イベントなどのリストが含まれていなければなりません。.
その他多数...
以下のような他の機能については、完全な標準を参照してください:スプーリング、プロセス・プログラム、ターミナル・サービス、リミット・モニタリング。.
SEMI E5 SECS-II メッセージ
記事の冒頭で述べたように、この規格はHostとEquipmentの間のインタフェースのためのAPIを提供する。この規格では、各メッセージはFunctionで表現され、Stream(カテゴリ)でグループ化される。.
ウェブサービスと同様に、SECS-II の各メッセージは以下から構成される。 ヘッダー (通常、メソッド/ファンクション名、トランザクションタイプ=request/replyを含む)と ボディ (パラメータの名前と型を指定する)。関数によっては、Bodyが空の場合もあります。.
以下は、SECS-IIメッセージ構造の規約を説明するものである。
メッセージヘッダー
どこでだ:
ストリームID = メッセージ・ストリーム/カテゴリー
関数ID = メッセージの関数識別子。各ストリームは複数のファンクションを持つ。奇数のファンクションIDはPrimaryメッセージ(リクエスト)を表し、偶数のファンクションID(SnFm+1)はSecondary/Replyメッセージを表す。
ニーモニック=メッセージの短縮形
S,M=S=シングル、M=マルチブロック
H,E=H=ホスト、E=機材
メッセージの方向 = 有効なメッセージの方向を示す。いくつかのメッセージは単一方向(例: H->EまたはH<-E)にのみ有効ですが、あるメッセージは双方向(HE)に有効です。例S1F13 通信を確立する(HE)
Reply = メッセージに返信が必要かどうかを示す。.
説明
関数が生成するアクションの説明。.
構造
関数のメッセージ本文。リストと定義された項目を示す詳細構造。リストは、大文字のLとコンマで区切られた長さで示されます。リスト内の個々の要素には、別々の行に番号が振られています。.
入れ子になったリストは構造を強調するために字下げされている。項目の詳細な形式は、トランザクションの冒頭のdefineセクションで与えられる。記号“”は項目ヘッダーに使われる。各データ項目の詳細な説明と許容されるデータ形式のリストは、データ項目辞書にある。
例外
異なる意味を持つ構造上の特殊なケース。.
Sn,Fm+1 機能名(上記(2次)と同じ構造だが、返信は付けない)
SEMI E37 HSMS
HSMSはTCP/IPプロトコルの上に構築されたトランスポート層であり、より高速な通信が必要なアプリケーションや、単純なポイント・ツー・ポイントのトポロジーでは不十分な場合に、SEMI E4(SECS I)の代替として使用される。.
TCP/IP設定
HSMSプロトコルはTCP/IPから派生しているため、ホスト(クライアント)と装置(サーバー)の両方で以下の設定が必要です:
接続モード:ACTIVE/PASSIVEモード。ACTIVE Modeは通常Host側、PASSIVEMode(Listening)はEquipment側。しかし、その逆を使うことに制限はない。.
ローカルIPアドレスとポート番号:PASSIVE モードで動作するエンティティには必須。ローカルエンティティが着信接続要求をリッスンするアドレスを決定する。通常、Equipment はこのモードで動作する。.
リモートIPアドレスとポート番号:ACTIVEモードで動作するエンティティには必須。ローカルエンティティが接続を試みるリモートエンティティのアドレスを決定する。通常、Hostはこのモードで動作する。.
HSMSタイムアウト設定
HSMSの実装は、以下のパラメータのインストール時の設定を提供しなければならない:
T3 Reply Timeout:返信メッセージを期待するエンティティがその返信を待つ最大時間を指定する。
T5 Connection Separation Timeout(接続分離タイムアウト):指定されたリモート・エンティティに連続して接続を試みる間に経過しなければならない時間を指定する。
T6 Control Transaction Timeout(コントロール・トランザクションのタイムアウト):制御トランザクションが通信障害とみなされるまでに開いていられる時間を指定する。.
T7 Not Selected タイムアウト:TCP/IP接続がNOT SELECTED状態(HSMSの動作がない状態)を維持してから通信障害とみなされるまでの時間を指定する。
T8 ネットワーク文字間タイムアウト:1つのHSMSメッセージの連続するバイト間の最大時間


