(57)【特許請求の範囲】
【請求項１】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記更新プログラム及び前記制御プログラムのバージョン情報が、少なくとも上位及び下位の２段階のバージョン情報を含み、前記メインコントローラは、少なくとも上位のバージョン情報が一致したときに、各ユニットコントローラに提供する更新プログラムのバージョン情報又はその組合せが前記バージョン組合せデータと一致すると判定することを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項２】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記更新プログラム及び前記制御プログラムのバージョン情報が、少なくとも上位及び下位の２段階のバージョン情報を含み、前記メインコントローラは、少なくとも上位のバージョン情報が一致したときに、各ユニットコントローラに提供する更新プログラムのバージョン情報又はその組合せが前記バージョン組合せデータと一致すると判定することを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項３】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、一部又は全部のユニットコントローラに更新プログラムを提供する場合、それらの更新プログラムのバージョン情報を前記バージョン組合せデータの対応するバージョン情報と置き換えた上で、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する機能と、その判定により適正であるときに、前記一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記更新プログラム及び前記制御プログラムのバージョン情報が、少なくとも上位及び下位の２段階のバージョン情報を含み、前記メインコントローラは、上位のバージョン情報を使用して、前記バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定することを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項４】
前記更新プログラム及び前記制御プログラムのバージョン情報が、上位、中位及び下位の３段階のバージョン情報からなり、前記メインコントローラは、上位及び中位のバージョン情報又は上位のバージョン情報が一致したときに、各ユニットコントローラに提供する更新プログラムのバージョン情報又はその組合せが前記バージョン組合せデータと一致すると判定する、請求項１又は２に記載の半導体製造装置の制御プログラムの更新システム。
【請求項５】
前記更新プログラム及び前記制御プログラムのバージョン情報が、上位、中位及び下位の３段階のバージョン情報からなり、前記メインコントローラは、上位、又は上位及び中位のバージョン情報を使用して、前記バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する請求項３に記載の半導体製造装置の制御プログラムの更新システム。
【請求項６】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能と、起動時に、各ユニットコントローラの制御プログラムのバージョン情報の組合せを確認し、そのバージョン情報の組合せが適正か否かを判定する機能と、その判定により適正でないときに、ユニットコントローラに更新プログラムを再提供する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項７】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能と、起動時に、各ユニットコントローラの制御プログラムのバージョン情報の組合せを確認し、そのバージョン情報の組合せが適正か否かを判定する機能と、その判定により適正でないときに、ユニットコントローラに更新プログラムを再提供する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項８】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、一部又は全部のユニットコントローラに更新プログラムを提供する場合、それらの更新プログラムのバージョン情報を前記バージョン組合せデータの対応するバージョン情報と置き換えた上で、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する機能と、その判定により適正であるときに、前記一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供する機能と、起動時に、各ユニットコントローラの制御プログラムのバージョン情報の組合せを確認し、そのバージョン情報の組合せが適正か否かを判定する機能と、その判定により適正でないときに、ユニットコントローラに更新プログラムを再提供する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項９】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記ユニットコントローラは、メインコントローラから提供される更新プログラムに付加された付加情報に基づき、提供される更新プログラムが当該ユニットコントローラに適合するか否かを判定する機能と、前記提供される更新プログラムが当該ユニットコントローラに適合すると判定されたときに、その更新プログラムにより制御プログラムを更新する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項１０】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記ユニットコントローラは、メインコントローラから提供される更新プログラムに付加された付加情報に基づき、提供される更新プログラムが当該ユニットコントローラに適合するか否かを判定する機能と、前記提供される更新プログラムが当該ユニットコントローラに適合すると判定されたときに、その更新プログラムにより制御プログラムを更新する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項１１】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、一部又は全部のユニットコントローラに更新プログラムを提供する場合、それらの更新プログラムのバージョン情報を前記バージョン組合せデータの対応するバージョン情報と置き換えた上で、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する機能と、その判定により適正であるときに、前記一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記ユニットコントローラは、メインコントローラから提供される更新プログラムに付加された付加情報に基づき、提供される更新プログラムが当該ユニットコントローラに適合するか否かを判定する機能と、前記提供される更新プログラムが当該ユニットコントローラに適合すると判定されたときに、その更新プログラムにより制御プログラムを更新する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項１２】
前記付加情報がユニット名を含み、前記ユニットコントローラは、前記付加情報のユニット名が、当該ユニットコントローラが制御対象とするユニット名と一致したときに、前記提供される更新プログラムが当該ユニットコントローラに適合すると判定する、請求項９〜１１のいずれかに記載の半導体製造装置の制御プログラムの更新システム。
【請求項１３】
前記付加情報がプログラムチェックコードを含み、前記ユニットコントローラは、前記プログラムチェックコードをチェックし、更新プログラムにエラーが発見されなかったときに、その更新プログラムにより制御プログラムを更新する、請求項９〜１２のいずれかに記載の半導体製造装置の制御プログラムの更新システム。
【請求項１４】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記ユニットコントローラは、起動時に制御プログラムをチェックする機能と、チェックの結果、制御プログラムにエラーが発見されたときに、メインコントローラに更新プログラムの提供を要求する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項１５】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに必要な制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記ユニットコントローラは、起動時に制御プログラムをチェックする機能と、チェックの結果、制御プログラムにエラーが発見されたときに、メインコントローラに更新プログラムの提供を要求する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【請求項１６】
半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、
前記メインコントローラは、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、一部又は全部のユニットコントローラに更新プログラムを提供する場合、それらの更新プログラムのバージョン情報を前記バージョン組合せデータの対応するバージョン情報と置き換えた上で、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する機能と、その判定により適正であるときに、前記一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供する機能とを備え、
前記ユニットコントローラは、起動時に制御プログラムをチェックする機能と、チェックの結果、制御プログラムにエラーが発見されたときに、メインコントローラに更新プログラムの提供を要求する機能とを備えたことを特徴とする半導体製造装置の制御プログラムの更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユニット毎にその動作を制御するユニットコントローラを有する分散制御方式の半導体製造装置において、ユニットコントローラの制御プログラムを更新する、半導体製造装置の制御プログラムの更新システムに関する。
【背景技術】
【０００２】
半導体製造装置の一例として電子部品実装装置は、電子部品を撮像するカメラユニット、電子部品を搬送する搬送ユニット、電子部品をプリント基板に実装する実装ヘッド等の複数のユニットから構成され、分散制御方式においてはユニット毎にユニットコントローラを設置し、ユニットコントローラが制御プログラムを実行することにより各ユニットの動作を制御する。そして、メインコントローラが、各ユニットコントローラを統括する。
【０００３】
このような分散制御方式の半導体製造装置において、ユニットコントローラの制御プログラムを更新する場合は、従来の制御プログラムが書き込まれたＲＯＭを新しい制御プログラムが書き込まれたＲＯＭと交換するか、あるいはユニットコントローラにメインコントローラから更新プログラムを提供し、更新プログラムにより制御プログラムを更新する（例えば特許文献１）。
【０００４】
前述のとおり半導体製造装置は、複数のユニットコントローラを有し、各ユニットコントローラが制御プログラムを実行することにより各ユニットの動作を制御するが、半導体製造装置を全体として機能させるには各ユニットを調和させながら動作させる必要がある。そのためには、各ユニットコントローラの制御プログラムのバージョン管理が重要である。すなわち、各ユニットコントローラの制御プログラムのバージョンの組合せを適切にする必要がある。
【０００５】
しかしながら、特許文献１に記載の更新システムにおいては、更新プログラムのバージョンの適否は考慮されておらず、結果として、更新された制御プログラム間でバージョン不整合が生じることがあり、半導体製造装置全体としての各ユニットの動作の整合性が損なわれるという問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２１７１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、更新プログラムによりユニットコントローラ毎に制御プログラムを更新する更新システムにおいて、更新後の制御プログラム間でバージョン不整合が生じることを防止し、半導体製造装置の各ユニットコントローラの制御プログラムの更新が適切に実行されるようにすることにある。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、半導体製造装置のユニット毎に設置され、制御プログラムを実行することにより前記ユニットの動作を制御するユニットコントローラに、メインコントローラから更新プログラムを提供し、その更新プログラムによりユニットコントローラの制御プログラムを更新する半導体製造装置の制御プログラムの更新システムであって、前記メインコントローラは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報の組合せが前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備えたことを特徴とする。このように、メインコントローラにおいて、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すバージョン組合せデータと各ユニットコントローラに提供しようとする更新プログラムのバージョン情報の組合せとが一致するか否かを判定し、一致すると判定されたときのみに各ユニットコントローラにそれぞれ更新プログラムを提供するようにすることで、制御プログラム間でバージョン不整合が生じることを防止できる。
【０００９】
本発明の第２の態様は、前記メインコントローラが、バージョン組合せデータとしてユニットコントローラに必要な制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否かを判定する機能と、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する機能とを備えたことを特徴とする。この第２の態様によっても、前記第１の態様と同様に制御プログラム間でバージョン不整合が生じることを防止できる。
【００１０】
本発明の第３の態様は、前記メインコントローラが、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを有し、一部又は全部のユニットコントローラに更新プログラムを提供する場合、それらの更新プログラムのバージョン情報を前記バージョン組合せデータの対応するバージョン情報と置き換えた上で、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する機能と、その判定により適正であるときに、前記一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供する機能とを備えたことを特徴とする。このように、メインコントローラにおいて、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定し、適正と判定されたときのみに一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供するようにすることで、制御プログラム間でバージョン不整合が生じることを防止できる。
【００１１】
通常、更新プログラムは、少なくとも上位及び下位の２段階のバージョン情報を含むことが多い。この場合、下位のバージョン情報は細かい不具合の修正などの改訂を表しており、下位のバージョンが異なっていても制御プログラム間でバージョン不整合を起こすことは少ない。したがって、本発明の一形態では、上位のバージョン情報を使用して、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否か、あるいは前記バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する。また、更新プログラムのバージョン情報が、上位、中位及び下位の３段階のバージョン情報からなる場合は、上位、又は上位及び中位のバージョン情報を使用して、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致するか否か、あるいは前記バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定する。このように、細かい不具合の修正などの改訂を表す下位のバージョン情報を考慮せずにバージョンの整合性を判定するようにすることで、バージョンの整合性確保に過度の制約条件を課すことなく、より現実的で実用性のあるプログラム更新を実行できる。
【００１２】
また、本発明において、メインコントローラは、起動時に、各ユニットコントローラの制御プログラムのバージョン情報の組合せを確認し、そのバージョン情報の組合せが適正か否かを判定する機能と、その判定により適正でないときに、ユニットコントローラに更新プログラムを再提供する機能とを更に備えることが好ましい。これらの機能を備えることで、更新プログラムによる制御プログラムの更新に不具合（エラー）が生じているものがあったとしても、起動時に事前にバージョン不整合を発見でき、バージョン不整合が発見された場合は、更新プログラムを再提供するので、バージョン不整合が生じることをより確実に防止できる。この場合、バージョン不整合が発見されたユニットコントローラの制御プログラムの更新プログラムのみを再提供するようにしてもよく、再度、全体のバージョン整合性をとるために全てのユニットコントローラに対してそれぞれの更新プログラムを再提供するようにしてもよい。
【００１３】
本発明において、ユニットコントローラは、メインコントローラから提供される更新プログラムに付加された付加情報に基づき、提供される更新プログラムが当該ユニットコントローラに適合するか否かを判定する機能と、前記提供される更新プログラムが当該ユニットコントローラに適合すると判定されたときに、その更新プログラムにより制御プログラムを更新する機能とを備えたものとすることが好ましい。ユニットコントローラがこれらの機能を備えることで、誤ってそのユニットコントローラに適合しない更新プログラムが提供されたとしても制御プログラムの更新は実行されず、そのユニットコントローラに適合する更新プログラムが提供された場合にのみ制御プログラムの更新が実行される。したがって、制御プログラムが誤って更新されたり、更新中にエラーが発生したりすることを防止でき、各ユニットコントローラの制御プログラムを適切に更新できる。
【００１４】
提供される更新プログラムがそのユニットコントローラに適合するか否かの判定は、更新プログラムに付加情報としてユニット名を付加しておき、ユニットコントローラが付加情報のユニット名と当該ユニットコントローラが制御対象とするユニット名とを照合することで行うことができ、それらが一致したときに適合すると判定する。
【００１５】
また、メインコントローラから提供される更新プログラムにエラーがないことをチェックするために、更新プログラムの付加情報としてプログラムチェックコードを付加しておき、ユニットコントローラにおいて、そのプログラムチェックコードをチェックし、更新プログラムにエラーが発見されなかったときに、その更新プログラムにより制御プログラムを更新するようにすることが好ましい。これにより、エラーのある更新プログラムにより制御プログラムが誤って更新されることを防止でき、各ユニットコントローラの制御プログラムをより適切に更新できる。
【００１６】
更に、本発明においてユニットコントローラは、起動時に制御プログラムをチェックする機能と、チェックの結果、制御プログラムにエラーが発見されたときに、メインコントローラに更新プログラムの提供を要求する機能とを備えることが好ましい。ユニットコントローラがこのような機能を備えることで、更新中の通信不具合などにより、ユニットコントローラの制御プログラムに不具合（エラー）が生じたとしても、改めて更新処理を行い、エラーを解消することができる。このような再更新の処理は、エラーが発見された制御プログラムに対してのみ実行してもよいし、再度、全ての制御プログラムに対して実行してもよい。
【発明の効果】
【００１７】
本発明によれば、メインコントローラが、各ユニットコントローラに提供する更新プログラムのバージョンが適正か否かを判定し、その判定により適正であるときに、ユニットコントローラにそれぞれ更新プログラムを提供するので、更新された制御プログラム間でバージョン不整合が生じることを防止できる。したがって、制御プログラムの更新後においても、半導体製造装置全体としての各ユニットの動作の整合性を維持することができる。
【００１８】
また、メインコントローラが、起動時に制御プログラム間のバージョン整合性を確認し、その結果、バージョン不整合が発見された場合に、ユニットコントローラに更新プログラムを再提供するようにすれば、バージョン不整合が生じることをより確実に防止できる。
【００１９】
更に、ユニットコントローラが、メインコントローラから提供される更新プログラムに付加された付加情報に基づき、提供される更新プログラムが当該ユニットコントローラに適合するか否かを判定し、提供される更新プログラムが当該ユニットコントローラに適合すると判定されたときに、その更新プログラムにより制御プログラムを更新する、すなわち、そのユニットコントローラに適合する更新プログラムが提供された場合にのみ、制御プログラムの更新が実行されるようにすることで、制御プログラムが誤って更新されたり、更新中にエラーが発生したりすることを防止でき、各ユニットコントローラの制御プログラムを適切に更新できる。
【００２０】
また更に、ユニットコントローラが、起動時に制御プログラムをチェックし、その結果、制御プログラムにエラーが発見された場合に、メインコントローラに更新プログラムの提供を要求し、再更新するようにすることで、各ユニットコントローラの制御プログラムをより適切に更新できる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る半導体製造装置の制御プログラムの更新システムの一例を示すシステム構成図である。
【図２】メインコントローラの構成例を示すブロック図である。
【図３】ユニットコントローラの構成例を示すブロック図である。
【図４】ユニットコントローラの制御プログラムを更新する手順を示す概念図である。
【図５】更新プログラムの構成例を示す図である。
【図６】メインコントローラのハードディスク（ＨＤＤ）の構成例を示す図である。
【図７】ユニットコントローラのＲＯＭの構成例を示す図である。
【図８】本発明による制御プログラムの更新処理の第１段階を示すフロー図である。
【図９】更新プログラムによる制御プログラムの更新処理の概要を示す図である。
【図１０】メインコントローラの起動時の処理を示すフロー図である。
【図１１】ユニットコントローラの付加的な機能（更新プログラムの適合性チェック機能）を示すフロー図である。
【図１２】ユニットコントローラの付加的な機能（制御プログラムのチェック機能）を示すフロー図である。
【発明を実施するための形態】
【００２２】
図１は、本発明に係る半導体製造装置の制御プログラムの更新システムの一例を示すシステム構成図である。同図において、半導体製造装置は、複数のユニットＡ，Ｂ，Ｃ・・・Ｘから構成され、そのユニット毎にユニットコントローラＡ，Ｂ，Ｃ・・・Ｘを設置し、ユニットコントローラＡ，Ｂ，Ｃ・・・Ｘが制御プログラムを実行することにより各ユニットＡ，Ｂ，Ｃ・・・Ｘの動作を制御する。そして、メインコントローラが、各ユニットコントローラＡ，Ｂ，Ｃ・・・Ｘを統括する。この半導体製造装置におけるユニットの例は、電子部品を撮像するカメラユニット、電子部品を搬送する搬送ユニット、電子部品をプリント基板に実装する実装ヘッド等である。
【００２３】
図２はメインコントローラの構成例を示し、図３はユニットコントローラの構成例を示す。メインコントローラは中央演算処理装置（ＣＰＵ）及びハードディスク（ＨＤＤ）を有し、各ユニットコントローラはマイクロプロセッサ（ＭＰＵ）及び書き換え可能なＲＯＭ（以下、単に「ＲＯＭ」という。）を有する。メインコントローラのＨＤＤにはユニットコントローラＡ，Ｂ，Ｃ・・・Ｘを統括制御する統括制御プログラムが格納され、各ユニットコントローラのＲＯＭには、対応するユニットの制御プログラムが格納されている。
【００２４】
図４は、本発明において、ユニットコントローラの制御プログラムを更新する手順を示す概念図である。
【００２５】
各ユニットコントローラＡ，Ｂ，Ｃ・・・Ｘには、それぞれ制御対象のユニットＡ，Ｂ，Ｃ・・・Ｘに対応する制御プログラムＡ，Ｂ，Ｃ・・・Ｘが格納されている。これらの制御プログラムＡ，Ｂ，Ｃ・・・Ｘを更新するには、通信回線や外部媒体などからメインコントローラに更新プログラムＡ，Ｂ，Ｃ・・・Ｘを入力（コピー）し、メインコントローラが、更新実行プログラムを実行してユニットコントローラＡ，Ｂ，Ｃ・・・Ｘと通信を行うことにより、更新プログラムＡ，Ｂ，Ｃ・・・ＸをユニットコントローラＡ，Ｂ，Ｃ・・・Ｘに提供する。そして、ユニットコントローラＡ，Ｂ，Ｃ・・・Ｘが、メインコントローラから提供された更新プログラムＡ，Ｂ，Ｃ・・・Ｘにより、当該ユニットコントローラの制御プログラムを更新する。
【００２６】
図５は、更新プログラムの構成例を示す。更新プログラムは、その本体をなすプログラムコードのほかに、制御プログラムを適切に更新できるように付加情報を有する。図５の例では、付加情報として、バージョン情報、制御対象のユニット名、プログラムチェックコード及びプログラムサイズを有する。付加情報に基づく動作は後述する。
【００２７】
図６はメインコントローラのＨＤＤの構成例を示し、図７はユニットコントローラのＲＯＭの構成例を示す。メインコントローラのＨＤＤには、図２で説明した統括制御プログラムのほかに、起動プログラムと更新実行プログラムが格納されている。ユニットコントローラのＲＯＭには、図３で説明した制御プログラムのほかに、起動プログラムと更新実行プログラムが格納されている。それぞれの起動プログラムと更新実行プログラムの動作は後述する。
【００２８】
以下、本発明の更新システムの動作を説明する。
【００２９】
図８は、本発明による制御プログラムの更新処理の第１段階を示すフロー図である。制御プログラムの更新処理は、ユーザー又はサービスエンジニアがメインコントローラのインターフェイスより更新実行プログラムを起動して更新動作を開始することにより、開始する。
【００３０】
メインコントローラは、通信回線や外部媒体などから入力（コピー）された更新プログラムＡ，Ｂ，Ｃ・・・Ｘを各ユニットコントローラに提供する前に、更新プログラムのバージョンの組合せが妥当であるか否かを判定する。具体的には、メインコントローラは、更新プログラムＡ，Ｂ，Ｃ・・・Ｘの付加情報に基づき各更新プログラムのバージョン情報を確認し、そのバージョン情報の組合せがバージョン組合せデータと一致するか否かを判定する。バージョン組合せデータは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せを示すものである。言い換えればバージョン組合せデータは、各ユニットコントローラに適用する更新プログラムのバージョンの適切な組合せを示すもので、例えば、ユニットコントローラ毎に適切な更新プログラムのバージョン情報をリスト形式で対応させたものである。このようなバージョン組合せデータは、更新プログラムＡ，Ｂ，Ｃ・・・Ｘと共に通信回線や外部媒体などからメインコントローラに入力されるか、予めメインコントローラに入力される。
【００３１】
メインコントローラは、入力された更新プログラムＡ，Ｂ，Ｃ・・・Ｘのバージョン情報の組合せがバージョン組合せデータと一致すると判定された場合にのみ、各ユニットコントローラにそれぞれ更新プログラムＡ，Ｂ，Ｃ・・・Ｘを提供する。これにより、更新後の制御プログラム間でバージョン不整合が生じることを防止できる。なお、更新プログラムＡ，Ｂ，Ｃ・・・Ｘのバージョン情報の組合せがバージョン組合せデータと一致しない場合は更新処理を終了し、例えばエラー表示を行う。
【００３２】
ここで、更新プログラムは、少なくとも上位及び下位の２段階のバージョン情報を含むことが多い。例えば、更新プログラムのバージョン情報は「xx.yy」で表される。この場合、下位のバージョン情報「yy」は細かい不具合の修正などの改訂を表しており、下位のバージョンが異なっていても制御プログラム間でバージョン不整合を起こすことは少ない。したがって、本発明の一形態では、少なくとも上位のバージョン情報「xx」の組合せが一致したときに、更新プログラムのバージョン情報の組合せがバージョン組合せデータと一致すると判定する。また、更新プログラムのバージョン情報が、上位、中位及び下位の３段階、例えば「xx.yy.zz」で表される場合は、上位及び中位のバージョン情報「xx.yy」の組合せ又は上位のバージョン情報「xx」の組合せが一致したときに、更新プログラムのバージョン情報の組合せがバージョン組合せデータと一致すると判定することができる。このように、細かい不具合の修正などの改訂を表す下位のバージョン情報を考慮せずにバージョンの整合性を判定することで、バージョンの整合性確保に過度の制約条件を課すことなく、より現実的で実用性のあるプログラム更新を実行できる。なお、バージョン情報が、上位、中位及び下位の３段階で表される場合において、バージョン情報の整合性の判定に中位のバージョン情報を考慮するか否かは、適宜選択することができる。例えば、更新プログラムＡとＢとの整合性及び更新プログラムＣとＤとの整合性の判定には中位のバージョン情報まで考慮し、更新プログラムＡ，Ｂと更新プログラムＣ，Ｄとの整合性には中位のバージョン情報は考慮せずに上位のバージョン情報のみを考慮するようにすることもできる。すなわち、半導体製造装置のユニット間の動作の関連性の強弱に応じて、バージョン情報の整合性の判定に中位のバージョン情報まで考慮するか否かを選択できる。
【００３３】
また、本発明においては、図８のフロー図において「バージョン情報の組合せ判定」の前か後の段階で、更新プログラムＡ，Ｂ，Ｃ・・・Ｘ自体のチェックを行うことができる。具体的には、各更新プログラムＡ，Ｂ，Ｃ・・・Ｘに付加情報として付加されたプログラムコードをチェックし、エラーの有無を判定する。更新プログラムにエラーが発見された場合は更新処理を終了し、更新プログラムを再入力するなどの処置を講じたうえで、再度、図８の処理を行う。
【００３４】
以上説明した図８のフローでは、各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せをバージョン組合せデータとしたが、本発明では、各ユニットコントローラに必要な制御プログラムのバージョン情報の組合せをバージョン組合せデータとし、このバージョン組合せデータを使用して更新プログラムのバーションの適否を判定することもできる。この場合、メインコントローラが、各ユニットコントローラに提供する更新プログラムのバージョン情報が前記バージョン組合せデータと一致（整合）するか否かを判定し、その判定により一致（整合）すると判定されたときに、各ユニットコントローラにそれぞれ更新プログラムを提供する。このとき、メインコントローラは、一部又は全部のユニットコントローラに更新プログラムを提供することができる。一部のユニットコントローラに更新プログラムを提供する場合であっても、その更新プログラムのバージョン情報が前記バージョン組合せデータと一致（整合）するか否かの判定は可能であり、その判定により一致（整合）すると判定されたときに、前記一部のユニットコントローラに更新プログラムを提供する。なお、各ユニットコントローラに必要な制御プログラムのバージョン情報の組合せを示すバージョン組合せデータは、図８のフローの場合と同様に、更新プログラムと共に通信回線や外部媒体などからメインコントローラに入力されるか、予めメインコントローラに入力される。
【００３５】
また、本発明において一部又は全部のユニットコントローラに更新プログラムを提供するときに、更新プログラムのバージョン整合性を判定する他の形態としては、メインコントローラに、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータを持たせ、一部又は全部のユニットコントローラに更新プログラムを提供する場合、それらの更新プログラムのバージョン情報を前記バージョン組合せデータの対応するバージョン情報と置き換えた上で、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定し、その判定により適正であるときに、前記一部又は全部のユニットコントローラにそれぞれ更新プログラムを提供するようにすることもできる。この場合、各ユニットコントローラに提供されている制御プログラムのバージョン情報の組合せを示すバージョン組合せデータは、予めメインコントローラに入力することができるほか、メインコントローラが各ユニットコントローラと通信して、その制御プログラムのバージョン情報を得ることによって作成することもできる。また、バージョン情報置き換え後のバージョン組合せデータが適正か否かの判定は、例えばメインコントローラに、予めリスト形式で適正なバージョン組合せデータを持たせておき、この適正なバージョン組合せデータとバージョン情報置き換え後のバージョン組合せデータとを突き合わせることによって行うことができる。この場合、前述のように更新プログラム及び制御プログラムが上位、中位及び下位の３段階、例えば「xx.yy.zz」で表される場合は、上位及び中位のバージョン情報「xx.yy」又は上位のバージョン情報「xx」を使用して前記突き合わせを行い、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定することができる。また、前記突き合わせのほか、メインコントローラに、バージョン情報置き換え後のバージョン組合せデータが適正か否かを判定するプログラム（アルゴリズム）を持たせておき、そのプログラムにより適否を判定することもできる。
【００３６】
図９は、更新プログラムによる制御プログラムの更新処理の概要を示す。図８の処理を経たうえで、メインコントローラから通信によりユニットコントローラに更新プログラムＸが提供されると、ユニットコントローラＸの更新実行プログラムが更新プログラムＸにより制御プログラムＸを更新する。更新プログラムは、典型的には更新された制御プログラムそのものであり、これを古い制御プログラムと置き換えることにより、制御プログラムを更新する。このほか、更新プログラムにより古い制御プログラムの一部を置き換えて制御プログラムを更新することもできる。
【００３７】
以上のように、本発明では、事前に更新プログラムのバージョン情報の整合性を確認したうえで更新処理を行うので、更新後の制御プログラム間でバージョン不整合が生じることを防止できる。ただし、更新プログラムによる制御プログラムの更新に不具合（エラー）が生じた場合、結果としてバージョン不整合が生じることがある。そこで、本発明では、メインコントローラの起動時に各ユニットコントローラの制御プログラムのバージョン情報を制御プログラムの付加情報により確認し、バージョン不整合が発見された場合は、制御プログラムの更新処理をやり直すフローを付加することが好ましい。そのフローの一例を図１０に示す。
【００３８】
メインコントローラが起動すると、まずメインコントローラの起動プログラムが起動する。そしてメインコントローラは、各ユニットコントローラと通信して、各ユニットコントローラの制御プログラムのバージョン情報を確認し、そのバージョン情報の組合せが適正か否かを判定する。例えば、各ユニットコントローラの制御プログラムのバージョン情報の組合せが、前述したバージョン組合せデータ（各ユニットコントローラに必要な更新プログラムのバージョン情報の組合せ、すなわち更新後の制御プログラムのバージョン情報の適正な組合せを示すデータ）と一致するか否かを判定する。判定の結果、制御プログラムのバージョン情報の組合せが適正であれば、メインコントローラは統括制御プログラムに移行し、通常の統括制御の動作を行う。制御プログラムのバージョン情報の組合せが適正でない場合、メインコントローラは更新プログラムをユニットコントローラに再提供し、更新プログラムによる制御プログラムの更新動作を再実行する。この場合、バージョン不整合が発見されたユニットコントローラの制御プログラムの更新プログラムのみを再提供するようにしてもよく、再度、全体のバージョン整合性をとるために全てのユニットコントローラに対してそれぞれの更新プログラムを再提供するようにしてもよい。なお、メインコントローラは、上記判定を行い、必要に応じて更新プログラムを再提供できるように、最新のバージョン組合せデータと更新プログラムをメモリに記憶させておく機能を有する。
【００３９】
本発明において、更新動作時のユニットコントローラの基本機能は、図９に示したとおり、メインコントローラから提供された更新プログラムにより制御プログラムを更新することにある。ただし、本発明においてユニットコントローラは、誤ってそのユニットコントローラに適合しない更新プログラム（例えば、他のユニットコントローラ用の更新プログラム）が提供されたときに制御プログラムが誤って更新されたり、更新中にエラーが発生したりすることを防止するために、提供される更新プログラムが当該ユニットコントローラに適合するか否かを判定する機能を備えることが好ましい。その機能に基づく処理フローを図１１に示す。
【００４０】
図１１に示すように、メインコントローラの更新実行プログラムにより更新実行コマンドがコントロールユニットに送信されると、ユニットコントローラは制御プログラムから更新実行プログラムに移行する。その後、図８の処理を経たうえで、メインコントローラからユニットコントローラに更新プログラムの付加情報が提供される。ユニットコントローラは、その付加情報に基づき、当該更新プログラムが当該ユニットコントローラに適合するか否かを判定（チェック）し、適合すると判定されたときにのみ、その更新プログラムにより制御プログラムの更新処理を実行する。この適合性の判定は、付加情報のユニット名を使用して行うことができる。すなわち、ユニットコントローラが付加情報のユニット名と当該ユニットコントローラが制御対象とするユニット名とを照合し、それらが一致したときに適合すると判定する。
【００４１】
なお、図１１の例では、更新プログラムの付加情報のみを先にユニットコントローラに提供し、適合することが確認された後に、更新プログラム全体をユニットコントローラに提供するようにしているが、最初から更新プログラム全体をユニットコントローラに提供し、その付加情報により適合性を判定するようにしてもよい。また、ユニットコントローラは、更新処理前に、更新プログラムの付加情報であるプログラムチェックコードをチェックすることにより更新プログラムのエラーの有無をチェックし、エラーが発見されなかった場合にのみ更新処理を実行するようにしてもよい。
【００４２】
このようにユニットコントローラが、提供された更新プログラムの適合性を更新処理前にチェックする機能を有することで、制御プログラムが誤って更新されたり、更新中にエラーが発生したりすることを防止でき、各ユニットコントローラの制御プログラムを適切に更新できる。
【００４３】
更に、本発明においてユニットコントローラは、起動時に制御プログラムをチェックする機能を有することが好ましい。その機能に基づく処理フローを図１２に示す。
【００４４】
図１２に示すようにユニットコントローラが起動すると起動プログラムが実行され、その起動プログラムにより、当該ユニットコントローラの制御プログラムのチェックが実行される。具体的には、制御プログラムの付加情報であるプログラムチェックコードにより制御プログラムのエラーの有無をチェックする。チェックの結果、制御プログラムにエラーが発見された場合、ユニットコントローラは、例えばエラーコードを送信することにより、メインコントローラに更新プログラムの提供を要求する。メインコントローラは、ユニットコントローラからの更新プログラムの提供要求を受けて更新プログラムをユニットコントローラに提供する。このとき、メインコントローラとユニットコントローラは、いずれも更新実行プログラムに移行する。これにより、図８、図９及び図１１で説明した制御プログラムの更新処理が再実行され、制御プログラムのエラーを解消することができる。なお、このような再更新の処理は、エラーが発見された制御プログラムに対してのみ実行してもよいし、再度、全ての制御プログラムに対して実行してもよい。
【００４５】
一方、制御プログラムのチェックの結果、エラーが発見されなかった場合は、通常動作により制御プログラムを起動し実行する。
【図１】
0006025165.tif 000002
【図２】
0006025165.tif 000003
【図３】
0006025165.tif 000004
【図４】
0006025165.tif 000005
【図５】
0006025165.tif 000006
【図６】
0006025165.tif 000007
【図７】
0006025165.tif 000008
【図８】
0006025165.tif 000009
【図９】
0006025165.tif 000010
【図１０】
0006025165.tif 000011
【図１１】
0006025165.tif 000012
【図１２】
0006025165.tif 000013