Grapheq
2006年5月 取扱終了
Grapheq は、半導体製造装置に対して通信・制御を行う為の、『プログラム』を作成する際に利用可能なイネーブラと呼ばれる新しいタイプのツールです。Grapheq では第四世代言語と呼ばれる、新しい考え方に基く、『言語』を用いる事によって、装置とのインターフェースの開発を非常に早く/簡単に行うことが可能です。また、装置インターフェースの開発/保守費用の低減に大きく寄与します。
Grapheq は、大きく分けて2つのタイプのユーザーに対して利用可能なように設計されています。
第一のタイプのユーザーはソフトウェア技術者です。
もしあなたが、このタイプのユーザーとしてGrapheq を使用するのであれば、今までにない開発環境に満足 するでしょう。データ構造はC言語で使用されているものと互換性があります。また、フローチャートのよ うにグラフィカルに記述できる第四世代言語を使用することが可能です。その際、通常使用しているC言語をテキストコマンドとともに、第四世代言語の内部に組み込むことが可能です。この機能は、より柔軟な アルゴリズムの表現及び、記述をソフトウェア技術者に許します。Grapheq は工程内の自動化システムで問題となっている、平行並列的に起こる事象の順次制御を簡単に記述可能です。
第二のタイプのユーザーは工場/プロセス技術者です。
プログラム知識の少ない技術者にとってGrapheq は理解しやすく、今現在、工場内の自動化システムで問題となっていることに対して十分に対応可能なツールです。多くの工場ではプログラマー(プログラムハウス/外注)を抱え、既に作成されたインターフェースの保守作業/保守開発を行っています。
通信エンジン
どのような工程内自動化システムにおいても、有効的な装置との通信機能は基本的な要求です。Grapheq は、単にデータを収集するようなアプリケーションから工程内の装置全部をオンラインにするようなアプリケーションまで、色々なタイプのアプリケーションで利用可能な通信エンジンです。Grapheq は工程内自動化システムの装置オンライン機能の部分において、非常に大きな機能を提供します。また、アプリケーションの形態により、画面機能、SPC機能、データベース等の機能が必要な場合は、Grapheq の外部ツール、例えばCELLworksと組み合わせて使用することも可能です。
装置インターフェースと工程内自動化システム
工程内自動化システムは非常に将来性のあるものです。既に、大手半導体メーカーでは、工程内自動化システムを構築するための大きなプロジェクトを自社のリソースを用いて行った経験をもちます。ただし多くの残された半導体メーカーでは、簡単な検査/測定機器からのデータを収集するか、半導体装置メーカーが提供する高価な群管理システムを利用するか、主にコンピュータメーカーが手作りで作成したブラックボックス・工程内自動化システムを使用しています。これらの自動化システムは工程管理データ受信及び自動的に収集されたデータ報告のために、上位の工程管理システムとの通信を行います。最後にこれらのシステムを構築する場合、Grapheq は非常に簡単に装置インターフェースの機能を提供し、開発/保守の費用を低減するために寄与することが可能です。
半導体工場における自動化システム
半導体工場における工程内の通信は、他の分野の工場とは異なり、非常に特別なものです。それは、メッセージを主体とした事象駆動のSECS通信が統一されている点です。また、上位の工程管理システムといかにうまくシステム的に融合するかということが、このようなタイプのアプリケーションには求められています。
メッセージ指向の半導体装置
半導体工場の装置は他の工場の装置にくらべ洗練されています。一般的な工場では通常装置はPLC(シーケンサ)によって制御されています。半導体製造装置はコンピュータで制御され、洗練されたメッセージ規約で規定されたSECS通信が使用可能です。ここでいうメッセージとは一般的に装置が送信するメッセ ージと、装置が受信するメッセージの一対で構成されています。このことをトランザクションと呼びます。半導体製造装置は一般的に20~80のメッセージをサポートしています。このメッセージは装置により内容が異なる場合もあるが、同じ場合もあります。ホストコンピュータは装置ごとに異なる部分を簡単に定義 し、またフレキシブルに変更する機能がメッセージ指向の半導体製造装置の自動化システムを構築する上で必要になります。
事象駆動
他の電子機器産業の多くの工場において装置はホストコンピュータからみて、スレーブ側に位置づけられるのが一般的です。スレーブとはホストコンピュータから装置に対してコマンドを通信して、装置がそのコマンドの内容に従って動作することを意味します。事象駆動型のホストシステムではホストがインターラプトの処理および平行並列的に起こる事象の順次制御が処理される必要があります。第三世代のC言語のようなタイプの言語で、この平行並列的に起こる事象の順次制御を記述するのは非常に難しい作業になります。これはこのタイプの言語が一次元的な処理を目的として作成されるからです。
SECSプロトコル
他の産業においては、個々の装置に対して、それぞれに対応した通信手段がありますが、半導体工場においては、個々の装置に対して、統一された通信手段であるSECSが使用されています。SECSはSEMIによって標準化されたガイドラインに沿ったものです。またSECSメッセージは、個々の装置メーカーによってガイドラインに沿った形式で独自に利用されています。さらに、SECS標準は定期的な変更/修正が行われています。自動システムを商品として半導体工場に供給する会社/グループは、半導体の知識を持つだけでなく、SECS標準の変更、そして装置メッセージに対して幅広い知識を持つ必要があります。
工程管理システム
半導体工場の工程を管理する装置制御ソフトウェアは、上位の工程管理システムと有効的な通信を行うことができなければなりません。通常、上位の工程管理システムとの通信は、LAN上で実現されるSECSと同様のメッセージ指向の事象駆動型の通信が使用されます。また、通常工程管理システムは、LAN上で動作する工程内自動化システムを利用して、装置とのインターフェースをとります。
Grapheq製品概要
Grapheq は、半導体工場の工程内で存在する単純なメッセージを処理することから、メッセージ指向で事象駆動型通信を制御することまでデザインされています。
メッセージ・プロセッサ
Grapheq は知的なメッセージ・プロセッサのようなものです。Grapheq は単にメッセージを変換するだけではありません。ホストコンピュータからの作業依頼を受け、装置制御も行うことも可能です。たとえば、 Grapheq は装置を監視し、装置の状態が変更になった場合には工程管理システムに対し、事象の変化を報告します。他の例としては、工程管理システムからの要求により、レシピのダウンロードを行うことが可能です。この要求は、ひとつの簡単なメッセージを送信することによって実現します。Grapheq は装置の状態を自動的に調査し、レシピをダウンロード可能かどうか判断したうえで、実際のレシピダウンロードを実行します。
事象ハンドラ
Grapheq はまた、1次メッセージ、あるいは1次メッセージを受信したあとに送信される2次メッセージの制御を行います。これはGrapheq の内部の事象ハンドラで処理を行います。1次メッセージは装置あるいはアプリケーションに対するメッセージとして構成されています。Grapheq は多くの同時進行で起こる事象を処理するために、UNIXオペレーティングシステムの平行並列的に処理を行う機能を利用します。Grapheq を組み込んだプログラムは、一般的に制限の受けない平行並列的な処理が実行可能です。また、Grapheq 実行エンジンは、ワークステーションが可能なかぎりの事象メッセージの処理を受け付けることが出来ます。
SECSメッセージ
Grapheq は汎用的なメッセージの文法解析が可能なようにデザインされています。これは特別な機能であり、開発者に対しSECSメッセージの文法解析の作業を非常に速く可能にします。 Grapheq にはSECSに関係した様々な機能、例えば、可変型のレングス、アイテム、リストおよびストリーム/ファンクションの定義を行えます。またSEMI標準以外のメッセージのサポートも可能です。
その他のプロトコル
Grapheq エンジンは特別なプロトコルドライバを内部に組み込むことにより、SECS通信以外の通信の 制御も利用可能です。Grapheq の標準ドライバは、SECS、シリアルRS232C、シーケンシャル・ファイル、CELLworks、そして内部的に利用しているチャネルと呼ばれるドライバがあります。FASTech社では、この他のドライバについてもGrapheq で起動可能なように開発の計画を進めています。 例えばデータベース、画面作成機能、そして半導体工程管理システムのようなドライバです。また、Grapheq 実行エンジンはユーザー開発の(C言語を使用した)プロトコル・ドライバを追加可能です。
Grapheq 開発環境において、アプリケーションを構築する上での作業は、大きく分けて2つのフェイズに区分できます。
第一フェイズ
まず、外部装置との通信を行うためのメッセージを作成しする作業です。また、第一フェイズでは、物理的な装置との接続の定義と論理的な実行エンジンとの関係を規定します。
第二フェイズ
メッセージのシーケンス、事象のハンドリングおよび、アクションスケジュールの作成を行います。
フェイズ1 - ライブラリと装置定義
ライブラリ
メッセージライブラリ内には、装置メッセージがテーブルフォーマットとして定義されています。使用し たい入力および出力データを選択し、そのデータに対し変更可能な名前を割りつけることができます。ライブラリはひとつの装置タイプに対し、メッセージおよびトランザクションの集まりとして、コンピュータのハードディスクのなかに規則正しく保管されています。例えばSECSメッセージライブラリには1つの装置モデルと通信を行うために管理システムライブラリは1つの工程管理システムと通信するために使用するすべてのメッセージを含んでいます。
装置定義
Grapheq 実行エンジンは実際の装置と接続します。これはGrapheq の開発環境であらかじめ装置定義を行っておく必要があることを意味します。SECS装置に対し、物理的なポート、デバイスID、各種のタイムアウト、そしてSECSメッセージライブラリの指定というような、様々はパラメーターが装置定義におい ておこなわれます。SECSのようなRS232Cタイプの装置はワークステーション上の直接ポート、あるいは追加されたシリアルカードが物理的に接続されていなければなりません。その他の外部装置、例えば工程管理システム、あるいはデータベースとの接続はLANを介して接続可能です。
フェイズ2 - 制御プログラム
Grapheq の第四世代フローチャート言語は平行並列的制御プログラムの早期構築に寄与します。これにより、装置インターフェース開発のコスト削減が可能になります。装置メッセージがフェイズ1において構築さ れていれば、Grapheq ユーザーは使用するプロトコルの詳細について何も知識がなくてもさしつかえありません。例えば、SECS装置との通信の際、ユーザーはSECS1およびSECS2のメッセージ構造の状態に 対し意識する必要はありません。ユーザーは必要なメッセージのタイミングだけを考慮すればよいのです。
Grapheq の言語には2つの大きな機能があります。
- データ構造
- アクションスケジュール
データ構造
Grapheq において使用される基本的なデータ構造はレコードと呼ばれています。レコードはC言語のなかで使用されているのとよく似た、可変リストと構造によって構成されます。Grapheq では下図の左の表に記載された5の変数タイプをサポートします。SECS通信を行うためには、SECS2のリストは下図の右のようなGrapheq 構造に変換され、そしてSECS2のアイテムは変数に変換されます。SECSメッセージのデータ構造を実際に定義しているのは、フェイズ1のSECSメッセージレイアウトです。しかしながら同一のデータ構造、およびデータはレコード定義にもコピーされます。したがって、レコード定義は実際のSECSメッセージのデータ構造から、アプリケーションで使用可能なデータ構造にするためだけに使用されます。(ページ9の図を参照)。この場合、SECSメッセージレイアウトのデータ構造を外部変数と呼び、ユーザー自身が追加した変数を内部変数と呼びます。
アクション・スケジュール
Grapheq 制御プログラムはアクション・スケジュールと呼ばれています。アクション・スケジュールは、フローチャートとよく似たボックスを線で結び付ける携帯をとります。アクション・スケジュールが実行される場合、最上談のボックスからスタートします。そして通過したアクション・ボックスのなかに記述さているオペレーションが実行されます。アクションには2つの一般的なタイプに分類できます。それは通信アクションと制御アクションです。通信アクションは外部装置との間におけるデータの送受信を行います。
通信アクションには3つのタイプが存在します。
Message : 双方向トランザクション
Get : 単一方向のメッセージ受信あるいはI/Oのリード
Put : 単一方向のメッセージ送信あるいはI/Oのライト
単一方向のメッセージの例としては、PLC内部のI/Oポイントを読んだり、端末に対して文字を出力する、UNIXのメッセージ・キュがあげられます。すべての通信アクションは間接的に通信をドライブするような、単一的なレコード定義で構成されます。SECSトランザクションを参照するメッセージ・アクションは、アクション・スケジュールのフローのなかで実行された通信アクションが存在した場合、SECS通信メッセージが起こります。(ページ9の下図を参照)
制御アクションはシーケンス、分岐、タイミングそして、下位のプログラムを提供します。
Test : フローチャートの論理分岐
Wait : ある到底の時間および論理値が『正』になるまで待機
set : C言語と同等な内部的な下位レベルの制御
セット・アクションはユーザーに対し、他のアクションによって行えないような、下位レベルの制御および データ操作を与えます。セット・アクションの内部の言語はC--と呼ばれます。C--はGrapheq レコー ド定義、関連するデータ構造と変数を使用します。C--は全てのANSI-Cの準拠の計算および、論理 演算をサポートし、Grapheq 環境の外部で作成されたC関数に対し、ダイナミック・リンク、あるいはシェ アードライブラリとしてコール(利用)することができます。その他にもう一つ、コンパウンド・アクショ ンと呼ばれる、アクション・スケジュールを階層化して管理する特別なアクションが存在します。これは大 きなアクション・スケジュールを含んだような、マクロと似たアクション・スケジュールです。コンパウン ド・アクションは、ユーザーが多くの非同期型の事象と、平行並列処理を制御するようなアプリケーションの開発に対し威力を発揮します。コンパウンド・アクションはモジュールの再利用、エラー回復、ドキュメンテーション化、そしてアクション・スケジュールを読みやすくする等、の機能を提供します。
実行環境
アクション・スケジュールはコンパイルされ、内部コード化されファイルに書き込まれます。実行時、Grapheq 実行エンジンはファイルを読み込み、コードを解釈して動作します。このアプローチはユーザーに対し 同一オペレーションシステムだけでなく、異なったオペレーティングシステム上への移行を保証します。つまりコンパイルされたアクション・スケジュール・ファイルはバイナリ・コンパチブルが保証されます。Grapheq は各種のUNIXオペレーション上で動作します。Grapheq 実行エンジンはハードには依存しませんが、オペレーティングシステムの種類には依存します。SECSドライバやLAN上の工程管理システムのドライバ、および特殊なI/Oドライバはハードウェアに対して依存してしまいます。Grapheq 実行エンジンは、特殊なプロトコルの詳細については意識しません。プロトコル・プロセスは実行エンジンから送信された内容を自動的に外部装置に対し送信します。このエンジンとプロトコルを分離することにより、ユーザーはプロトコルの知識をあまりもたなくても、アクション・スケジュールを構築できます。このような理由により、半導体プロセス技術者はSECSプロトコルをあまり知らなくても、アクションスケジュールの開発 および保守ができるようになるのです。さらにGrapheq は実行中のアクション・スケジュールを表示するようなデバック機能をもちます。また、ブレイクポイントを追加し、詳細のテストを行うことができます。
本製品・サービスに関するお問い合わせ
![]()
- UNIXはUNIX System Laboratories, Inc.が開発し、ライセンスしています。
- Windows, Visual Basicは米国Microsoft社の商標です。
- 一般に社名、商品名は各社の商標または登録商標です。
- CELLworksはBrooks Automation, Inc.の登録商標です。
- FACTORYworksはBrooks Automation, Inc.の商標です。
- その他の商標は各社に帰属しています。
