HOME > ソフテックだより > 第71号(2008年8月6日発行) 技術レポート「PLCでSECS通信〜横河電機社製での実装例〜」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第71号(2008年8月6日発行)
技術レポート

「PLCでSECS通信〜横河電機社製での実装例〜」

1. はじめに

半導体関連のソフトウェア開発では、SEMI(※1)で制定しているSEMIスタンダード(※2)に準拠した実装を行うこともあります。

今回の技術レポートでは、過去の開発実績の中から、SEMIスタンダードに準拠したソフトウェア開発の事例をもとに、SECSによるホスト−装置間の通信を実装した例を紹介します。
本実装例では、横河電機社製FA-M3R(※3)を用い、ラダープログラムにてSECS通信を実装しています。

2. SECSとは

SECS(SEMI Equipment Communications Standard)とは、SEMIスタンダードの中で、半導体製造装置とホスト間のメッセージ交換に関する通信インタフェースを定義しているものです。SECSは、図1のように階層的なプロトコルになっています。

SECSプロトコル階層
図1. SECSプロトコル階層

SECS-Iは、ホストと装置間のメッセージ交換に必要な、コネクタ、信号レベル、データレート、プロトコルを規定しており、RS-232Cを採用しています。

SECS-I通信構成図
図2. SECS-I通信

交換するメッセージの内容についてはSECS-IではなくSECS-IIで定義されています。つまり、SECS-IIで定義されているメッセージを、SECS-Iのプロトコルに従って送受信することでホスト−装置間で通信を行うことになります。

SECS-Iと同階層に、HSMS(High-Speed SECS Message Service)というスタンダードも存在します。これは、Ethernet(TCP/IP)を採用し、より高速なメッセージ交換を実現するためのスタンダードです。比較的低速なSECS-Iの代わるものとして制定されています。

HSMS通信構成図
図3. HSMS通信

(1). SECS-Iプロトコル概要

SECS-Iでは、ENQ、ACKといったASCII制御コードを用いてホスト−装置間でハンドシェイクを行います。
図4は、ホストから装置へデータを送信する場合の正常時のシーケンスです。

SECS-I通信正常パターン
図4. SECS-I通信正常パターン

  • データを送りたいホストは、装置に対してENQを送信します。
  • ENQを受けた装置は、ホストからのデータを受信可能であればEOTを送信します。
  • ホストはEOTを受けてDATAを送信します。
  • 装置は正常にDATAを受信し内容に問題が無ければACKを送信します。もし受信したDATAの内容に異常があればNAKを返します。

この一連のシーケンスをトランザクションと呼びます。
トランザクションはホスト先行、装置先行の両方の場合があります。
要求が衝突した場合の対処や、通信タイムアウトといった異常処理についてもスタンダードで方針が示されています。

(2). SECS-IIメッセージ概要

「2.1 SECS-Iプロトコル概要」の説明にある、「DATA」に相当する部分をSECS-IIで定義しています。
DATAは図5に示すような構成になっています。

SECS-IIメッセージ構成
図5. メッセージ構成

ヘッダの部分で、何のメッセージであるかをストリームとファンクションという概念で示しています。
ストリーム(S)は、関連した処理をグループ化した区分のようなものです。ストリームの中に、何の処理であるかを示すファンクション(F)が属しています。
例えば、「S1F1」はホストから装置に対する「オンライン確認要求」を表します。

また、1回のトランザクションで複数に分割したメッセージが送信可能ですので、ヘッダの中には、最後のメッセージであるかを表すフラグも持っています。そのほか様々なステータスが定義されています。

データの構造は、各ファンクションで異なった構造をしており、それぞれSEMIスタンダード内で定義されています。それらは全て型と値の組み合わせとなっており、C言語でいう構造体のような構造となっています。データを入れ子構造にすることも可能であり、柔軟なフォーマットとなっています。

3. 開発事例システム構成

今回取り上げる開発事例は図6のような構成でした。

開発事例システム構成
図6. システム構成

私がソフトウェアを担当した半導体製品の搬送を行う装置と、他社製の半導体製品を加工する装置をRS-232Cで接続し、SECS通信によってメッセージ交換を行いました。
半導体搬送装置側がマスターとなり、装置状態の取得や、品種切り替え指示などをSECS通信にて行いました。
半導体搬送装置は横河電機社製FA-M3Rを使用し、図7に示すようにラダー通信モジュール(F3RZ82-OF)を用い、ラダープログラムによりSECS通信を実装しました。

