(57)【特許請求の範囲】
【請求項１】
１または複数の制御対象機器から受信した制御状態データをそれぞれ内部メモリのそれぞれ該当する領域に格納すると共に、この全ての制御状態データを用いてシーケンス演算を行い、この演算の結果として得られた新たな制御状態データによりそれぞれ前記内部メモリの制御状態データを更新すると共に、この新たな制御状態データをそれぞれ該当する制御対象機器に送信することを所定のシーケンス制御周期で繰り返し、前記制御対象機器をシーケンス制御するプログラマブルコントローラにおける前記内部メモリにさらに、コンピュータ側及び前記プログラマブルコントローラ側の双方のバス上にあって同一のメモリ領域がこの双方からアクセス可能なデュアルポートメモリを介し、前記コンピュータ側から前記プログラマブルコントローラ側へ転送された入力転送データを格納する入力領域、前記プログラマブルコントローラ側から前記コンピュータ側へ前記デュアルポートメモリを介して転送すべき出力転送データを格納する出力領域を設け、
前記プログラマブルコントローラがさらに、前記シーケンス制御周期ごとに、前記内部メモリ内の制御対象機器から受信した制御状態データのほか、同じく前記内部メモリ内の入力領域から読み出した入力転送データを用いてシーケンス演算を行い、この演算の結果として前記制御対象機器へ送信すべき新たな制御状態データのほか前記出力転送データを求め、この出力転送データを前記内部メモリ内の出力領域に書き込むようにしたコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリに、前記コンピュータにより予め前記入力転送データのサイズが設定される入力サイズ設定領域と、同じく前記コンピュータにより予め前記出力転送データのサイズが設定される出力サイズ設定領域と、前記コンピュータにより必要時に前記入力転送データが書き込まれる入力領域と、同じく前記コンピュータにより必要時に前記出力転送データが読み出される出力領域とを設け、
前記シーケンス制御周期より短い所定のコピー周期で、常時、前記デュアルポートメモリの入力領域内の前記入力サイズ設定領域に設定されたサイズのデータとしての入力転送データを前記内部メモリの入力領域へコピーすると共に、前記内部メモリの出力領域内の前記出力サイズ設定領域に設定されたサイズのデータとしての出力転送データを前記デュアルポートメモリの出力領域へコピーすることを繰り返すコピー手段を設けたことを特徴とするコンピュータ組み付け型プログラマブルコントローラ。
【請求項２】
請求項１に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリの入力サイズ設定領域または（および）出力サイズ設定領域への設定値を０または空白としたときは、前記コピー手段が前記デュアルポートメモリおよび内部メモリのそれぞれ入力領域の相互間または（および）出力領域の相互間に関わる前記のコピー動作を省略することを特徴とするコンピュータ組み付け型プログラマブルコントローラ。
【請求項３】
請求項１または２に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリに、該デュアルポートメモリの前記出力領域内の監視対象となるデータビットとしての監視ビットが存在する位置を特定するデータである監視ビット位置データが前記コンピュータにより予め設定される領域としての監視ビット位置設定領域と、割込発生用データの書込に基づいて前記コンピュータへの割込信号を発生する割込信号発生領域と、前記コンピュータが該割込信号の入力時に割込発生の要因となるビットを読み出す領域としての割込発生要因ビット領域とを設け、
前記コピー周期に同期して、常時、前記デュアルポートメモリの監視ビット位置設定領域に設定された前記監視ビット位置データによって特定される、前記デュアルポートメモリの出力領域内の監視ビットを監視し、該監視ビットが割込を発生すべき値へ変化したときは前記デュアルポートメモリの割込発生要因ビット領域に当該の監視ビットについての前記監視ビット位置データを書き込むと共に、前記デュアルポートメモリの割込信号発生領域に割込発生用データを書き込み、前記コンピュータへ割込信号を与えるビット変化監視手段を設けたことを特徴とするコンピュータ組み付け型プログラマブルコントローラ。
【請求項４】
請求項３に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記コンピュータが、前記割込信号の入力に基づき前記デュアルポートメモリの割込発生要因ビット領域から前記監視ビット位置データを読み出し、該監視ビット位置データの別と当該の割込信号に応じて作動すべきアプリケーションプログラムの別との対応を示す割込管理テーブルから該当するアプリケーションプログラムを求めて作動させるものであることを特徴とするコンピュータ組み付け型プログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通常、パソコン内蔵形プログラマブルコントローラ（以下プログラマブルコントローラをＰＬＣとも略記する）とも呼ばれ、パソコンの拡張バス、例えばＰＣＩ（Peripheral Component Interconnect ）バスに接続されて、デュアルポートメモリを介しパソコンが保持するアプリケーションプログラムとＰＬＣが保持するアプリケーションプログラムとがデータ交換を行うＰＬＣとしてのコンピュータ組み付け型プログラマブルコントローラに関するもので、特にパソコン側とＰＬＣ側とのアプリケーションプログラム間のデータ交換時間をバラツキなく高速化でき、さらに必要なタイミングにおいてこのアプリケーションプログラム間の同期が実現できるようにしたコンピュータ組み付け型プログラマブルコントローラに関する。
なお、以下各図において同一の符号は同一もしくは相当部分を示す。
【背景技術】
【０００２】
プログラマブルコントローラ（ＰＬＣ）はＰＬＣ内に格納されているシーケンスプログラムを演算実行して、ＰＬＣに接続される外部の制御対象機器を自動的にシーケンス制御する装置として知られている。また、パソコンをマン・マシン・インタフェース（ＭＭＩ）としてＰＬＣと組み合わせることも知られている。
このようなＰＬＣとパソコンとの連繋は当初、シリアル通信によるでデータ交換で実現されていたが、通信速度がネックとなり装置全体のサイクルタイムが短縮できないため、ＰＬＣをパソコンのバスに接続したいわゆる、パソコン内蔵型ＰＬＣとしてパソコンと連繋することも行われている。
図９はこのようなパソコン内蔵型ＰＬＣのシステム構成例を示すブロック回路図である。同図において１はパソコン、２はパソコン１のＰＣＩバス（以下では拡張バスともいう）３に接続されたパソコン内蔵型ＰＬＣである。
【０００３】
パソコン内蔵型ＰＬＣ２は、内部のＰＬＣシステムバス０７によって互いに接続された、０１〜０６、Ｍ１、Ｍ２の各手段からなる。ここでＣＰＵ０１は、一方では、システムプログラムメモリ０３に記憶されたシステムプログラムを実行し、ＰＬＣ２内の各手段の動作制御、並びにシリアル通信インタフェース（以下、インタフェースをＩ／Ｆとも略記する）０５を介しプログラミングツールや表示器等からなる外部機器１１に対する交信および制御を行う。
同時にＣＰＵ０１は、他方では、ＰＬＣユーザアプリケーションプログラムメモリ０４に記憶されたＰＬＣユーザアプリケーションプログラム（ＰＬＣアプリケーションとも略記する）を実行し、シリアル通信Ｉ／Ｆの０６を介し外部の制御対象機器１２のシーケンス制御を行う。
【０００４】
システムワークメモリ０２は、ＣＰＵ０１がシステムプログラムで使用するデータを一時記憶する。ユーザデータメモリ（ＰＬＣ内部メモリともいう）Ｍ２は、ＰＬＣユーザアプリケーションプログラムで使用するデータ、例えば制御対象機器１２との間で送受信する制御状態データ（接点情報等）を一時記憶する。
デュアルポートメモリ（ＤＰメモリとも略記する）Ｍ１はデュアルポートＲＡＭからなり、一方ではＰＬＣシステムバス０７に接続され、他方ではローカルバス０８および割込トリガ信号ＩＮＴの信号線によって結合されたＰＣＩバスＩ／Ｆの０９を経由してパソコン１のＰＣＩバス３に接続されている。
ＤＰメモリＭ１は、この構成によりＰＬＣ２のＣＰＵ０１側からとバソコン１の図外のＣＰＵ側からとの双方から、同一メモリ領域に対するアクセスが可能となっており、ＰＬＣ２とバソコン１が交換するデータの一時記憶先等として用いられる。
【０００５】
図８はこのようなパソコン内蔵形ＰＬＣ２のユーザアプリケーションプログラム（ＰＬＣアプリケーション）とパソコン１のユーザアプリケーションプログラム（パソコン側アプリケーションとも略記する）との従来のデータ交換機能に関わるシステム構成例を示す。図８においてパソコン内蔵形ＰＬＣ２は、筐体を共にするパソコン１の拡張バス（本例ではＰＣＩバス）３に、自身が持つＤＰメモリＭ１を介して接続されると共に、図外のシリアル通信Ｉ／Ｆ（図９の０６）を介して図外の制御対象機器（図９の１２）と接続され、さらに別の図外のシリアル通信Ｉ／Ｆ（図９の０５）を介してプログラミングツールや表示器等からなる外部機器１１と接続されている。
そしてパソコン内蔵形ＰＬＣ２は、このＰＬＣ２を統括制御する図外のＣＰＵ（図９の０１）、図外のシステムプログラムメモリ（図９の０３）に書き込まれ、後述するコマンド処理１０等を含むシステムプログラムとしてのファームウェアＦＷ、図外のＰＬＣユーザアプリケーションプログラムメモリ（図９の０４）に格納されたシーケンス制御プログラムとしてのＰＬＣアプリケーションＳＰ、ＰＬＣアプリケーションＳＰ用のデータメモリとしてのＰＬＣ内部メモリＭ２等を備えるほか、パソコン１のアプリケーションプログラム（パソコン側アプリケーション）ＰＰとデータ交換を行うための前記ＤＰメモリＭ１を備えている。
【０００６】
ＤＰメモリＭ１にはこのデータ交換を行うためのコマンド要求領域５およびコマンド応答領域６が設けられており、パソコン側アプリケーションＰＰからとＰＬＣ２のファームウェアＦＷからとのデータの読み書きが可能になっている。またＰＬＣ内部メモリＭ２には、ＰＬＣアプリケーションＳＰが図外の制御対象機器と授受する制御状態データを格納する図外の領域のほか、パソコン側アプリケーションＰＰとデータを交換するための書込領域７および読込領域８が設けられている。
パソコン１はパソコン側アプリケーションＰＰを実行しつつ、ＤＰメモリＭ１のコマンド要求領域５およびコマンド応答領域６を読み書きすることにより、例えばＭＭＩとしてパソコン内蔵形ＰＬＣ２が制御対象機器との間で交わす制御状態データをモニタしたり、表示している画面上の起動ボタンを操作することで所望の制御対象機器をＯＮ／ＯＦＦしたりすることができる。
【０００７】
ＰＬＣアプリケーションＳＰは、所定のシーケンス制御周期（例えば１０ｍｓ）ごとに各制御対象機器のＯＮ／ＯＦＦ等の制御状態データを図外のシリアル通信Ｉ／Ｆを介しＰＬＣ内部メモリＭ２に読み込んでシーケンス演算を実行し、この演算結果として得られた各制御対象機器別の新たな制御状態データをＰＬＣ内部メモリＭ２に書き込んだうえ、この新たな制御状態データを前記図外のシリアル通信Ｉ／Ｆを介しそれぞれ該当する制御対象機器に送信することで各制御対象機器をシーケンス制御している。そしてさらに、パソコン側アプリケーションＰＰとのデータ交換のため上記シーケンス制御周期内でＰＬＣ内部メモリＭ２の書込領域７の読込および読込領域８への書込をするようにしている。なおこの場合、後述するコマンド処理１０とのやりとりは行わない。
パソコン側アプリケーションＰＰとＰＬＣアプリケーションＳＰとのデータ交換は、以下に詳述するように、上述したＰＬＣアプリケーションＳＰによるＰＬＣ内部メモリＭ２の書込領域７の読込および読込領域８への書込と、パソコン側アプリケーションＰＰがＤＰメモリＭ１のコマンド要求領域５およびコマンド応答領域６を読み書きし、ファームウェアＦＷ内のコマンド処理１０がＤＰメモリＭ１の上記コマンド要求領域５、コマンド応答領域６およびＰＬＣ内部メモリＭ２の書込領域７、読込領域８を読み書きすることによって行われる。
【０００８】
次に、パソコン側アプリケーションＰＰとＰＬＣアプリケーションＳＰとのデータ交換の動作を具体例を用いて説明する。
例１）パソコン側アプリケーションＰＰで所望の制御対象機器の動作時間を１秒毎にモニタするような場合、ＰＬＣ内部メモリＭ２の読込領域８には当該の制御対象機器の制御状態データとして当該機器の動作積算時間のカウント値を割り付け、ＰＬＣアプリケーションＳＰが前記シーケンス制御周期ごとに読込領域８の積算時間のカウント値に最新データを書き込み更新する。
例２）また、パソコン側アプリケーションＰＰによりパソコンの表示画面上の所望の制御対象機器の起動ボタンをＯＮして当該機器を起動させるような場合、ＰＬＣ内部メモリＭ２の書込領域７に当該機器の起動指令（制御指令ビットデータ）を割り付け、ＰＬＣアプリケーションＳＰが前記シーケンス制御周期ごとに書込領域７を読み込んで起動指令がＯＮかＯＦＦかを判断し、当該機器をＯＮかＯＦＦかに動作させる。
【０００９】
一方ここで、パソコン側アプリケーションＰＰがＰＬＣ内部メモリＭ２へデータ書込、または同メモリＭ２からデータ読込を行うには、予め、パソコン側アプリケーションＰＰが書込要求コマンドデータ、または読込要求コマンドデータをＤＰメモリＭ１のコマンド要求領域５へ書き込む（矢印Ａ２）。
例えば、前記の例２の場合、書込要求コマンドデータを所望の制御対象機器に対する起動指令とし、具体的にはこの起動指令を、起動指令が割り付けられているＰＬＣ内部メモリＭ２のアドレス、起動指令のデータサイズ、起動指令のＯＮ／ＯＦＦデータで構成する。
そして、前記コマンド要求領域５へは、パソコン側アプリケーションＰＰの立上がりの初期に上記ＯＮ／ＯＦＦデータをＯＦＦとした起動指令を書き込み、表示画面上の起動ボタンがＯＮされた時点にＯＮ／ＯＦＦデータをＯＮとした起動指令を書き込む。また、起動ボタンがＯＦＦされた時点にＯＮ／ＯＦＦデータをＯＦＦとした起動指令を書き込むようにする。
【００１０】
また前記の例１の場合、読込要求コマンドデータを所望の制御対象機器の動作積算時間のカウント値の読込指令とし、具体的にはこの読込指令を動作積算時間が割り付けられているＰＬＣ内部メモリＭ２のアドレス、動作積算時間のデータサイズで構成し、前記コマンド要求領域５へは読込指令をモニタ時間間隔（本例では１秒）ごとに書き込むようにする。
ファームウェアＦＷ内にあるコマンド処理１０は、ＰＬＣアプリケーションＳＰのシーケンス制御周期の空き時間に実行される処理であり、このコマンド処理１０は上記要求コマンドデータを確認し（矢印Ａ４）、読込要求であればＰＬＣ内部メモリＭ２の該当アドレスの読込領域８のデータを読み込んで（矢印Ａ７）、応答データとしてＤＰメモリＭ１のコマンド応答領域６へ書き込み（矢印Ａ５）、他方、書込要求であれば書込要求コマンドデータに付加されている書込データ（前記の例２ではＯＮまたはＯＦＦのデータ）をＰＬＣ内部メモリＭ２の該当アドレスの書込領域７へ書き込んで（矢印Ａ６）、書込完了を示す応答データをＤＰメモリＭ１のコマンド応答領域６へ書き込む（矢印Ａ５）。
【００１１】
パソコン側アプリケーションＰＰはＤＰメモリＭ１のコマンド応答領域５に応答データが書き込まれていること確認し（矢印Ａ３）、ＰＬＣ内部メモリＭ２への書込または同メモリＭ２からの読込が完了したことを認識する。
パソコン内蔵形ＰＬＣ２には、前述のように図外のシリアル通信Ｉ／Ｆを介し外部機器１１としてプログラミングツールや表示器などが接続される場合もある。この外部機器１１はファームウェアＦＷ内のコマンド処理１０にコマンド要求を送り（矢印Ａ８）、コマンド処理１０からコマンド応答を受け取り（矢印Ａ９）、ＰＬＣ内部メモリＭ２を介しＰＬＣアプリケーションＳＰとデータ交換を行うことができる。
この場合、ＰＬＣ内部メモリＭ２に外部機器１１に対する読込領域と書込領域を設ける。但し、パソコン側アプリケーションＰＰもＰＬＣアプリケーションＳＰとデータ交換を併せて行う場合は、この読込領域と書込領域はパソコン側アプリケーションＰＰ用に設けた前記の読込領域８と書込領域７とは異なるアドレスに割り付けられる。
【００１２】
この場合もＰＬＣアプリケーションＳＰは、前記シーケンス制御周期ごとにＰＬＣ内部メモリＭ２に別に割り付けられた読込領域への書込および書込領域の読込をも併せ行うが、前記コマンド処理１０とのやりとりの処理は行わない。
なお、特許文献１には、パソコンの拡張用バスにマイコン、デュアルポートメモリ、高速シリアル通信用ＩＣを搭載した高速シリアル通信インタフェースを接続すると共に、高速シリアル通信インタフェースと複数のサーボコントローラとをシリアルラインのマルチドロップ方式で接続することにより、パソコン上で動作するアプリケーションから容易にサーボコントローラの内部データを読み書きできるサーボ制御方法およびサーボ制御システムが開示されている。
【特許文献１】特開平１０―３２６１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで、図８のＰＬＣアプリケーションＳＰは、ＰＬＣ内部メモリＭ２内の制御対象機器と交わす制御状態データや、パソコン１または（および）外部機器１１とのデータ交換用の書込領域および読込領域を読み書きしながら実行されるシーケンス制御プログラムであり、所定のシーケンス制御周期毎に最優先で実行され、ファームウェアＦＷにあるコマンド処理１０はその空き時間に実行される。
このためＰＬＣアプリケーションＳＰの実行時間が変動すると、この空き時間も変動し、他方、コマンド処理１０はコマンドの解析等のため一般に時間がかかり、最小の空き時間（例えば１ｍｓ）では処理しきれないため、パソコン側アプリケーションＰＰが要求コマンドデータをＤＰメモリＭ１のコマンド要求領域５へ矢印Ａ２のように書き込んでから、ＤＰメモリＭ１のコマンド応答領域６に応答データが書き込まれていることを矢印Ａ３のように確認するまでのデータ交換の所要時間が、シーケンス制御周期の何倍かの範囲にわたってばらつくことになる。
【００１４】
こうして、パソコン側アプリケーションＰＰとＰＬＣアプリケーションＳＰとの間でのＰＬＣ内部メモリＭ２のデータ交換の定時性が確保できない、つまり所定時間内にデータ交換ができる保証がないという問題がある。
また図８のシステムでは、プログラミングツールや表示器などの外部機器１１からのコマンド要求もコマンド処理１０で処理されるため、外部機器１１からパソコン側アプリケーションＰＰと同時にＰＬＣ内部メモリＭ２へのデータ書込または読込が行われると、前記データ交換の所要時間がより長くなり、さらに定時性の確保が困難になる。
この問題は、パソコン１をマン・マシン・インタフェースなどのあまり高速な応答を必要としない形で利用する場合には許容できる。しかし、近年、パソコンの高性能化に伴い、画像処理をパソコンのソフトウェアで行なうことが主流となり、例えば半導体試験装置などでパソコンの画像処理とＰＬＣの位置決め制御とを連動させることが要望されている。こうした要望に応ずるには、パソコン１とＰＬＣ２とがバラツキなく高速に指令やデータを交換できるようにすることが必要である。
【００１５】
また図８のシステムでは、パソコン１内に例えば１または複数のアプリケーションプログラムＰＰを用意し、ＰＬＣアプリケーションＳＰから、それぞれのパソコン側アプリケーションＰＰに指令を与えようとする場合、個々のパソコン側アプリケーションが定期的にＰＬＣ内部メモリＭ２の読み出しを行って自身宛の指令データがあるか否かを確認するようにするか、或いはパソコン１内に定期的にＰＬＣ内部メモリＭ２の読み出しを行って、複数のパソコン側アプリケーションのいずれに宛てた指令データあるかの確認を行うアプリケーションプログラムを別に作成する必要があり、パソコン側アプリケーションの作成にいわば余計な負担を強いるという問題があった。
本発明はこうした問題を解消すると共に前記要望に答えるため、ＰＬＣアプリケーションＳＰの実行時間の変動や外部機器１１の有無とは無関係に、パソコン側アプリケーションとＰＬＣアプリケーションとのデータ交換の定時性を確保でき、且つパソコン側アプリケーションの作成に余計な負担を強いずにＰＬＣアプリケーションが必要とする時にパソコン側アプリケーションを作動させることができる（換言すればＰＬＣ側とパソコン側のアプリケーションを必要なタイミングで同期させることができる）コンピュータ組み付け型プログラマブルコントローラを提供することを課題とする。
【課題を解決するための手段】
【００１６】
前記の課題を解決するため、請求項１のコンピュータ組み付け型プログラマブルコントローラは、
１または複数の制御対象機器（１２）から受信した制御状態データをそれぞれ内部メモリ（ＰＬＣ内部メモリＭ２）のそれぞれ該当する領域に格納すると共に、この全ての制御状態データを用いてシーケンス演算を行い、この演算の結果として得られた新たな制御状態データによりそれぞれ前記内部メモリの制御状態データを更新すると共に、この新たな制御状態データをそれぞれ該当する制御対象機器に送信することを所定のシーケンス制御周期（Ｔｓ）で繰り返し、前記制御対象機器をシーケンス制御するプログラマブルコントローラにおける前記内部メモリにさらに、コンピュータ側及び前記プログラマブルコントローラ側の双方のバス上にあって同一のメモリ領域がこの双方からアクセス可能なデュアルポートメモリ（ＤＰメモリＭ１）を介し、前記コンピュータ側から前記プログラマブルコントローラ側へ転送された入力転送データを格納する入力領域（２９）、前記プログラマブルコントローラ側から前記コンピュータ側へ前記デュアルポートメモリを介して転送すべき出力転送データを格納する出力領域（３０）を設け、
前記プログラマブルコントローラがさらに、前記シーケンス制御周期ごとに、前記内部メモリ内の制御対象機器から受信した制御状態データのほか、同じく前記内部メモリ内の入力領域から読み出した入力転送データを用いてシーケンス演算を行い、この演算の結果として前記制御対象機器へ送信すべき新たな制御状態データのほか前記出力転送データを求め、この出力転送データを前記内部メモリ内の出力領域に書き込むようにしたコンピュータ組み付け型プログラマブルコントローラ（バソコン内蔵型ＰＬＣ２など）において、
前記デュアルポートメモリに、前記コンピュータにより予め前記入力転送データのサイズ（入力サイズ２４）が設定される入力サイズ設定領域と、同じく前記コンピュータにより予め前記出力転送データのサイズ（出力サイズ２５）が設定される出力サイズ設定領域と、前記コンピュータにより必要時に前記入力転送データが書き込まれる入力領域（２６）と、同じく前記コンピュータにより必要時に前記出力転送データが読み出される出力領域（２７）とを設け、
前記シーケンス制御周期より短い所定のコピー周期（Ｔｃ）で、常時、前記デュアルポートメモリの入力領域内の前記入力サイズ設定領域に設定されたサイズのデータとしての入力転送データを前記内部メモリの入力領域へコピーすると共に、前記内部メモリの出力領域内の前記出力サイズ設定領域に設定されたサイズのデータとしての出力転送データを前記デュアルポートメモリの出力領域へコピーすることを繰り返すコピー手段（ファームウェアＦＷのコピー処理３１）を設けたものとする。
【００１７】
また請求項２のコンピュータ組み付け型プログラマブルコントローラは、請求項１に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリの入力サイズ設定領域または（および）出力サイズ設定領域への設定値を０または空白としたときは、前記コピー手段が前記デュアルポートメモリおよび内部メモリのそれぞれ入力領域の相互間または（および）出力領域の相互間に関わる前記のコピー動作を省略するようにする。
また請求項３のコンピュータ組み付け型プログラマブルコントローラは、請求項１にまたは２記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリに、該デュアルポートメモリの前記出力領域内の監視対象となるデータビットとしての監視ビットが存在する位置を特定するデータである監視ビット位置データ（監視アドレス加算値３４および監視ビット設定値３５など）が前記コンピュータにより予め設定される領域としての監視ビット位置設定領域と、割込発生用データの書込に基づいて前記コンピュータへの割込信号（割込トリガ信号ＩＮＴおよび割込フラグ４８など）を発生する割込信号発生領域（割込トリガ信号領域４９など）と、前記コンピュータが該割込信号の入力時に割込発生の要因となるビット（割込発生要因ビット３９）を読み出す領域としての割込発生要因ビット領域とを設け、
前記コピー周期に同期して、常時、前記デュアルポートメモリの監視ビット位置設定領域に設定された前記監視ビット位置データによって特定される、前記デュアルポートメモリの出力領域内の監視ビット（監視アドレス３８上の該当ビット）を監視し、該監視ビットが割込を発生すべき値へ変化したときは前記デュアルポートメモリの割込発生要因ビット領域に当該の監視ビットについての前記監視ビット位置データを書き込むと共に、前記デュアルポートメモリの割込信号発生領域に割込発生用データを書き込み、前記コンピュータへ割込信号を与えるビット変化監視手段（ファームウェアＦＷのビット変化監視処理４４）を設けたものとする。
【００１８】
また請求項４のコンピュータ組み付け型プログラマブルコントローラは、請求項３に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記コンピュータが（割込検出管理部５０を介し）、前記割込信号の入力に基づき前記デュアルポートメモリの割込発生要因ビット領域から前記監視ビット位置データを読み出し、該監視ビット位置データの別と当該の割込信号に応じて作動すべきアプリケーションプログラムの別との対応を示す割込管理テーブル（割込待ち管理テーブル５９）から該当するアプリケーションプログラムを求めて作動させるものであるようにする。
次に本発明の作用を述べる。先ず、パソコン側アプリケーションとＰＬＣアプリケーション間のデータ交換の定時性を確保し、バラツキのない高速データ交換を実現する方法としては、
パソコン側アプリケーションがＰＬＣ側に向けて直接アクセスできるデュアルポートメモリ（ＤＰメモリ）Ｍ１に、予めパソコン側アプリケーションからＰＬＣアプリケーションへ転送する入力転送データのサイズ（入力サイズ）２４およびＰＬＣアプリケーションからパソコン側アプリケーションへ転送させる出力転送データのサイズ（出力サイズ）２５を設定してＰＬＣのファームウェアＦＷに知らせたうえ、ＤＰメモリＭ１に設けた入力サイズ２４分の大きさの入力領域２６へ必要時に入力転送データを書き込み、同じくＤＰメモリＭ１に設けた出力サイズ２５分の大きさの出力領域２７から必要時にＰＬＣアプリケーションより転送された出力転送データを読み出すようにし、
他方、ＰＬＣアプリケーションが実行するシーケンス制御処理用のデータメモリとしてのＰＬＣ内部メモリＭ２に、ＰＬＣアプリケーションが制御対象機器と授受する制御状態データを格納する領域の他に、パソコン側アプリケーションから転送された入力転送データを読み出す入力領域２９、パソコン側アプリケーションへ転送する出力転送データを書き込む出力領域３０を設け、ＰＬＣアプリケーションがシーケンス制御周期Ｔｓ毎に、ＰＬＣ内部メモリＭ２から制御対象機器より受信した制御状態データと入力領域２９の入力転送データとを読み出してシーケンス演算を行い、この演算の結果として新たな制御状態データと出力転送データを求め、新たな制御状態データでＰＬＣ内部メモリＭ２の制御状態データを更新すると共に新たな制御状態データを制御対象機器へ送信し、またシーケンス演算結果の出力転送データを出力領域３０に書き込むようにし、
また、ＤＰメモリＭ１とＰＬＣ内部メモリＭ２間のデータ転送のために、ＰＬＣのファームウェアＦＷ内のコピー処理３１がシーケンス制御周期Ｔｓより短いコピー周期Ｔｃで、常時、ＤＰメモリＭ１の入力領域２６の入力転送データをＰＬＣ内部メモリＭ２の入力領域２９へ、ＰＬＣ内部メモリＭ２の出力領域３０の出力転送データをＤＰメモリＭ１の出力領域２７へコピーするようにし、パソコン側アプリケーションとＰＬＣアプリケーション間のデータ交換が１または所定の複数のシーケンス制御周期Ｔｓ内に確実に行えるようにするものである。
【００１９】
また、パソコン側アプリケーションとＰＬＣアプリケーションを必要時に同期させる方法としては、
ＤＰメモリＭ１の出力領域２７における出力転送データ内の特定位置の監視対象ビットの変化時にＰＬＣアプリケーションからパソコン１へ割込をかけて所望のパソコン側アプリケーションを作動させるもので、
パソコン側アプリケーションが予めＤＰメモリＭ１の出力領域２７内の監視対象ビットの位置をＤＰメモリＭ１に設定してＰＬＣのファームウェアＦＷに知らせ、これによりファームウェアＦＷ内のビット変化監視処理４４がコピー周期Ｔｃと同じ周期でＤＰメモリＭ１の出力領域２７内の監視対象ビットを監視し、ビット変化を検出するとパソコン１へ割込信号ＩＮＴを発生し、同時にパソコン１へ変化した監視対象ビットを知らせ、これに応じパソコン１が、変化を検出した監視対象ビットとこのとき作動させるべきパソコン側アプリケーションとの対応を示すテーブルから、作動させるべきパソコン側アプリケーションを検索して作動させるものである。
【００２０】
これにより監視対象ビットの変化を検出した時点から１または所定の複数のシーケンス制御周期Ｔｓ以内に必要なパソコン側アプリケーションを作動させ、パソコン側アプリケーションをＰＬＣアプリケーションに速やかに同期させるものである。
【発明の効果】
【００２１】
請求項１に関わる発明によれば、パソコン側アプリケーションがＰＬＣ側に向けて直接アクセスできるデュアルポートメモリ（ＤＰメモリ）に、予めパソコン側アプリケーションからＰＬＣアプリケーションへ転送する入力転送データのサイズ（入力サイズ）およびＰＬＣアプリケーションからパソコン側アプリケーションへ転送させる出力転送データのサイズ（出力サイズ）を設定してＰＬＣのファームウェアに知らせたうえ、ＤＰメモリに設けた入力サイズ分の大きさの入力領域へ必要時に入力転送データを書き込み、同じくＤＰメモリに設けた出力サイズ分の大きさの出力領域から必要時にＰＬＣアプリケーションより転送された出力転送データを読み出すようにし、
他方、ＰＬＣアプリケーション用のデータメモリとしてのＰＬＣ内部メモリに、前記入力転送データおよび出力転送データをそれぞれ格納する入力領域および出力領域を設け、ＰＬＣアプリケーションがシーケンス制御周期ごとに実行するシーケンス制御処理で、ＰＬＣ内部メモリ内における制御対象機器と授受する制御状態データの読み書きと、ＰＬＣ内部メモリの入力領域および出力領域に対する、それぞれ入力転送データの読込および出力転送データの書込とを行うようにしたうえ、シーケンス制御周期より短いコピー周期で、常時、ＤＰメモリの入力領域の入力転送データをＰＬＣ内部メモリの入力領域へ、ＰＬＣ内部メモリの出力領域の出力転送データをＤＰメモリの出力領域へコピーするファームウェアのコピー手段を設けるようにしたので、
パソコン側アプリケーションとＰＬＣアプリケーション間のデータ交換が１または所定の複数のシーケンス制御周期内に確実に行えて、データ交換の定時性を確保し、バラツキのない高速データ交換を実現することができる。
【００２２】
また請求項２に関わる発明によれば、ＤＰメモリへの入力サイズまたは（および）出力サイズの設定値を０または空白としたときは、前記コピー手段がＤＰメモリおよびＰＬＣ内部メモリのそれぞれ入力領域相互間または（および）出力領域相互間に関わるコピー動作を省略するようにしたので、入力領域や出力領域を使わずにＰＬＣ内部メモリを通常のデータメモリとして使っている従来のユーザにも、ＰＬＣ内部メモリに無駄な空き領域を作らずに本発明のＰＬＣを利用して貰うことができる。
また、請求項３、４に関わる発明によれば、パソコン側アプリケーションが予めＤＰメモリの出力領域内の監視対象ビットの位置をＤＰメモリに設定してＰＬＣのファームウェアに知らせ、これによりファームウェアのビット変化監視手段がコピー周期と同じ周期でＤＰメモリの出力領域内の監視対象ビットを監視し、ビット変化を検出するとパソコンへ割込信号を発すると同時に変化した監視対象ビットを知らせ、これに応じパソコンが、変化を検出した監視対象ビットと、このとき作動させるべきパソコン側アプリケーションとの対応を示すテーブルから、作動させるべきパソコン側アプリケーションを検索して作動させるようにしたので、
監視対象ビットの変化を検出した時点から１または所定の複数のシーケンス制御周期以内に必要なパソコン側アプリケーションを作動させ、パソコン側アプリケーションをＰＬＣアプリケーションに速やかに同期させることができる。
【００２３】
このようにしてパソコンとＰＬＣとの高速データ交換および複数のパソコン側アプリケーションとＰＬＣとの同期制御が可能になることから、例えば、パソコンの画像処理ソフトウェアを利用している制御装置では、画像処理とＰＬＣのシーケンス制御が高速に連携し、装置のサイクルタイムが短縮されて生産性が向上する。
【発明を実施するための最良の形態】
【００２４】
〔実施の形態１〕
先ず、本発明の実施の形態１としてパソコン側アプリケーションとＰＬＣアプリケーションとがデータ交換をする際に定時性を確保できる（つまり所定時間内にデータ交換ができる）ようにしたコンピュータ組み付け型プログラマブルコントローラの実施例を説明する。このようなデータ交換の具体例としては、次のような事例が挙げられる。
１）スイッチデータの転送：
パソコンの画面に表示したスイッチやパネルコンピュータのタッチパネルのスイッチデータ（ＯＮ／ＯＦＦ情報）をパソコン側からＰＬＣ側へ繰り返し転送し、スイッチにより工作機械等を寸動させるような場合である。このような場合、寸動させる装置の位置等を監視しながら頻繁にスイッチのＯＮ／ＯＦＦを繰り返すため、ＯＮ／ＯＦＦ情報を迅速に転送する必要がある。
【００２５】
２）位置決め制御状態データや指令データの転送：
半導体検査装置などで、パソコンの画像処理ソフトウェアとＰＬＣによる位置決め制御を連動させる際に、ＰＬＣ側が持つ位置決め状態データをＰＬＣ側からパソコン側へ転送し、指令データをパソコン側からＰＬＣ側へ転送するような場合である。
図１は、本発明の実施の形態１の一実施例としてのＰＬＣアプリケーションとパソコン側アプリケーションとの高速データ交換機能に関わるシステム構成を示すブロック図である。
図１においては、図８に対しパソコン１内のアプリケーションプログラムがＰＰ１に置き換わった点と、
パソコン内蔵形ＰＬＣ２において、ＤＰメモリＭ１およびＰＬＣ内部メモリＭ２内にパソコン側アプリケーションＰＰ１からＰＬＣアプリケーションＳＰに転送される交換対象データ（入力転送データという）が書き込まれる領域としてのそれぞれ入力領域２６および２９、並びにＰＬＣアプリケーションＳＰからパソコン側アプリケーションＰＰ１に転送される交換対象データ（出力転送データという）が書き込まれる領域としてのそれぞれ出力領域２７および３０が設けられた点と、
ＤＰメモリＭ１内にさらに、入力領域２６および２９に書き込まれる入力転送データのデータサイズで、同時に入力領域２６および２９自体の各容量サイズでもある入力サイズ２４を設定入力する領域、並びに出力領域２７及び３０に書き込まれる出力転送データのデータサイズで、同時に出力領域２７および３０自体の各容量サイズでもある出力サイズ２５を設定入力する領域が設けらた点と、
ファームウェアＦＷ上に存在していた、シーケンス制御周期Ｔｓの空き時間に実行されるコマンド処理１０が省略され、これに代わり、常時、所定周期Ｔｃ（本例では１ｍｓ）で実行されるコピー処理３１が設けられている点とが異なる。
【００２６】
なお、図８に示した外部機器１１とＰＬＣ２とのデータ交換は本発明においても従来通りファームウェアＦＷ上のコマンド処理１０によって行われるが、これは本発明には直接関係がないのでコマンド処理１０は省略されている。
また、ＰＬＣアプリケーションＳＰは従来と同様、所定のシーケンス制御周期Ｔｓ（例えば１０ｍｓ）毎に、図外のシリアル通信インタフェースを介し図外の制御対象機器から受信しＰＬＣ内部メモリＭ２に格納した制御状態データと、ＰＬＣ内部メモリＭ２内の従来の書込領域７に代わる入力領域２９の入力転送データとを読み込んでシーケンス演算を行い、その結果として新たな制御状態データとパソコン側へ転送すべき出力転送データを求める。
そして、新たな制御状態データでＰＬＣ内部メモリＭ２の制御状態データを更新し、この新たな制御状態データを制御対象機器へ送信すると共に、シーケンス演算結果で生じた出力転送データをＰＬＣ内部メモリＭ２内の従来の読込領域８に代わる出力領域３０に書き込む。
【００２７】
図２はバソコン側アプリケーションＰＰ１の一般的な処理手順を示すフローチャートで、Ｓ１〜Ｓ６はそのステップ番号を示す。次に、図１を参照しつつ図２を説明する。なお、図２の処理は次の図３で述べるコピー処理３１とは非同期で実行される。
パソコン側アプリケーションＰＰ１は、立ち上がると予め矢印Ａ１２のように、ＤＰメモリＭ１の入力サイズ２４の領域に、入力領域２６へ書き込む入力転送データのデータサイズ（これは同時に入力領域２６自体の容量サイズとなる）を設定し（ステップＳ１）、さらにＤＰメモリＭ１の出力サイズ２５の領域に、出力領域２７から読み出す出力転送データのデータサイズ（これは同時に出力領域２７自体の容量サイズとなる）を設定する（ステップＳ２）。このデータサイズは、例えばワード数などである。
そしてパソコン側アプリケーションＰＰ１は、ＰＬＣ２側から転送されている出力転送データを、矢印Ａ１６のようにＤＰメモリＭ１の出力領域２７から読み出してパソコン内部の図外の出力領域メモリへコピーし（ステップＳ３）、当該パソコン側アプリケーションを実行する（ステップＳ４）。
【００２８】
次に、ステップＳ４のアプリケーション処理で発生し、パソコン内部の図外の入力領域メモリに格納された、ＰＬＣ２側へ転送すべきデータ（入力転送データ）を矢印Ａ１５のように、ＤＰメモリＭ１の入力領域２６にコピーし（ステップＳ５）、当該パソコン側アプリケーションの実行時間間隔分待って（ステップＳ６）、ステップＳ３に戻り、上述したステップＳ３からＳ６までの処理を繰り返す。
図３はＰＬＣ２のファームウェアＦＷ上のコピー処理３１の手順を示すフローチャートで、Ｓ１１〜Ｓ１４はそのステップ番号を示す。次に、図１を参照しつつ図３を説明する。なお、このコピー処理３１はＰＬＣアプリケーションＳＰの実行周期であるシーケンス制御周期Ｔｓ（本例では１０ｍｓ）より充分速い定周期Ｔｃ（本例では１ｍｓ）で常時繰り返される。
【００２９】
コピー処理３１は、先ずＤＰメモリＭ１の入力サイズ２４の領域に設定データがあるか否かをしらべ（ステップＳ１１）、設定データがあれば（分岐Ｙｅｓ）、ＤＰメモリＭ１の入力領域２６のデータを、矢印Ａ１３のようにＰＬＣ内部メモリＭ２の入力領域２９へ設定サイズ分コピーする（ステップＳ１２）。
なお、上記ステップＳ１１で入力サイズ２４の領域に実質的に設定データがなく、設定データが０または空白の場合には、コピー処理３１はステップＳ１２の処理を省略して次のステップＳ１３に進む。
次にコピー処理３１は、ＤＰメモリＭ１の出力サイズ２５の領域に設定データがあるか否かをしらべ（ステップＳ１３）、設定データがあれば（分岐Ｙｅｓ）、矢印Ａ１４のようにＰＬＣ内部メモリＭ２の出力領域３０のデータをＤＰメモリＭ１の出力領域２７へ設定サイズ分コピーして（ステップＳ１４）、図３の今回分の処理を終了する。
【００３０】
なお、上記ステップＳ１３で出力サイズ２５の領域に実質的に設定データがなく、設定データが０または空白の場合には、コピー処理３１はステップＳ１４の処理を省略して図３の今回分の処理を終了する。
ところで、この図３のコピー処理において、ＤＰメモリＭ１の入力サイズ２４が、例えば４ワード（なお、１ワード＝１６ビット）であるとし、パソコン側アプリケーションＰＰ１がＤＰメモリＭ１の入力領域２６に４ワードの転送データを書き込むものとする。コピー処理３１は、パソコン側アプリケーションＰＰ１の書込とは無関係に本例では１ｍｓの定周期Ｔｃで入力領域２６のデータをＰＬＣ内部メモリＭ２の入力領域２９にコピー転送する。
このため、仮にパソコン側アプリケーションＰＰ１が入力領域２６へ書込を行っている最中に、コピー処理３１がこの入力領域２６をアクセスしようとしたとき、このＤＰメモリＭ１はその性質として、本例では１６ビットの単位データ領域、従って１ワードのデータ領域分ずつの書込が終わるまではアクセスを受け付けないので、そのときの１ワード分のデータの書込が終わるまで、僅かな時間だけ待ってアクセスする。
【００３１】
従って、パソコン側アプリケーションＰＰ１がＤＰメモリＭ１の入力領域２６に４ワード分の転送データを書き込む際、同時にコピー処理３１がＤＰメモリＭ１にアクセスしてＰＬＣ内部メモリＭ２の入力領域２９へ転送する４ワード分の転送データのうち、最新のデータは、最悪、パソコン側アプリケーションＰＰ１が書き終わったばかりの１ワード分であり、残りの３ワード分は未更新の古いデータのままとなる。
しかし仮にこのような動作が繰り返されたとしても、コピー処理３１の４回分の実行までには、従って本例では１回のシーケンス制御周期Ｔｓの１０ｍｓより充分速い４ｍｓ以内に、少なくとも４ワード分の更新済データがＤＰメモリＭ１からＰＬＣ内部メモリＭ２に転送されるので、転送された更新済データが直ちにＰＬＣアプリケーションＳＰによる次のシーケンス制御周期でのシーケンス制御に反映することとなり、データ交換の定時性が確保される。
【００３２】
次に図２，３を参照しつつ、図１の具体的な動作の実施例を以下のＡ１）〜Ａ３）の見出し番号の順に述べる。ここでは図１のパソコン１が工作機械を操作するためのタッチパネルを備えたパネルコンピュータであるものとし、図１のパソコン側アプリケーションＰＰ１がＰＬＣ側にある工作機械としての射出成形機に組み込まれている型の状態データ（この場合、位置データ）をモニタし、型を移動（この場合、寸動）させる駆動装置（例えばサーボアンプとサーボモータ）をＯＮ／ＯＦＦ操作するためのスイッチデータをＰＬＣ側へ転送する監視操作ソフトであるとする。
そして、ＰＬＣアプリケーションＳＰがパソコン１の監視操作ソフトＰＰ１から送られるスイッチデータ（スイッチ操作データ）に応じて、駆動装置を介し型の寸動制御を行うものとする。
【００３３】
本例の場合、ＤＰメモリＭ１の入力領域２６として割り当てたアドレスには監視操作ソフトＰＰ１によって、上記スイッチ操作データが書込まれるが、この入力領域２６がファームウェアＦＷ上の定周期Ｔｃ（本例では１ｍｓ）毎に実行されるコピー処理３１によってＰＬＣ内部メモリＭ２の入力領域２９にコピーされる。
このため、ＰＬＣアプリケーションＳＰは、シーケンス制御周期Ｔｓ（本例では１０ｍｓ）毎に実行するシーケンス制御処理において入力領域２９を読み込んで監視操作ソフトＰＰ１から送られるスイッチ操作データを確認し、この操作データに応じて射出成形機の型の駆動装置をＯＮ／ＯＦＦ制御するよう予め定められる。
また、本例の場合、ＤＰメモリＭ１の出力領域２７として割り当てたアドレスからは監視操作ソフトＰＰ１によって監視対象である型の位置データが読み出されるが、この位置データは上記ファームウェアＦＷ上のコピー処理３１によってＰＬＣ内部メモリＭ２の出力領域３０の内容をコピーしたものである。
【００３４】
このため、ＰＬＣアプリケーションＳＰは、シーケンス制御周期Ｔｓのシーケンス制御処理毎に、ＰＬＣ内部メモリＭ２の出力領域３０に型の現在の位置データを書き込むよう予め定められる。
Ａ１）監視操作ソフトＰＰ１による初期化：
バソコン１の立上がりと同時に監視操作ソフトＰＰ１を起動し、この監視操作ソフトＰＰ１によってＤＰメモリＭ１の入力サイズ２４、出力サイズ２５の各領域へＰＬＣアプリケーションＳＰとの高速データ交換を行うためのデータサイズを設定する。
本例の場合、入力サイズ２４には入力領域２６に書き込まれるスイッチ操作データのデータサイズを設定し、出力サイズ２５には出力領域２７から読み出される型の位置データのデータサイズを設定する。
【００３５】
Ａ２）監視操作ソフトＰＰ１によるスイッチデータの転送：
監視操作ソフトＰＰ１はパネルコンピュータの画面上に型を動かす駆動装置をＯＮ／ＯＦＦするための寸動スイッチを表示し、画面の表面に設けられたタッチパネルの寸動スイッチを表示している部分が押されたならば、入力領域２６にスイッチ操作データとしてＯＮデータをセットし、タッチパネルへの押圧が無くなればＯＦＦデータをセットする。
ＰＬＣアプリケーションＳＰはそのシーケンス制御処理においてＰＬＣ内部メモリＭ２の入力領域２９から、コピー処理３１によって監視操作ソフトＰＰ１側より送られたスイッチ操作データを読み込み、読み込んだ操作データがＯＮデータの間は型の駆動装置に決まった速度での移動指令を与えて型を決まった速度で移動させ、ＯＦＦデータとなった時点で駆動装置に停止指令を与えて型を停止させる。
【００３６】
これらの動作において、パソコン１側からＰＬＣ２側へのスイッチデータの伝達時間の定時性が確保され、実際に人がスイッチを押している時間とＰＬＣへ伝わるスイッチデータがＯＮデータになっている時間との間にバラツキが無くなり、型の移動量のバラツキを無くすことができる。すなわち、型の目的位置まで移動と微調整が容易にできる。
Ａ３）監視操作ソフトＰＰ１による型の位置データのモニタ：
監視操作ソフトＰＰ１は定周期で、コピー処理３１によりＰＬＣアプリケーションＳＰから送られた出力領域２７の型の現在の位置データを読み取り、パネルコンピュータの画面に表示する。
これらの動作において、ＰＬＣ２側からパソコン１側への型の位置データの伝達時間の定時性が確保され、型の決まった速度での移動中に監視操作ソフトＰＰ１で型の現在位置データをモニタした場合、周期毎にパネルコンピュータ画面に表示する型の位置データの変化量（型の移動量）のバラツキを無くすことができる。すなわち、実際に型を目視確認しなくても、パネルコンピュータでモニタしている型の位置データを見ながら目的位置までの移動と微調整が容易にできる。
【００３７】
〔実施の形態２〕
例えば半導体検査装置などで、検査対象のＩＣチップの多軸の搬送および位置決め制御をＰＬＣで行い、パソコン側はＰＬＣ側へ画像処理ソフトでＩＣチップの画像認識結果に基づく位置決め指令（位置補正指令）を与えたり、搬送管理ソフトでＩＣチップの移動指示を与えたりするシステムを考える。
このようなシステムでは、パソコン側アプリケーションとＰＬＣアプリケーションとが実施の形態１で述べたような定時性を確保できる高速データ交換を行うだけでなく、多数のパソコン側アプリケーションに常時、ＰＬＣアプリケーションからの指示を監視する機能を持たせるといった、いわば、パソコン側アプリケーションの作成に余計な負担をかけずに、これらのパソコン側アプリケーションがそれぞれＰＬＣアプリケーションの必要とする適切なタイミングで作動するようにする（換言すれば、パソコン側アプリケーションを必要時にＰＬＣアプリケーションに同期させる）ことが望ましく、これにはＰＬＣが必要時にパソコン側へ割込をかけることが有効である。
【００３８】
そこで次に、ＰＬＣとパソコン間で実施の形態１のような高速データ交換を行うほか、必要時にＰＬＣがパソコン側へ割込をかけて必要な動作を行わせ、装置全体のサイクルタイムをより短縮するようにしたコンピュータ組み付け型プログラマブルコントローラを説明する。
図４は、本発明の実施の形態２の一実施例としてのＰＬＣアプリケーションとパソコン側アプリケーションとの同期機能に関わるシステム構成を示すブロック図である。
図４の図１との相違は、パソコン１においてアプリケーションプログラムがＰＰ２に置き換わると共に割込検出管理部５０が追加された点、またパソコン内蔵形ＰＬＣ２において、ＤＰメモリＭ１内に、それぞれ監視アドレス加算値３４、監視ビット設定値３５、割込フラグ４８、割込発生要因ビット３９の各領域および割込トリガ信号領域４９が新設され、且つＤＰメモリＭ１の出力領域２７内に次に述べる監視アドレス（つまり、監視対象のアドレス）３８の領域が新設された点、ファームウェアＦＷ上にコピー処理３１と同じ定周期Ｔｃ（本実施例では１ｍｓ）で実行されるビット変化監視処理４４が付設された点、およびＰＬＣ内部メモリＭ２の出力領域３０上に上記監視アドレス３８のコピー元となる監視アドレス３７の領域が新設された点である。
【００３９】
なお、ＰＬＣアプリケーションＳＰの処理は基本的には図１の場合と同じで、シーケンス制御周期Ｔｓごとに図外の制御対象機器と授受するＰＬＣ内部メモリＭ２内の制御状態データの読み書き、および同じくＰＬＣ内部メモリＭ２内の入力領域２９、出力領域３０のそれぞれの読み書きをしながらシーケンス制御処理を実行する。但し、図４ではＰＬＣ内部メモリＭ２内の出力領域３０内の前記した監視アドレス３７に、出力領域３０に割り付けられる制御対象機器の制御状態データ中の後述する割込発生条件の成立を監視するための監視対象のビット（監視ビットという）が含まれる点が異なる。
パソコン側アプリケーションＰＰ２はＤＰメモリＭ１の領域２４〜２７に対して図１のパソコン側アプリケーションＰＰ１と同様の処理を行う他に、予めＤＰメモリＭ１に対し矢印Ａ２５のように、それぞれ監視アドレス加算値３４及び監視ビット設定値３５を書き込む。なお、前記監視アドレス３８は出力領域２７の先頭アドレスに監視アドレス加算値３４分を足したアドレスとなる。
【００４０】
ファームウェアＦＷ上のコピー処理３１は定周期Ｔｃで図１の場合と同様にＤＰメモリＭ１の入力サイズ２４、出力サイズ２５の各領域上にそれぞれ転送データのサイズ２４、２５が設定されているか否かをしらべ、サイズデータが設定されていればそれぞれＤＰメモリＭ１の入力領域２６の入力サイズ２４分のデータをＰＬＣ内部メモリＭ２の入力領域２９へ、また、ＰＬＣ内部メモリＭ２の出力領域３０の出力サイズ２５分のデータをＤＰメモリＭ１の出力領域２７へコピーする。
また、ファームウェアＦＷ上のビット変化監視処理４４も同じ定周期ＴｃでＤＰメモリＭ１の監視アドレス３８のデータをサンプリングし、監視ビット設定値３５で設定されているビットの少なくともいずれかがＯＦＦからＯＮへ変化することを監視する。
即ち、ＰＬＣアプリケーションＳＰの処理で、ＰＬＣ内部メモリＭ２の出力領域３０内の監視アドレス３７のいずれかのビットをＯＮにすると、コピー処理３１によってＤＰメモリＭ１の出力領域２７内の監視アドレス３８の該当するビットもＯＮとなる。
【００４１】
ビット変化監視処理４４は、図５に示す処理によってこのビットの変化を検出し、割込発生条件成立の有無を判定する。ここで、図５の処理を説明する。同図中のＳ２１〜Ｓ２７はステップ番号である。
ビット変化監視処理４４は、先ず、ステップＳ２１で自身が保持している監視アドレス３８の前回値を読み出して反転する。次に、ステップＳ２２でこの反転値とＤＰメモリＭ１から読み出した監視アドレス３８の今回値とのＡＮＤ条件を求める。次のステップＳ２３ではさらに、ステップＳ２２の演算結果とＤＰメモリＭ１から読み出した監視ビット設定値３５とのＡＮＤ条件を求める。
次のステップＳ２４ではこの演算結果から監視ビット設定値３５として設定されたビット（つまり監視ビット）であって、且つＯＮに変化したビット（変化ビットという）を調べる。そして、次のステップＳ２５で１つでも変化ビットがあるか否かを判定し、１つも変化ビットがなければ（分岐Ｎｏ）、割込発生条件不成立とし（ステップＳ２６）、ＤＰメモリＭ１の割込フラグ４８をリセットする。
【００４２】
他方、ステップＳ２５で１つでも変化ビットがあれば（分岐Ｙｅｓ）、割込発生条件が成立したとし（ステップＳ２７）、ＤＰメモリＭ１の割込発生要因ビット３９の領域に、変化を検出したビットを特定するデータを書き込むと共に、同じくＤＰメモリＭ１の割込フラグ４８をセットし、さらにＤＰメモリＭ１の割込トリガ信号領域４９へ割込トリガ用データを書き込むことにより、パソコン１内の割込検出管理部５０に宛てて割込トリガ信号ＩＮＴを発生させる。そして、割込検出管理部５０によって割込フラグ４８がリセットされるまでビット変化の監視を中断する。
図７はパソコン１内の割込検出管理部５０の処理手順を示すフローチャートで、Ｓ３１〜Ｓ４０はそのステップ番号である。この処理手順は大別してステップＳ３１〜Ｓ３４のＰＬＣ２側とのやり取りからなる割込検出処理１００の部分と、ステップＳ３５〜Ｓ４０のパソコン１内での処理からなる割込管理処理２００の部分とからなる。
【００４３】
ここで、割込検出処理１００を説明する。パソコン１内の割込検出管理部５０は割込トリガ信号ＩＮＴの入力を検出すると（ステップＳ３１、分岐Ｙｅｓ）、矢印Ａ２８のようにＤＰメモリＭ１の割込トリガ信号領域４９をリードアクセスする。これにより割込トリガ信号ＩＮＴがリセットされる（ステップＳ３２）。
次に割込検出管理部５０は、矢印Ａ２７のようにＤＰメモリＭ１の割込発生要因ビット３９を読み取り、このデータを後述する自身内の割込要因メモリ６０へ記憶したのち（ステップＳ３３）、矢印Ａ２６のようにＤＰメモリＭ１の割込フラグ４８をリセットする（ステップＳ３４）。この割込フラグ４８のリセットによりＰＬＣ２側のビット変化監視処理４４は、監視ビットの変化の監視を再開する。
図６は、図４におけるパソコン１のアプリケーションプログラムＰＰ２および割込検出管理部５０内の要部の構成の一実施例を示す。パソコン側アプリケーションＰＰ２は、ＰＬＣアプリケーションＳＰと同期して動作する複数のアプリケーションプログラムからなり、本実施例ではＰＰ２−１、ＰＰ２−２の２つのアプリケーションプログラムからなるものとする。
【００４４】
パソコン側アプリケーションＰＰ２−１およびＰＰ２−２は、それぞれ待ちビット指定値５２、待ち５５、発生ビット５６からなるＰＬＣ割込み待ち関数５１としての５１−１および５１−２を持ち、この関数処理を割込検出管理部５０との間で実行する。
割込検出管理部５０はこの関数処理に対応する機能部として、割込待ち管理テーブル５９および割込要因メモリ６０を備えている。そして割込待ち管理テーブル５９は、複数のパソコン側アプリケーションＰＰ２に対応できるように待ちビットデータ５２ａと管理番号５３とが対になった領域を複数個持っている。
いま、パソコン側アプリケーションＰＰ２−１、ＰＰ２−２がそれぞれの処理中にＰＬＣ割込待ち関数５１−１、５１−２を実行すると、各当該のパソコン側アプリケーションＰＰ２は先ず待ちビット指定値５２を矢印Ａ３１のように割込待ち管理テーブル５９内の待ちビットデータ５２ａの領域にセットし、さらにこの待ちビットデータ５２ａと対の管理番号５３の領域に当該のパソコン側アプリケーションＰＰ２を特定するためのＩＤ番号をセットする。そして待ち５５の状態となり、割込検出管理部５０からの割込管理処理２００を待つ。
【００４５】
次に図７により割込検出管理部５０の割込管理処理２００を説明する。割込検出管理部５０は、割込待ち管理テーブル５９に格納されている待ちビットデータ５２ａを検索し（ステップＳ３５）、矢印Ａ３２のように割込要因メモリ６０のデータと比較を行う。この比較方法としては検索した待ちビットデータ５２ａと割込要因メモリ６０とのＡＮＤ条件を求める（ステップＳ３６）。
ここでビットが１つでもＯＮしている、すなわち割込要因メモリ６０の割込要因を示すビットの内どれかがＯＮしている場合（ステップＳ３７、分岐Ｙｅｓ）、当該の待ちビットデータ５２ａと対の管理番号５３に対応するパソコン側アプリケーション（図６の例ではＰＰ２−２としている）に待ち解除指示５４を与えて、待ち５５の状態を解除し（ステップＳ３８）、矢印Ａ３３のように割込要因メモリ６０のデータを当該のパソコン側アプリケーション（本例ではＰＰ２−２）のＰＬＣ割込待ち関数（本例では５１−２）内の発生ビット５６へ転送する（ステップＳ３９）。
【００４６】
割込検出管理部５０は、ステップＳ４０で割込待ち管理テーブル５９の検索が終了位置と判別するまではステップＳ３５〜Ｓ４０の割込管理処理２００を繰り返す。
前記ステップＳ３９で発生ビット５６のデータをＰＬＣ割込み待ち関数の戻り値として受け取ったパソコン側アプリケーション（図６の例ではＰＰ２−２）は、指定した待ちビットのどのビットで待ち状態が解除されたかを確認し、そのビットに応じて予め定められている処理を行う。
次に図５、図７を参照しつつ、主として図４、図６の具体的な動作の実施例をＢ１）〜Ｂ７）の見出し番号の順に述べる。ここではパソコン側アプリケーションＰＰ２−１をＩＣチップの画像処理によりＰＬＣ側へ所定方向（本例ではＸ軸方向とする）の位置決め指令（位置補正指令）を与えたり、ＩＣチップを検査したりする半導体検査装置の画像処理ソフトとし、バソコン側アプリケーションＰＰ２−２をＩＣチップの次工程への別軸方向（本例ではＹ軸方向とする）の搬送を管理する搬送管理ソフトとする。
【００４７】
そして、ＰＬＣアプリケーションＳＰが画像処理ソフトＰＰ２−１および搬送管理ソフトＰＰ２−２の指令に応じてＩＣチップのそれぞれの軸上での位置決め制御を行うものとする。
なお、以下の説明では前提として、別の手段によって半導体検査装置内へ搬入されてきたばかりのワークとしての検査対象のＩＣチップが、画像処理ソフトＰＰ２−１によってＸ軸方向の位置ズレを認識されたのち、ＰＬＣアプリケーションＳＰによってＸ軸方向に正しく位置決め（位置ズレ修正）されて再び画像処理ソフトＰＰ２−１により検査され、この後、搬送管理ソフトＰＰ２−２によって半導体検査装置内からＹ軸方向に搬出されるという一連の処理が、新たなＩＣチップの半導体検査装置内への搬入ごとに実行されるものとする。
【００４８】
なお、本例の場合、ＤＰメモリＭ１の入力領域２６には画像処理ソフトＰＰ２−１および搬送管理ソフトＰＰ２−２によって、それぞれ移動量データおよび位置決め開始指令データが領域を分けて書き込まれるが、この入力領域２６がファームウェアＦＷ上のコピー処理３１によってＰＬＣ内部メモリＭ２の入力領域２９にコピーされる。
このため、ＰＬＣアプリケーションＳＰは、シーケンス制御周期Ｔｓ毎に実行するシーケンス制御処理において入力領域２９内のそれぞれ該当する領域を読み込んで画像処理ソフトＰＰ２−１から送られる移動量データおよび位置決め開始指令データと、搬送管理ソフトＰＰ２−２から送られる移動量データおよび位置決め開始指令データの有無を確認し、存在するデータに応じた位置決め制御を行うよう予め定められる。
また、本例の場合、ＤＰメモリＭ１の出力領域２７内の監視アドレス３８には画像処理ソフトＰＰ２−１に関わる位置決め完了データおよび搬送管理ソフトＰＰ２−２に関わる位置決め完了データが共に監視ビットとして書き込まれるが、この監視アドレス３８の内容はファームウェアＦＷ上のコピー処理３１によってＰＬＣ内部メモリＭ２の出力領域３０内の監視アドレス３７の内容をコピーしたものである。
【００４９】
このため、ＰＬＣアプリケーションＳＰは、画像処理ソフトＰＰ２−１および搬送管理ソフトＰＰ２−２の指示に基づく位置決め制御をそれぞれ完了した時点の直近のシーケンス制御周期Ｔｓでのシーケンス制御処理において、ＰＬＣ内部メモリＭ２の出力領域３０内の監視アドレス３７の該当するビット位置に監視ビットとしての位置決め完了データを書き込むよう予め定められる。
これにより本例では、ＰＬＣアプリケーションＳＰが位置決め完了データとして監視アドレス３７上のビット０（２進データの０位桁（末尾桁）ビット）またはビット１（２進データの１位桁（末尾の次の桁）のビット）をセットすることで、それぞれ画像処理ソフトＰＰ２−１または搬送管理ソフトＰＰ２−２の指示に基づく位置決め制御が完了したとしてＰＬＣ側からパソコン側へ割込を発生させる。
【００５０】
Ｂ１）初期化処理：
バソコン１の立上がり時に、先ず代表となるバソコン側アプリケーション（本例では画像処理ソフトＰＰ２−１とする）を起動し、ＰＬＣアプリケーションＳＰとの高速データ交換やＰＬＣによるパソコン側への割込を発生させたりするために、画像処理ソフトＰＰ２−１の初期化処理部によってＤＰメモリＭ１に対し次のＢ１ａ）、Ｂ１ｂ）に示す初期設定を行ったのち、搬送管理ソフトＰＰ２−２を起動させる。
Ｂ１ａ）ＤＰメモリＭ１の入力サイズ２４、出力サイズ２５領域への設定；
本例の場合、入力サイズ２４には、画像処理ソフトＰＰ２−１および搬送管理ソフトＰＰ２−２がそれぞれ入力領域２６に互いに異なる領域を使って書き込む移動量データおよび位置決め開始指令データの全てを足したデータサイズを設定する。
【００５１】
また、出力サイズ２５には、画像処理ソフトで扱う位置決め完了データおよび搬送管理ソフトで扱う位置決め完了データが共に監視ビットとして書き込まれる出力領域２７内の監視アドレス３８のデータサイズである１ワードを設定する。
Ｂ１ｂ）ＤＰメモリＭ１の監視アドレス加算値３４、監視ビット設定値３５領域への設定；
本例の場合、監視アドレス加算値３４には、出力領域２７に割り付けた位置決め完了データを持つ監視アドレス３８の出力領域２７上のアドレスを与えるアドレス加算値を設定する。本例では出力領域２７自体が監視アドレス３８領域に一致するためアドレス加算値は０となる。
また、監視ビット設定値３５には画像処理ソフトＰＰ２−１と搬送管理ソフトＰＰ２−２で扱う、ＰＬＣからの割込を発生させるための２つの監視ビットの位置を設定する。監視ビット位置として例えば、画像処理ソフトがビット０（０位桁ビット）を使い、搬送管理ソフトがビット１（１位桁ビット）を使う場合、監視ビット設定値３５へはビット０およびビット１をそれぞれ値“１”とした２進データ値“３”を設定する。
【００５２】
Ｂ２）画像処理ソフトによるＩＣチップ位置ズレ検出、待機処理：
画像処理ソフトＰＰ２−１はＩＣチップの画像認識を行い、ＩＣチップのＸ軸方向における正規位置とのズレを計測し、ＩＣチップの位置を補正するためのＸ軸方向の移動量データを、ＤＰメモリＭ１の入力領域２６の画像処理ソフト側に割当てられた移動量データを格納するアドレスへセットすると共に、同じく画像処理ソフト側に割当てられた位置決め開始指令データを格納するアドレスへ「開始データ」をセットする。
続いてＰＬＣ割込待ち関数５１−１を実行して待ちビット指定値５２に待ちビットを設定して待ち５５の状態となり、ＰＬＣ側からの割込を待つ。即ちＩＣチップの位置補正のための位置決め完了を待つ。
なお、ここで待ちビット指定値５２へ設定する値は、画像処理ソフトが前述のように出力領域２７の監視アドレス３８のビット０をＰＬＣアプリケーションＳＰによる位置決め完了データのコピー先とする場合、ビット０（０位桁ビット）の値を“１”とした２進データ値“１”となる。
【００５３】
Ｂ３）ＰＬＣによるＸ軸方向の位置決め制御、割込発生処理：
ＰＬＣアプリケーションＳＰは、ＤＰメモリＭ１の入力領域２６からファームウェアＦＷ上のコピー処理３１によってＰＬＣ内部メモリＭ２の入力領域２９にコピーされた画像処理ソフト側の（Ｘ軸方向の）移動量データおよび位置決め開始指令データの「開始データ」を読み取り、ＰＬＣ２へ接続しているＸ軸方向の駆動装置（例えばサーボアンプとサーボモータ）を制御して位置決め動作を実行し、移動量データで指示された移動量だけＩＣチップを移動させる。即ちＩＣチップの位置ズレを補正する。
この位置決め制御（位置ズレ補正）が完了したならば、ＰＬＣアプリケーションＳＰは位置決め完了データとしてＰＬＣ内部メモリＭ２の監視アドレス３７の末尾桁のビット０をＯＮする。これによりファームウェアＦＷ上のコピー処理３１によってＤＰメモリＭ１の監視アドレス３８のビット０もＯＮとなり、ファームウェアＦＷ上のビット変化監視処理４４はＤＰメモリＭ１の監視ビット設定値３５と照合して割込条件成立と判断し、ＤＰメモリＭ１の割込発生要因ビット３９のビット０をＯＮし、前述した割込発生処理によってパソコン１へ割込を発生させる。
【００５４】
Ｂ４）画像処理ソフトの待機解除、ＩＣチップ検査処理：
画像処理ソフトＰＰ２−１は、そのＰＬＣ割込待ち関数５１−１の待ち５５が上記の割込発生によって解除され、同関数５１−１の発生ビット５６のビット０が“１”であることからＩＣチップの位置ズレ補正が完了したことを認識し、ＩＣチップの検査を行いその良否を判定する。そして搬送管理ソフトＰＰ２−２に当該のＩＣチップを搬出するよう指示を与えたのち、次に位置ズレ補正すべきＩＣチップの到来を待つ。
Ｂ５）搬送管理ソフトによるＩＣチップ搬出処理：
搬送管理ソフトＰＰ２−２は、画像処理ソフトＰＰ２−１からＩＣチップを搬出するよう指示を受けると、搬送先までの（Ｙ軸方向の）移動データを、ＤＰメモリＭ１の入力領域２６の搬送管理ソフト側に割当てられた移動量データを格納するアドレスへセットすると共に、同じく搬送管理ソフト側に割当てられた位置決め開始指令データを格納するアドレスへ「開始データ」をセットする。
【００５５】
続いてＰＬＣ割込待ち関数５１−２を実行して待ちビット指定値５２に待ちビットを設定して待ち５５の状態となり、ＰＬＣ側からの割込を待つ。即ちＩＣチップの搬送先までの移動の位置決め完了を待つ。
なお、ここで待ちビット指定値５２へ設定する値は、搬送管理ソフトが前述のように出力領域２７の監視アドレス３８のビット１（１位桁ビット）をＰＬＣアプリケーションＳＰによる位置決め完了データのコピー先とする場合、ビット１（１位桁ビット）の値を“１”とした２進データ値“２”となる。
Ｂ６）ＰＬＣによるＹ軸方向の位置決め制御、割込発生処理：
ＰＬＣアプリケーションＳＰは、ＤＰメモリＭ１の入力領域２６からファームウェアＦＷ上のコピー処理３１によってＰＬＣ内部メモリＭ２の入力領域２９にコピーされた搬送管理ソフト側の（Ｙ軸方向の）移動量データおよび位置決め開始指令データの「開始データ」を読み取り、ＰＬＣ２へ接続しているＹ軸方向の駆動装置（例えばサーボアンプとサーボモータ）を制御して位置決め動作を実行し、移動量データで指示された移動量だけＩＣチップを移動させる。
【００５６】
この位置決め制御（搬送先までの移動）が完了したならば、ＰＬＣアプリケーションＳＰは位置決め完了データとしてＰＬＣ内部メモリＭ２の監視アドレス３７のビット１をＯＮする。これによりファームウェアＦＷ上のコピー処理３１によってＤＰメモリＭ１の監視アドレス３８のビット１もＯＮとなり、ファームウェアＦＷ上のビット変化監視処理４４はＤＰメモリＭ１の監視ビット設定値３５と照合して割込条件成立と判断し、ＤＰメモリＭ１の割込発生要因ビット３９のビット１をＯＮし、前述した割込発生処理によってパソコン１へ割込を発生させる。
Ｂ７）搬送管理ソフトの待機解除：
搬送管理ソフトＰＰ２−２は、そのＰＬＣ割込待ち関数５１−２の待ち５５が上記の割込発生によって解除され、同関数５１−２の発生ビット５６のビット１が“１”であることからＩＣチップの搬送先までの移動が完了したことを認識し、次のＩＣチップの搬出指示を待つ。
【００５７】
但し、搬送管理ソフトによりＩＣチップが搬送先まで搬出されるまでの間に、次のＩＣチップがこの半導体検査装置に搬入され、上述のように画像処理ソフトとＰＬＣにより位置ズレを補正されて、この時点で検査を終えているとすれば、画像処理ソフトから搬送管理ソフトへのＩＣチップの搬出指示は既に出されているか、あるいは直ちに出されるので、搬送管理ソフトは時間の無駄なく直ちに次の搬出処理を再開することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態１の一実施例としてのＰＬＣアプリケーションとパソコン側アプリケーションとの高速データ交換機能に関わるシステム構成を示すブロック図
【図２】図１におけるパソコン側アプリケーションの一般的な処理の手順を示すフローチャート
【図３】図１におけるＰＬＣファームウェアのコピー処理の手順を示すフローチャート
【図４】本発明の実施の形態２の一実施例としてのＰＬＣアプリケーションとパソコン側アプリケーションとの同期機能に関わるシステム構成を示すブロック図
【図５】図４におけるＰＬＣファームウェアのビット変化監視処理による割込発生判定処理の手順を示すフローチャート
【図６】図４におけるパソコンのアプリケーションプログラムおよび割込検出管理部内の要部の構成の一実施例を示すブロック図
【図７】図４におけるパソコン内の割込検出管理部の処理手順を示すフローチャート
【図８】従来のＰＬＣアプリケーションとパソコン側アプリケーションとのデータ交換機能に関わるシステム構成例を示す図
【図９】パソコン内蔵形ＰＬＣのシステム構成例を示すブロック回路図
【符号の説明】
【００５９】
１        パソコン
２        パソコン内蔵形プログラマブルコントローラ（パソコン内蔵形ＰＬＣ）
３        拡張バス（ＰＣＩバス）
２４      入力サイズ
２５      出力サイズ
２６      入力領域
２７      出力領域
２９      入力領域
３０      出力領域
３１      コピー処理
３４      監視アドレス加算値
３５      監視ビット設定値
３７、３８    監視アドレス
３９      割込発生要因ビット
４４      ビット変化監視処理
４８      割込フラグ
４９      割込トリガ信号領域
５０      割込検出管理部
５１（５１−１、５１−２）    ＰＬＣ割込待ち関数
５２      待ちビット指定値
５２ａ    待ちビットデータ
５３      管理番号
５４      待ち解除指示
５５      待ち
５６      発生ビット
５９      割込待ち管理テーブル
６０      割込要因メモリ
１００    割込検出処理
２００    割込管理処理
ＩＮＴ    割込トリガ信号
Ｍ１      デュアルポートメモリ（ＤＰメモリ）
Ｍ２      ＰＬＣ内部メモリ
ＦＷ      ファームウェア
ＳＰ      ＰＬＣユーザアプリケーションプログラム（ＰＬＣアプリケーション）
ＰＰ１、ＰＰ２（ＰＰ２−１、ＰＰ２−２）    パソコン側ユーザアプリケーションプログラム（パソコン側アプリケーション）
【図１】
0004434103.tif 000002
【図２】
0004434103.tif 000003
【図３】
0004434103.tif 000004
【図４】
0004434103.tif 000005
【図５】
0004434103.tif 000006
【図６】
0004434103.tif 000007
【図７】
0004434103.tif 000008
【図８】
0004434103.tif 000009
【図９】
0004434103.tif 000010