(57)【特許請求の範囲】
【請求項１】
地表に位置されている処理装置と、抗井内に吊り下げた状態で昇降可能なゾンデと、前記処理装置とゾンデとを接続する検層ケーブルとを有する検層システムにおいて、前記ゾンデは、採取した検知信号を所定の信号処理プログラムに従って処理する信号処理手段と、前記所定の信号処理プログラムを格納する第１メモリ手段と、前記地表の処理装置からのコマンドに従って前記第１メモリ手段内に前記信号処理プログラムを書き込むための書き込みプログラムを格納した第２メモリ手段とを有することを特徴とする検層システム。
【請求項２】
請求項１において、前記第１及び第２メモリ手段が不揮発性であることを特徴とする検層システム。
【請求項３】
請求項２において、前記第１メモリ手段がＥＥＰＲＯＭの少なくとも一部を有することを特徴とする検層システム。
【請求項４】
請求項３において、前記第２メモリ手段が前記ＥＥＰＲＯＭの別の一部を有することを特徴とする検層システム。
【請求項５】
請求項３において、前記第２メモリ手段がＲＯＭを有することを特徴とする検層システム。
【請求項６】
請求項１乃至５の内のいずれか１項において、前記信号処理手段がデジタル信号プロセサを有することを特徴とする検層システム。
【請求項７】
請求項１乃至６の内のいずれか１項において、前記地表の処理装置がコンピュータを有しており、前記コンピュータのデータ格納手段内に格納されている信号処理プログラムを前記ゾンデの前記第２メモリ手段内に格納されている書き込みプログラムに従って前記ゾンデの前記第１メモリ手段内へ前記検層ケーブルを介して転送させることを特徴とする検層システム。
【請求項８】
請求項７において、前記ゾンデを抗井内の下降位置に位置させた状態で前記信号処理プログラムの転送を行うことを特徴とする検層システム。
【請求項９】
請求項７において、前記ゾンデを地表に位置させた状態で前記信号処理プログラムの転送を行うことを特徴とする検層システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、大略、検層システムに関するものであって、更に詳細には、検層用のゾンデ内に格納されている検層用信号処理プログラムの書き換えを効率的に行うことが可能な検層システムに関するものである。
【０００２】
【従来の技術】
従来、石油等の資源探査や、地盤調査等を行う場合に、地下構造を決定することが必要であり、そのために、地中深くに抗井（ボアホール、即ち穿孔とも呼ばれる）を穿設して、その抗井内に検層用のゾンデ（ダウンホールツールともいう）を所定の位置へ降下させて地中を伝搬してきた信号を検知し、その検知信号を解析して地下構造を推測することが行われている。この様な調査技術は、通常、ウエルロギング即ち検層と呼ばれている。この様な検層システムは、通常、抗井内を昇降され且つ検知装置やデータ採取回路等を密封して収納するゾンデと、地表上に位置されておりコンピュータ等を包含する地表処理装置と、ゾンデと地表処理装置とを機械的及び電気的に連結する検層ケーブルとから構成されている。この様な検層システムの１例を図１に示してある。
【０００３】
即ち、図１において、検層システム１は、大略、地表５上に位置されている地表処理装置２と、抗井８内を昇降自在なゾンデ３と、それらを機械的且つ電気的に連結している検層ケーブル４とから構成されている。地表処理装置２は、検層ケーブル４の一端が接続されている回転可能なドラム６を有している。このドラム６が時計方向又は反時計方向に回転されると、検層ケーブル４は繰り出されたり又は巻き上げられたりし、従って、検層ケーブル４の他端に接続されているゾンデ３は抗井８内を昇降移動される。検層ケーブル４は、ドラム６の回転軸において延長検層ケーブル４’に接続されており、延長検層ケーブル４’はコンピュータ１１に接続されている。
【０００４】
図１における例においては、抗井８内にはケーシング９が挿入されており地層が抗井８内に崩壊することを防止している。しかしながら、抗井８は、ケーシング９を設けることなく裸抗のままとすることも可能である。更に、ゾンデ３には、地層を伝搬してきた信号を採取する検知電極１２が設けられている。検知電極１２は、内部配線１４を介してゾンデ３内に密封状態に収納されている制御装置１３に接続されている。この制御装置１３は、ゾンデ３の全体的な動作を制御するものであって、特に、地表のコンピュータ１１からのコマンドに従って、データ採取、処理、伝送等の制御を行うと共に、ゾンデ３の種々の機能を診断することが可能である。制御装置１３は、地表のコンピュータ１１から伝送されてくるコマンドを解釈してそのコマンドに従った動作を行うために、マイクロプロセサ及び制御プログラムを格納したＲＯＭを有している。
【０００５】
しかしながら、ゾンデ３の機能を変更したり又は改善したりすると、制御装置１３内のＲＯＭ内に格納されているプログラムは使用不可能となる。従って、そのような機能変更を行った場合には、ゾンデ３を一旦地表へ上昇させ、ゾンデ１３を部分的に分解してＲＯＭを取り出し、更に新たなプログラムを格納したＲＯＭをゾンデ３内に装着させることが必要であった。そして、この場合には古いプログラムを格納したＲＯＭは使用不可能であるから廃棄せざるを得ず、又ＲＯＭ内に新しく開発したプログラムを記憶させるためにＲＯＭライターを使用することが必要であった。
【０００６】
この様に、従来は、ゾンデ３の制御プログラムをＲＯＭ内に記憶させており、そのＲＯＭをゾンデ３内に装着させていたので、制御プログラムが変更される度に、新たなＲＯＭへそのプログラムの書き込みを行い、ゾンデ３を地表へ上昇させて古いＲＯＭと新たなＲＯＭとを交換する作業が必要であった。従って、古いプログラムを記憶したＲＯＭは無駄となり、且つ必ずゾンデ３を地表へ引き上げてＲＯＭ交換を行うことが必要であるから、作業性が悪いという欠点を有していた。
【０００７】
【発明が解決しようとする課題】
本発明は、上述したような従来技術の欠点を解消し、作業性を改善させた検層システムを提供することを目的とする。更に、本発明は、容易に且つ迅速にゾンデ内に格納されている制御プログラムを変更させることを可能とした検層システムを提供することを目的とする。更に、本発明は、ゾンデを地表に取り出すことなしにゾンデ内に収容さている制御プログラムを変更させることを可能とした検層システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明によれば、地表に位置されている処理装置と、抗井内に吊り下げた状態で昇降可能なゾンデと、前記処理装置とゾンデとを接続する検層ケーブルとを有する検層システムにおいて、前記ゾンデは、採取した検知信号を所定の信号処理プログラムに従って処理する信号処理手段と、前記所定の信号処理プログラムを格納する第１メモリ手段と、前記地表の処理装置からのコマンドに従って前記第１メモリ手段内に前記信号処理プログラムを書き込むための書き込みプログラムを格納した第２メモリ手段とを有することを特徴とする検層システムが提供される。
【０００９】
好適実施形態においては、信号処理プログラムを格納する第１メモリ手段は、不揮発性であって、特に好適な実施例においては、ＥＥＰＲＯＭの少なくとも一部を使用する。第２メモリ手段も好適には不揮発性であって、特に、好適な実施例においては、第１メモリ手段を構成するＥＥＰＲＯＭの他の一部によって構成する。しかしながら、第２メモリ手段は、第１メモリ手段内に格納される信号処理プログラムが変更された場合に、第１メモリ手段内に新たな信号処理プログラムを書き込むためのプログラミング用プログラムを格納するためのものであって、通常そのプログラミング用プログラムが変更されることは希であるから、第２メモリ手段内に格納されている書き込みプログラムは書き換え不可能のＲＯＭ内に格納させることも可能である。
【００１０】
本発明によれば、ゾンデ内に少なくとも書き込み可能なメモりが設けられており、この書き込み可能なメモリ内にゾンデの制御プログラム、少なくとも信号処理プログラムを格納するものであるから、そのような制御プログラムをアップデートしたり又はバグを取り除いたりして変更する場合には、オペレータはもっとも作業環境の適した場所において制御プログラムの変更を行うことが可能である。そして、その様に変更した制御プログラムを例えばフロッピイディスクやその他の媒体に格納させておき、地表処理装置のコンピュータのハードディスク等にインストールさせることが可能である。そして、地表処理装置のコンピュータから検層ケーブルを介してゾンデへコマンドを伝送して、ゾンデ内の書き込みプログラムを起動させ、地表処理装置のコンピュータからゾンデへ変更した制御プログラムを伝送しゾンデのメモリ内に格納させる。この場合に、検層ケーブルを介して接続されている地表処理装置とゾンデとの間においてデータ伝送が行われるものであるから、地表処理装置とゾンデとの間においては、検層ケーブルを包含するテレメトリーシステムを介してデータの伝送が行われる。従って、好適には、地表処理装置のコンピュータからコマンドとしてゾンデへデータ伝送が行われる度に同一のコマンドを地表処理装置のコンピュータへエコーバックさせてデータ伝送の信頼性を確保することが望ましい。更に、ゾンデ内のメモリとしてＥＥＰＲＯＭを使用する場合には、抗井内の下降位置においては、ゾンデが、通常、高圧及び高温の過酷な環境条件に露呈されるものであるから、ＥＥＰＲＯＭへの書き込みの信頼性を確保するために、プログラムの書き込み変更回数を記録しておき、所定の回数を越える場合には新たなＥＥＰＲＯＭと交換する構成とすることが望ましい。
【００１１】
【発明の実施の形態】
図２は、本発明の基本的な原理を示した概略図である。即ち、図２において、コンピュータを包含する地表処理装置２（１１）が、検層ケーブル４を介して、抗井内を昇降移動させることの可能なゾンデ３と機械的及び電気的に接続されている。検層ケーブル４は、ゾンデ３を抗井８内に吊り下げ状態としてゾンデ３を昇降移動させることが可能なものであるから、その意味においてゾンデ３と地表処理装置２とを機械的に連結するものである。更に、検層ケーブル４は、ゾンデ３に設けられているデータ採取や診断等を行う制御装置１３と地表処理装置２のコンピュータ１１との間において通信を行うための信号を担持することが可能なものであり、そのための伝送線を包含している。尚、伝送線としては、導電線のみならず光ファイバーを使用することも可能であり、本明細書において検層ケーブル４が地表処理装置２とゾンデ３とを電気的に連結しているという表現は、検層ケーブル４が通信用に導電線の代わりに又は導電線に加えて光ファイバーを有する場合をも包含するものであって、即ち地表処理装置２とゾンデ３とが光学的に連結されている場合をも包含するものとする。
【００１２】
検層ケーブル４は、地表処理装置２側において、ＤＴＭインターフェース１５を介してコンピュータ１１と動作接続されており、一方ゾンデ３側においては、ＤＴＣインターフェース１６を介してゾンデ内の制御装置と接続されている。検層ケーブル４と、両端部におけるＤＴＭインターフェース１５及びＤＴＣインターフェース１６とでテレメトリーシステムを構成しており、地表処理装置２とゾンデ３との間でデータ通信を行うことを可能としている。地表処理装置２のコンピュータ１１は、任意の汎用コンピュータとすることが可能であり、例えばＶＡＸコンピュータ等を使用することが可能である。コンピュータ１１は、オペレーティングシステムＯＳを格納したハードディスク１８を有しており、そのオペレーティングシステムＯＳ上で動作するゾンデ３の種々の制御プログラムがハードディスク１８上に格納することが可能である。尚、オペレーティングシステムＯＳは、単に、オペレーティングシステムのみならず、その他の通信機能、メモリ管理機能等の拡張機能を有することも可能である。一方、ゾンデ３の制御装置１３内には不揮発性の書き込み可能メモリ２０が設けられており、このメモリ２０内にはゾンデ３の種々の機能を実現するプログラムを格納することが可能である。ゾンデ３は種々の目的に応じて種々の形態を取り得るものであるが、基本的には、地中を伝搬してきた信号を検知し、その検知信号を処理して地表処理装置２へ伝送するデータ処理機能を有している。この様なデータ処理機能等は、例えば、プログラム中にバグが発見されたり、又はより性能を改善したりするために、プログラムが変更される場合が多々ある。その様にプログラムが変更された場合であっても、本検層システムにおいては、データ処理プログラムを格納するメモリ２０は不揮発性の書き込み可能メモリであるから、地表処理装置２内のコンピュータ１１のハードディスク１８上に格納されているプログラムを検層ケーブル４を介して伝送させ、メモリ２０に書き込むことが可能である。
【００１３】
メモリ２０は、上述したように、不揮発性であり且つ書き込み可能なメモリであるが、好適実施例においては、電気的に消去可能で書き込み可能なメモリであるＥＥＰＲＯＭ又はそれに類似したメモリを使用すると良い。更に、図２に示した構成においては、メモリ２０が第１メモリ領域２０ａと第２メモリ領域２０ｂとに分割されている。第１メモリ領域２０ａは、地表のコンピュータ１１から新たに作成したデータ処理プログラムをゾンデ３へ伝送させて格納させる場合に、コンピュータ１１からのコマンドを解析し受け取ったデータ処理プログラムを第２メモリ領域２０ｂ内の所定のアドレスに格納させるための所謂オンボードプログラミング（ＯＢＰ）を行うための書き込みようプログラムを格納する領域である。なお、図２においては、オンボードプログラミング用のプログラムとデータ処理用のプログラムとを同一のメモリの別々の領域に格納する構成が示されているが、オンボードプログラミング用のプログラムは必ずしも書き込み可能なメモリに書き込む必要はない。何故ならば、オンボードプログラミング用のプログラムは、通常、変更される蓋然性が低いので、それはデータ処理用のプログラムを格納するメモリとは別個のメモリに格納することが可能であり、その様なメモリとしては書き込み不可能なＲＯＭとすることも可能である。この様な構成とした場合には、オンボードプログラミング用のプログラムは変更することが不可能であり別体のＲＯＭを設ける必要性があるという欠点を有しているが、一方、変更される可能性のあるデータ処理プログラムとは別個のメモリ内に格納されるので、データ処理用プログラムをメモリ２０内に書き込む場合に処理が簡単化されるという利点がある。
【００１４】
次に、図２に示された原理図を参考に、ゾンデ３内のデータ処理プログラムをアップデートする方法について説明する。尚、ゾンデ３内のメモリ２０の第１メモリ領域２０ａ内にはオンボードプログラミング用のプログラムが既に格納されているものと仮定する。ゾンデ３を抗井８内に位置させて何等かの検層を行う場合に、ゾンデ３に新たな機能を付加させることが所望されていたために、以前にメモリ２０の第２メモリ領域２０ｂ内に格納されていたデータ処理プログラムを改良したアップデートバージョンが開発されたものとする。この様な新たなデータ処理プログラムの開発は、開発者が望む任意の箇所において行うことが可能であり、開発を行うのに一番適した環境において実施することが可能である。その様にして開発されたデータ処理プログラムは任意の記録媒体、例えばフロッピーディスク１９上に格納されて、地表処理装置２が配置されている場所へ配送される。尚、地表処理装置２は、検層ケーブル４を介してゾンデ３に連結されているので、通常、抗井８の頂部開口部近くに位置されている。
【００１５】
次いで、地表処理装置２におけるオペレータがフロッピーディスク１９をコンピュータ１１内に装填し、オペレーティングシステムＯＳを起動して、フロッピーディスク１９上に格納されているアップデートされたデータ処理プログラムをハードディスク１８上に格納させる。次いで、テレメトリーシステムを起動させ、コンピュータ１１からのコマンドに基づいて、ハードディスク１８からゾンデ３内のメモリ２０の第２メモリ領域２０ｂ内へデータ処理プログラムを転送させる。尚、この場合に、データ転送の信頼性を確保するために、コンピュータ１１から各コマンドをゾンデ３の制御装置１３内のマイクロプロセサ（不図示）が解析して処理し、第２メモリ領域２０ｂ内の所定のアドレスにデータを格納させると、その同一のコマンドをコンピュータ１１へエコーバックさせ、そのエコーバック信号が最初に送ったコマンドと同一であった場合に次のコマンドを送るようにすると良い。尚、本発明においては、ゾンデ３を図１に示したごとく、抗井８内の下降位置に位置させた状態で、この様なオンボードプログラミングを実施することが可能であるが、本発明においては、ゾンデ３が抗井３内に位置されていることは必ずしも必要なことではない。即ち、ゾンデ３が地表に載置されている場合であっても、ゾンデ３が検層ケーブル４を介して地表処理装置２に連結されている限り、上述した如きオンボードプログラミングを実施することが可能なものであり、その場合においても、ＲＯＭを無駄にすることがなく、且つメモリの頻繁な交換作業（ゾンデ３の部分的分解を含む）を行う必要性がないという点において、本発明は著しい効果を奏することが可能なものである。
【００１６】
次に、図３を参照して、ゾンデ３の制御装置１３の具体的な実施の１例について詳細に説明する。図３において、ＤＴＣ１６は、ゾンデ３側のテレメトリーインターフェースであり、それは図１に示した如く、検層ケーブル４へ接続されている。このテレメトリーインターフェース１６は、一対のバス制御インターフェースＤＴＢ（ダウンホールツールバス）インターフェース２１とＦＴＢ（ファーストトランスミッションバス）インターフェース２８とに接続されている。これらの一対のバスインターフェース２１及び２８は基本的に同じ構成のものであるが、ＦＴＢインターフェース２８の方が容量が大きく且つ高速処理に適した構成となっている。ＦＴＢインターフェース２８内には一時的な格納領域としてテレメトリーバッファ２８ａが設けられている。このテレメトリーバッファ２８ａは、レジスタ等のハードウエアにより構成されるものであっても、又はＲＡＭメモリ等の一部の領域をソフト的に割り当てることにより構成するものであっても良い。両方のバスインターフェース２１及び２８は、Ｉ／０インターフェース２２と接続されており、Ｉ／Ｏインターフェース２２は制御レジスタとしてＩＯ＿ＭＣＲレジスタ２２ａを有している。この制御レジスタ２２ａは、後述するように、書き込みアクセスイネーブル制御や、アドレスデコーダと共同してブートメモリ２０の頁制御を行う場合に使用される。
【００１７】
バスインターフェース２８とＩ／Ｏインターフェース２２は、一対のデータバス３２及びアドレスバス３３で接続されており、これらのバス３２及び３３は、更に、デジタル信号プロセサ２６、ブートメモリ２０、データメモリ３０、ＴＯＲメモリ３１にも接続されている。更に、アドレスバス３３は、アドレスデコーダ２７にも接続されている。尚、デジタル信号プロセサ２６は、例えば、アメリカ合衆国のアナログデバイシーズインコーポレイティッドから市販されているＡＤＳＰ−２１０１ＤＳＰを使用することが可能である。アドレスデコーダ２７からは読取／書込信号Ｒ／Ｗがバスインターフェース２８へ印加され、更にチップイネーブル信号ＣＥがメモリの動作状態を制御するために夫々のメモリ２０、３０、３１へ印加される。
【００１８】
ブートメモリ２０は、本実施例においては、ＥＥＰＲＯＭから構成されており、そのＥＥＰＲＯＭの記憶領域全体を頁０乃至頁７の８頁に分割している。尚、図３においては、その内の４頁分のみが示されている。本発明においては、ブートメモリ２０をこの用に８頁に分割することは特に必要ではなく、その他の任意の頁数とすることが可能である。本実施例においては、頁０内にオンボートプログラミング用のプログラムが格納されており、データ処理プログラム等のその他の検層用プログラムは頁１〜７内に格納される。頁０内に格納されているＯＢＰプログラムは、頁１〜７内に検層用プログラムを格納するための制御を行う制御プログラムであるから、基本的にはそれは変更することを予定されているものではない。従って、オンボードプログラミングを行う場合には、頁０内のＯＢＰプログラムの書き込みが行われないような保護対策を講じる必要がある。更に、本実施例の変形例として、この頁０に格納されるＯＢＰプログラムは基本的には変更を予定されないものであるから、それをデータバス３２及びアドレスバス３３に接続させた別個のＲＯＭ内に格納させることも可能である。その場合には、ブートメモリ２０の頁０から検層用プログラムを格納させることが可能であり、オンボードプログラミングにおける書き込み制御が簡単化される。
【００１９】
データメモリ３０は、例えば、ＲＡＭから構成することが可能であり、データを一時的に格納するために使用される。データメモリ３０内には地表のコンピュータ１１から送られてきたデータを読み取って一時的に格納するための読取バッファ（ｒｂｕｆ）３０ａ及び地表のコンピュータ１１へ送信すべきデータを一時的に格納するための送信バッファ（ｓｅｎｄｂｕｆｆｅｒ）３０ｂが設けられている。これらのバッファ３０ａ及び３０ｂは、データメモリ３０を構成するＲＡＭの所定の領域を確保することによって形成することが可能である。
【００２０】
ＴＯＲメモリ３１は、ツールオペレーションレコーダ（ＴＯＲ）用のメモリであって、ゾンデ３の使用環境や動作情報、例えば、操作温度、操作時間等を記録するものである。ＴＯＲメモリ３１は、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等によって構成することが可能である。特に、本発明においては、ＴＯＲメモリ３１は、ブートメモリ２０へのＯＢＰ回数を記録する構成を有している。
【００２１】
デジタル信号プロセサ２６は、アドレスデコーダ２７と共同して、データメモリ３０内に取り込んだコマンドを処理する。その場合に、デジタル信号プロセサ２６は、ブートメモリ２０の頁０に格納されているＯＢＰプログラムに従って、地表のコンピュータから送られてくる検層プログラムをブートメモリ２０の頁１〜７内に格納させる。所望により、別の実施形態においては、デジタル信号プロセサ２６は、その他のマイクロプロセサやマイクロコントローラ等と置換させることも可能である。
【００２２】
Ｉ／Ｏインターフェース２２は、データ採取回路２４と接続されており、データ採取回路２４は、検知電極２５と接続している。本発明においては、必ずしもデータ採取回路２４が設けられていることが必要なわけではないが、ゾンデ３の通常の機能としては、ゾンデ３に設けられている検知電極２５を介して地中を伝搬してきた信号を検知し、その検知信号をデータとして採取するデータ採取機能があるので、その様な代表的なゾンデ３の機能を示すためのものである。そして、そのようなデータ採取機能は、検層プログラムの一部を構成するものであり、ブートメモリ２０の頁１〜７に格納されている検層プログラムに従ってデータ採取回路２４の動作が制御される。そして、その様なデータ採取機能を制御する検層プログラムがアップデートされた場合には、ブートメモリ２０の頁０に格納されているＯＢＰプログラムに従って、アップデートされた検層プログラムが地表のコンピュータ１１からブートメモリ２０の頁１から７内に格納される。
【００２３】
次に、図４を参照して、ブートメモリ２０の頁０内に格納されているＯＢＰプログラムの１実施例の動作について詳細に説明する。図４に示した実施例においては、ＯＢＰプログラムは、基本的に、メインルーチンと、５つのサブルーチン（ｂＳｙｎｃ、ｎｓＲｅｃｅｉｖｅ、ｏｂｐ＿ｗｒｉｔｅ、ｂＳｅｎｄ、ｏｂｐ＿ｃｈｅｃｋｓｕｍ）とから構成されている。図４はこのメインルーチンのフローチャートを示している。
【００２４】
地表処理装置２のコンピュータ１１内にアップデートされた検層プログラムがインストールされて、検層ケーブル４を介してゾンデ３へ伝送する準備がなされると、図４において、ゾンデ３は、テレメトリインターフェース１６を介して一定周期で発生しているテレメトリ同期信号を受け取ると、ステップ４０で示したようにステップ４１からの処理を開始させる。ステップ４１において、ブートメモリ２０の頁０に格納されている同期サブルーチンｂＳｙｎｃがコールされてテレメトリシステムと同期状態とさせ、バスインターフェース２８内のテレメトリーバッファ２８ａ内にコンピュータ１１からコマンドを受け取ったか否かをポーリングモードで定期的に判別する。ステップ４２においてテレメトリーバッファ２８ａ内にコンピュータ１１からのコマンドが存在することが判別されると、ステップ４３において、メインルーチンが受信サブルーチンｎｓＲｅｃｅｉｖｅをコールして、テレメトリーバッファ２８ａ内のコマンドをデータメモリ３０内のｒｂｕｆ３０ａへ転送させる。次いで、ステップ４４において、ＤＳＰ２６がｒｂｕｆ３０ａ内のコマンドを解釈して、それがアップデートしたオンボードプログラミングデータをブートメモリ２０内にインストールすべきコマンドであるＯＢＰ＿ＩＮＳＴＡＬＬ＿ＤＡＴＡであるか否かを判別する。
【００２５】
ステップ４４における判別の結果が肯定であると、ステップ４５へ移行してオンボードプログラミングプログラムの本体である書き込みサブルーチンｏｂｐ＿ｗｒｉｔｅをコールする。その結果、図５に示した後に詳述するサブルーチンｏｂｐ＿ｗｒｉｔｅに従ってそのコマンドのデータのブートメモリ２０への書き込みが行われる。そのコマンドの書き込みが終了すると、コンピュータ１１へのデータを送信するサブルーチンであるｂＳｅｎｄがステップ４６においてコールされ、その結果ステップ４５において処理されたコマンドと同一のコマンドがエコーバックとして検層ケーブル４を介してコンピュータ１１へ返送される。従って、コンピュータ１１においては、エコーバックされたコマンドを前にゾンデ３へ送信したコマンドと比較して、その結果両者が同一であった場合には送信が成功したものと解釈し、同一でなかった場合にはコンピュータ１１がその後のプロセスをアボートさせる。
【００２６】
コンピュータ１１におけるエコーバックされたコマンドのチェックがＯＫである場合には、コンピュータ１１は次のコマンドをゾンデ３へ送信する。そのコマンドに対しても図４に示したメインルーチンのステップ４０〜４４が同様に繰り返し適用される。そして、そのコマンドがＯＢＰプログラミングの最後のコマンドであることを表すＯＢＰ＿ＩＮＳＴＡＬＬ＿ＥＮＤコマンドであることがステップ４７において判別されると、ステップ４８へ移行する。ステップ４８においては、再度サブルーチンｏｂｐ＿ｗｒｉｔｅがコールされて、最後のＯＢＰプログラムデータのブートメモリ２０への書き込みを行う。次いで、ステップ４９において、ブートメモリ２０へ書き込まれたＯＢＰプログラムの書き込み状態をチェックするサブルーチンｏｂｐ＿ｃｈｅｃｋｓｕｍが呼び出されて書き込まれたＯＢＰプログラムに誤りがないか否かをチェックする。次いで、ステップ５０へ移行して、ブートメモリ２０に対して今回が何回目のＯＢＰプログラムの書き込みであるかを表す書き込み回数をＴＯＲメモリ３１内に格納する。これは、ブートメモリ２０は、特に、ＥＥＰＲＯＭから構成される場合には、書き込み回数が所定の回数を越えると書き込み信頼性が低下するので、所定数の書き込み回数に到達するとコンピュータ１１へ信号を送って警告は発することが可能である。次いで、ステップ５１へ移行して、チェックサム結果とともにコンピュータ１１へエコーバックを行う。
【００２７】
次いで、コンピュータ１１から送信されたコマンドが、ＯＢＰモードから抜け出すためのコマンドであるＧＯ＿ＩＤＥＬであることがステップ５２において判別されると、ＯＢＰモードを終了してステップ５４へ移行し、ＤＳＰ２６はリブート即ち再起動を行って、ブートメモリ２０の頁１以下に格納されている検層プログラムを立ち上げる。これにより、ＯＢＰモードによってブートメモリ２０の頁１〜７内に格納されたアップデートされた検層プログラムが動作可能な状態となる。一方、ステップ５２における判別の結果、それがＧＯ＿ＩＤＬＥコマンドではないと判別されると、それは図４のメインルーチンにおいては予想されていないコマンドであるから、ステップ５３において違法なコマンドであるとしてコンピュータ１１へエコーバックされる。
【００２８】
次に、図５を参照して、オンボードプログラミングＯＢＰの書き込みサブルーチンｏｂｐ＿ｗｒｉｔｅのプロセスについて詳細に説明する。その前に、図４及び図５において使用されるＯＢＰコマンドについて図７を参照して説明する。ＯＢＰコマンドはそのフレームが８個の固定長のワードから構成されており、最初の２個のワードＷ１及びＷ２はヘッダー用であり、次の６個のワードＷ３〜Ｗ８はデータ用である。図７において、最初のワードＷ１の上に点線で示したものは各ワードのビット位置をビット番号として示してある。図７の例においては、ワードＷ１の上位８ビットはモジュールＩＤ情報を格納する領域であり、ゾンデ３のＩＤ識別用の情報を格納する。一方、下位８ビットはＯＢＰサブコマンドに割り当てられており、ビットの割り当てによって種々のコマンドであることを表す。例えば、１６進数において「０ｘ８６」のビット割り当ての場合には、そのコマンドがＯＢＰ＿ＩＮＳＴＡＬＬ＿ＤＡＴＡであることを表し、一方「０ｘ８４」のビット割り当てである場合には、そのコマンドがＯＢＰ＿ＩＮＳＴＡＬＬ＿ＥＮＤであることを表すものとすることが可能である。また、ワードＷ１のビット０は連続フラグ（Ｃｆ）として使用しており、これが「１」に設定されている場合には、そのコマンドが直前のコマンドと連続したものであることを表す。
【００２９】
コマンド中の２番目のワードであるＷ２は、その次に続くデータを格納すべき場所であるアドレス情報を格納するものである。そして、３番目〜８番目のワードＷ３〜Ｗ８は、ブートメモリ２０内に格納されるべきデータ、本実施例においては、例えばアップデートされた検層プログラム、を格納している。従って、１個のコマンドには全部で６個のデータ用のワードＷ３〜Ｗ８が存在しており、各ワードは２バイト（１バイト＝８ビット）を有しているから、各コマンドは全部で１２バイトのデータを有している。尚、１６進数表示では、各ワードＷ２〜Ｗ８に割り当て可能なビットは「０ｘ０」〜「０ｘＦＦＦＦ」である。
【００３０】
図４に示したメインルーチンにおいてブートメモリ２０内にＯＢＰプログラムを書き込むべきことが判別されると、図５に示した書き込みプログラムであるｏｂｐ＿ｗｒｉｔｅがステップ６０において呼び出される。すると、ステップ６１及び６２においてＯＢＰプログラムのブートメモリ２０内への書き込みを行うための準備としての初期化が行われる。即ち、先ず、ステップ６１において、読取バッファｒｂｕｆ３０ａ内のエラービットをクリアし、次いでステップ６２において、書き込みを行うべきデータの供給源であるｒｂｕｆ３０ａ内のアドレスをｓｒｃとしてセットすると共に、そのデータを書き込むべきブートメモリ２０内のアドレスをｄｉｓｔとしてセットし、更にカウンタを０にセットする。
【００３１】
次いで、ステップ６３において、アドレスｄｉｓｔからブートメモリ２０の該当する頁番号を計算し且つ該当する頁内におけるオフセットアドレスを計算する。更に、ｒｂｕｆ３０ａ内のコマンドのデータ部分から１バイトのデータを抽出する。次いで、ステップ６４において、計算された頁番号が「０」であるか否かを判別し、その結果が肯定である場合にはステップ７２へジャンプしてＯＢＰ書き込みシーケンスを回避する。これは、本実施例においては、ブートメモリ２０の頁０にはオンボードプログラミングを制御するＯＢＰプログラム自体が格納されているので、それが上書きされることを回避するためである。一方、ステップ６４における判別の結果、計算された頁番号が頁０以外のものであると、ステップ６５へ移行し、ＩＯ＿ＭＣＲレジスタをセットして書き込み可能状態とし、抽出した１バイトのデータをブートメモリ２０内の該当するアドレスへ書き込む。次いで、ステップ６７においてＩＯ＿ＭＣＲレジスタをリセットして書き込み可能状態を解除する。次いで、ステップ６８においてタイマーカウンタをセットし、ステップ６９において所定のタイマー時間が経過したか否かを判別し、更にステップ７０においてそのアドレスに書き込んだデータと書き込まれているデータとが同一であるか否か、即ち正確に書き込みが行われたか否かの判別を行う。ステップ７０における判別の結果が否定であると、再度ステップ６９へ戻り、タイマー時間が経過しているとステップ７１へ移行する。この場合には、所定の時間がたっても正確に書き込みが行われなかったので、エラービットを立てる。一方、ステップ７０における判別が肯定である場合には、正確に書き込みが行われたことを表している。
【００３２】
この様に、ブートメモリ２０への書き込みを行う場合に、所定のタイマー時間を設定してそのタイマー時間内に正確に書き込みが行われたか否かの判別を行っているのは、特にブートメモリ２０としてＥＥＰＲＯＭを使用した場合に意味がある。何故ならば、通常、ＥＥＰＲＯＭの書き込みには比較的高い書き込み電圧を印加することが必要であり且つ書き込みに時間がかかるので、書き込みが正確に行われた否かのチェックを行って確認することが可能だからである。更に、ＥＥＰＲＯＭ独自の問題のみならず、本発明は、ゾンデ３が地表に載置されている場合のみならず、抗井８内の深い位置に位置されている場合にもＯＢＰプログラミングを実施することが可能であることを特徴とするものである。そして、抗井８内においては、通常、高温且つ高圧の厳しい環境条件下にあり、その様な厳しい条件下においてＥＥＰＲＯＭ等のメモリへの書き込みが行われることは通常のＥＥＰＲＯＭ等のメモリ書き込みの仕様条件を大きくはずれるものである。本発明においては、このようにＥＥＰＲＯＭ等のメモリの書き込みを行うための通常の仕様条件をはずれた状態においての書き込みを行うことが予定されているものであるから、特にこの様な正確な書き込みが行われたことを保証するループを設けることは特に意味があることである。
【００３３】
次いで、ステップ７２において、カウンタｉの値が奇数であれば、ソースポインタｓｏｕｒｃｅをインクリメントして次のワードデータの読取準備をしてステップ７３へ移行する。一方、カウンタｉの値が偶数であれば、ステップ７３へ移行する。そして、カウンタの値ｉが１２未満であると、即ち１個のコマンドが有するすべてのデータ用の６個のワードＷ３〜Ｗ８、即ち１２バイトのデータの書き込みが終了していない場合には、ステップ７４へ移行して、宛先アドレスｄｉｓｔ及びカウンタｉをインクリメントさせて、ステップ６３へ復帰し、ｒｂｕｆ３０ａ内に格納されているコマンドから次のバイトを抽出する。そして、ｒｂｕｆ３０ａ内に格納されているコマンドのすべての２個のデータ用バイトの書き込みが終了すると、ステップ７３からステップ７５へ移行して書き込みプロセスを終了する。
【００３４】
次に、図６を参照して、サブルーチンｏｂｐ＿ｃｈｅｃｋｓｕｍについて説明する。図４に示したメインルーチンにおけるステップ４８において最後のＯＢＰコマンドの書き込みが終了すると、図６においてステップ８０で示したように書き込み誤りがあるか否かをチェックするサブルーチンｏｂｐ＿ｃｈｅｃｋｓｕｍが呼び出される。ステップ８１は初期化ステップであり、一時的なＳＵＭ即ち加算結果が格納されるパラメータｔｅｍｐが０にセットされ、且つ頁番号パラメータｊも０にセットされる。次いで、ステップ８２において、頁番号を管理するＩＯ＿ＭＣＲレジスタ２２ａをｊにセットし、ステップ８３において、アドレスポインタｉを初期的にブートメモリ２０のＥＥＰＲＯＭの開始アドレスにセットし、且つ読取カウンタｃｎｔを初期的に同じくＥＥＰＲＯＭの開始アドレスにセットする。尚、ステップ８３においては便宜上「ＲＯＭ」と表示しているが、これはＥＥＰＲＯＭ２０のことを示している。次に、ステップ８４において、パラメータｔｅｍｐへアドレスポインタｉにおいて表される値を加算し、カウンタｃｎｔをインクリメントする。ステップ８４は、その頁が終了するまで継続して行われ、ステップ８５においておいてその頁が終了すると、ステップ８６へ移行して頁番号ｊをインクリメントさせ、ステップ８２に復帰して再度同じ処理を行う。そして、すべての頁についての処理が終了するとステップ８７からステップ８８へ移行してチェックサムプロセスを終了する。その結果は、ＳＵＭ結果を有するパラメータｔｅｍｐと１６進数「０ｘＦＦ」とのＡＮＤ処理を行って、ｔｅｍｐの下位８ビットのみを最終結果として取り出す。
【００３５】
【効果】
以上詳説した如く、本発明によれば、テレメトリシステムを介してゾンデ内の検層プログラムを変更させることが可能であり、ゾンデを解体したり組み立てたりする作業が必要ではない。更に、検層プログラムをＲＯＭに格納させるものではなく、書き込み可能な不揮発性メモリ内に格納させるものであるから、ゾンデ内の検層プログラムを変更した場合であっても、ＲＯＭが無駄になることはない。また、本発明によれば、ゾンデが地表上にあっても、一方抗井の中に位置されている場合であってもそのままの状態でゾンデ内の検層プログラムを変更させることが可能である。
【図面の簡単な説明】
【図１】  本発明を適用可能な検層システムの全体的構成を示した概略図。
【図２】  本発明の原理を示した概略ブロック図。
【図３】  本発明の１実施例に基づいて構成されたオンボードプログラミングを実施可能なゾンデの制御装置を示した概略ブロック図。
【図４】  本発明の１実施例に基づくオンボードプログラミングのメインルーチンを示したフローチャート図。
【図５】  図４のメインルーチンによってコールされるオンボードプログラミングの書き込みサブルーチンを示したフローチャート図。
【図６】  図４のメインルーチンによってコールされるオンボードプログラミングの書き込み結果をチェックするサブルーチンを示したフローチャート図。
【図７】  図３乃至６のオンボードプログラミングの実施例において使用可能なＯＢＰコマンドの例を示した概略図。
【符号の説明】
１：検層システム
２：地表処理装置
３：ゾンデ
４，４’：検層ケーブル
８：抗井
１１：コンピュータ
１３：制御装置
１５，１６：テレメトリインターフェース
２０：不揮発性書込可能メモリ
２８ａ：テレメトリバッファ
２６：デジタル信号プロセサ（ＤＳＰ）
３０：データメモリ
３０ａ：ｒｂｕｆ
３０ｂ：ｓｅｎｄｂｕｆｆｅｒ
３１：ＴＯＲメモリ
【図１】
0003696319.tif 000002
【図２】
0003696319.tif 000003
【図３】
0003696319.tif 000004
【図４】
0003696319.tif 000005
【図５】
0003696319.tif 000006
【図６】
0003696319.tif 000007
【図７】
0003696319.tif 000008