開発事例PLC構成
図7. PLC構成

4. SECS通信処理部の設計

本事例はSECS通信処理部の設計概要を紹介します。
SECSのプロトコル階層に合わせ、図8のような階層分けを行いました。

開発事例プログラム階層
図8. プログラム階層

また、各階層は図9のようなインタフェースで処理を行います。

開発事例プログラム各階層間インタフェース
図9. 階層間インタフェース

半導体加工装置に対して「品種切替」要求を出す場合を例に、次章より各階層の動作を説明します。

(1). アプリケーション層

搬送制御を行う中で「品種切替」が必要となった場合に、「SECS-IIメッセージ層」に対して「品種切替」要求を出します。

(2). SECS-IIメッセージ制御層

上位層より受けた「品種切替」を行うには、半導体加工装置との通信仕様により、以下のようなトランザクションを順番に行う必要がありました。

  1. 装置がオンラインであるかの確認
  2. 切替たい品種に切替え可能であるかの確認
  3. 品種切替可能なら切替え指示

本階層では、上記1.〜3.それぞれのSECS-IIメッセージを生成し、順番に「SECS-I層」にメッセージ送信指示を出していきます。

(3). SECS-I通信層

上位層よりメッセージ送信指示を受けたら、SECS-Iで定められたプロトコルに沿って装置側と通信を行います。
ENQ、ACK、上位からもらったメッセージデータといった、RS-232Cで送信可能なデータを生成し「RS-232C通信層」に指示を出します。

(4). RS-232C通信層

「SECS-I通信層」からの指示を受けて、ラダー通信モジュールに対して送信要求を出します。
ラダー通信モジュールF3RZ82-0Fを用いることで、細かな通信処理は全てモジュールが行ってくれるため、本階層のプログラムは非常にシンプルに組むことができます。
具体的には、送信の場合には、該当するラダー通信モジュールの送信バッファに値をセット後、送信要求リレーをONし送信完了リレーがONすることを待つ。また、受信の場合には、常時受信完了リレーを監視しONになったタイミングで受信バッファからデータを読み出し、上位層へ受信完了を伝える。という手法となります。

5. 注意点

SEMIスタンダードで規定されているSECSプロトコルは、業界のあらゆる装置の通信について当てはまるように規定されています。
そのため、細かなところまで規定せず「推奨されるが要求はされない」といったアプリケーション側で取り決めなければならない箇所も存在します。
このような箇所熟知し、通信相手との仕様認識に相違が発生しないように開発を進める必要があります。

6. おわりに

「4. SECS通信処理部の設計」に記載したように、各処理で階層化を行うことで、実績のあるラダープログラムのコンポーネントとして再利用可能な形で蓄積することができます。今回の例の「RS-232C通信層」はSECS通信に限らず、ラダー通信モジュールを用いたあらゆるシリアル通信案件に活用することができます。

また、「SECS-I通信層」についても、送受信するSECS-IIメッセージが何であっても問題無いように設計していますので、SECS通信を行う他の案件でも実績のあるコンポーネントをして活用することができます。

今回紹介した事例以外にも、半導体関連装置の開発ではしばしばSEMIスタンダードに準拠したソフトウェア開発を行うことがあります。
本事例のようなプログラム資産を有効活用し、また品質の良いコンポーネントを蓄積していくことで、今後も低価格で高品質なソフトウェアの開発に努めていきたいと思います。

(M.S.)

[参考文献]

「SEMIジャパンホームページ」http://www.semi.org/

SEMI『SEMI E4-0699 SEMI EQUIPMENT COMMUNICATIONS STANDARD 1 MESSAGE TRANSFER (SECS-I)』
SEMI『SEMI E5-1106E SEMI EQUIPMENT COMMUNICATIONS STANDARD 2 MESSAGE CONTENT (SECS-II)』
横河電機株式会社『IM 34M6H22-02 ラダー通信モジュール取扱説明書』
[注釈]
※1
「Semiconductor Equipment and Materials Institute」
半導体、FPD(フラットパネルディスプレイ)などの製造装置、材料、関連サービスを提供している企業の国際的な工業会。
※2
半導体、FPD製造における装置・材料についての業界自主基準。
ユーザーからの要求をもとに、サプライヤの専門知識を終結して開発され、準拠すべき仕様・技術標準として活用されている。
現在、11分野で770を超えるスタンダードが出版されている。
※3
横河電機社製PLC(Programmable Logic Controller)。

関連ページへのリンク

関連するソフテックだより

ページTOPへ