JP3592861B2 - Substrate processing equipment - Google Patents

Substrate processing equipment Download PDF

Info

Publication number
JP3592861B2
JP3592861B2 JP29967196A JP29967196A JP3592861B2 JP 3592861 B2 JP3592861 B2 JP 3592861B2 JP 29967196 A JP29967196 A JP 29967196A JP 29967196 A JP29967196 A JP 29967196A JP 3592861 B2 JP3592861 B2 JP 3592861B2
Authority
JP
Japan
Prior art keywords
controller
slave
control program
master controller
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP29967196A
Other languages
Japanese (ja)
Other versions
JPH10124322A (en
Inventor
哲也 濱田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Screen Holdings Co Ltd, Dainippon Screen Manufacturing Co Ltd filed Critical Screen Holdings Co Ltd
Priority to JP29967196A priority Critical patent/JP3592861B2/en
Publication of JPH10124322A publication Critical patent/JPH10124322A/en
Application granted granted Critical
Publication of JP3592861B2 publication Critical patent/JP3592861B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
  • Exposure Of Semiconductors, Excluding Electron Or Ion Beam Exposure (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、半導体ウェハや液晶表示基板などの基板を処理する基板処理装置に係り、特に処理を制御するプログラムを更新する技術に関する。
【0002】
【従来の技術】
基板処理装置は、半導体ウェハに塗布処理を行う処理ユニットや、現像処理を行う処理ユニット、熱処理を行う処理ユニット等複数の処理ユニットを備えていることが一般的である。従来の基板処理装置では、各処理ユニットを制御するプログラムやデータは、コントローラに備えられているROM(Read Only Memory)に格納されていた。そして、各処理ユニットの動作は、各処理ユニットに対応するコントローラが上記プログラムを実行することによって制御している。
【0003】
【発明が解決しようとする課題】
上記基板処理装置において、各コントローラの制御プログラムやデータを、処理性能の向上や処理の手順あるいは処理の条件等の変更に対応して変更しなければならない場合が発生する。上記のように、変更対象であるプログラムはコントローラ内に備えるROMに格納されているため、新しいプログラムに変更するためには、新しいプログラムが格納されたROMと交換する必要がある。しかし、このような交換作業を実行するためには、装置の稼働を停止し、変更対象であるコントローラを装置から取り外したうえで、ROMの交換作業を行う必要があり、大変面倒で作業に時間がかかっていた。また、制御プログラムに異常が発生した場合には、直ちに正常なプログラムに変更して装置の稼働を再開できることが望ましいが、上記基板処理装置においては、上記と同様の理由から困難であった。
【0004】
この発明は、従来技術における上述の課題を解決するためになされたものであり、基板処理装置において処理を制御する制御プログラムの更新を容易に実施可能な技術を提供することを目的とする。
【0005】
【課題を解決するための手段およびその作用・効果】
上記課題の少なくとも一部を解決するため、本発明は、
基板処理装置であって、
基板処理装置を構成する複数の構成装置の動作を制御する複数のスレーブコントローラと、
前記複数のスレーブコントローラの動作を制御するマスタコントローラと、
前記複数のスレーブコントローラと前記マスタコントローラとを相互に接続するネットワーク回線と、を備え、
前記マスタコントローラは、
ユーザが前記複数のスレーブコントローラのうち所望のスレーブコントローラを選択したときに、前記選択されたスレーブコントローラに対して制御プログラムの送信開始を通知し、
前記複数のスレーブコントローラそれぞれは、
前記マスタコントローラからの前記送信開始の通知を、前記基板処理装置の稼働中に常時監視し、前記マスタコントローラから前記送信開始の通知があった場合に、その旨を所定のメモリ領域に記録するとともに、再起動し、
前記基板処理装置の起動されたとき、または、前記スレーブコントローラが再起動されたときに、前記所定のメモリ領域の記録を調べ、前記記録があったときは、前記ネットワーク回線を介して前記マスタコントローラに制御プログラムの送信を要求し、前記記録がなかったときには、前記スレーブコントローラ内に有する書き込み可能なメインメモリに保持されている制御プログラムの保持状態を調べて、前記ネットワーク回線を介して前記制御プログラムの保持状態を前記マスタコントローラに通知し、
前記マスタコントローラは、さらに、
前記ネットワーク回線を介して、前記制御プログラムの送信の要求がされたとき、または、前記制御プログラムの保持状態の異常が通知されたときに、前記制御プログラムの送信を要求したスレーブコントローラ、または、前記制御プログラムの保持状態の異常を通知したスレーブコントローラに対して、対応する制御プログラムを送信して、前記スレーブコントローラの前記メインメモリに記憶されている前記制御プログラムを更新させることを特徴とする。
【0006】
上記発明によれば、マスタコントローラと複数のスレーブコントローラとがネットワークで相互に接続されているので、複数のスレーブコントローラそれぞれで実行される制御プログラムを、マスタコントローラからネットワークを介して送信することができる。送信された制御プログラムは、そのスレーブコントローラのメインメモリに記憶されるので、各スレーブコントローラの制御プログラムを容易に更新することができる。
【0008】
また、基板処理装置の起動時に、スレーブコントローラそれぞれが、メインメモリに保持されているそれぞれの制御プログラムの保持状態を調べて、マスタコントローラに通知する。制御プログラムの保持状態の通知を受信したマスタコントローラは、保持状態が異常であると通知したスレーブコントローラに対して、マスタコントローラに備える記憶媒体に格納されているすべての正常な制御プログラムのうち対応する制御プログラムを、ネットワーク回線を介して送信する。従って、基板処理装置の起動時ごとに、異常な制御プログラムを正常なプログラムに簡単に更新することができ、装置の誤動作を防止することができる。
【0010】
さらに、基板処理装置の稼働中の任意のときに、ユーザが所望のスレーブコントローラを選択すると、マスタコントローラから選択したスレーブコントローラに対して、制御プログラムの送信開始を通知する。スレーブコントローラそれぞれは、マスタコントローラからの送信開始の通知を常時監視し、マスタコントローラから送信開始の通知があった場合には、その旨を所定のメモリ領域に記録し、その後再起動する。再起動したスレーブコントローラは、所定のメモリ領域に、送信開始の通知のあったことを示す記録があるか否かを調べ、記録があったときは、マスタコントローラに制御プログラムの送信を要求する。送信を要求されたマスタコントローラは、送信を要求したスレーブコントローラに制御プログラムを送信し、送信を要求したスレーブコントローラが送信された制御プログラムを受信する。従って、上記発明によれば、制御プログラムの更新を、ユーザの希望に応じて簡単に実施することができる。
【0011】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。第1の態様は
基板処理装置を構成する複数の構成装置の動作を制御する複数のスレーブコントローラと、前記複数のスレーブコントローラの動作を制御するマスタコントローラと、前記複数のスレーブコントローラと前記マスタコントローラとを相互に接続する回線と、を備える基板処理装置の制御方法であって、
前記複数のスレーブコントローラそれぞれが、前記基板処理装置の起動時に、該スレーブコントローラ内に有する書き込み可能なメインメモリに保持されている制御プログラムの保持状態を調べるとともに、前記制御プログラムの保持状態を前記マスタコントローラに通知する工程と、
前記マスタコントローラが、前記回線を介して、前記制御プログラムの保持状態が異常であるスレーブコントローラに対して、前記記憶媒体に格納された対応する制御プログラムを送信して、前記スレーブコントローラの前記メインメモリに記憶されている前記制御プログラムを更新する工程と、
を備えることを特徴とする。
【0012】
第2の態様は、
基板処理装置を構成する複数の構成装置の動作を制御する複数のスレーブコントローラと、前記複数のスレーブコントローラの動作を制御するマスタコントローラと、前記複数のスレーブコントローラと前記マスタコントローラとを相互に接続する回線と、を備える基板処理装置の制御方法であって、
前記マスタコントローラが、ユーザが希望する任意のときに、前記複数のスレーブコントローラのうち所望のスレーブコントローラを選択するとともに、前記選択されたスレーブコントローラに対して制御プログラムの送信開始を通知する工程と、
前記複数のスレーブコントローラそれぞれが、前記マスタコントローラからの前記送信開始の通知を、前記基板処理装置の稼働中に常時監視し、前記マスタコントローラから前記送信開始の通知があった場合に、その旨を所定のメモリ領域に記録するとともに、再起動する工程と、
前記再起動されたスレーブコントローラが、前記所定のメモリ領域の記録を調べ、前記記録があったときは、前記マスタコントローラに制御プログラムの送信を要求する工程と、
前記送信を要求されたマスタコントローラが、前記送信を要求したスレーブコントローラに制御プログラムを送信し、前記送信を要求したスレーブコントローラが前記送信された制御プログラムを受信する行程と、
を備えることを特徴とする。
【0013】
第3の態様は、コンピュータシステムのマイクロプロセッサによって実行されることによって、上記の発明を実現するソフトウエアプログラムを格納した携帯型記憶媒体である。
【0014】
【発明の実施の形態】
次に、本発明の実施の形態を実施例に基づき説明する。
【0015】
A.装置構成および動作概要:
図1は、この発明の実施例を適用する基板処理装置20を示す斜視図である。この基板処理装置20は、半導体ウェハWに一連の処理(この実施例では塗布処理,現像処理,熱処理)を行うための複数の処理ユニットを備えている。前面に配列された第1の処理ユニット群Aは、塗布処理を行うスピンコータ31と、現像処理を行うスピンデベロッパ32とで構成されている。
【0016】
また、第1の処理ユニット群Aに対向する後方側の位置には、第2の処理ユニット群Bが設けられている。第2の処理ユニット群Bは、スピンコータ31やスピンデベロッパ32で処理を行う前後に基板の熱処理(加熱・冷却)を行う熱処理機器33,34,35を備えている。なお、各熱処理機器33,34,35は、それぞれ上段に加熱用熱処理機器(ホットプレート)33a,34a,35aを、下段に冷却用熱処理機器(クールプレート)33b,34b,35bを備えている。
【0017】
さらに、この装置には、第1の処理ユニット群Aと第2の処理ユニット群Bに挟まれた位置に、第1の処理ユニット群Aに沿って延びる搬送領域Cが設けられている。この搬送領域Cには搬送ロボット36が移動自在に配置されている。この搬送ロボット36は、半導体ウェハWをそれぞれ支持するための2本のアームを有する支持部材37(図中ではひとつのアームのみが見えている)を有する移動体38を備えている。この支持部材37を構成する上下2本のアームは、アーム駆動機構(図示省略)によって駆動され、各処理ユニットにおいて半導体ウェハの交換を行う。すなわち、一方のアームは、処理の終了した半導体ウェハを処理ユニットから受け取り、他方のアームは他の処理ユニットから搬送してきた半導体ウェハをその処理ユニットに載置する。なお、図示を省略しているが、搬送ロボット36の移動体38には3次元の駆動機構が連結されている。この駆動機構は、移動体38を各処理ユニットの前に移動させて、半導体ウェハWの受け渡しを可能としている。
【0018】
基板処理装置20の端部には、カセットC1ないしC4からの半導体ウェハWの搬出とカセットC1ないしC4への半導体ウェハWの搬入とを行うインデクサ40が設けられている。このインデクサ40に設けられた移載ロボット41は、カセットC1ないしC4から半導体ウェハWを取り出し、搬送ロボット36に送り出したり、逆に一連の処理が施された半導体ウェハWを搬送ロボット36から受け取り、カセットC1ないしC4に戻す作業を行う。
【0019】
インデクサ40の前面には、このインデクサ40や前述の第1,第2の処理ユニット群A,Bに種々の指示を与えるための操作パネル42が組み込まれている。この操作パネル42は、種々の設定や数値入力を行うためのキーボード42a(図3参照)と、このキーボード42aからの指示に基づき種々の画面を表示するディスプレイ42b(図3参照)とを備える。
【0020】
図2は、図1の基板処理装置20の各構成機器を制御する制御回路を示したブロック図である。基板処理装置20は、基板処理装置20の各構成機器を制御する8つのスレーブコントローラ41A,36A等と、各スレーブコントローラを制御することにより基板処理装置20を全体的に制御するマスタコントローラ50と、を備えている。スレーブコントローラには、インデクサコントローラ41A,搬送ロボットコントローラ36A,スピンコータコントローラ31A,スピンデベロッパコントローラ32A,熱処理機器コントローラ33A,34A,35Aが含まれている。各コントローラは、LAN回線によって互いに接続されてネットワークを構成している。マスタコントローラ50は、各コントローラを制御することにより基板処理装置20を全体的に制御する制御部である。各スレーブコントローラは、マスタコントローラ50からの指示に基づいて、それぞれに接続された機器の動作を制御する。すなわち、インデクサコントローラ41Aは移載ロボット41を制御し、搬送ロボットコントローラ36Aは搬送ロボット36を制御する。スピンコータコントローラ31Aはスピンコータ31を制御し、スピンデベロッパコントローラ32Aはスピンデベロッパ32を制御する。熱処理機器コントローラ33A,34A,35Aは、熱処理機器33、34、35を制御する。
【0021】
図3は、マスタコントローラ50の概略構成を示すブロック図である。マスタコントローラ50は、論理演算を実行するCPU51と、メインメモリとしてのROM52およびRAM53とを備えている。ROM52は、CPUを制御する基本的なプログラム(例えば、起動を制御するプログラム)等を記憶する。RAM53は、各スレーブコントローラを制御する種々のプログラムやデータを記憶する。なお、ROM52にはマスタコントローラ50で実施される本発明の送信手段52aが格納されている。また、マスタコントローラ50は、データの書き込みおよびデータの保持が随時可能で多量のデータを記憶できる第1の外部記憶装置54(本発明の記憶媒体に相当)を備えている。この第1の外部記憶装置54は、マスタコントローラ50で実行されるプログラムおよびデータだけでなく、各スレーブコントローラで実行されるプログラムおよびデータを記憶保持しておくための常設の記憶装置である。第1の外部記憶装置54としては、ハードディスク装置が例としてあげられる。
【0022】
なお、本実施例においては、ROM52に、CPUを制御する基本的なプログラム等を記憶させているが、マスタコントローラ50で実行されるプログラムを第1の外部記憶装置54からRAM53上に転送して実行させるようにすることもできる。
【0023】
また、このマスタコントローラ50には、上記CPU等とバス55を介して接続された外部I/F56により、操作パネル42、フロッピディスク装置70aやCD−ROM装置70b等の第2の外部記憶装置70、モデム73、LAN回線等が接続されている。この操作パネル42は、ユーザが、装置稼動時において種々の設定や数値入力を行うためのものである。ユーザが装置稼働中に各プログラムの更新を希望する場合には、この操作パネルからその設定を操作することができる。第2の外部記憶装置70は、後述するように、マスタコントローラ50やスレーブコントローラで実行されるプログラムやデータを、第1の外部記憶装置54や各スレーブコントローラに転送するための携帯型記憶媒体による記憶装置である。なお、第2の外部記憶装置70から第1の外部記憶装置54への転送は、実際にプログラムを更新する際だけでなく、あらかじめ行っておくことも可能である。モデム73は、公衆回線を介してマスタコントローラ50と外部(例えば、他工場)とを接続させるためのものである。これにより、マスタコントローラ50やスレーブコントローラで実行されるプログラムやデータを、上記の第2の外部記憶装置70からではなく外部の他の装置から、第1の外部記憶装置54や各スレーブコントローラに転送することも可能である。また、上記のようにマスタコントローラ50と各スレーブコントローラはLAN回線により接続されており、このLAN回線を利用して、例えばサーバ60のようなLAN回線に接続可能な他の機器とも接続できる。これにより、マスタコントローラ50やスレーブコントローラで実行されるプログラムやデータを、サーバ60から、第1の外部記憶装置54や各スレーブコントローラに転送することも可能である。
【0024】
図4は、スレーブコントローラの一つであるインデクサコントローラ41Aの概略構成を示すブロック図である。インデクサコントローラ41Aは、上記マスタコントローラ50と同様に、CPU41A1 と、メインメモリとしてのROM41A2 およびRAM41A3 とを備える。なお、ROM41A2 にはインデクサコントローラ41Aで実施される本発明の保持状態通知手段41A2aや受信手段41A2bが格納され、RAM41A3 には監視手段41A3aが格納されている。また、インデクサコントローラ41Aは、CPU41A1 とバス41A5 を介して接続された外部I/F41A6 により、マスタコントローラ50とLAN回線で接続されている。さらに、バス41A5 を介して接続された制御ポート41A7 により、移載ロボット41に接続されている。
【0025】
インデクサコントローラ41Aは、マスタコントローラ50からLAN回線を介して指示される内容に基づいて、RAM41A3 に記憶保持されたプログラムを実行することにより移載ロボット41の動作を制御する。従って、RAM41A3 は、インデクサコントローラ41Aで実行されるプログラムやデータを、基板処理装置20の非動作時(電源遮断時)においても保持しておくことが好ましく、不揮発性メモリやバックアップ機能を有するメモリを使用することが好ましい。
【0026】
なお、搬送ロボットコントローラ36A,スピンコータコントローラ31A,スピンデベロッパコントローラ32A,熱処理機器コントローラ33A,34A,35Aについては、その構成が同様であるためその説明を省略する。また、以下では、特記する必要がある場合をのぞいて、各コントローラの名称をスレーブコントローラと呼ぶことにする。
【0027】
B.プログラムダウンロードの手順:
次に、各スレーブコントローラで実行される制御プログラムを新しい制御プログラムに変更するために、新しい制御プログラムをダウンロードする手順について以下で説明する。制御プログラムのダウンロードのモードとしては、起動時ダウンロードモードと、稼働時ダウンロードモードとがある。起動時ダウンロードモードとは、基板処理装置の起動時において、各スレーブコントローラに記憶保持されたプログラムをチェックし、「プログラム異常」が検出されたときにプログラムのダウンロードが実行されるモードである。稼働時ダウンロードモードとは、装置稼働中に、ユーザが任意に希望する場合にプログラムのダウンロードを実行するモードである。
【0028】
B1.起動時ダウンロードの手順:
図5は、起動時ダウンロードの手順を示すフローチャートである。
【0029】
マスタコントローラ50では、基板処理装置の起動時には、ROM52に記憶されている起動プログラムにより、装置の初期設定を行うパワーオン起動シーケンスが実行され、その後、起動時ダウンロードのためのプログラム(起動時ダウンロードルーチン)が実行される。また、同時に、各スレーブコントローラ、例えば、スレーブコントローラ41Aにおいても、ROM41A2 に記憶されている起動プログラムにより、パワーオン起動ルーチンが実行される。以下では、スレーブコントローラ41Aがスレーブコントローラを代表することとして説明を行う。
【0030】
スレーブコントローラ41Aでは、パワーオン起動ルーチンが実行されると、まず、ステップS101bでダウンロード予約がされているか否かを判断する。装置起動時にはダウンロード予約がされていないので、ステップS102bに処理を移行する。なお、ダウンロード予約とステップS101bの詳細については、後述する。
【0031】
ステップS102bでは、RAM41A3 に記憶保持されているプログラムやデータに、異常があるか否かをチェックし(プログラムチェック)、その結果をマスタコントローラ50に通知する。このチェックの方法はいろいろ考えられるが、例えば、一般的なチェックサム比較による方法が考えられる。
【0032】
マスタコントローラ50では、起動時ダウンロードルーチンが実行されると、まずステップS102aにおいて、スレーブコントローラへプログラムをダウンロードするか否かを判断する。この判断は、各スレーブコントローラから通知される上記のチェック結果に基づいて判断する。また、起動の途中でユーザが所定のキーを押下することによって、割り込み処理を開始し、プログラムの更新を行いたいスレーブコントローラを任意に選択することも可能である。この場合にも、ユーザの選択に応じて、ステップS102aにおいて、スレーブコントローラへのダウンロードを行うものと判断される。
【0033】
マスタコントローラ50は、すべてのスレーブコントローラからプログラム異常が通知されず、かつ、ユーザによる選択がなされなかった場合には、ダウンロードの必要がないと判断し、処理がステップS108aに移行する。いずれかのスレーブコントローラからプログラム異常が通知されていたり、ユーザによる選択がされている場合には、マスタコントローラ50はダウンロード要求があると判断し、処理がステップS103aに移行する。そして、ステップS103aでは、ダウンロード要求のあったスレーブコントローラ、例えば、スレーブコントローラ41Aにダウンロードを開始する旨の通知を行う。
【0034】
スレーブコントローラ41Aは、ダウンロード開始の通知を受信すると、ステップS104bにおいてダウンロードの準備を行う。そして、ダウンロードの準備が完了すると、マスタコントローラ50にダウンロードの準備が完了した旨の通知を行う。
【0035】
マスタコントローラ50は、準備完了の通知を受信すると、ステップS105aにおいて新しいプログラムやデータをスレーブコントローラ41Aに送信(ダウンロード)する。一方、スレーブコントローラ41Aは、ステップS105bにおいてマスタコントローラ50から送信されたプログラムやデータを受信して、RAM41A3 に記憶保持する。このとき、スレーブコントローラ41Aは、ROM41A2 に格納されている起動プログラムに従って、受信した制御プログラムをRAM41A3 に書き込む。従って、RAM41A3 内に記憶されているすべての制御プログラムやデータを更新することが可能である。なお、スレーブコントローラにダウンロードされるプログラムやデータは、図2に示す第1の外部記憶装置54にあらかじめ記憶されているものだけでなく、第2の外部記憶装置70やサーバ60、あるいは、公衆回線で接続された外部から供給されるプログラムやデータとすることも可能である。
【0036】
マスタコントローラ50は、ステップS105a,S105bにおけるプログラムやデータの送受信が終了すると、ステップS106aにおいて、スレーブコントローラ41Aに対して更新されたプログラムでの実行(プログラム実行)の通知を行う。このとき、スレーブコントローラ41Aは、S106bにおいてプログラム実行の通知を受信すると、スレーブコントローラ41のパワーオン起動ルーチンを終了し、RAM41A3 に新しく記憶保持された制御プログラムによる動作ルーチンへ移行する。
【0037】
マスタコントローラ50は、ステップS106aの処理を終了すると、ステップS107aにおいて、他のスレーブコントローラに対してもプログラムをダウンロードする必要があるか否かを判断する。ステップS102aにおけるダウンロード要求が複数である場合には、ダウンロード要求のあったすべてのスレーブコントローラに対して新しいプログラムをダウンロードするまで、ステップS103aからステップS106aまでの処理を繰り返し実行する。一方、ダウンロード要求のあったすべてのスレーブコントローラに対してダウンロードが終了していれば、処理をステップS108aに移行する。
【0038】
ステップS108aでは、ステップS102aにおいてダウンロード要求がないと判断されたスレーブコントローラに対して、プログラム実行を通知し、起動時ダウンロードルーチンを終了する。このとき、該当するスレーブコントローラは、ステップS108bにおいてプログラム実行の通知を受信すると、それぞれのパワーオン起動ルーチンを終了し、以前から記憶保持されている制御プログラムによる動作ルーチンへ移行する。
【0039】
なお、本発明の保持状態通知手段41A2aは、上記ステップS102bの処理を実行する手段に相当する。送信手段52aはステップS103aからステップS105bを実行する手段に相当し、受信手段41A2bはステップS104bからステップS105bを実行する手段に相当する。また、本発明のプログラム転送手段は、上記送信手段52aと受信手段41A2bを含む手段に相当する。
【0040】
上記のように、本発明を適用した基板処理装置では、各スレーブコントローラが装置起動時に行うプログラムチェックにより異常なプログラムが検出された場合には、そのプログラムを正常なプログラムに更新することが可能である。従って、プログラム異常に起因した装置の誤動作を防止可能である。また、装置稼働中に、プログラムに異常が発生して装置が誤動作した場合でも、基板処理装置を再起動(リセット)することによって、直ちに正常なプログラムに更新させて正常に動作させることが可能である。
【0041】
B2.稼働時ダウンロードの手順:
図6は、稼働時ダウンロードの手順を示すフローチャートである。
【0042】
マスタコントローラ50では、ユーザが希望する場合には、装置の稼働中に任意に割り込みを行って、アプリケーションプログラムをダウンロードするためのルーチン(稼働時ダウンロードルーチン)が実行される。この割り込みは、簡単な割り込み監視によって実現可能である。
【0043】
稼働時ダウンロードルーチンが実行されると、ユーザは、ステップS201aにおいて、プログラムをダウンロードしたいスレーブコントローラの選択を行う。この結果、マスタコントローラ50のメインメモリ(例えば、RAM53)内の所定の領域にスレーブコントローラの選択情報が登録される。ステップS202aでは、ステップS201aにおいてスレーブコントローラ選択が行われなければ、なにも処理が行われずに稼働時ダウンロードルーチンが終了する。一方、S201aにおいてスレーブコントローラ選択が行われると、マスタコントローラ50は、ステップS203aにおいて、選択されたスレーブコントローラに対してダウンロード開始の通知を行う。例えば、まず、スレーブコントローラをスレーブコントローラ41Aに対してダウンロード開始を通知した場合を考える。
【0044】
スレーブコントローラ41Aでは、ステップS203bにおいて、ダウンロード開始の通知を常時監視している常時監視ルーチンが実行されている。図7は、常時監視ルーチンを示すフローチャートである。常時監視ルーチンは、スレーブコントローラ41Aの常駐プログラムとして実行されている。そして、アプリケーションプログラムの動作中に、マスタコントローラ50から通知されるダウンロード開始の通知を常時監視している。ステップS203b1において、ダウンロード開始の通知を受信すると、ステップS203b2において、スレーブコントローラのメインメモリ内の所定のメモリ領域にダウンロード予約が記憶される。図8は、スレーブコントローラ41Aのメモリマップを示す説明図である。上記ダウンロード予約は、RAM41A3 に割り当てられたデータ領域のダウンロード予約記憶領域に記憶される。その後、スレーブコントローラ41Aは、再起動して前記したパワーオン起動ルーチンが実行される。
【0045】
図6に示すように、スレーブコントローラ41Aは、パワーオン起動ルーチンが実行されると、まずステップS104bでダウンロード予約がされている否かを判断する。この判断は、上記ダウンロード予約領域にダウンロード予約が記憶されているか否かをチェックすることにより行われる。ダウンロード予約されていない場合には、通常の装置起動時の処理を実行すればよいので、ここでは省略する。ダウンロード予約されている場合には、ステップS104bにおいてダウンロードの準備を行う。そして、ダウンロードの準備が完了すると、マスタコントローラ50に対して準備完了の通知を行う。
【0046】
マスタコントローラ50は、準備完了の通知を受信すると、ステップS205aにおいて、新しいプログラムやデータをスレーブコントローラ41Aに送信する。スレーブコントローラ41Aは、ステップS105bにおいて、マスタコントローラ50から送信されたプログラムやデータを受信して、RAM41A3 に記憶保持する。このとき、スレーブコントローラ41Aは、ROM41A2 に格納されている起動プログラムに従って、受信した制御プログラムをRAM41A3 に書き込む。従って、RAM41A3 内に記憶されているすべての制御プログラムやデータを更新することが可能である。なお、スレーブコントローラにダウンロードされるプログラムやデータは、図2に示す第1の外部記憶装置54にあらかじめ記憶されているものだけでなく、外部記憶装置70や、サーバ60、あるいは、公衆回線で接続された外部から供給されるプログラムやデータとすることも可能である。
【0047】
マスタコントローラ50は、ステップS205a,S105bにおけるマスタコントローラ50とスレーブコントローラ41Aとの間のプログラムやデータの送受信が終了すると、ステップS206aにおいて、スレーブコントローラ41Aに対して更新されたプログラムでの実行の通知が行われる。スレーブコントローラ41Aは、S106bにおいてプログラム実行の通知を受信すると、RAM41A3 に新しく記憶保持された制御プログラムによる動作ルーチンへ移行する。
【0048】
マスタコントローラ50は、ステップS206aの処理を終了すると、マスタステップS207aにおいて、他のスレーブコントローラに対してもプログラムをダウンロードする必要があるか否かを判断する。ステップS201aにおいて、複数のスレーブコントローラに関してスレーブコントローラ選択情報が登録されている場合には、スレーブコントローラ選択情報に含まれるすべてのスレーブコントローラに対して新しいプログラムをダウンロードするまで、ステップS203aからステップS206aまでの処理を繰り返し実行する。一方、スレーブコントローラ選択情報に含まれるすべてのスレーブコントローラに対してダウンロードを終了していれば、処理をステップS208aに移行する。
【0049】
ステップS208aでは、基板処理装置全体の動作の同期を取り直すために、装置全体の動作の初期化を行う。そして、稼働時ダウンロードルーチンの実行を終了する。
【0050】
なお、本発明の監視手段41A3aは、上記ステップS203bの処理を実行する手段に相当する。送信手段52aはステップS203aからステップS205bを実行する手段に相当し、受信手段41A2bはステップS104bからステップS105bを実行する手段に相当する。また、本発明のプログラム転送手段は、上記送信手段52aと受信手段41A2bを含む手段に相当する。
【0051】
上記のように、本発明を適用した基板処理装置では、装置の稼働中において、ユーザが任意にアプリケーションプログラムやデータをダウンロードすることができる。 従って、ユーザが、プログラムやデータの更新のタイミングを装置の稼働の状態をみて決定し、即座に新しいプログラムへの変更を実行することができる。また、処理条件等を簡単に変更して実行させることも可能である。
【0052】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。例えば、上記実施例では、マスタコントローラとスレーブコントローラとの相互接続をネットワーク回線(LAN回線)によって行っているが、これに限定されるものではなく、相互に接続可能なものであればよい。例えば、一般的なバス接続であってもよい。
【図面の簡単な説明】
【図1】この発明の実施例を適用する基板処理装置20を示す斜視図。
【図2】基板処理装置20の各構成機器を制御する制御回路を示したブロック図。
【図3】マスタコントローラ50の概略構成を示すブロック図。
【図4】スレーブコントローラの一つであるインデクサコントローラ41Aの概略構成を示すブロック図。
【図5】「起動時ダウンロード」の手順を示すフローチャート。
【図6】「稼働時ダウンロード」の手順を示すフローチャート。
【図7】「常時監視ルーチン」を示すフローチャート。
【図8】スレーブコントローラ41Aのメモリマップを示す説明図。
【符号の説明】
20…基板処理装置
31…スピンコータ
31A…スピンコータコントローラ
32…スピンデベロッパ
32A…スピンデベロッパコントローラ
33,34,35…熱処理機器
33A,34A,35A…熱処理機器コントローラ
36…搬送ロボット
36A…搬送ロボットコントローラ
37…支持部材
38…移動体
40…インデクサ
41…移載ロボット
41A1…CPU
41A2…ROM
41A2a…保持状態通知手段
41A2b…受信手段
41A3…RAM
41A3a…監視手段
41A5…バス
41A6…外部I/F
41A7…制御ポート
41A…インデクサコントローラ
42…操作パネル
42a…キーボード
42b…ディスプレイ
50…マスタコントローラ
51…CPU
52…ROM
52a…送信手段
53…RAM
54…記憶装置
55…バス
56…外部I/F
60…サーバ
70…外部記憶装置
70a…フロッピディスク装置
70b…ROM装置
73…モデム
A…第1の処理ユニット群
B…第2の処理ユニット群
C…搬送領域
C1,C2,C3,C4…カセット
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a substrate processing apparatus for processing a substrate such as a semiconductor wafer or a liquid crystal display substrate, and more particularly to a technique for updating a program for controlling processing.
[0002]
[Prior art]
The substrate processing apparatus generally includes a plurality of processing units such as a processing unit for performing a coating process on a semiconductor wafer, a processing unit for performing a development process, and a processing unit for performing a heat treatment. In a conventional substrate processing apparatus, a program and data for controlling each processing unit are stored in a ROM (Read Only Memory) provided in the controller. The operation of each processing unit is controlled by the controller corresponding to each processing unit executing the program.
[0003]
[Problems to be solved by the invention]
In the above-described substrate processing apparatus, there are cases in which control programs and data of each controller need to be changed in accordance with improvement in processing performance, changes in processing procedures, processing conditions, and the like. As described above, since the program to be changed is stored in the ROM provided in the controller, in order to change to a new program, it is necessary to replace the ROM with the new program. However, in order to perform such replacement work, it is necessary to stop the operation of the device, remove the controller to be changed from the device, and then replace the ROM, which is very troublesome and time-consuming. Was hanging. Further, when an abnormality occurs in the control program, it is desirable to change the program to a normal program immediately and restart the operation of the apparatus. However, in the above substrate processing apparatus, it is difficult for the same reason as described above.
[0004]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems in the conventional technology, and has as its object to provide a technology that can easily update a control program that controls processing in a substrate processing apparatus.
[0005]
[Means for Solving the Problems and Their Functions and Effects]
To solve at least part of the above issues,The present invention
A substrate processing apparatus,
A plurality of slave controllers for controlling operations of a plurality of constituent devices constituting the substrate processing apparatus;
A master controller for controlling the operation of the plurality of slave controllers,
Interconnecting the plurality of slave controllers and the master controllernetworkAnd a line,
The master controller comprises:
When the user selects a desired slave controller among the plurality of slave controllers, notifies the selected slave controller of the start of transmission of the control program,
Each of the plurality of slave controllers,
The transmission start notification from the master controller is constantly monitored during operation of the substrate processing apparatus, and when the transmission start notification is received from the master controller, the fact is recorded in a predetermined memory area. , Restart,
When the substrate processing apparatus is started, or when the slave controller is restarted, the record in the predetermined memory area is checked, and when the record is found, the master controller is connected via the network line. Requesting the transmission of a control program, and when there is no record,Examine the holding state of the control program held in the writable main memory of the slave controllerThrough the network lineNotifying the master controller of the holding state of the control program,
The master controller further comprises:
Via the network line, when a request for transmission of the control program is made, or when an abnormality in the holding state of the control program is notified, a slave controller that requests transmission of the control program, orAbnormal state of the control programNotifiedFor the slave controller,CorrespondingTransmitting a control program, and executing the control program stored in the main memory of the slave controller.UpdateIt is characterized by the following.
[0006]
According to the above invention,Since the master controller and the plurality of slave controllers are interconnected via a network, a control program executed by each of the plurality of slave controllers can be transmitted from the master controller via the network. Since the transmitted control program is stored in the main memory of the slave controller, the control program of each slave controller can be easily updated.
[0008]
Also,When the substrate processing apparatus is started, each of the slave controllers checks the holding state of each control program held in the main memory and notifies the master controller. The master controller that has received the notification of the holding state of the control program responds to the slave controller that has notified that the holding state is abnormal among all normal control programs stored in the storage medium provided in the master controller. Control program,networkSend via line. Therefore, every time the substrate processing apparatus is started, the abnormal control program can be easily updated to a normal program, and malfunction of the apparatus can be prevented.
[0010]
further,When the user selects a desired slave controller at any time during the operation of the substrate processing apparatus, the master controller notifies the selected slave controller of the start of transmission of the control program. Each of the slave controllers constantly monitors the transmission start notification from the master controller, and when notified of the transmission start from the master controller, records the fact in a predetermined memory area and then restarts. The restarted slave controller checks whether or not there is a record indicating that the transmission start has been notified in a predetermined memory area, and when there is a record, requests the master controller to transmit the control program. The master controller requested to transmit transmits the control program to the slave controller requesting transmission, and the slave controller requesting transmission receives the transmitted control program. Therefore,The above inventionAccording to this, the control program can be easily updated according to the user's request.
[0011]
Other aspects of the invention
The present invention includes other aspects as described below. The first aspect is
A plurality of slave controllers for controlling the operation of a plurality of constituent devices constituting the substrate processing apparatus; a master controller for controlling the operation of the plurality of slave controllers; and the plurality of slave controllers and the master controller being interconnected. A control method for a substrate processing apparatus, comprising:
Each of the plurality of slave controllers checks a holding state of a control program held in a writable main memory included in the slave controller when the substrate processing apparatus is started, and determines a holding state of the control program by the master. Notifying the controller;
The master controller transmits, via the line, a corresponding control program stored in the storage medium to a slave controller in which the holding state of the control program is abnormal, and the main memory of the slave controller Updating the control program stored in
It is characterized by having.
[0012]
The second aspect is
A plurality of slave controllers for controlling the operation of a plurality of constituent devices constituting the substrate processing apparatus; a master controller for controlling the operation of the plurality of slave controllers; and the plurality of slave controllers and the master controller being interconnected. A control method for a substrate processing apparatus, comprising:
The master controller, at any time desired by the user, while selecting a desired slave controller among the plurality of slave controllers, and notifying the selected slave controller of the start of transmission of a control program,
Each of the plurality of slave controllers constantly monitors the transmission start notification from the master controller during the operation of the substrate processing apparatus, and when the master controller receives the transmission start notification, the fact is notified. Recording in a predetermined memory area and restarting;
The restarted slave controller checks the record in the predetermined memory area, and when the record is found, requesting the master controller to transmit a control program,
A step in which the master controller requested to transmit the control program transmits the control program to the slave controller requesting the transmission, and the slave controller requesting the transmission receives the transmitted control program;
It is characterized by having.
[0013]
A third aspect is a portable storage medium that stores a software program that realizes the above-described invention when executed by a microprocessor of a computer system.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described based on examples.
[0015]
A. Device configuration and operation overview:
FIG. 1 is a perspective view showing a substrate processing apparatus 20 to which an embodiment of the present invention is applied. The substrate processing apparatus 20 includes a plurality of processing units for performing a series of processes (a coating process, a developing process, and a heat treatment in this embodiment) on the semiconductor wafer W. The first processing unit group A arranged on the front surface includes a spin coater 31 for performing a coating process and a spin developer 32 for performing a developing process.
[0016]
In addition, a second processing unit group B is provided at a position on the rear side facing the first processing unit group A. The second processing unit group B includes heat treatment devices 33, 34, and 35 for performing heat treatment (heating / cooling) on the substrate before and after the processing is performed by the spin coater 31 and the spin developer 32. Each of the heat treatment devices 33, 34, and 35 includes a heating heat treatment device (hot plate) 33a, 34a, and 35a at the upper stage and a cooling heat treatment device (cool plate) 33b, 34b, and 35b at the lower stage.
[0017]
Further, the apparatus is provided with a transfer area C extending along the first processing unit group A at a position between the first processing unit group A and the second processing unit group B. A transfer robot 36 is movably arranged in the transfer area C. The transfer robot 36 includes a moving body 38 having a support member 37 having two arms for supporting the semiconductor wafer W (only one arm is visible in the drawing). The upper and lower two arms forming the support member 37 are driven by an arm drive mechanism (not shown), and each processing unit exchanges a semiconductor wafer. That is, one arm receives the semiconductor wafer after the processing from the processing unit, and the other arm places the semiconductor wafer transported from another processing unit on the processing unit. Although not shown, a three-dimensional drive mechanism is connected to the moving body 38 of the transfer robot 36. This drive mechanism moves the moving body 38 in front of each processing unit, and enables the transfer of the semiconductor wafer W.
[0018]
At the end of the substrate processing apparatus 20, there is provided an indexer 40 for carrying out the semiconductor wafer W from the cassettes C1 to C4 and carrying the semiconductor wafer W into the cassettes C1 to C4. The transfer robot 41 provided in the indexer 40 takes out the semiconductor wafer W from the cassettes C1 to C4 and sends it out to the transfer robot 36, or receives the semiconductor wafer W subjected to a series of processes from the transfer robot 36, An operation of returning to the cassettes C1 to C4 is performed.
[0019]
On the front surface of the indexer 40, an operation panel 42 for giving various instructions to the indexer 40 and the first and second processing unit groups A and B is incorporated. The operation panel 42 includes a keyboard 42a (see FIG. 3) for performing various settings and numerical inputs, and a display 42b (see FIG. 3) for displaying various screens based on instructions from the keyboard 42a.
[0020]
FIG. 2 is a block diagram showing a control circuit for controlling each component of the substrate processing apparatus 20 of FIG. The substrate processing apparatus 20 includes eight slave controllers 41A and 36A that control each component of the substrate processing apparatus 20, a master controller 50 that controls the entire substrate processing apparatus 20 by controlling each slave controller, It has. The slave controller includes an indexer controller 41A, a transfer robot controller 36A, a spin coater controller 31A, a spin developer controller 32A, and heat treatment equipment controllers 33A, 34A, 35A. Each controller is connected to each other by a LAN line to form a network. The master controller 50 is a control unit that controls the entire substrate processing apparatus 20 by controlling each controller. Each slave controller controls the operation of a device connected to the slave controller based on an instruction from the master controller 50. That is, the indexer controller 41A controls the transfer robot 41, and the transfer robot controller 36A controls the transfer robot 36. The spin coater controller 31A controls the spin coater 31, and the spin developer controller 32A controls the spin developer 32. The heat treatment equipment controllers 33A, 34A, 35A control the heat treatment equipments 33, 34, 35.
[0021]
FIG. 3 is a block diagram showing a schematic configuration of the master controller 50. The master controller 50 includes a CPU 51 for executing a logical operation, and a ROM 52 and a RAM 53 as a main memory. The ROM 52 stores a basic program for controlling the CPU (for example, a program for controlling activation) and the like. The RAM 53 stores various programs and data for controlling each slave controller. Note that the ROM 52 stores the transmission means 52a of the present invention which is executed by the master controller 50. Further, the master controller 50 includes a first external storage device 54 (corresponding to a storage medium of the present invention) which can write and hold data at any time and can store a large amount of data. The first external storage device 54 is a permanent storage device for storing not only programs and data executed by the master controller 50 but also programs and data executed by each slave controller. An example of the first external storage device 54 is a hard disk device.
[0022]
In this embodiment, a basic program for controlling the CPU and the like are stored in the ROM 52, but the program executed by the master controller 50 is transferred from the first external storage device 54 to the RAM 53. It can also be executed.
[0023]
The master controller 50 is connected to the operation panel 42 and a second external storage device 70 such as a floppy disk device 70a or a CD-ROM device 70b by an external I / F 56 connected to the CPU or the like via a bus 55. , A modem 73, a LAN line, and the like. The operation panel 42 is for the user to make various settings and input numerical values during operation of the apparatus. If the user desires to update each program while the apparatus is operating, the user can operate the settings from this operation panel. The second external storage device 70 includes a portable storage medium for transferring programs and data executed by the master controller 50 and the slave controller to the first external storage device 54 and each slave controller, as described later. It is a storage device. The transfer from the second external storage device 70 to the first external storage device 54 can be performed not only when the program is actually updated, but also in advance. The modem 73 is for connecting the master controller 50 to the outside (for example, another factory) via a public line. Thereby, the program or data executed by the master controller 50 or the slave controller is transferred not from the second external storage device 70 but from another external device to the first external storage device 54 or each slave controller. It is also possible. Further, as described above, the master controller 50 and each slave controller are connected by a LAN line, and by using this LAN line, it is possible to connect to other devices that can be connected to the LAN line, such as the server 60, for example. Thereby, it is also possible to transfer programs and data executed by the master controller 50 and the slave controllers from the server 60 to the first external storage device 54 and each slave controller.
[0024]
FIG. 4 is a block diagram showing a schematic configuration of an indexer controller 41A which is one of the slave controllers. The indexer controller 41A, like the master controller 50, includes a CPU 41A1, a ROM 41A2 as a main memory, and a RAM 41A3. The ROM 41A2 stores the holding state notifying unit 41A2a and the receiving unit 41A2b of the present invention implemented by the indexer controller 41A, and the RAM 41A3 stores the monitoring unit 41A3a. The indexer controller 41A is connected to the master controller 50 via a LAN line by an external I / F 41A6 connected to the CPU 41A1 via a bus 41A5. Further, it is connected to the transfer robot 41 by a control port 41A7 connected via a bus 41A5.
[0025]
The indexer controller 41A controls the operation of the transfer robot 41 by executing a program stored in the RAM 41A3 based on the contents instructed from the master controller 50 via the LAN line. Therefore, it is preferable that the RAM 41A3 holds the program and data executed by the indexer controller 41A even when the substrate processing apparatus 20 is not operating (when the power is turned off). It is preferred to use.
[0026]
The transfer robot controller 36A, the spin coater controller 31A, the spin developer controller 32A, and the heat treatment equipment controllers 33A, 34A, and 35A have the same configuration, and a description thereof will be omitted. In the description below, the name of each controller will be referred to as a slave controller unless otherwise specified.
[0027]
B. Program download procedure:
Next, a procedure for downloading a new control program in order to change the control program executed by each slave controller to a new control program will be described below. The control program download mode includes a startup download mode and an operation download mode. The start-time download mode is a mode in which a program stored in each slave controller is checked when the substrate processing apparatus is started, and the program is downloaded when “program abnormality” is detected. The operating download mode is a mode in which a program is downloaded when the user arbitrarily desires while the apparatus is operating.
[0028]
B1. Startup download procedure:
FIG. 5 is a flowchart showing the procedure of download at the time of startup.
[0029]
In the master controller 50, when the substrate processing apparatus is started, a power-on start sequence for performing initial settings of the apparatus is executed by a start program stored in the ROM 52, and thereafter, a program for start-up download (start-up download routine) is executed. ) Is executed. At the same time, also in each slave controller, for example, the slave controller 41A, the power-on startup routine is executed by the startup program stored in the ROM 41A2. In the following, description will be made assuming that the slave controller 41A represents the slave controller.
[0030]
When the power-on startup routine is executed, the slave controller 41A first determines whether or not a download reservation has been made in step S101b. Since the download reservation is not made when the apparatus is started, the process shifts to step S102b. The details of the download reservation and step S101b will be described later.
[0031]
In step S102b, it is checked whether there is any abnormality in the programs and data stored and held in the RAM 41A3 (program check), and the result is notified to the master controller 50. There are various methods for this check, for example, a general check sum comparison method.
[0032]
When the startup download routine is executed, the master controller 50 first determines in step S102a whether to download a program to the slave controller. This determination is made based on the above check result notified from each slave controller. Also, when the user presses a predetermined key during the activation, it is possible to start an interrupt process and arbitrarily select a slave controller whose program is to be updated. Also in this case, it is determined that the download to the slave controller is performed in step S102a according to the user's selection.
[0033]
When no program abnormality is notified from all the slave controllers and no selection is made by the user, the master controller 50 determines that there is no need to download, and the process shifts to step S108a. If any one of the slave controllers has notified a program abnormality or has made a selection by the user, the master controller 50 determines that there is a download request, and the process proceeds to step S103a. In step S103a, the slave controller that has requested the download, for example, the slave controller 41A is notified that the download is to be started.
[0034]
Upon receiving the download start notification, the slave controller 41A prepares for download in step S104b. When the download preparation is completed, the master controller 50 is notified that the download preparation is completed.
[0035]
Upon receiving the notification of the completion of preparation, the master controller 50 transmits (downloads) a new program or data to the slave controller 41A in step S105a. On the other hand, the slave controller 41A receives the program and data transmitted from the master controller 50 in step S105b, and stores and stores the program and data in the RAM 41A3. At this time, the slave controller 41A writes the received control program into the RAM 41A3 in accordance with the startup program stored in the ROM 41A2. Therefore, it is possible to update all the control programs and data stored in the RAM 41A3. Note that the programs and data downloaded to the slave controller are not limited to those stored in advance in the first external storage device 54 shown in FIG. 2, but may be the second external storage device 70, the server 60, or the public line. It is also possible to use a program or data supplied from the outside connected by.
[0036]
When the transmission and reception of the programs and data in steps S105a and S105b are completed, the master controller 50 notifies the slave controller 41A of the execution of the updated program (program execution) in step S106a. At this time, when the slave controller 41A receives the notification of the program execution in S106b, it ends the power-on startup routine of the slave controller 41 and shifts to an operation routine based on the control program newly stored and held in the RAM 41A3.
[0037]
After ending the processing in step S106a, the master controller 50 determines in step S107a whether it is necessary to download the program to another slave controller. If there are a plurality of download requests in step S102a, the processes from step S103a to step S106a are repeatedly executed until a new program is downloaded to all slave controllers that have requested download. On the other hand, if the download has been completed for all slave controllers for which the download request has been made, the process proceeds to step S108a.
[0038]
In step S108a, a program execution is notified to the slave controller that is determined not to have a download request in step S102a, and the startup download routine ends. At this time, upon receiving the notification of the program execution in step S108b, the corresponding slave controller ends each power-on startup routine and shifts to an operation routine based on a control program stored and held before.
[0039]
Note that the holding state notifying unit 41A2a of the present invention corresponds to a unit that executes the process of step S102b. The transmitting unit 52a corresponds to a unit that executes steps S103a to S105b, and the receiving unit 41A2b corresponds to a unit that executes steps S104b to S105b. Further, the program transfer unit of the present invention corresponds to a unit including the transmission unit 52a and the reception unit 41A2b.
[0040]
As described above, in the substrate processing apparatus to which the present invention is applied, when an abnormal program is detected by a program check performed by each slave controller at the time of starting the apparatus, the program can be updated to a normal program. is there. Therefore, it is possible to prevent the device from malfunctioning due to the program abnormality. Further, even if an abnormality occurs in the program and the apparatus malfunctions during the operation of the apparatus, the substrate processing apparatus can be immediately updated to a normal program and operated normally by restarting (resetting) the substrate processing apparatus. is there.
[0041]
B2. Runtime download procedure:
FIG. 6 is a flowchart showing the procedure of download during operation.
[0042]
In the master controller 50, if the user desires, an interrupt is arbitrarily made during the operation of the apparatus, and a routine for downloading the application program (operation download routine) is executed. This interrupt can be realized by simple interrupt monitoring.
[0043]
When the in-operation download routine is executed, the user selects a slave controller to download a program in step S201a. As a result, the selection information of the slave controller is registered in a predetermined area in the main memory (for example, the RAM 53) of the master controller 50. In step S202a, if the slave controller is not selected in step S201a, no processing is performed, and the operating download routine ends. On the other hand, when the slave controller is selected in S201a, the master controller 50 notifies the selected slave controller of the download start in Step S203a. For example, first, consider a case where the slave controller notifies the slave controller 41A of the start of download.
[0044]
In the slave controller 41A, in step S203b, a constant monitoring routine for constantly monitoring the notification of the download start is executed. FIG. 7 is a flowchart showing the constant monitoring routine. The constant monitoring routine is executed as a resident program of the slave controller 41A. During the operation of the application program, the download start notification from the master controller 50 is constantly monitored. Upon receiving the download start notification in step S203b1, the download reservation is stored in a predetermined memory area in the main memory of the slave controller in step S203b2. FIG. 8 is an explanatory diagram showing a memory map of the slave controller 41A. The download reservation is stored in the download reservation storage area of the data area allocated to the RAM 41A3. Thereafter, the slave controller 41A is restarted and the above-described power-on startup routine is executed.
[0045]
As shown in FIG. 6, when the power-on startup routine is executed, the slave controller 41A first determines in step S104b whether a download reservation has been made. This determination is made by checking whether a download reservation is stored in the download reservation area. If no download reservation has been made, normal processing at the time of device startup may be executed, and a description thereof will be omitted. If download reservation has been made, download preparation is performed in step S104b. When the preparation for download is completed, the master controller 50 is notified of the completion of preparation.
[0046]
Upon receiving the notification of the completion of preparation, the master controller 50 transmits a new program or data to the slave controller 41A in step S205a. In step S105b, the slave controller 41A receives the program and data transmitted from the master controller 50, and stores the program and data in the RAM 41A3. At this time, the slave controller 41A writes the received control program into the RAM 41A3 in accordance with the startup program stored in the ROM 41A2. Therefore, it is possible to update all the control programs and data stored in the RAM 41A3. The programs and data downloaded to the slave controller are not limited to those stored in advance in the first external storage device 54 shown in FIG. 2, but may be connected to the external storage device 70, the server 60, or a public line. It is also possible to use a program or data supplied from the outside.
[0047]
When the transmission and reception of the program and data between the master controller 50 and the slave controller 41A in steps S205a and S105b are completed, the master controller 50 notifies the slave controller 41A of the execution of the updated program in step S206a. Done. Upon receiving the program execution notification in S106b, the slave controller 41A shifts to an operation routine based on the control program newly stored and held in the RAM 41A3.
[0048]
After ending the processing in step S206a, the master controller 50 determines in master step S207a whether or not it is necessary to download the program to another slave controller. In step S201a, if the slave controller selection information is registered for a plurality of slave controllers, steps S203a to S206a are performed until a new program is downloaded to all the slave controllers included in the slave controller selection information. Repeat the process. On the other hand, if the download has been completed for all the slave controllers included in the slave controller selection information, the process proceeds to step S208a.
[0049]
In step S208a, in order to resynchronize the operation of the entire substrate processing apparatus, the operation of the entire apparatus is initialized. Then, the execution of the in-operation download routine ends.
[0050]
Note that the monitoring unit 41A3a of the present invention corresponds to a unit that executes the process of step S203b. The transmitting unit 52a corresponds to a unit that executes steps S203a to S205b, and the receiving unit 41A2b corresponds to a unit that executes steps S104b to S105b. Further, the program transfer unit of the present invention corresponds to a unit including the transmission unit 52a and the reception unit 41A2b.
[0051]
As described above, in the substrate processing apparatus to which the present invention is applied, a user can arbitrarily download an application program or data while the apparatus is operating. Therefore, the user can determine the update timing of the program or data in view of the operation state of the apparatus, and can immediately change to a new program. It is also possible to easily change the processing conditions and the like.
[0052]
It should be noted that the present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, in the above-described embodiment, the interconnection between the master controller and the slave controller is performed by a network line (LAN line). However, the present invention is not limited to this, and any connection can be used as long as the interconnection is possible. For example, a general bus connection may be used.
[Brief description of the drawings]
FIG. 1 is a perspective view showing a substrate processing apparatus 20 to which an embodiment of the present invention is applied.
FIG. 2 is a block diagram showing a control circuit for controlling each component of the substrate processing apparatus 20.
FIG. 3 is a block diagram showing a schematic configuration of a master controller 50.
FIG. 4 is a block diagram showing a schematic configuration of an indexer controller 41A which is one of the slave controllers.
FIG. 5 is a flowchart showing a procedure of “download at startup”.
FIG. 6 is a flowchart showing a procedure of “download during operation”.
FIG. 7 is a flowchart illustrating a “constant monitoring routine”;
FIG. 8 is an explanatory diagram showing a memory map of a slave controller 41A.
[Explanation of symbols]
20: substrate processing equipment
31 ... Spin coater
31A ... Spin coater controller
32 ... Spin developer
32A: Spin developer controller
33, 34, 35 ... heat treatment equipment
33A, 34A, 35A ... heat treatment equipment controller
36 ... Transfer robot
36A: Transfer robot controller
37 ... Support member
38: Moving object
40 ... Indexer
41 ... Transfer robot
41A1 ... CPU
41A2 ROM
41A2a ... holding state notifying means
41A2b ... receiving means
41A3 ... RAM
41A3a ... Monitoring means
41A5… Bus
41A6 ... External I / F
41A7 ... Control port
41A… Indexer controller
42 ... Operation panel
42a ... keyboard
42b ... Display
50: Master controller
51 ... CPU
52 ... ROM
52a ... Transmission means
53 ... RAM
54 ... Storage device
55… Bus
56 ... External I / F
60 ... Server
70 external storage device
70a: Floppy disk drive
70b ROM device
73… Modem
A: First processing unit group
B: second processing unit group
C: Transport area
C1, C2, C3, C4 ... cassette

Claims (1)

基板処理装置であって、
基板処理装置を構成する複数の構成装置の動作を制御する複数のスレーブコントローラと、
前記複数のスレーブコントローラの動作を制御するマスタコントローラと、
前記複数のスレーブコントローラと前記マスタコントローラとを相互に接続するネットワーク回線と、を備え、
前記マスタコントローラは、
ユーザが前記複数のスレーブコントローラのうち所望のスレーブコントローラを選択したときに、前記選択されたスレーブコントローラに対して制御プログラムの送信開始を通知し、
前記複数のスレーブコントローラそれぞれは、
前記マスタコントローラからの前記送信開始の通知を、前記基板処理装置の稼働中に常時監視し、前記マスタコントローラから前記送信開始の通知があった場合に、その旨を所定のメモリ領域に記録するとともに、再起動し、
前記基板処理装置の起動されたとき、または、前記スレーブコントローラが再起動されたときに、前記所定のメモリ領域の記録を調べ、前記記録があったときは、前記ネットワーク回線を介して前記マスタコントローラに制御プログラムの送信を要求し、前記記録がなかったときには、前記スレーブコントローラ内に有する書き込み可能なメインメモリに保持されている制御プログラムの保持状態を調べて、前記ネットワーク回線を介して前記制御プログラムの保持状態を前記マスタコントローラに通知し、
前記マスタコントローラは、さらに、
前記ネットワーク回線を介して、前記制御プログラムの送信の要求がされたとき、または、前記制御プログラムの保持状態の異常が通知されたときに、前記制御プログラムの送信を要求したスレーブコントローラ、または、前記制御プログラムの保持状態の異常を通知したスレーブコントローラに対して、対応する制御プログラムを送信して、前記スレーブコントローラの前記メインメモリに記憶されている前記制御プログラムを更新させることを特徴とする基板処理装置。
A substrate processing apparatus,
A plurality of slave controllers for controlling operations of a plurality of constituent devices constituting the substrate processing apparatus;
A master controller for controlling the operation of the plurality of slave controllers,
A network line for interconnecting the plurality of slave controllers and the master controller,
The master controller comprises:
When the user selects a desired slave controller among the plurality of slave controllers, notifies the selected slave controller of the start of transmission of the control program,
Each of the plurality of slave controllers,
The transmission start notification from the master controller is constantly monitored during operation of the substrate processing apparatus, and when the transmission start notification is received from the master controller, the fact is recorded in a predetermined memory area. , Restart,
When the substrate processing apparatus is started, or when the slave controller is restarted, the record in the predetermined memory area is checked, and when the record is found, the master controller is connected via the network line. Requesting the transmission of the control program to the slave controller, and when there is no recording , check the holding state of the control program held in the writable main memory in the slave controller, and check the control program via the network line. Notify the master controller of the holding state of
The master controller further comprises:
Via the network line, when a request for transmission of the control program is made, or when an abnormality in the holding state of the control program is notified, a slave controller that requests transmission of the control program, or A substrate process, comprising transmitting a corresponding control program to a slave controller that has notified an abnormality in a holding state of the control program, and updating the control program stored in the main memory of the slave controller. apparatus.
JP29967196A 1996-10-23 1996-10-23 Substrate processing equipment Expired - Fee Related JP3592861B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29967196A JP3592861B2 (en) 1996-10-23 1996-10-23 Substrate processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29967196A JP3592861B2 (en) 1996-10-23 1996-10-23 Substrate processing equipment

Publications (2)

Publication Number Publication Date
JPH10124322A JPH10124322A (en) 1998-05-15
JP3592861B2 true JP3592861B2 (en) 2004-11-24

Family

ID=17875571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29967196A Expired - Fee Related JP3592861B2 (en) 1996-10-23 1996-10-23 Substrate processing equipment

Country Status (1)

Country Link
JP (1) JP3592861B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097262A1 (en) * 2000-06-16 2001-12-20 Tokyo Electron Limited Semiconductor manufacturing apparatus detecting a state of connection between controllers
TWI244603B (en) 2001-07-05 2005-12-01 Dainippon Screen Mfg Substrate processing system for managing device information of substrate processing device
JP4071461B2 (en) * 2001-07-05 2008-04-02 大日本スクリーン製造株式会社 Substrate processing system, substrate processing apparatus, program, and recording medium
CN100394384C (en) * 2005-03-08 2008-06-11 杭州华三通信技术有限公司 Method and system for on-line updating of network
JP2007308259A (en) * 2006-05-18 2007-11-29 Mitsubishi Electric Corp Elevator control system
US8073559B2 (en) * 2008-06-19 2011-12-06 Varian Semiconductor Equipment Associates, Inc. Material transport systems using autonomous controls
KR102315878B1 (en) * 2018-12-26 2021-10-21 세메스 주식회사 A transfer unit controller and a substrate processing apparatus
JP2022185722A (en) * 2021-06-03 2022-12-15 キヤノン株式会社 Substrate processing system and control method therefor

Also Published As

Publication number Publication date
JPH10124322A (en) 1998-05-15

Similar Documents

Publication Publication Date Title
JP4496093B2 (en) Remote enterprise management of high availability systems
JP3850859B2 (en) Hall management system
CN100378670C (en) Apparatus and method for updating I/O capability of a logically-partitioned computer system
JP3892493B2 (en) Substrate processing system
US7007077B1 (en) Remote maintenance method of an information processing apparatus
JPH0727502B2 (en) Data processing system including user inquiry function
JPH0581942B2 (en)
JP2004295270A (en) Shared storage system
CN108206847A (en) CDN management system, method and device
JPH0944342A (en) Computer network system and version number managing method for its operating system
JP2008123412A (en) Computer system, system software upgrade method, and first server device
JP3592861B2 (en) Substrate processing equipment
US20070050490A1 (en) Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US20060167886A1 (en) System and method for transmitting data from a storage medium to a user-defined cluster of local and remote server blades
JP3855621B2 (en) Remote maintenance method for information processing apparatus
JP2001027951A (en) File loading device for information processing system of multiprocessor configuration and recording medium
JP2001075810A (en) Computer system, extension board and method for updating extension board function in computer system
JP2003022188A (en) Substrate processing system, method for managing substrate processor, substrate processor, program, and recording medium
JPH10133860A (en) Method for distributing and updating os
JP4571056B2 (en) Method, information processing apparatus and program for incorporating new apparatus into information processing apparatus
JP4191399B2 (en) Substrate processing equipment management system
JP4707903B2 (en) Substrate processing system and substrate processing apparatus management method
JPH11298550A (en) Communication system and communication equipment
JPH1097482A (en) Computer system
JP2733878B2 (en) Remote maintenance monitoring method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees