「SECS/GEM非対応の装置」は、一括りにできる状態ではありません。ラインを見渡すと、Ethernetで繋がるHSMS対応の装置、シリアル通信しか持たないSECS-Iのみの装置、通信の口そのものがない装置が混在している。装置を替えずにMESやEAPへ繋ぐ道筋は、その装置がどの列にいるかで決まります。棚卸しは、そこから始まる。
30秒でわかるSECS/GEM接続の棚卸し
| 項目 | 内容 |
|---|---|
| ひとことで | SECS/GEMは一つの規格ではない。運び方(SEMI E4・E37)、中身の書式(SEMI E5)、装置の振る舞い(SEMI E30)の積み重ね |
| 工場での意味 | 装置がどの層まで持っているかで、MES/EAPへ繋ぐ手順が変わる |
| なぜ今 | 上位システムの整備が進んでも、ラインには通信機能を持たない世代の装置が残る。「替える」以外の答えが要る |
| 最初の一歩 | 装置をHSMS対応・SECS-Iのみ・通信なしの三列に棚卸しする。この三列は本稿の解説フレームで、SEMI規格の分類ではない |
| 本稿で扱わないこと | 変換器やゲートウェイ製品の価格・速度・台数。一次資料で確認できた範囲だけを書く |
「SECS/GEM対応」の一語が隠しているもの
装置仕様書の「SECS/GEM対応」は、一つの資格ではありません。四つの規格のどこまでを持っているか、その申告です。
SECS/GEMという言葉は、ラインではまるで一つの機能名のように使われます。ところがSEMIのストアで規格を一つずつ引くと、決めていることがそれぞれ違う。仕様書に「SECS/GEM対応」とだけあって規格番号がない装置は、その「対応」が何を指すのか、実は誰も答えられない状態です。
整理すると、四つの規格は三つの層に分かれます。
一番下が運び方です。SEMI E4(SECS-I)は、現行版がE4-0923。SEMIストアの要旨には、この規格が定める範囲がこう書かれています。
"This Standard includes the description of the physical connector, signal levels, data rate, and logical protocols required to exchange messages between the host and equipment over a serial point-to-point data path."
SEMI E4-0923 Abstract(SEMI Store)
(本規格は、ホストと装置がシリアルのpoint-to-pointデータ経路上でメッセージを交換するために必要な、物理コネクタ、信号レベル、データレート、論理プロトコルの記述を含む)
同じ要旨は、こうも続けます。本規格はメッセージに含まれるデータを定義しない("This Standard does not define the data contained within a message.")。運び方だけを決めて、中身には触れない規格。それがSECS-Iです。
同じ運び方の層に、もう一つ規格があります。SEMI E37(HSMS)、現行版はE37-0222。要旨の位置付けがはっきりしています。
"HSMS is intended as an alternative to SEMI E4 (SECS-I) for applications where higher speed communication is needed or when a simple point-to-point topology is insufficient."
SEMI E37-0222 Abstract(SEMI Store)
(HSMSは、より高速な通信が必要な場合、あるいは単純なpoint-to-pointトポロジでは足りない場合に、SEMI E4(SECS-I)の代替として意図されている)
要旨は続けて、"SEMI E4 (SECS-I) can still be used in applications where these and other attributes of HSMS are not required."(HSMSの属性が不要な用途では、SEMI E4を引き続き使える)と念を押している。SECS-Iは廃れた規格ではなく、今もCurrentとしてストアに並んでいます。HSMSはTCPの上で動く。後述のsecsgem文書に一行がある。"HSMS defines the communication between host and equipment over the TCP protocol."。
真ん中の層が中身の書式です。SEMI E5(SECS-II)、現行版はE5-0725。要旨の冒頭で、この規格は"defines the details of the interpretation of messages exchanged between intelligent equipment and a host"(装置とホストの間で交換されるメッセージの解釈の詳細を定める)と自己紹介します。その次の一文が、後の話を決めます。
"It is the intent of this Standard to be fully compatible with SEMI E4, Equipment Communications Standard (SECS-I). It is also the intent to allow for compatibility with alternative message transfer protocols."
SEMI E5-0725, 1.1.1(SEMI Store)
(本規格はSEMI E4(SECS-I)と完全に互換であることを意図する。同時に、別のメッセージ転送プロトコルとの互換も許容することを意図する)
中身の書式は、運び方がSECS-IでもHSMSでも同じ。規格自身がそう設計されている、という宣言です。
一番上が装置の振る舞いです。SEMI E30(GEM)、現行版はE30-0526。
"GEM defines a standard implementation of SECS-II for all semiconductor manufacturing equipment."
SEMI E30-0526, 1.1(SEMI Store)
(GEMは、全ての半導体製造装置に対するSECS-IIの標準実装を定める)
GEMの守備範囲も、同じ文書が自分で線を引いています。
"The scope of the GEM Standard is limited to defining the behavior of semiconductor equipment as viewed through a communications link."
SEMI E30-0526(SEMI Store)
(GEM規格の範囲は、通信リンクを通して見た半導体製造装置の振る舞いを定義することに限られる)
装置がどう振る舞い、何を報告し、どの命令を受けるか。その約束事がGEMで、通信リンクの向こう側から見える範囲だけを扱う。
| 層 | 規格(現行版) | 決めていること |
|---|---|---|
| 装置の振る舞い | SEMI E30-0526(GEM) | SECS-IIの標準実装。通信リンクを通して見た装置の振る舞い |
| 中身の書式 | SEMI E5-0725(SECS-II) | 交換するメッセージの解釈。E4と完全互換、別の転送プロトコルにも対応する意図 |
| 運び方 | SEMI E37-0222(HSMS)/SEMI E4-0923(SECS-I) | HSMSはTCP上、SECS-Iはシリアルのpoint-to-point経路。HSMSはE4の代替として位置付けられる |
この分業が分かると、「SECS/GEM非対応」の中身が一色ではないことに気付きます。運び方がHSMSなのか、SECS-Iなのか、運ぶ口そのものがないのか。答えによって、次にやることが変わる。
ラインの装置を三列に分ける
本稿では、装置をHSMS対応・SECS-Iのみ・通信なしの三列に分けます。断っておくと、この三列はSEMI規格が定める分類ではありません。現場の手順を組み立てるために、本稿が置いた区分けです。
分け方の基準は一つだけ。装置が持っている運び方の層です。中身(E5)と振る舞い(E30)は、運び方が通って初めて意味を持つ。運び方が通らない装置にGEMの話をしても、始まりません。
| 列 | 装置の状態 | 繋ぐ道筋 | 装置側の改造 |
|---|---|---|---|
| HSMS対応 | Ethernetの口があり、仕様書にSEMI E37の記載がある | 上位(EAP/MES)側の接続設定で繋がる | 不要 |
| SECS-Iのみ | シリアルの口しかなく、仕様書にSEMI E4の記載がある | SECS-IIの中身には触れず、運び方だけを上位が受け取れる形に揃える | 装置本体は触らない。運び方を受ける機器を装置の外に置く |
| 通信なし | 通信の口がない、または仕様書に通信規格の記載がない | PLCのI/Oや後付けセンサーで状態を拾い、装置の代わりに上位へ報告する | 装置の制御には触れず、観察点を外側に付ける |
列ごとの道筋
HSMS対応の列:上位側の設定で繋がる
この列は、装置の問題ではなく設定の問題です。
HSMS対応の装置は、TCPで上位と会話できる状態で納入されています。上位のEAPやMESの側で、接続先アドレス、ポート、どちらが接続を待つ側かを合わせれば通信が立ち上がる。後述するsecsgemのサンプルコードでも、ホストの設定として書かれているのはaddress、port、connect_mode(PASSIVE)、device_type(HOST)の四つです。設定項目の少なさが、この列の性格をよく表しています。
装置側の実例を一つ挙げます。オムロンが2014年10月6日に発表したNJ501-1340(発売は同月1日)は、SECS/GEMを搭載したマシンオートメーションコントローラのCPUユニットです。同社ニュースルームは、設定用ソフトウェアSECS/GEMコンフィグレータ(形WS02-GCTL1)を「NJ501 SECS/GEM搭載 CPUユニットのHSMS, SECSⅡ, GEM設定を行うソフトウェアです」と説明しています(オムロン発表)。装置を制御するコントローラ自体がHSMS・SECS-II・GEMを話す。装置メーカーがこの種のコントローラで装置を組んでいれば、その装置はHSMS列に入ります。
ただし、一点。この発表文にSECS-I(SEMI E4)の記載はありません。NJ501-1340をHSMS列の例として挙げるのはそのためで、SECS-I列の例ではない。
この列で生産技術がやることは、仕様書の規格番号を確かめ、上位側の担当者に接続情報を渡すことです。装置を触る必要はない。
SECS-Iのみの列:中身は同じ、運び方だけが違う
この列の装置は、話す言葉を持っています。持っていないのは、今の上位が聞き取れる運び方です。
先ほどのE4の要旨「シリアルのpoint-to-point経路」に戻ります。装置はその経路で会話するよう作られている。この装置がSECS-IIのメッセージを返すなら、中身の書式はHSMS対応の装置と同じE5です。
ここが、この列の道筋を決めます。E5が「E4と完全互換であり、別の転送プロトコルとの互換も許容する」と自ら書いている以上、装置側のメッセージには手を付けず、運び方の層だけを上位が受け取れる形に揃えればいい。装置本体の改造ではなく、装置の外に「運び方を受け取る機器」を置く発想です。
この発想が製品として成立している例を一つ。三菱電機FAは、C言語コントローラのプリインストール製品としてSECS/GEM通信ソフトウェアを掲載しています。対応する通信プロトコルとして挙がっているのは「SECS-I(SEMI E4)、HSMS(SEMI E37)、SECS-II(SEMI E5)、GEM(SEMI E30)」の四つ。同じページで、同社は「既存装置のオンライン化も実現できます」「ゲートウェイパソコンなしで大量の装置プロセスデータを報告でき」と謳っています(三菱電機FAの製品説明)。運び方の層でSECS-IとHSMSが一つの製品に並んでいる。この二つが同じ層の選択肢だということを、製品の側が示しています。
ここで、変換器やゲートウェイの価格、処理速度、何台まで束ねられるかを書きたくなります。書きません。本稿で当たった一次資料に、その数字がないからです。数字は、自社のラインに合わせて機器を選ぶ段階で、その製品の仕様書から取ってください。
この列で生産技術がやることは二つです。装置の背面と取扱説明書の通信仕様欄で「SEMI E4」の記載を探すこと。装置メーカーに、その装置が返すSECS-IIのメッセージ一覧(ストリーム/ファンクション)を開示できるか問い合わせること。後者がないと、運び方を揃えても上位が何を受け取れるのか分からないまま終わります。
通信なしの列:装置の代わりに誰が語るか
この列については、正直に書きます。本稿が当たった一次資料の中に、この列の道筋を直接裏付けるものはありません。
書けるのは一般原理だけです。通信の口がない装置は、装置自身が状態を語れない。ならば、装置の外から状態を観察して、装置の代わりに上位へ報告する。PLCのI/Oから運転信号を取る、後付けのセンサーで動作や停止を拾う。方向はそれで合っています。ただ、どの機器で、どの精度で、何台までという話は、この記事の射程の外です。製品名も出しません。
代わりに、この列で見落とされがちな一点を、GEMの原文から指摘します。GEMの範囲は、通信リンクを通して見た装置の振る舞いでした。後付けの観察点が上位に送るのは、装置の振る舞いそのものではなく、外から見えた状態です。装置が「今この状態にいる」と自分で報告するのと、センサーが「動いているらしい」と推定するのは、上位から見れば別物になる。
本質は「繋がるか」ではなく、「装置の振る舞いを誰が語るか」です。HSMS列とSECS-I列では、装置自身が語る。通信なし列では、PLCやセンサーが装置の代わりに語る。代弁には限界があり、拾えるのは観察できたことだけ。この列で生産技術が最初にやるのは、機器選定ではありません。上位に知らせたい状態(運転中/停止/異常/ロット切替)を先に紙に書き出し、そのどれが外から観察できるかを一つずつ判定することです。
装置に触らずに、ホスト側から試す
棚卸しと並行して、上位が何を要求するのかを手元で確かめる方法があります。ラインの装置には一切触れません。
secsgemは、半導体業界のホストや装置と通信するためのPythonパッケージです。公式文書は用途をこう書いています。
"The use cases range from writing tests for implementations or features, simulations in development environments to complete host/equipment implementations."
secsgem documentation, docs/index.md
(用途は、実装や機能のテストを書くこと、開発環境でのシミュレーションから、ホスト/装置の完全な実装まで幅がある)
開発環境で、ホスト役と装置役の両方を立てられる。生産技術がノートPC一台で、HSMSの接続手順、装置が返すメッセージ、上位が期待する応答を先に見ておける道具です。
使える範囲も、文書がはっきり線を引いています。
"Currently there is no support for communication over serial port (SECS-I, SEMI E04). Only ethernet (HSMS, SEMI E37) is available."
secsgem documentation, docs/index.md
(現時点でシリアルポート経由の通信(SECS-I、SEMI E04)は未対応で、Ethernet(HSMS、SEMI E37)のみ利用できる)
三列で言えば、HSMS列の検証には使え、SECS-I列には使えない。
開発状況も添えます。最新の公式リリースは0.3.0(2024年9月14日)。READMEには"This module is still work in progress."(このモジュールはまだ作業中である)とあります。本番のホストをこれで置き換えられると言うつもりはありません。上位が要求する会話を、装置を触らずに先に体験しておく。その用途で読んでください。
ここで試したことの実測は、次回に回します。
月曜日にやること:三列の棚卸し表
装置一台につき一行。埋めるのは生産技術で、上位側の担当者に渡すのがゴールです。
| 装置(号機) | 通信の口 | 仕様書にある規格番号 | 列 | 根拠にした資料 | 次の一手 |
|---|---|---|---|---|---|
| 例:装置A | Ethernet | E37/E5/E30 | HSMS対応 | 取扱説明書 通信仕様欄 | 上位側に接続情報を渡す |
| 例:装置B | シリアル | E4/E5 | SECS-Iのみ | 取扱説明書 通信仕様欄、背面コネクタ | 運び方を受ける機器の検討。メーカーへメッセージ一覧を照会 |
| 例:装置C | なし | 記載なし | 通信なし | 取扱説明書、現物確認 | 上位に知らせたい状態を書き出す |
| 例:装置D | Ethernet | 「SECS/GEM対応」とのみ記載 | 未確認 | 取扱説明書(規格番号なし) | メーカーに規格番号(E37かE4か)を照会 |
四行目の「未確認」は、三列に入れない行です。仕様書に「SECS/GEM対応」とだけあって規格番号がない装置は、HSMS列に置きたくなる。置かないでください。規格番号が分かるまでは未確認のまま残し、メーカーへの照会を次の一手にする。この一行を守るだけで、上位側との打ち合わせで「繋がるはずだった」が減ります。
メーカーへの照会文は、三つ聞けば足ります。SEMI E37(HSMS)とSEMI E4(SECS-I)のどちらに対応しているか。SECS-II(SEMI E5)のメッセージ一覧を開示できるか。GEM(SEMI E30)の実装範囲はどこまでか。この三つの答えが、そのまま棚卸し表の列を決めます。
装置を替えない自動化は、装置を知ることから始まります。棚卸し表が埋まった時点で、ラインのどの装置が今日繋がり、どの装置に機器を足し、どの装置に観察点を付けるのかが一枚で見える。次回は、この表のHSMS列を相手に、secsgemでホストを立てて接続を実測します。
参考資料
- SEMI E30-0526 – Specification for the Generic Model for Communications and Control of Manufacturing Equipment (GEM)(SEMI Store)
- SEMI E37-0222 – Specification for High-Speed SECS Message Services (HSMS) Generic Services(SEMI Store)
- SEMI E4-0923 – Specification for SEMI Equipment Communications Standard 1 Message Transfer (SECS-I)(SEMI Store)
- SEMI E5-0725 – Specification for SEMI Equipment Communications Standard 2 Message Content (SECS-II)(SEMI Store)
- 三菱電機FA「SECS/GEM通信ソフトウェア|プリインストール製品」
- オムロン ニュースルーム「マシンオートメーションコントローラNJシリーズ形NJ501-1340を新発売」(2014年10月6日)
- secsgem – Simple Python SECS/GEM implementation(GitHub, bparzella/secsgem)
- secsgem documentation(Read the Docs)
