(57)【特許請求の範囲】
【請求項１】
新規なシートを定義するシート定義手段と、上記シート定義手段により定義されたシートにシンボルを配置して、アプリケーションのソースコードを作成するソースコード作成手段と、上記シート定義手段により定義されたシートの実行順序を設定する実行順序設定手段と、上記ソースコード作成手段により作成されたソースコードのうち、上記実行順序設定手段により設定された実行順序が早いシートに係るソースコードから順番にオブジェクトコードに変換するオブジェクトコード生成手段とを備えたプログラム管理装置において、任意のシートに埋め込むシートをマクロシンボルとして定義するマクロシンボル定義手段を設け、上記オブジェクトコード生成手段は、ソースコードをオブジェクトコードに変換する際、任意のシートに配置されているシンボルの種類がマクロシンボルであるか、通常のシンボルであるのかを判定し、任意のシートに配置されているシンボルの種類が通常のシンボルである場合、同一のシートに係るソースコードを既にオブジェクトコードに変換していれば、その変換済みのオブジェクトコードを引用し、任意のシートに配置されているシンボルの種類がマクロシンボルである場合、そのマクロシンボルのオブジェクトコードを引用することを特徴とするプログラム管理装置。
【請求項２】
実行順序設定手段は、同一のシートに対して複数の実行順序の設定を許容することを特徴とする請求項１記載のプログラム管理装置。
【請求項３】
オブジェクトコード生成手段は、変換済みのオブジェクトコードを引用する場合、中間データ部を再割付することを特徴とする請求項１記載のプログラム管理装置。
【請求項４】
オブジェクトコード生成手段は、変換済みのオブジェクトコードを引用する場合、中間データ部とパラメータ部を再割付することを特徴とする請求項１記載のプログラム管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プラントを制御するコントローラのプログラムを作成するプログラム管理装置に関するものである。
【０００２】
【従来の技術】
図１１は従来のプログラム管理装置を含むプラント制御装置を示す構成図であり、図において、１はアプリケーションプログラムを実行して、プラントを制御するコントローラ、２はコントローラ１が実行するアプリケーションプログラムを生成するとともに、そのアプリケーションプログラム等を修正するプログラム管理装置、３は例えばイーサネット等の専用データウエイである。
【０００３】
図１２は従来のプログラム管理装置を示す構成図であり、図において、１１は新規なシートを定義するシート定義手段、１２はシート定義手段１１により定義されたシートにシンボルを配置して、アプリケーションプログラムのソースコードを作成するソースコード作成手段、１３はソースコード作成手段１２により作成されたソースコードをオブジェクトコードに変換するオブジェクトコード生成手段であり、オブジェクトコード生成手段１３はシート定義手段１１によって先に定義されたシートに係るソースコードから順番にオブジェクトコードに変換する。
【０００４】
１４はオブジェクトコードのコード部を生成するオブジェクトコード生成手段１３のコード部生成手段、１５は各シンボルの中間データ（入力データ又は出力データ）を生成するオブジェクトコード生成手段１３の中間データ部割付手段、１６は各シンボルのパラメータを生成するオブジェクトコード生成手段１３のパラメータ部割付手段、１７はシートに配置された全てのシンボルに係るソースコードがオブジェクトコードに変換されたか否かを判定するオブジェクトコード生成手段１３のシンボル終了判定手段、１８は１つのシートに配置されたシンボルに係るオブジェクトコードをまとめて出力（例えば、ファイル出力）するオブジェクトコード生成手段１３のオブジェクトコード出力手段である。
【０００５】
図１３はプログラム管理装置が生成するアプリケーションプログラムの構成を示す説明図であり、図において、２１はシートに配置するシンボルであり、シンボル２１はコントローラ１が実行するアプリケーションプログラムのソースコードを構成するＰＯＬ（演算用言語）を示す印である。また、シンボル２１の種類は、アナログ演算用としては、例えば、ＰＩＤＰ，ＨＩＭＯＮＩ，Ｐ，ＳＥＴ等があり、デジタル演算用としては、例えば、ＡＮＤ，ＯＲ，ＮＯＴ等がある。
【０００６】
２２，２３は各シンボルを接続する接続線、２４はシンボル２１に設定するパラメータ、２５はオブジェクトコードのコード部であり、コード部２５はプログラムのニーモニックを記憶する部分である。２６はオブジェクトコードのデータ部であり、データ部２６はシンボル２１のパラメータ定数を格納する部分である（シンボル２１の場合、３つのパラメータ（Ｐ，Ｉ，Ｄ）を有しているので、３つのパラメータ定数を格納する）。２７はオブジェクトコードの中間データ部であり、中間データ部２７は各シンボルの入出力データである中間データを格納する。
【０００７】
次に動作について説明する。
プラントを制御するコントローラ１は、アプリケーションプログラムにしたがって動作するので、コントローラ１を動作させるためには、アプリケーションプログラムを生成する必要がある。
そのアプリケーションプログラムは、以下に示すように、プログラム管理装置２が生成する。
【０００８】
まず、シート定義手段１１は、新規なシート（プログラム作成の最小単位）を実行順に定義する。ただし、新規なシートを定義する段階では、そのシートにシンボル等がまったく配置されておらず、いわゆる空のファイルと同様の状態である。
【０００９】
ソースコード作成手段１２は、シート定義手段１１が新規なシートを定義すると、図１３（ａ）に示すように、その新規なシートにシンボル２１を配置するとともに、そのシンボル２１を接続する接続線２２，２３，そのシンボル２１のパラメータ２４，中間データ等を設定して、アプリケーションプログラムのソースコードを作成する。
【００１０】
そして、オブジェクトコード生成手段１３は、ソースコード作成手段１２がアプリケーションプログラムのソースコードを作成すると、シート定義手段１１によって先に定義されたシートに係るソースコードから順番にオブジェクトコードに変換する。
例えば、図１４のテーブル３１に示すように、シート１，シート２，シート３，シート４，シート５の順番でシートを定義した場合には、シート１，シート２，シート３，シート４，シート５の順番で、それらのシートに係るソースコードをオブジェクトコードに変換する（図１４のテーブル３２を参照）。
【００１１】
このようにして、アプリケーションプログラムのオブジェクトコードが生成されると、オブジェクトコード生成手段１３のオブジェクトコード出力手段１８が専用データウエイ３を介して、そのオブジェクトコードをコントローラ１に転送する。
コントローラ１は、プログラム管理装置２からオブジェクトコードを受けると、そのオブジェクトコードのコード部２５及びデータ部２６をＲＯＭに記憶し、そのオブジェクトコードの中間データ部２７をＲＡＭに記憶する。
その後、コントローラ１は、そのオブジェクトコードを順番に実行する。
【００１２】
【発明が解決しようとする課題】
従来のプログラム管理装置は以上のように構成されているので、シート定義手段１１によって先に定義されたシートに係るソースコードから順番にオブジェクトコードに変換する関係上、シート作成後、シートの実行順序を入れ替える必要が生じると、該当シートのソースコードを再作成（シンボルの再配置等）しなければならない課題があった。
特に、シートとシートの間に別のシートを挿入する必要がある場合、新たに挿入されたシート以降に位置するシートのソースコードは全て再作成する必要がある。
【００１３】
この発明は上記のような課題を解決するためになされたもので、シート単位の実行順序を柔軟に設定変更することができるプログラム管理装置を得ることを目的とする。
【００１４】
【課題を解決するための手段】
この発明に係るプログラム管理装置は、ソースコードをオブジェクトコードに変換する際、任意のシートに配置されているシンボルの種類がマクロシンボルであるか、通常のシンボルであるのかを判定し、任意のシートに配置されているシンボルの種類が通常のシンボルである場合、同一のシートに係るソースコードを既にオブジェクトコードに変換していれば、その変換済みのオブジェクトコードを引用し、任意のシートに配置されているシンボルの種類がマクロシンボルである場合、そのマクロシンボルのオブジェクトコードを引用するようにしたものである。
【００１５】
この発明に係るプログラム管理装置は、同一のシートに対して複数の実行順序の設定を許容する実行順序設定手段を設けたものである。
【００１７】
この発明に係るプログラム管理装置は、変換済みのオブジェクトコードを引用する場合、中間データ部を再割付するオブジェクトコード生成手段を設けたものである。
【００１８】
この発明に係るプログラム管理装置は、変換済みのオブジェクトコードを引用する場合、中間データ部とパラメータ部を再割付するオブジェクトコード生成手段を設けたものである。
【００２６】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるプログラム管理装置を示す構成図であり、図において、５１は新規なシートを定義するシート定義手段、５２はシート定義手段５１により定義されたシートにシンボルを配置して、アプリケーションプログラムのソースコードを作成するソースコード作成手段、５３はシート定義手段５１により定義されたシートの実行順序を設定する実行順序設定手段、５４はソースコード作成手段５２により作成されたソースコードのうち、実行順序設定手段５３により設定された実行順序が早いシートに係るソースコードから順番にオブジェクトコードに変換するオブジェクトコード生成手段である。
【００２７】
５５はオブジェクトコードのコード部を生成するオブジェクトコード生成手段５４のコード部生成手段、５６は各シンボルの中間データ（入力データ又は出力データ）を生成するオブジェクトコード生成手段５４の中間データ部割付手段、５７は各シンボルのパラメータを生成するオブジェクトコード生成手段５４のパラメータ部割付手段、５８はシートに配置された全てのシンボルに係るソースコードがオブジェクトコードに変換されたか否かを判定するオブジェクトコード生成手段５４のシンボル終了判定手段、５９は１つのシートに配置されたシンボルに係るオブジェクトコードをまとめて出力（例えば、ファイル出力）するオブジェクトコード生成手段５４のオブジェクトコード出力手段である。
なお、図２はこの発明の実施の形態１によるプログラム管理方法を説明する動作フロー図である。
【００２８】
次に動作について説明する。
プラントを制御するコントローラ１は、アプリケーションプログラムにしたがって動作するので、コントローラ１を動作させるためには、アプリケーションプログラムを生成する必要がある（図１１を参照）。
そのアプリケーションプログラムは、以下に示すように、プログラム管理装置２が生成する。
【００２９】
まず、シート定義手段５１は、新規なシート（プログラム作成の最小単位）を順番に定義する
図２の例では、テーブル６１に示すように、シート１，シート２，シート３，シート４，シート５の順番で、５つのシートを定義している。
ただし、新規なシートを定義する段階では、そのシートにシンボル等がまったく配置されておらず、いわゆる空のファイルと同様の状態である。
【００３０】
ソースコード作成手段５２は、シート定義手段５１が新規なシートを定義すると、図１３（ａ）に示すように、その新規なシートにシンボル２１を配置するとともに、そのシンボル２１を接続する接続線２２，２３，そのシンボル２１のパラメータ２４，中間データ等を設定して、アプリケーションプログラムのソースコードを作成する。
【００３１】
一方、実行順序設定手段５３は、シート定義手段５１が新規なシートを定義すると、シート定義手段５１により定義された各シートの実行順序を設定する。
具体的には、図２に示すように、例えば、シート１，シート４，シート２，シート３，シート５の順番で実行する旨を定義する実行順序テーブル６２を作成する。
【００３２】
そして、オブジェクトコード生成手段５４は、実行順序設定手段５３がシートの実行順序を設定すると、ソースコード作成手段５２により作成されたソースコードのうち、実行順序設定手段５３により設定された実行順序が早いシートに係るソースコードから順番にオブジェクトコードに変換する。
即ち、シート１，シート４，シート２，シート３，シート５の順番で、それらのシートに係るソースコードをオブジェクトコードに変換する（図２のテーブル６３を参照）。
【００３３】
このようにして、アプリケーションプログラムのオブジェクトコードが生成されると、オブジェクトコード生成手段５４のオブジェクトコード出力手段５９が専用データウエイ３を介して、そのオブジェクトコードをコントローラ１に転送する。
コントローラ１は、プログラム管理装置２からオブジェクトコードを受けると、そのオブジェクトコードのコード部２５及びデータ部２６をＲＯＭに記憶し、そのオブジェクトコードの中間データ部２７をＲＡＭに記憶する。
その後、コントローラ１は、そのオブジェクトコードを順番に実行する。
【００３４】
以上で明らかなように、この実施の形態１によれば、ソースコード作成手段５２により作成されたソースコードのうち、実行順序設定手段５３により設定された実行順序が早いシートに係るソースコードから順番にオブジェクトコードに変換するように構成したので、シートの実行順序を入れ替える場合でも、該当シートのソースコードを再作成することなく、単に、実行順序テーブル６２の内容を変更するだけで、シートの実行順序を入れ替えることができる効果を奏する。
また、シートとシートの間に別のシートを挿入する必要がある場合でも、新たに挿入されたシート以降に位置するシートのソースコードを再作成することなく、単に、実行順序テーブル６２の内容を変更するだけで、別のシートを挿入することができる効果を奏する。
【００３５】
実施の形態２．
図３はこの発明の実施の形態２によるプログラム管理装置を示す構成図であり、図において、図１と同一符号は同一又は相当部分を示すので説明を省略する。
５３ａは図１の実行順序設定手段５３と同様に、シート定義手段５１により定義されたシートの実行順序を設定する実行順序設定手段であるが、実行順序設定手段５３ａは同一のシートに対して複数の実行順序の設定を許容する設定手段である。５４ａは図１のオブジェクトコード生成手段５４と同様に、ソースコード作成手段５２により作成されたソースコードのうち、実行順序設定手段５３ａにより設定された実行順序が早いシートに係るソースコードから順番にオブジェクトコードに変換するオブジェクトコード生成手段であるが、オブジェクトコード生成手段５４ａはソースコードをオブジェクトコードに変換する際、同一のシートに係るソースコードを既にオブジェクトコードに変換している場合、その変換済みのオブジェクトコードを引用する生成手段である。
【００３６】
７１は引用元のシートが存在するか否かを判定する引用元チェック手段、７２は引用元のシートが存在する場合、既に変換済みのシートのオブジェクトコードを引用するオブジェクトコード取得手段、７３はオブジェクトコード取得手段７２により引用されたオブジェクトコードの中間データ部を再割付する中間データ部再割付手段、７４はオブジェクトコード取得手段７２により引用されたオブジェクトコードに対して、全ての中間データを再割付したか否かを判定するシンボル終了判定手段である。
なお、図４はこの発明の実施の形態２によるプログラム管理方法を説明する動作フロー図である。
【００３７】
次に動作について説明する。
上記実施の形態１では、シート定義手段５１により定義された各シートを１回だけ実行するものについて示したが、シート定義手段５１により定義された同一のシートを２回以上実行するようにしてもよい。
【００３８】
具体的には、図４の実行順序テーブル６２ａに示すように、実行順序設定手段５３ａが、実行順序の１番目と３番目にシート１を割り当てると、オブジェクトコード生成手段５４ａはソースコードをオブジェクトコードに変換する際、同一のシートに係るソースコードを既にオブジェクトコードに変換しているか否かを判定する。
【００３９】
この例の場合、実行順序が１番目，２番目，４番目，５番目のシートに係るソースコードを変換する際には、そのソースコードと同じソースコードを過去に変換していないので、上記実施の形態１と同様に、そのソースコードをオブジェクトコードに変換する。
しかし、実行順序が３番目のシートは、実行順序が１番目のシートと同一であるため、３番目のシートに係るソースコードと同じソースコードを既にオブジェクトコードに変換している（１番目のシートに係るソースコードは、既にオブジェクトコードに変換している）。
【００４０】
そこで、３番目のシートに係るソースコードはオブジェクトコードに変換せずに、１番目のシートに係るオブジェクトコードを、３番目のシートに係るオブジェクトコードとして引用する（図４のテーブル６３ａを参照）。
ただし、１番目のシートに係るオブジェクトコードを引用する場合でも、柔軟なアプリケーションプログラムの作成を可能にするため、オブジェクトコード取得手段７２がオブジェクトコードを引用した後、中間データ部再割付手段７３がそのオブジェクトコードの中間データ部を再割付する（図５の下線部は再割付をした部分である）。
【００４１】
以上で明らかなように、この実施の形態２によれば、ソースコードをオブジェクトコードに変換する際、同一のシートに係るソースコードを既にオブジェクトコードに変換している場合、その変換済みのオブジェクトコードを引用するように構成したので、一部のシートは実際にソースコードを作成することなく、オブジェクトコードを取得することができる効果を奏する。
また、オブジェクトコードのパラメータ部を共有できるため、速やかにアプリケーションプログラムを作成することができるとともに、アプリケーションプログラムの保守性を高めることができる効果がある。
【００４２】
実施の形態３．
図６はこの発明の実施の形態３によるプログラム管理装置を示す構成図であり、図において、図３と同一符号は同一又は相当部分を示すので説明を省略する。
５４ｂはオブジェクトコード生成手段５４ａと同様に、同一のシートに係るソースコードを既にオブジェクトコードに変換している場合、その変換済みのオブジェクトコードを引用するオブジェクトコード生成手段であるが、変換済みのオブジェクトコードを引用する際、中間データ部とパラメータ部を再割付する生成手段である。
８１はオブジェクトコード取得手段７２により引用されたオブジェクトコードのパラメータ部を再割付するパラメータ部再割付手段、８２はパラメータ部再割付手段８１により再割付されたパラメータ部にパラメータ値を再設定するパラメータ値再設定手段である。
【００４３】
次に動作について説明する。
上記実施の形態２では、変換済みのオブジェクトコードを引用する場合、中間データ部を再割付するものについて示したが、変換済みのオブジェクトコードを引用する場合、中間データ部とパラメータ部を再割付するようにしてもよい。
ただし、この場合、引用元のパラメータ部と異なるパラメータ値を設定することができるようにするため、この実施の形態３では、パラメータ部再割付手段８１により再割付されたパラメータ部にパラメータ値を再設定するパラメータ値再設定手段８２を設けている（図７の下線部は再割付をした部分である）。
これにより、この実施の形態３によれば、上記実施の形態２と同様の効果を奏するとともに、パラメータ部を再割付する分、更に柔軟なアプリケーションプログラムの作成が可能になる。
【００４４】
実施の形態４．
図８はこの発明の実施の形態３によるプログラム管理装置を示す構成図であり、図において、図６と同一符号は同一又は相当部分を示すので説明を省略する。
９１は任意のシートに埋め込むシートをマクロシンボルとして定義するマクロシンボル定義手段、５４ｃはオブジェクトコード生成手段５４ｂと同様に、同一のシートに係るソースコードを既にオブジェクトコードに変換している場合、その変換済みのオブジェクトコードを引用するオブジェクトコード生成手段であるが、任意のシートに係るソースコードをオブジェクトコードに変換する際、そのマクロシンボルのオブジェクトコードを引用する生成手段である。
９２はシンボルの種類がマクロシンボルであるか、通常のシンボルであるかを判定するマクロシンボル判定手段、９３はシートに配置された全てのシンボルに係るソースコードがオブジェクトコードに変換されたか否かを判定するシンボル終了判定手段である。
【００４５】
次に動作について説明する。
上記実施の形態３では、同一のシートに係るソースコードを既にオブジェクトコードに変換している場合、その変換済みのオブジェクトコードを引用するものについて示したが、マクロシンボルが埋め込まれたシートに係るソースコードをオブジェクトコードに変換する際、そのマクロシンボルのオブジェクトコードを引用するようにしてもよい。
【００４６】
即ち、任意のシートの一部に他のシートを埋め込む場合、マクロシンボル定義手段９１が他のシート（図９（ａ）を参照）をマクロシンボルとして定義し、そのマクロシンボルを任意のシートに配置するようにする（図９（ｂ）を参照）。
【００４７】
これにより、オブジェクトコード生成手段５４ｃは、ソースコードをオブジェクトコードに変換する際、任意のシートに配置されているシンボルの種類が、マクロシンボルであるか、通常のシンボルであるかを判定する。
通常のシンボルの場合には、上記実施の形態３と同様に処理するが、マクロシンボルの場合には、そのマクロシンボルのソースコードをオブジェクトコードに変換せず、そのマクロシンボルのオブジェクトコードを引用する。
【００４８】
なお、図１０は任意のシートに係るオブジェクトコードであるが、点線で囲まれている部分が、他のシートから引用されたマクロシンボルのオブジェクトコードである。
【００４９】
以上で明らかなように、この実施の形態４によれば、任意のシートに埋め込むシートをマクロシンボルとして定義するマクロシンボル定義手段９１を設け、任意のシートに係るソースコードをオブジェクトコードに変換する際、そのマクロシンボルのオブジェクトコードを引用するように構成したので、同じようなロジックを含むシートを追加する場合、共通するロジックの部分を新たに作成することなく、オブジェクトコードを取得することができる効果を奏する。
また、共通するロジックの部分を変更する必要が生じても、引用元のシートのロジックを修正するだけで、ロジックの変更を完了することができるので、アプリケーションプログラムの保守性を高めることができる効果を奏する。
【００５０】
【発明の効果】
以上のように、この発明によれば、ソースコード作成手段により作成されたソースコードのうち、実行順序設定手段により設定された実行順序が早いシートに係るソースコードから順番にオブジェクトコードに変換するオブジェクトコード生成手段を設けるように構成したので、シートの実行順序を入れ替える場合でも、該当シートのソースコードを再作成することなく、シートの実行順序を入れ替えることができる効果がある。
また、シートとシートの間に別のシートを挿入する必要がある場合でも、新たに挿入されたシート以降に位置するシートのソースコードを再作成することなく、別のシートを挿入することができる効果がある。
また、この発明によれば、ソースコードをオブジェクトコードに変換する際、任意のシートに配置されているシンボルの種類がマクロシンボルであるか、通常のシンボルであるのかを判定し、任意のシートに配置されているシンボルの種類が通常のシンボルである場合、同一のシートに係るソースコードを既にオブジェクトコードに変換していれば、その変換済みのオブジェクトコードを引用するように構成したので、一部のシートは実際にソースコードを作成することなく、オブジェクトコードを取得することができる効果がある。
任意のシートに配置されているシンボルの種類がマクロシンボルである場合、そのマクロシンボルのオブジェクトコードを引用するように構成したので、同じようなロジックを含むシートを追加する場合、共通するロジックの部分を新たに作成することなく、オブジェクトコードを取得することができる効果がある。
また、共通するロジックの部分を変更する必要が生じても、引用元のシートのロジックを修正するだけで、ロジックの変更を完了することができるので、アプリケーションプログラムの保守性を高めることができる効果がある。
【００５１】
この発明によれば、同一のシートに対して複数の実行順序の設定を許容する実行順序設定手段を設けるように構成したので、同一のシートを複数回実行することができる効果がある。
【００５３】
この発明によれば、変換済みのオブジェクトコードを引用する場合、中間データ部を再割付するオブジェクトコード生成手段を設けるように構成したので、柔軟なアプリケーションプログラムの作成が可能になる効果がある。
【００５４】
この発明によれば、変換済みのオブジェクトコードを引用する場合、中間データ部とパラメータ部を再割付するオブジェクトコード生成手段を設けるように構成したので、柔軟なアプリケーションプログラムの作成が可能になる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１によるプログラム管理装置を示す構成図である。
【図２】  この発明の実施の形態１によるプログラム管理方法を説明する動作フロー図である。
【図３】  この発明の実施の形態２によるプログラム管理装置を示す構成図である。
【図４】  この発明の実施の形態２によるプログラム管理方法を説明する動作フロー図である。
【図５】  オブジェクトコードの内容を示す説明図である。
【図６】  この発明の実施の形態３によるプログラム管理装置を示す構成図である。
【図７】  オブジェクトコードの内容を示す説明図である。
【図８】  この発明の実施の形態４によるプログラム管理装置を示す構成図である。
【図９】  マクロシンボルの挿入例を示す説明図である。
【図１０】  オブジェクトコードの内容を示す説明図である。
【図１１】  従来のプログラム管理装置を含むプラント制御装置を示す構成図である。
【図１２】  従来のプログラム管理装置を示す構成図である。
【図１３】  プログラム管理装置が生成するアプリケーションプログラムの構成を示す説明図である。
【図１４】  従来のプログラム管理方法を説明する動作フロー図である。
【符号の説明】
５１  シート定義手段、５２  ソースコード作成手段、５３，５３ａ  実行順序設定手段、５４，５４ａ，５４ｂ，５４ｃ  オブジェクトコード生成手段、９１  マクロシンボル定義手段。
【図１】
0003705956.tif 000002
【図２】
0003705956.tif 000003
【図３】
0003705956.tif 000004
【図４】
0003705956.tif 000005
【図５】
0003705956.tif 000006
【図６】
0003705956.tif 000007
【図７】
0003705956.tif 000008
【図８】
0003705956.tif 000009
【図９】
0003705956.tif 000010
【図１０】
0003705956.tif 000011
【図１１】
0003705956.tif 000012
【図１２】
0003705956.tif 000013
【図１３】
0003705956.tif 000014
【図１４】
0003705956.tif 000015