(57)【特許請求の範囲】
【請求項１】
実行シミュレーションの対象となるＰＬＣ用制御プログラムと、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述した模擬入力生成プログラムとに基づいて、所望のプログラム実行シミュレーションをパソコン上で仮想的に実行するＰＬＣ用制御プログラムのシミュレーション装置であって、
前記ＰＬＣ用制御プログラムと前記模擬入力生成プログラムとは別々の領域に格納されており、かつＰＬＣ用制御プログラムのために確保された格納領域は実機ＰＬＣへのダウンロードに際して単独で読み出し可能になされており、さらに
前記ＰＬＣ用制御プログラムと前記模擬入力生成プログラムとを並行して実行可能なプログラム実行エンジンを有する、ＰＬＣ用制御プログラムの実行シミュレーション装置。
【請求項２】
プログラム実行エンジンが、各々独立に動作可能な、ＰＬＣ用制御プログラム専用の実行エンジンと、模擬入力生成プログラム専用の実行エンジンとからなる、請求項１に記載のＰＬＣ用制御プログラムの実行シミュレーション装置。
【請求項３】
プログラム実行エンジンが、ＰＬＣ用制御プログラムと模擬入力生成プログラムとを時分割で実行する共通の実行エンジンで構成される、請求項１に記載のＰＬＣ用制御プログラムの実行シミュレーション装置。
【請求項４】
コンピュータを、
実行シミュレーションの対象となるＰＬＣ用制御プログラムと、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述した模擬入力生成プログラムとをメモリ上の別々の領域に格納させるための手段と、
上記メモリ上の別々の領域に格納されたＰＬＣ用制御プログラムと模擬入力生成プログラムとを並行して実行させることにより、所望のプログラム実行シミュレーションを行うためのプログラム実行エンジンと、
上記２つの領域の内でＰＬＣ用制御プログラム格納領域の内容だけを単独で実機ＰＬＣへダウンロードするための手段として機能させるためのプログラムを記録した記録媒体。
【請求項５】
格納されたプログラムをブロック単位で選択的に実行可能なＰＬＣにおいて、
動作モードをシミュレーションモードとする指示を受け付けるための手段と、
制御プログラムの各ブロック毎にシミュレーションモード専用の識別子が付加されているか否かを判定する手段と、
シミュレーションモードとする指示を受け付けたときには、外部との入出力を遮断する手段と、
通常モードのときには、シミュレーションモード専用の識別子が付加されたプログラムブロックを除いてプログラムを実行する一方、シミュレーションモードのときには、シミュレーションモード専用の識別子が付加されたプログラムを含めてプログラムを実行する実行エンジンと、
を設けた制御プログラム実行シミュレーション機能を有するＰＬＣ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブル・コントローラ（以下、ＰＬＣと称する）用制御プログラムの実行シミュレーション装置、並びに、制御プログラム実行シミュレーション機能を有するＰＬＣに関する。
【０００２】
【従来の技術】
実行シミュレーションの対象となるＰＬＣ用制御プログラムと、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述した模擬入力生成プログラムとに基づいて、所望のプログラム実行シミュレーション動作をパソコン上で仮想的に実行するＰＬＣ用制御プログラムのシミュレーション装置は公知である。
【０００３】
斯かるシミュレーション装置によれば、実行シミュレーションに必要な模擬入力は、仮想ＰＬＣのＩ／Ｏメモリ上に自動生成されることから、模擬入力をパソコンの外部から手入力で与えたり、別途ファイルで与える必要が無くなる。
【０００４】
しかも、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述できることから、ＰＬＣのユーザにとっては特別な知識がなくとも、模擬入力生成手順を容易にプログラムできるほか、制御プログラムの実行タイミングに合わせて模擬入力を生成できる利点もある。
【０００５】
上述の模擬入力生成プログラムは、例えば、実行シミュレーションの対象となるＰＬＣ用制御プログラムの先頭、末尾、或いは制御プログラムの途中等に付加される。換言すれば、ＰＬＣ用制御プログラムと模擬入力生成プログラムとはシミュレーション装置内の同一の領域に格納される。
【０００６】
【発明が解決しようとする課題】
ＰＬＣ用制御プログラムのために確保された格納領域のデータ（プログラム）は、実機ＰＬＣへのダウンロードに際しては一括して読み出される。そのため、模擬入力生成が完了したＰＬＣ用制御プログラムを実機ＰＬＣにダウンロードする場合には、それに先立って、ＰＬＣ用制御プログラムに付加された模擬入力生成プログラムを削除せねばならない。
【０００７】
この模擬入力生成プログラムの削除操作は、人が目視確認しつつ手作業で行うものであるから、誤操作は避けがたい。このとき、模擬入力生成プログラムを削除し残したり、ＰＬＣ用制御プログラムまでをも誤って削除したことに気づかずに、その後、実機ＰＬＣへの制御プログラムのダウンロードを行えば、せっかくデバッグが完了した正常な制御プログラムと異なる制御プログラムを実機ＰＬＣにダウンロードする結果となる。これは、当然に、実機ＰＬＣにおける誤動作の原因となる。
【０００８】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、デバッグの完了した制御用プログラムが間違いなく実機ＰＬＣで実行されるようにすることにある。
【０００９】
本発明の具体的な目的とするところは、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述することができ、しかもデバッグの完了した制御プログラムが間違いなく実機ＰＬＣにダウンロードされるようにしたＰＬＣ用制御プログラムの実行シミュレーション装置を提供することにある。
【００１０】
本発明の他の具体的な目的とするところは、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述することができ、しかもデバッグの完了した制御用プログラムが間違いなく実行されるようにした制御プログラム実行シミュレーション機能を有するＰＬＣを提供することにある。
【００１１】
この発明のさらに他の目的乃至効果は、以下の明細書の記述により、当業者であれば容易に理解されるであろう。
【００１２】
【課題を解決するための手段】
本発明のＰＬＣ用制御プログラムの実行シミュレーション装置は、実行シミュレーションの対象となるＰＬＣ用制御プログラムと、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述した模擬入力生成プログラムとに基づいて、所望のプログラム実行シミュレーションをパソコン上で仮想的に実行することを前提事項としている。
【００１３】
加えて、前記ＰＬＣ用制御プログラムと前記模擬入力生成プログラムとは別々の領域に格納されており、かつＰＬＣ用制御プログラムのために確保された格納領域は実機ＰＬＣへのダウンロードに際して単独で読み出し可能になされる。
【００１４】
さらに、前記ＰＬＣ用制御プログラムと前記模擬入力生成プログラムとを共通の解読処理体系に従って並行して実行するプログラム実行エンジンを有する。
【００１５】
このような構成によれば、別々の領域に格納された２つのプログラムを並行に実行しつつ所望のシミュレーション並びに必要なデバッグが行われる一方、デバッグが完了した状態で、ＰＬＣ用制御プログラムのために確保された格納領域の内容を実機ＰＬＣへとダウンロードすれば、デバッグの完了した制御プログラムだけを間違いなく実機ＰＬＣにダウンロードさせることができる。
【００１６】
好ましい実施の形態では、プログラム実行エンジンが、各々独立に動作可能な、ＰＬＣ用制御プログラム専用の実行エンジンと、模擬入力生成プログラム専用の実行エンジンとからなっている。
【００１７】
他の好ましい実施の形態では、プログラム実行エンジンが、ＰＬＣ用制御プログラムと模擬入力生成プログラムとを時分割で実行する共通の実行エンジンで構成される。
【００１８】
本発明の制御プログラム実行シミュレーション機能を有するＰＬＣは、格納されたプログラムをブロック単位で選択的に実行可能なＰＬＣを前提事項としている。
【００１９】
加えて、動作モードをシミュレーションモードとする指示を受け付けるための手段と、制御プログラムの各ブロック毎にシミュレーションモード専用の識別子が付加されているか否かを判定する手段と、シミュレーションモードとする指示を受け付けたときには、外部との入出力を遮断する手段と、通常モードのときには、シミュレーションモード専用の識別子が付加されたプログラムブロックを除いてプログラムを実行する一方、シミュレーションモードのときには、シミュレーションモード専用の識別子が付加されたプログラムを含めてプログラムを実行する実行エンジンと、を設けている。
【００２０】
このような構成によれば、シミュレーションモードとする指示を受け付けたときには、外部との入出力を遮断した上で、シミュレーションモード専用の識別子が付加されたプログラムを含めてプログラムが実行される一方、通常モードのときには、シミュレーションモード専用の識別子が付加されたプログラムブロックを除いてプログラムが実行される。そのため、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述することができ、しかも模擬入力生成の完了した制御用プログラムが間違いなく実行される。
【００２１】
【発明の実施の形態】
以下に、この発明の好適ないくつかの実施の形態を添付図面を参照しつつ詳細に説明する。
【００２２】
本発明に係る実行シミュレーション装置の第１実施形態におけるプログラム実行エンジンの構成を示すフローチャートが図１に、本発明に係る実行シミュレーション装置の第１実施形態における動作の全体を模式的に示すブロック図が図２にそれぞれ示されている。
【００２３】
先に説明したように、本発明に係るＰＬＣ用制御プログラムの実行シミュレーション装置は、実行シミュレーションの対象となるＰＬＣ用制御プログラムと、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述した模擬入力生成プログラムとに基づいて、所望のプログラム実行シミュレーション動作をパソコン上で仮想的に実行することを前提事項としている。なお、パソコンのハードウェア構成並びに基本オペレーティングシステム等については、当業者に周知であるから説明は省略する。
【００２４】
加えて、ＰＬＣ用制御プログラムと模擬入力生成プログラムとは別々の領域に格納されており、かつＰＬＣ用制御プログラムのために確保された格納領域は実機ＰＬＣへのダウンロードに際して単独で読み出し可能になされる。
【００２５】
さらに、ＰＬＣ用制御プログラムと模擬入力生成プログラムとを共通の解読処理体系に従って並行して実行するプログラム実行エンジンを有する。
【００２６】
特に、図１及び図２に示される実施形態では、プログラム実行エンジンが、各々独立に動作可能な、ＰＬＣ用制御プログラム専用の実行エンジンと、模擬入力生成プログラム専用の実行エンジンとからなっている。
【００２７】
すなわち、図２のブロック図において、符号Ａ１が付されている部分が、シミュレーション対象の制御プログラム（本発明のＰＬＣ用制御プログラムに相当）が格納される格納領域である。この格納領域Ａ１は、本発明の実行シミュレーション装置を実現するパソコン用アプリケーションソフトの実行の際に、対象となるパソコンの主メモリ上に定義される。
【００２８】
符号Ａ２が付されている部分が、デバッグプログラム（本発明の模擬入力生成プログラムに相当）が格納される格納領域である。この格納領域Ａ２も、本発明の実行シミュレーション装置を実現するパソコン用アプリケーションソフトの実行の際に、対象となるパソコンの主メモリ上に定義される。
【００２９】
符号Ｅ１が付されている部分が、シミュレーション対象の制御プログラムを実行するプログラム実行エンジン（本発明のＰＬＣ用制御プログラム専用の実行エンジンに相当）である。
【００３０】
符号Ｅ２が付されている部分が、デバッグプログラム用実行エンジン（本発明の模擬入力生成プログラム専用の実行エンジンに相当）である。
【００３１】
シミュレーション対象の制御プログラム実行エンジンＥ１とデバッグプログラム用実行エンジンＥ２とは、それぞれパソコン上においてソフトウェア的に実現され、互いに非同期に同時動作可能に構成される。すなわち、これらのエンジンＥ１，Ｅ２は、制御プログラムとデバッグプログラムとを共通の解読処理体系に従って並行して実行する。符号Ａ０が付された部分が、入出力データのバッファエリアとして機能するＩ／Ｏメモリ領域である。このＩ／Ｏメモリ領域についても、本発明の実行シミュレーション装置を実現するパソコン用アプリケーションソフトの実行の際に、対象となるパソコンの主メモリ上に定義される。
【００３２】
プログラム実行エンジンＥ１，Ｅ２の構成を図１のフローチャートを参照してより詳細に説明する。
【００３３】
同フローチャートにおいて、ステップ１１１に示されるように、シミュレーション対象の制御プログラム実行エンジンＥ１は、予めシミュレーション対象の制御プログラム格納領域Ａ１に格納された、ユーザが作成した制御プログラム（例えばラダープログラム）から命令をフェッチし（図２，ＳＴ１−１参照）、続いてステップ１１２に示されるように、これを実行（ソフトウェアシミュレーション）する。このとき、プログラムの実行に必要となる入力はＩ／Ｏメモリ領域Ａ０から獲得し（図２，ＳＴ１−２参照）、プログラムの実行結果はＩ／Ｏメモリ領域Ａ０に出力するように構成する（図２，ＳＴ１−３参照）。
【００３４】
ステップ１２１に示されるように、デバッグプログラム実行エンジンＥ２は、予めデバッグプログラム格納領域Ａ２に格納された、ユーザが作成したデバッグプログラム（例えばラダープログラム）から命令をフェッチし（図２，ＳＴ２−１参照）、続いてステップ１２２に示されるように、これを実行する。
【００３５】
デバッグプログラムは、プログラムの実行に外部入力が必要ないようにユーザによってプログラミングされたものであり、入力を必要としない。すなわち、ここで言うデバッグプログラムとは、制御プログラムの実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述したものに相当する。そして、このデバッグプログラムの実行結果はＩ／Ｏメモリ領域Ａ０に出力するように構成する（図２，ＳＴ２−２参照）。
【００３６】
その結果、デバッグプログラム実行結果として得られる出力がＩ／Ｏメモリ領域Ａ０に出力され、この出力を模擬入力として制御プログラムのシミュレーションが実行され、シミュレーションの結果は、Ｉ／Ｏメモリ領域Ａ０に出力されることとなる。このとき、格納領域Ａ１に格納されるシミュレーション対象の制御プログラムには、模擬入力を得るためのプログラム追加などを行っていないため、実機と同じプログラムがシミュレーションできたことになる。
【００３７】
従って、この実施形態によれば、別々の領域Ａ１，Ａ２に格納された２つのプログラムを並行に実行しつつ所望のシミュレーション並びに必要なデバッグが行われる一方、デバッグが完了した状態で、ＰＬＣ用制御プログラムのために確保された格納領域Ａ１の内容を実機ＰＬＣへとダウンロードすれば、デバッグの完了した制御プログラムだけを間違いなく実機ＰＬＣにダウンロードさせることができる。
【００３８】
本発明に係る実行シミュレーション装置の第２実施形態におけるプログラム実行エンジンの構成を示すフローチャートが図３に、本発明に係る実行シミュレーション装置の第２実施形態における動作の全体を模式的に示すブロック図が図４にそれぞれ示されている。
【００３９】
図３及び図４に示される実施形態では、プログラム実行エンジンが、ＰＬＣ用制御プログラムと模擬入力生成プログラムとを時分割で実行する共通の実行エンジンで構成される。なお、図４において、図２と同一構成部分については、同符号を付して説明は省略する。
【００４０】
この第２実施形態にあっては、シミュレーション対象の制御プログラム（格納領域Ａ１に存在する）とデバッグプログラム（格納領域Ａ２に存在する）とは、ソフトウェアで構成されたプログラム実行エンジンＥ０にて、それぞれのプログラムの制御単位毎（例えばラダーの場合は、１スキャン毎）に切り替えて時分割的に実行されるように構成する。
【００４１】
プログラム実行エンジンＥ０の構成を図３のフローチャートを参照してより詳細に説明する。
【００４２】
図３において、ステップ３０１に示されるように、プログラム実行エンジンＥ０は、予めデバッグプログラム格納領域Ａ２に格納された、ユーザが作成したデバックプログラム（例えばラダープログラム）から命令を取り出し実行する（図４，ＳＴ４−１参照）。デバックプログラムは、プログラムの実行に入力が必要ないようにユーザによってプログラミングされたものであり、入力を必要としない。すなわち、ここで言うデバッグプログラムとは、制御プログラムの実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述したものに相当する。ステップ３０２に示されるように、このデバックプログラムの実行結果はＩ／Ｏメモリ領域Ａ０に出力するように構成する（図４，ＳＴ４−２参照）。デバックプログラムの１制御単位が終了すると（ステップ３０３ＹＥＳ）、プログラム実行エンジンＥ０の制御対象を、シミュレーション対象の制御プログラム（格納領域Ａ１に存在する）に切り替える。
【００４３】
次に、ステップ３０４に示されるように、プログラム実行エンジンＥ０は、予め、シミュレーション対象の制御プログラム格納領域Ａ１に格納された、ユーザが作成した制御プログラム（例えばラダープログラム）から命令をフェッチする（図４，ＳＴ３−１参照）。続いて、ステップ３０５に示されるように、このフェッチした命令を実行（ソフトウェアシミュレーション）する。このとき、プログラムの実行に必要となる入力はＩ／Ｏメモリ領域Ａ０から獲得し（図４，ＳＴ３−２参照）、プログラムの実行結果はＩ／Ｏメモリ領域に出力するように構成する（図４，ＳＴ３−３）。その後、シミュレーション対象の制御プログラムの１制御単位が終了すると（ステップ３０６ＹＥＳ）、プログラム実行エンジンＥ０の制御対象をデバッグプログラム（格納領域Ａ２に存在する）に再び切り替える。
【００４４】
その結果、デバッグプログラム実行結果として得られる出力がＩ／Ｏメモリ領域Ａ０に出力され、この出力を模擬入力として制御プログラムのシミュレーションが実行され、シミュレーションの結果は、Ｉ／Ｏメモリ領域Ａ０に出力されることとなる。このとき、格納領域Ａ１に格納されるシミュレーション対象の制御プログラムには、模擬入力を得るためのプログラム追加などを行っていないため、実機と同じプログラムがシミュレーションできたことになる。
【００４５】
従って、この実施形態においても、別々の領域Ａ１，Ａ２に格納された２つのプログラムを並行に実行しつつ所望のシミュレーション並びに必要なデバッグが行われる一方、デバッグが完了した状態で、ＰＬＣ用制御プログラムのために確保された格納領域Ａ１の内容を実機ＰＬＣへとダウンロードすれば、デバッグの完了した制御プログラムだけを間違いなく実機ＰＬＣにダウンロードさせることができる。
【００４６】
本発明に係るＰＬＣの一実施形態におけるプログラム実行エンジンの構成を示すフローチャートが図５に、同実施形態のＰＬＣにおける通常モードにおける制御プログラム実行動作を示すフローチャートが図６に、同実施形態のＰＬＣにおけるシミュレーションモードにおける制御プログラム実行動作を示す説明図が図７にそれぞれ示されている。
【００４７】
本発明の制御プログラム実行シミュレーション機能を有するＰＬＣは、格納されたプログラムをブロック単位で選択的に実行可能なＰＬＣを前提事項としている。
【００４８】
加えて、動作モードをシミュレーションモードとする指示を受け付けるための手段と、制御プログラムの各ブロック毎にシミュレーションモード専用の識別子が付加されているか否かを判定する手段と、シミュレーションモードとする指示を受け付けたときには、外部との入出力を遮断する手段と、通常モードのときには、シミュレーションモード専用の識別子が付加されたプログラムブロックを除いてプログラムを実行する一方、シミュレーションモードのときには、シミュレーションモード専用の識別子が付加されたプログラムを含めてプログラムを実行する実行エンジンと、を設けている。
【００４９】
すなわち、図６及び図７において、符号（１）〜（３）が付されているのが、このＰＬＣの実行対象となる制御プログラムを構成する３個のプログラムブロックである。それら３個のプログラムブロック（１）〜（３）の中で、プログラムブロック（３）には、シミュレーションモード専用の識別子Ｐが付加されている。
【００５０】
一方、図５に示されるように、このＰＬＣのプログラム実行エンジンには、通常モードのときには、シミュレーションモード専用の識別子Ｐが付加されたプログラムブロック（３）を除いて他のプログラムブロック（１），（２）を実行する一方、シミュレーションモードのときには、シミュレーションモード専用の識別子が付加されたプログラムを含めて全てのプログラム（１）〜（３）を実行する処理を設けている。
【００５１】
より詳しくは、プログラム実行単位の識別子確認が行われ（ステップ５０１）、識別子無しのプログラム実行単位については無条件で実行されるのに対して（ステップ５０３）、識別子有りのプログラム実行単位については、コントローラのモードがシミュレーションモードと判定された場合に限り（ステップ５０２）、実行されることとなる（ステップ５０３）。しかも、通常モードの場合には（ステップ５０５）、外部Ｉ／ＯとＩ／Ｏメモリとのデータ交換であるＩ／Ｏリフレッシュ処理が実行されるのに対して（ステップ５０６）、シミュレーションモードの場合には（ステップ５０５）、Ｉ／Ｏリフレッシュ処理はスキップされることとなる。
【００５２】
従って、プログラム実行単位（３）において、シミュレーションに必要な入力データを外部Ｉ／Ｏからの入力に代わって生成するようにプログラムすれば、外部入出力を遮断した状態において、コントローラにおいてシミュレーション実行時に外部入力による制御プログラムの動作を確認することができる。
【００５３】
以上の実施形態によれば、シミュレーションモードとする指示を受け付けたときには、外部との入出力を遮断した上で、シミュレーションモード専用の識別子が付加されたプログラムを含めてプログラムが実行される一方、通常モードのときには、シミュレーションモード専用の識別子が付加されたプログラムブロックを除いてプログラムが実行される。そのため、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述することができ、しかも模擬入力生成の完了した制御用プログラムが間違いなく実行される。
【００５４】
【発明の効果】
以上の説明で明らかなように、本発明のＰＬＣ用制御プログラムの実行シミュレーション装置によれば、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述することができ、しかも模擬入力生成の完了した制御プログラムを間違いなく実機ＰＬＣにダウンロードさせることができる。
【００５５】
また、本発明の制御プログラム実行シミュレーション機能を有するＰＬＣによれば、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述することができ、しかも模擬入力生成の完了した制御用プログラムだけを間違いなく実行させることができる。
【図面の簡単な説明】
【図１】本発明に係る実行シミュレーション装置の第１実施形態におけるプログラム実行エンジンの構成を示すフローチャート
【図２】本発明に係る実行シミュレーション装置の第１実施形態における動作の全体を模式的に示すブロック図
【図３】本発明に係る実行シミュレーション装置の第２実施形態におけるプログラム実行エンジンの構成を示すフローチャート
【図４】本発明に係る実行シミュレーション装置の第２実施形態における動作の全体を模式的に示すブロック図
【図５】本発明に係るＰＬＣの一実施形態におけるプログラム実行エンジンの構成を示すフローチャート
【図６】同実施形態のＰＬＣにおける通常モードにおける制御プログラム実行動作を示すフローチャート
【図７】同実施形態のＰＬＣにおけるシミュレーションモードにおける制御プログラム実行動作を示す説明図
【符号の説明】
Ａ０        Ｉ／Ｏメモリ領域
Ａ１        シミュレーション対象の制御プログラム格納領域
Ａ２        デバッグプログラム格納領域
Ｅ０        プログラム実行エンジン
Ｅ１        シミュレーション対象の制御プログラム実行エンジン
Ｅ２        デバッグプログラム用実行エンジン
（１）〜（３）        プログラムブロック
Ｐ          シミュレーションモード専用の識別子
【図１】
0003846540.tif 000002
【図２】
0003846540.tif 000003
【図３】
0003846540.tif 000004
【図４】
0003846540.tif 000005
【図５】
0003846540.tif 000006
【図６】
0003846540.tif 000007
【図７】
0003846540.tif 000008