(57)【特許請求の範囲】
【請求項１】
プログラムコントローラのシーケンスプログラムを、命令のシンボルからなるシンボル部と、デバイス番号からなるデバイス番号部とを有する構成要素の組合せとして表現されるラダー回路の形式で入力・編集するラダー回路編集装置において、
入力完了されたラダー回路に含まれる個々の構成要素のシンボル部分の組合せとして表現される回路パターンが少なくとも１個記憶されている第１の記憶部内の入力済領域と、
逐次入力され、個々の構成要素のシンボル部分の組合せとして表現される入力中の回路パターンが記憶される第２の記憶部内の被入力領域と、
上記第２の記憶部内の上記被入力領域に記憶された上記入力中の回路パターンと、上記第１の記憶部内の上記入力済領域に記憶されている回路パターンとを比較し、上記第１の記憶部内の上記入力済領域に記憶されている回路パターンの中から、前記入力中の回路パターンと一致する回路パターンが含まれている回路パターンを抽出する回路パターン抽出手段と、
上記回路パターン抽出手段によって抽出された回路パターンを入力画面に表示する表示手段と、
コマンドキーにより操作入力されたコマンドに基づいて、上記回路パターン抽出手段によって抽出された回路パターンを上記被入力領域に複写する複写手段と
を備えたことを特徴とするラダー回路編集装置。
【請求項２】
上記表示手段は、回路パターン抽出手段によって抽出された複数の回路パターンを逐次表示し、
上記複写手段は、上記逐次表示される複数の回路パターンから上記コマンドキーにより操作入力されたコマンドに基づいて選択された任意の回路パターンを上記被入力領域に複写することを特徴とする請求項１記載のラダー回路編集装置。
【請求項３】
上記表示手段は、上記回路パターン抽出手段により複数の回路パターンが選択された場合には、直近に選択された実績のある回路パターンを優先して表示することを特徴とする請求項２記載のラダー回路編集装置。
【請求項４】
選択された回路パターンのアドレスを順次記憶する選択回路パターンアドレス記憶領域と、
選択された回路パターンのアドレスを、上記選択回路パターンアドレス記憶領域の最上位に入れ替える入替手段をさらに有し、
上記表示手段は、上記回路パターン抽出手段により複数の回路パターンが選択された場合には、上記選択回路パターンアドレス記憶領域に記憶されたアドレスの順に従い、直近に選択された実績のある回路パターンを優先して表示することを特徴とする請求項１ないし３のいずれか１項に記載のラダー回路編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機械設備を制御するプログラマブルコントローラに関し、特にプログラマブルコントローラのラダー回路のプログラミングを行うラダー回路編集装置に関するものである。
【背景技術】
【０００２】
図７はラダー回路で表示された一般的なシーケンスプログラムの例を表す図である。従来、機械設備のシーケンス制御を行うために、プログラマブルコントローラが用いられている。そしてこのプログラマブルコントローラのプログラミング方式は、図７にラダー回路（ラダー図）を用いる方法が一般的である。
【０００３】
この様なラダー回路は、一般に同様な構成の回路の繰り返しで記述されている部分が多く、そして同様な回路の各接点名やコイル名等の変数名のみが異なっている場合が多い。従来、同様な回路の繰り返しで構成され、変数名のみが規則性を持って変化する繰り返し部分を有するシーケンスプログラムの構成、編集を行うにあたり、特許文献１に示されるような、基本構成単位と変数名の規則性が指定された際、基本単位のコピーを自動的に繰り返し、且つ変数名を規則性に従って自動的に付与して繰り返し部分を自動生成し、自動生成結果をラダー回路に変換して表示するようなコピー機能を有するものがあった。
【０００４】
さらにまた、特許文献２に示されるような、基本構成単位と変数名の規則性をライブラリ形式にてメモリもしくは外部記憶装置に記憶させておき、必要に応じてメモリもしくは外部記憶装置上のライブラリから特定の回路パターンを選択して読み出し自動生成を行う機能を有するものもあった。
【０００５】
【特許文献１】
特開平４−２８６００２号公報
【特許文献２】
特開平２−５１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上述のような従来技術においては、操作者が基本構成単位の抽出および記憶を意識的に行わなければならず不便であった。さらに予め登録しておいた基本構成単位を編集にて使用する場合、例えばライブラリ形式に記憶された多くの基本構成単位から、目的の基本構成単位を選び出す作業は操作者が行うことになるが、基本構成単位の登録数が多くなると、どのような処理内容の回路を登録していたか判断することが容易でなくなり、さらに、プログラム装置の所定の補助記憶装置を全体に渡って検索する必要があり操作上不便であった。
【０００７】
さらには、あらかじめ複数の基本構成単位を登録しておいても、登録したものを常に使用するとは限らず、補助記憶装置の容量を圧迫したり、使用しない登録回路が残ったりして、設計の効率化を図ることが困難であった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、操作者が余計な操作を行うことなく類似なラダー回路の検索が自動的に行え、さらには補助記憶装置の容量を無駄に使用することがなく、ラダー回路の設計の効率化を図ることのできるラダー回路編集装置を得ることを目的としている。
【課題を解決するための手段】
【０００９】
この発明に係るラダー回路編集装置は、プログラムコントローラのシーケンスプログラムを、命令のシンボルからなるシンボル部と、デバイス番号からなるデバイス番号部とを有する構成要素の組合せとして表現されるラダー回路の形式で入力・編集するラダー回路編集装置において、入力完了されたラダー回路に含まれる個々の構成要素のシンボル部分の組合せとして表現される回路パターンが少なくとも１個記憶されている第１の記憶部内の入力済領域と、逐次入力され、個々の構成要素のシンボル部分の組合せとして表現される入力中の回路パターンが記憶される第２の記憶部内の被入力領域と、第２の記憶部内の被入力領域に記憶された入力中の回路パターンと、第１の記憶部内の入力済領域に記憶されている回路パターンとを比較し、第１の記憶部内の入力済領域に記憶されている回路パターンの中から、前記入力中の回路パターンと一致する回路パターンが含まれている回路パターンを抽出する回路パターン抽出手段と、回路パターン抽出手段によって抽出された回路パターンを入力画面に表示する表示手段と、コマンドキーにより操作入力されたコマンドに基づいて、回路パターン抽出手段によって抽出された回路パターンを被入力領域に複写する複写手段とを備えている。
【００１０】
また、表示手段は、回路パターン抽出手段によって抽出された複数の回路パターンを逐次表示し、複写手段は、逐次表示される複数の回路パターンからコマンドキーにより操作入力されたコマンドに基づいて選択された任意の回路パターンを被入力領域に複写する。
【００１１】
また、表示手段は、上記回路パターン抽出手段により複数の回路パターンが選択された場合には、直近に選択された実績のある回路パターンを優先して表示する。
【００１２】
さらに、選択された回路パターンのアドレスを順次記憶する選択回路パターンアドレス記憶領域と、選択された回路パターンのアドレスを、選択回路パターンアドレス記憶領域の最上位に入れ替える入替手段をさらに有し、表示手段は、上記回路パターン抽出手段により複数の回路パターンが選択された場合には、選択回路パターンアドレス記憶領域に記憶されたアドレスの順に従い、直近に選択された実績のある回路パターンを優先して表示する。
【００１３】
この発明に係るラダー回路編集装置は、プログラムコントローラのシーケンスプログラムを、命令のシンボルからなるシンボル部と、デバイス番号からなるデバイス番号部とを有する構成要素の組合せとして表現されるラダー回路の形式で入力・編集するラダー回路編集装置において、入力完了されたラダー回路に含まれる個々の構成要素のシンボル部分の組合せとして表現される回路パターンが少なくとも１個記憶されている第１の記憶部内の入力済領域と、逐次入力され、個々の構成要素のシンボル部分の組合せとして表現される入力中の回路パターンが記憶される第２の記憶部内の被入力領域と、第２の記憶部内の被入力領域に記憶された入力中の回路パターンと、第１の記憶部内の入力済領域に記憶されている回路パターンとを比較し、第１の記憶部内の入力済領域に記憶されている回路パターンの中から、前記入力中の回路パターンと一致する回路パターンが含まれている回路パターンを抽出する回路パターン抽出手段と、回路パターン抽出手段によって抽出された回路パターンを入力画面に表示する表示手段と、コマンドキーにより操作入力されたコマンドに基づいて、回路パターン抽出手段によって抽出された回路パターンを被入力領域に複写する複写手段とを備えている。そのため、操作者が、被入力領域に入力の途中においてファンクションキー０１１０を押すと、すでに入力が完了された入力済領域から、入力の途中の構成要素と一致する回路パターンを抽出し、自動的に入力位置に表示する。そのため、操作者が余計な操作を行うことなく類似なラダー回路が自動的に行え、さらには必要以上のメモリを無駄に使用することがなく、ラダー回路の設計の効率化を図ることができる。
【００１４】
また、表示手段は、回路パターン抽出手段によって抽出された複数の回路パターンを逐次表示し、複写手段は、逐次表示される複数の回路パターンからコマンドキーにより操作入力されたコマンドに基づいて選択された任意の回路パターンを被入力領域に複写する。そのため、類似なラダー回路が自動的に複数個検索され、操作者は、この中から任意の回路パターンを選択するので、さらなるラダー回路の設計の効率化を図ることができる。
【００１５】
また、表示手段は、上記回路パターン抽出手段により複数の回路パターンが選択された場合には、直近に選択された実績のある回路パターンを優先して表示する。そのため、さらなるラダー回路の設計の効率化を図ることができる。
【００１６】
さらに、選択された回路パターンのアドレスを順次記憶する選択回路パターンアドレス記憶領域と、選択された回路パターンのアドレスを、選択回路パターンアドレス記憶領域の最上位に入れ替える入替手段をさらに有し、表示手段は、上記回路パターン抽出手段により複数の回路パターンが選択された場合には、選択回路パターンアドレス記憶領域に記憶されたアドレスの順に従い、直近に選択された実績のある回路パターンを優先して表示する。そのため、補助記憶装置の容量を無駄に使用することがなく、さらなるラダー回路の設計の効率化を図ることができる。
【００１７】
以下、この発明の各実施の例について、図面に基づき説明する。
実施例１．
【００１８】
図１はこの発明のラダー回路編集装置の機器構成を示すブロック図である。図１において、０１０１はラダー回路編集装置、０１０２はＣＲＴ、０１０３はキーボード、０１０４は補助記憶装置、０１０５は処理部、０１０６は画面制御部、０１０７はキー入力制御部、０１０８は補助記憶装置制御部、０１０９はメモリ、１０１１０はファンクションキーを示す。
【００１９】
図２はラダー回路の各部の名称を示す図である。図２において、０２０１はラダー回路である。詳細については後で述べるが、ラダー回路０２０１は、左母線０２０２、起動条件部０２０３、インターロック部０２０４、出力部０２０５、右母線０２０６を有している。
【００２０】
図３はラダー回路０２０１をメモリ０１０９に保持する場合に持つメモリの構成（以下キャラクタメモリと呼ぶ）を示している。図３において、０３０１はメモリ０１０９の所定の位置に記憶されたキャラクタメモリを示す。
【００２１】
図４はキャラクタメモリの１構成要素の構成を示す図である。図４において、０４０１はデバイス番号部、０４０２はシンボル部である。
【００２２】
図５はさらにシンボル部０４０２の内部データ構造を示す図である。図５において、０４０３は命令コード部、０４０４は分岐指定部である。
【００２３】
図６は命令コード部０４０３に設定されるコードの一例を示す図である。
【００２４】
図７はラダー回路の一例を示す図である。図において、０５０１はラダー回路である。
【００２５】
図８はラダー回路０５０１をメモリ０１０９に保持する場合に持つメモリの構成すなわちキャラクタメモリを示している。図８において、０６０１はメモリ０１０９の所定の位置に記憶されたキャラクタメモリを示す。
【００２６】
図９は図７に示されたラダー回路に追加されるラダー回路の構成要素の一部が追加された様子を示す図である。図において、０７０１はラダー回路、０７０２は追加部分を示す。
【００２７】
図１０はラダー回路０７０１をメモリ０１０９に保持する場合に持つメモリの構成すなわちキャラクタメモリを示している。図１０において、０８０１および０８０２はメモリ０１０９の所定の位置に記憶されたキャラクタメモリを示す。キャラクタメモリ０８０１は、入力完了された少なくとも１個の回路パターンが記憶されている入力済領域を構成している。一方、キャラクタメモリ０８０２は、追加部分０７０２に相当するキャラクタメモリであって、新たな回路パターンを入力する被入力領域を構成している。
【００２８】
図１１は本装置が検索動作を処理する時にメモリ０１０９に作成される比較位置テーブルを示す図である。図１１において、０９０１は現在編集を行っているキャラクタメモリ０８０１上の位置を示すための比較位置テーブル、０９０２は比較位置テーブル０９０１の列番号エリア、０９０３は比較位置テーブル０９０１の行番号エリアを示す。
【００２９】
図１２は本装置が検索動作を処理する時にメモリ０１０９に作成される比較位置テーブルを示す図である。図１２において、０９０４はキャラクタメモリ０８０１上の検索処理を行っている位置を示すための検索位置テーブル、０９０５は検索位置テーブル０９０４の列番号エリア、０９０６は検索位置テーブル０９０４の行番号エリアを示す。
【００３０】
図１３は比較するためのラダー回路の構成要素を一時的に待避するための検索キャラクタメモリの構成を示す。図１３において、１００１は検索キャラクタメモリ、１００２は検索キャラクタメモリ１００１のデバイス番号部を示す。
【００３１】
図１４、図１５、図１６、図１７、図１８および図１９は、処理部０１０５の処理のフローチャートである。図２０はパターンが一致した場合にＣＲＴに表示するメッセージの一例をあらわす。図２０において、１３０１はメッセージである。
【００３２】
図２１はパターンが一致した後のラダー回路を示す。図２１において、１３１０はバターンが一致した後のラダー回路である。
【００３３】
図２２はパターンが一致した後のキャラクタメモリを示す。図２２において、１３１１はラダー回路１３１０のキャラクタメモリを示す。
【００３４】
次に動作について説明一する。一般的にラダー回路は、図２に示すように、左母線０２０２の右隣に起動条件部０２０３があり、右母線０２０６の左隣に出力部０２０５がある。さらに、起動条件部０２０３と出力部０２０５の間にインターロック部０２０４が組み合わされて、ラダー回路０２０１が構成される。
【００３５】
このようなラダー回路を編集するには、図１に示されるラダー回路編集装置０１０１により行う。まず、キーボード０１０３よりキー入力されると、キーに応じた命令のシンボルをＣＲＴ０１０２に画面表示しさらに、メモリ０１０９にデータを記憶する。この記憶するメモリエリアを上述のようにキャラクタメモリと呼び、このキャラクタメモリは例えば図３のように構成されている。キャラクタメモリ０３０１は、画面表示と同じ配置とされており（行、列）で位置を示すことができる。
【００３６】
キャラクタメモリ０３０１の１つ１つの構成要素は、図４に示すように、命令のシンボルが設定されるシンボル部０４０２とデバイス番号が設定されるデバイス番号部０４０１から構成されている。シンボル部０４０２は、図５に示すように、命令コード０４０３と分岐指定部０４０４から構成された内部構造を有している。そして、命令コード０４０３に入るデータとしては、例えば図６に示される命令コード部のコード表０４０５に示される値が入る。
【００３７】
例えば、図２のラダー回路０２０１の起動条件部０２０３は、図３のキャラクタメモリ０３０１上では、（１，１）と、（２，１）の位置にデータがある。（１，１）の位置のデータの値は、図５を参照してみると命令コード部０４０３の４ビットが命令コード０、そして分岐指定部０４０４の４ビットにおいては下に分岐ありなので０００００１００Ｂである。また、（２，１）のデー夕の値は、命令コード部０４０３の４ビットが命令コード０、そして分岐指定部０４０４の４ビットにおいては上に分岐ありなので００００１０００Ｂである。
【００３８】
さて、ここで図７に示されるラダー回路０５０１がすでに入力済みであり、これに対応したキャラクタメモリ０６０１が図８に示されるようにメモリ０１０９に記憶されているとする。このラダー回路５０１にさらに、追加部分０７０２を追加す場合を説明する（図９）。追加部分０７０２の追加により、キャラクタメモリは図１０のようになる。このときのキャラクタメモリは、上述のように入力済領域を構成するキャラクタメモリ０８０１と被入力領域を構成するキャラクタメモリ０８０２とから構成されている。
【００３９】
この状態でキーボード０１０３より操作をして検索指示を出す。検索指示は、例えはキーボード０１０３のファンクションキー０１１０などを押すことにより指示される。ファンクションキー０１１０の押下により、図１０に示される被入力領域０８０２の行番号５が図１１に示される比較位置テーブル０９０１の行番号エリア０９０３に設定される。その後、検索処理が開始される。
【００４０】
検索処理は、図１４のフローチャートに従い処理され、大まかに、起動条件部０２０３のパターンの一致のチェック、インターロック部０２０４のパターンの一致のチェック、出力部０２０５のパターンの一致のチェックの順で行われる。  図１４のフローチャートに従い処理を説明する。検索処理が始まると、まず、ステップ１１１００により、検索位置テーブル０９０４の行番号エリア０９０６に０を設定する。ステップ１１１０１で「次の回路ブロック検索」を行う。「次の回路ブロック検索」のサブルーチンについては後で詳細に説明する。次に、ステップ１１１０２で「起動条件部の検索」を行う。「起動条件部の検索」のサブルーチンについても後で詳細に説明する。
【００４１】
そして、ステップ１１１０３でパターンが一致したかどうかを判断する。一致した場合は、ステップ１１１０４で「インターロック部の検索」を行う。「インターロック部の検索」のサブルーチンについても後で詳細に説明する。そして、ステップ１１１０５でパターンが一致したかを判断する。一致した場合は、ステップ１１１０６で「出力部の検索」を行う。「出力部の検索」のサブルーチンについても後で説明する。次にステップ１１１０７でパターンが一致したかを判断する。一致した場合は、ステップ１１１０８に進み、「パターン一致処理」を行い処理を終了する。「パターン一致処理」のサブルーチンについても後で説明する。
【００４２】
ステップ１１１０３でパターンが一致していないと判断した場合は、ステップ１１１０９で「インターロック部の検索」を行う。ステップ１１１１０でパターンが一致したと判断すると、ステップ１１１０８に進み、「パターン一致処理」を行い処理を終了する。一方、ステップ１１１１０でパターンが一致していないと判断した場合は、さらにステップ１１１１１に進み、「出力部の検索」を行う。そして、ステップ１１１１２でパターンが一致したと判断した場合は、ステップ１１１０８に進み「パターン一致処理」を行い処理を終了する。ステップ１１１１２でパターンが一致していないと判断すると、ステップ１１１１３で、「次の回路ブロック検索」を行う。ステップ１１１１４でデータがあるか判断し、ないならば終了する。データがある場合は、ステップ１１１０２に進み処理を繰り返す。
【００４３】
図１４に示されたフローチャートの中の「起動条件部の検索」は、図１５のフローチャートに従い処理される。まず、ステップ１１２０１で検索開始位置（Ｌ，Ｃ）に（１，１）を設定する。ステップ１１２０２で、（Ｌｃ・Ｃｃ）に（比較位置テーブル０９０１の行番号エリア０９０３の値、１）を設定する。次にステップ１１２０３で検索キャラクタメモリ１００１の（Ｌ，Ｃ）の位置のデータとキャラクタメモリ０８０１の（Ｌｃ，Ｃｃ）の位置のデータのシンボル部０４０２を比較する。
【００４４】
ステップ１１２０４で一致しているか判断し、一致していないならば、ステップ１１２０５で、Ｌｃと比較位置テーブル０９０１の行番号エリア０９０３の値を比較する。同じであれば、ステップ１１２０６でパターンが一致していないと判断し処理を終了する。ステップ１１２０５で同じでないなら、ステップ１１２１１に進みパターンが一致したと判断し処理を終了する。
【００４５】
ステップ１１２０４でパターンが一致したと判断すると、ステップ１１２０７に進み、Ｌ＝Ｌ＋１とする。ステップ１１２０８で検索キャラクタメモリ１００１の（Ｌ，Ｃ）の位置にデータがあるかチェックする。ステップ１１２０９でデータがあるか判断し、データがないならば、１１２１１に進みパターンが一致したと判断し処理を終了する。ステップ１１２０９でデータがあると判断すると、ステップ１１２１０に進み、Ｌｃ＝Ｌｃ＋１としステップ１１２０３に戻り処理を繰り返す。
【００４６】
図１４に示されたフローチャートの中の「インターロック部の検索」は、図１６のフローチャートに従い処理される。まず、ステップ１１３０１で検索開始位置（Ｌ，Ｃ）に（１，２）を設定する。ステップ１１３０２で（Ｌｃ，Ｃｃ）に（比較位置テーブル０９０１の行番号エリア０９０３の値、２）を設定する。次にステップ１１３０３で検索キャラクタメモリ１００１の（Ｌ，Ｃ）の位置のデータとキャラクタメモリ０８０１の（Ｌｃ，Ｃｃ）の位置のデータのシンボル部０４０２を比較する。
【００４７】
ステップ１１３０４で一致しているか判断し、一致していないならば、ステップ１１３０５で、Ｌｃと比較位置テーブル０９０１の行番号エリア０９０３の値を比較する。同じであれば、ステップ１１３０６でパターンが一致していないと判断し処理を終了する。ステップ１１３０５で同じでないなら、ステップ１１３０７に進みパターンが一致したと判断し処理を終了する。
【００４８】
ステップ１１３０４でパターンが一致したと判断すると、ステップ１１３０８に進み、Ｌ＝Ｌ＋１とする。その後、ステップ１１３０９で検索キャラクタメモリ１００１の（Ｌ，Ｃ）の位置にデータがあるかチェックする。ステップ１１３１０でデータがあるか判断し、データがないならば、１１３１１に進みＣｃ＝Ｃｃ＋１とする。次にステップ１１３１２でＣｃ＝８か判断する。８ならば、ステップ１１３０７に進み、パターンが一致したと判断し処理を終了する。ステップ１１３１２でＣｃが８でないと判断するとステップ１１３１４でＬｃに比較位置テーブル０９０１の行番号エリア０９０３の値を設定しステップ１１３０３に戻り処理を繰り返す。
【００４９】
ステップ１１３１０でデータがあると判断すると、ステップ１１３１３に進み、Ｌｃ＝Ｌｃ＋１としステップ１１３０３に戻り処理を繰り返す。
【００５０】
図１４に示されたフローチャートの中の「出力部の検索」は、図１７のフローチャートに従い処理される。まず、ステップ１１４０１で検索開始位置（Ｌ，Ｃ）に（１，８）を設定する。ステップ１１４０２で（Ｌｃ，Ｃｃ）に（比較位置テーブル０９０１の行番号エリア０９０３の値、８）を設定する。次にステップ１１４０３で検索キャラクタメモリ１００１の（Ｌ，Ｃ）の位置のデータとキャラクタメモリ０８０１の（Ｌｃ，Ｃｃ）の位置のデータのシンボル部０４０２を比較する。
【００５１】
ステップ１１４０４で一致しているか判断し、一致していないならば、ステップ１１４０５で、Ｌｃと比較位置テーブル０９０１の行番号エリア０９０３の値を比較する。同じであれば、ステップ１１４０６でパターンが一致していないと判断し処理を終了する。ステップ１１４０５で同じでないなら、ステップ１１４１０に進みパターンが一致したと判断し処理を終了する。
【００５２】
ステップ１１４０４でパターンが一致したと判断すると、ステップ１１４０７に進み、Ｌ＝Ｌ＋１とする。ステップ１１４０８で検索キャラクタメモリ１００１の（Ｌ，Ｃ）の位置にデータがあるかチェックする。ステップ１１４０９でデータがあるか判断し、データがないならば、１１４１０に進みパターンが一致したと判断し処理を終了する。
【００５３】
ステップ１１４０９でデータがあると判断すると、ステップ１１４１１に進み、Ｌｃ＝Ｌｃ＋１としステップ１１４０３に戻り処理を繰り返す。
【００５４】
図１４に示されたフローチャートの中の「次の回路ブロック検索」は、図１８のフローチャートにより処理される。まず、ステップ１１５００で検索位置テーブル０９０４の行番号エリア０９０６の値が０か判断する。０でないならば、ステップ１１５０２で（Ｌ，Ｃ）に（０，１）を設定する。次にステップ１１５０３でキャラクタメモリ０８０１上の（検索位置テーブル０９０４の行番号エリア０９０６＋Ｌ，Ｃ）の位置のデータを調べる。ステップ１１５０４でシンボル部０４０２の分岐指定０４０４で下のビットがＯＮか判断する。ＯＮならばステップ１１５０５に進み、Ｌ＝Ｌ＋１とする。次にステップ１１５０３の戻り処理を繰り返す。
【００５５】
ステップ１１５０４でビットがＯＮでないなら、すなわち、下分岐がないなら、ステップ１１５０６に進みＣ＝Ｃ＋１とする。ステップ１１５０７でキャラクタメモリ０８０１上の（検索位置テーブル０９０４の行番号エリア０９０６＋Ｌ，Ｃ）の位置のデータを調べる。ステップ１１５０８でシンボル部０４０２の分岐指定０４０４で下のビットがＯＮか判断する。ＯＮならば、ステップ１１５０５に進み処理を繰り返す。ステップ１１５０８でＯＮでないなら、ステップ１１５０９でＣ＝８か判断する。Ｃ＝８でないなら、ステップ１１５０６に戻り処理を繰り返す。Ｃ＝８なら、ステップ１１５１０に進む。
【００５６】
ステップ１１５１０では、検索位置テーブル０９０４の行番号エリア０９０６の値にＬ＋１を加える。ステップ１１５１１でキャラクタメモリ０８０１上の（検索位置テーブル０９０４の行番号エリア０９０６＋Ｌ，Ｃ）の位置のデータを調べる。ステップ１１５１２でデータがあるか判断し、あるならば、ステップ１１５１３でＣ＝１とする。ステップ１１５１４でＬ＝０とし次にステップ１１５１５でキャラクタメモリ０８０１上の（検索位置テーブル０９０４の行番号エリア０９０６＋Ｌ，Ｃ）の位置のデータを調べる。ステップ１１５１６でシンボル部０４０２の分岐指定０４０４で下のビットがＯＮか判断する。ＯＮならば、ステップ１１５１７でＬ＝Ｌ＋１としステップ１１５１５に戻り処理を繰り返す。
【００５７】
ステップ１１５００で検索位置テーブル０９０４の行番号エリア０９０６の値が０ならば、ステップ１１５０１で検索位置テーブル０９０４の行番号エリア０９０６の値を１に設定し、ステップ１１５１１に進む。ステップ１１５１２でデータがないと判断すると、ステップ１１５１８でデータ無しと判断し処理を終了する。
【００５８】
ステップ１１５１６でビットがＯＮしていないと判断すると、ステップ１１５１９でＣ＝Ｃ＋１とする。次にステップ１１５２０でキャラクタメモリ０８０１上の（検索位置テーブル０９０４の行番号エリア０９０６＋Ｌ，Ｃ）の位置のデータを調べる。ステップ１１５２１でシンボル部０４０２の分岐指定０４０４で下のビットがＯＮか判断する。ビットがＯＮならば、ステップ１１５１７に進み処理を繰り返す。ビットがＯＮでないなら、ステップ１１５２２でＣ＝８か判断する。Ｃ＝８ならば、ステップ１１５２３に進み、キャラクタメモリ０８０１上の、検索位置テーブル０９０４の行番号エリア０９０６の行からＬ行分のデータを検索キャラクタメモリ１００１に複写し終了する。ステップ１１５２２でＣ＝８でないならば、ステップ１１５１９に戻り処理を繰り返す。
【００５９】
ここまでの処理が完了すると、ステップ１１５２３にて、キャラクタメモリ０８０１上の、構成要素の一致する部分の行が検索キャラクタメモリ１００１に複写された。すなわち、本実施例においては、キャラクタメモリ０８０１上の３行目から４行目が検索キャラクタメモリ１００１に複写された。
【００６０】
したがって、ここまでの処理、すなわち、図１４、図１５、図１６、図１７、図１８に示したフローチャートは、被入力領域であるキャラクタメモリ０８０２に入力中の回路パターンの構成要素と、入力済領域であるキャラクタメモリ０８０１に記憶されている回路パターンの構成要素とを比較し、一致する構成要素を含む回路パターンを抽出する回路パターン抽出手段を構成している。
【００６１】
図１４に示されたフローチャートの中のステップ１１１０８で呼び出される「パターン一致処理」は、図１９のフローチャートにしたがい処理を行う。まず、ステップ１２０６で検索キャラクタメモリ１００１のデバイス番号部１００２のデータを削除する。ステップ１２０７で検索キャラクタメモリ１００１のデータをＣＲＴ０１０２へ画面表示する。ステップ１２０８でこれでよいか問い合わせる。これは、例えば、図２０に示されたメッセージ１３０１のように表示する。ステップ１２０７およびステップ１２０８は、回路パターン抽出手段によって抽出された回路パターンを入力画面であるＣＲＴ０１０２に表示する表示手段を構成している。
【００６２】
その後、操作者の操作入力が、例えばキーボード０１０３から行われ、ステップ１２０９で”ＯＫ”が選択されていないと判断すると、ステップ１２１１で検索結果を破棄し処理を終了する。
【００６３】
一方、ステップ１２０９で”ＯＫ”が選択されたことを判断すると、ステップ１２１０へ進み、検索キャラクタメモリ１００１のデータをキャラクタメモリ０８０１の比較位置テーブル０９０１の行番号エリア０９０３の行に設定する。すなわち、検索キャラクタメモリ１００１のデータをキャラクタメモリ０８０１に複写する。すなわち、ステップ１２１０は、回路パターン抽出手段によって抽出された回路パターンを被入力領域であるキャラクタメモリ０８０１に複写する複写手段を構成している。
【００６４】
検索キャラクタメモリ１００１のデータをキャラクタメモリ０８０１に複写すると、ラダー回路は図２１に示すラダー回路１３１０のようになる。また、これに対応するキャラクタメモリは、図２２に示すキャラクタメモリ１３１１のようになる。この時、ラダー回路は、ラダー回路１３１０のようになる。こうして、一致したパターンをラダー回路に自動追加した後、デバイス番号を入力して、ラダー回路を完成させる。
【００６５】
このように構成されたラダー回路編集装置においては、操作者が、被入力領域に入力の途中においてファンクションキー０１１０を押すと、すでに入力が完了された入力済領域から、入力の途中の構成要素と一致する回路パターンを抽出し、自動的に入力位置に表示する。そのため、操作者が余計な操作を行うことなく類似なラダー回路が自動的に行え、さらには必要以上のメモリを無駄に使用することがなく、ラダー回路の設計の効率化を図ることができる。
【００６６】
尚、操作者が検索結果を採用せず、その後被入力領域であるキャラクタメモリ０８０１にさらに構成要素を加え、この時点にてファンクションキー０１１０を押せば、さらにことなった条件（さらに構成要素が多くなっている）にて、この構成要素が含まれる回路パターンを検索することは言うまでもない。
実施例２．
【００６７】
図２３は他のラダー回路の例を示す図である。図２３において、１４０１はラダー回路である。
【００６８】
図２４はラダー回路１４０１をキャラクタメモリに記憶したときの構成を示す。図２４において１５０１はキャラクタメモリである。
【００６９】
図２５は図２３に示されたラダー回路１４０１にさらにラダー回路の構成要素が追加された様子を示す図である。図２５において、１６０１はラダー回路、１６０２は追加部分を示す。
【００７０】
図２６はラダー回路１６０１をメモリ０１０９に保持する場合に持つメモリの構成すなわちキャラクタメモリを示している。図２６において、１７０１および１７０２はメモリ０１０９の所定の位置に記憶されたキャラクタメモリを示す。キャラクタメモリ１７０１は、入力完了された少なくとも１個の回路パターンが記憶されている入力済領域を構成している。一方、キャラクタメモリ１７０２は、追加部分１６０２に相当するキャラクタメモリであって、新たな回路パターンを入力する被入力領域を構成している。
【００７１】
図２７と図２８は比較するためのラダー回路を一時的に退避するためのキャラクタメモリの構成を示す。図２７，２８において１７０３，１７０５は検索キャラクタメモリ、１７０４，１７０６は検索キャラクタメモリ１７０３，１７０５のデバイス番号部を示す。
【００７２】
図２９および図３０は処理部０１０５の処理のフローチャートである。図３１はパターンが一致した場合にＣＲＴに表示するメッセージの一例をあらわす。図３１において、２００１はメッセージである。
【００７３】
さて、図２３に示されるラダー回路１４０１がすでに作成されており、これに対応したキャラクタメモリ１５０１がすでに図２４に示されるように記憶されているとする。このプログラムにさらに、追加部分１６０２を追加する場合を考える（図２５）。追加部分１６０２の追加により、キャラクタメモリは図２６のようになる。
【００７４】
この状態でキーボード０１０３より検索指示を出す。検索指示は例えばキーボード０１０３のファンクションキー０１１０などを押すことにより指示される。ファンクションキー０１１０の押下により、追加命令１６０２の行番号７を比較位置テーブル０９０１の行番号エリア０９０３に設定する。その後検索処理が開始される。検索は、起動条件部０２０３のパターンの一致のチェック、インターロック部０２０４のパターンの一致のチェック、出力部０２０５のパターン一致のチェックの順で行われる。検索処理は、図２９のフローチャートに従い処理される。
【００７５】
図２９のフローチャートに従い処理の手順を説明する。検索処理が始まると、まず、ステップ１８００により、検索位置テーブル０９０４の行番号エリア０９０６に０を設定する。ステップ１８０１で「次の回路ブロック検索」を行う。次にステップ１８０２で「起動条件部の検索」を行う。ステップ１８０３でパターンが一致したかを判断する。一致した場合はステップ１８１１に進み「パターン一致処理」を行う。
【００７６】
ステップ１８０３でパターンが一致していないと判断した場合はステップ１８０４で「インターロック部の検索」を行う。ステップ１８０５でインターロック部のパターンが一致したと判断すると、ステップ１８１１に進み「パターン一致処理」を行う。
【００７７】
ステップ１８０５でパターンが一致していないと判断した場合は、ステップ１８０６に進み「出力部の検索」を行う。ステップ１８０７で出力部のパターンが一致したと判断すると、ステップ１８１１に進み「パターン一致処理」を行う。ステップ１８０７でパターンが一致していないと判断した場合は、ステップ１８０８で「次の回路ブロック検索」を行う。ステップ１８１０で次の回路ブロックがあるかを判断し、次の回路ブロックが存在しない場合は、検索処理を終了する。次の回路ブロックが存在する時は、ステップ１８０２に戻り処理を継続する。  ステップ１８１２で「パターン一致処理」で”次へ”が選択されたかどうかを判断し、”次へ”が選択された時はステップ１８０１に戻る。ステップ１８１２で次へ以外（その他）が選択されると、検索完了と判断し、処理を終了する。
【００７８】
尚、ステップ１８０１の「次の回路ブロック検索」、ステップ１８０２の「起動条件部の検索」、ステップ１８０４の「インターロック部の検索」、ステップ１８０６の「出力部の検索」、ステップ１８０８の「次の回路ブロック検索」にて呼び出されるそれぞれのサブルーチンは、実施例１と同様である。
【００７９】
図２９のフローチャートのステップ１８１１で「パターン一致処理」を呼び出すと、図３０のフローチャートに従い処理を行う。まず、ステップ１９００で検索キャラクタメモリ１７０３のデバイス番号部１７０４を全て削除する。ステップ１９０１で検索キャラクタメモリ１７０３のデータをＣＲＴ０１０２へ画面表示する。ステップ１９０２で図３１のメッセージ２００１を表示し、表示されている回路ブロックを流用するかを問い合わせる。ステップ１９０１およびステップ１９０２は、回路パターン抽出手段によって抽出された回路パターンを入力画面であるＣＲＴ０１０２に表示する表示手段を構成している。
【００８０】
その後、操作者の操作入力が、例えばキーボード０１０３から行われ、ステップ１９０３で”ＯＫ”が選択されたことを判断すると、ステップ１９０４へ進み、検索キャラクタメモリ１７０３のデータをキャラクタメモリの比較位置テーブル０９０１の行番号エリア０９０３の行に設定する。すなわち、検索キャラクタメモリ１７０３のデータをキャラクタメモリに複写する。すなわち、ステップ１９０４は、回路パターン抽出手段によって抽出された回路パターンを被入力領域であるキャラクタメモリ０８０１に複写する複写手段を構成している。
【００８１】
ステップ１９０３で”次へ”が選択されていると判断するとその後なにもせず「パターン一致処理」を終了する、ステップ１９０３で”しない”が選択されると、ステップ１９０５で検索結果を破棄し処理を終了する。
【００８２】
ステップ１９０３で”次へ”が選択されている時は、図２９のフローチャートで前述した処理により「次の回路ブロック検索」を行う。図２５のラダー回路を元に”次へ”が選択された時には、検索キャラクタメモリ１７０４が作成され、前述した図２９のフローチャートの処理を行う。
【００８３】
このように構成されたラダー回路編集装置においては、実施例１の効果を得られると共に、類似なラダー回路が自動的に複数個検索され、さらなるラダー回路の設計の効率化を図ることができる。
実施例３．
【００８４】
図３２は回路パターン格納先リストのテーブルを示す。図３２において、２１０１は選択回路パターンアドレス記憶領域である回路パターン格納先リスト、２１０２はパターン１格納先アドレス、２１０３はパターンＭ−１格納先アドレス、２１０４はパターンＭ格納先アドレス、２１０５はリスト最後尾、一方、２１０６はリスト順番Ｍを示す。
【００８５】
図３３は回路パターン格納領域を示す。図３３において、２１０７は回路パターン格納領域を示す。
【００８６】
図３４は回路パターン位置テーブルを示す。２２０１は回路パターン位置テーブル、２２０２は列番号、２２０３は行番号を示す。
【００８７】
図３５は回路パターン位置キャラクタメモリテーブルを示す。２２０４は回路パターン位置キャラクタメモリテーブル、２２０５はデバイス番号部、２２０６はシンボル部を示す。
【００８８】
図３６、図３７、図３８は、処理部０１０５の処理のフローチャートである。
【００８９】
さて、ここで図７に示されるラダー回路０５０１がすでに作成されており、これに対応したキャラクタメモリ０６０１が図８のようにメモリ０１０９にあるとする。
【００９０】
このラダー回路にさらに、命令０７０２を追加する（図９）。命令０７０２の追加により、キャラクタメモリ０６０１は図１０のようになる。
【００９１】
この状態でキーボード０１０３より検索指示を出す。検索指示は例えばキーボード０１０３のファンクションキー０１１０などを押すことにより指示される。ファンクションキー０１１０の押下により、追加部分０８０２の行番号５が比較位置テーブル０９０１の行番号０９０３に記憶される。その後、検索処理が開始される。検索は、起動条件部０２０３のパターンの一致のチェック、インターロック部０２０４のパターンの一致のチェック、出力部０２０５のバターンの一致のチェックの順で行われる。検索処理は、図３６のフローチャートに従い処理される。
【００９２】
図３６のフローチャートに従い処理の手順を説明する。検索処理が始まると、まず、ステップ２３０１でＭ＝１とする。次に、ステップ２３０２で回路パターン格納先リスト２１０１のパターンＭ格納先アドレス２１０４が示す回路パターン格納領域２１０７の先頭行番号を検索キャラクタメモリ１００１にコピーし、さらに回路パターン格納領域２１０７の先頭行番号を検索位置テーブル０９０４の行番号０９０６に設定する。
【００９３】
ステップ２３０３で図１５のフローチャートに従った処理により「起動条件部の検索」を行う。ステップ２３０４でパターンが一致したかを判断する。一致した場合は、ステップ２３０５で図１６のフローチャートに従った処理により「インターロック部の検索」を行う。ステップ２３０６でパターンが一致したかを判断する。一致した場合は、ステップ２３０５で図１７のフローチャートに従った処理により「出力部の検索」を行う。次にステップ２３０８でパターンが一致したかを判断する。一致した場合はステップ２３０９に進み、回路パターン格納先リスト２１０１のパターンＭ格納先アドレス２１０４が示す回路パターン格納領域２１０７の先頭行番号を回路パターン位置テーブル２２０１の行番号２２０３に設定する。そして、ステップ２３１０で「パターン一致処理」を行い処理を終了する。
【００９４】
ステップ２３０４でパターンが一致していないと判断した場合は、ステップ２３１１で「インターロック部の検索処理」を行う。ステップ２３１２でパターンが一致したと判断すると、ステップ２３０９，２３１０に進み「パターン一致処理」を行い処理を終了する。ステップ２３１２でパターンが一致していないと判断した場合は、さらにステップ２３１３に進み、「出力部の検索」を行う。ステップ２３１４でパターンが一致したと判断すると、ステップ２３０９，２３１０に進み「パターン一致処理」を行い処理を終了する。
【００９５】
ステップ２３１４でパターンが一致しないと判断すると、ステップ２３１５でＭ＝Ｍ＋１とする。ステップ２３１６で回路パターン格納先リストのＭ番目にデータがあるかをチェックする。ステップ２３１７でデータがあると判断するとステップ２３０２へ戻る。
【００９６】
ステップ２３１７でデータが無いと判断した場合はステップ２３１８へ進み、「新規回路パターン検索処理」を行う。ステップ２３１９で新規に一致したデータがあるかどうかを判断する。データがあると判断した場合はステップ２３２０に進み、検索位置テーブル０９０４の行番号エリア０９０６の行番号を回路パターン位置テーブル２２０１の行番号２２０３に設定し、ステップ２３１０で「パターン一致処理」を行って処理を終了する。
ステップ２３１９でデータが無いと判断した場合はそのまま処理を終了する。
【００９７】
ステップ２３１０の「パターン一致処理」は、図３７のフローチャートで動作する。まず、ステップ２４０１でＮ＝０とする。次に、ステップ２４０２でキャラクタメモリ０８０１の、回路パターン位置テーブル２２０１の行番号２２０３＋Ｎに示す行において、シンボルのデータに下への分岐データがあるかをチェックする。ステップ２４０３で下分岐があると判断すると２４０４へ進み、ステップ２４０４でＮ＝Ｎ＋１とする。ステップ２４０３で下分岐がないと判断するとステップ２４０５へ進む。
【００９８】
ステップ２４０５の「回路パターン入れ替え処理」は、図３８のフローチャートで動作する。まず、ステップ２５０１でリスト順番Ｍ２１０６と回路パターン格納先リスト２１０１のリスト最後尾２１０５と比較する。次に、ステップ２５０２で大きいと判断するとステップ２５０６へ進む。ステップ２５０６で回路パターン位置テーブル２２０１の行番号２２０３からＮまでのデータを回路パターン格納領域２１０７へ設定し、回路パターン格納領域２１０７のアドレスを回路パターン格納先リスト２１０１の最後尾２１０５へ設定する。ステップ２５０６で回路入れ替え処理を終了し、ステップ２４０６へ戻る。
【００９９】
一方、ステップ２５０２で大きくないと判断するとステップ２５０３へ進む。ステップ２５０３で一致した回路パターンのパターンＭ格納先アドレス２１０４を回路パターン格納先リスト２１０１から削除する。ステップ２５０４で回路パターン格納先リスト２１０１のパターン１格納先アドレス２１０２からパターンＭ−１挿納先アドレス２１０３までを１行下方にシフトする。ステップ２５０５で回路パターン位置テーブル２２０１の行番号２２０３からＮまでのデータを回路パターン格納領域２１０７へ設定し、回路パターン格納領域２１０７の先頭アドレスを回路パターン格納先リスト２１０１のパターン１格納先アドレス２１０２へ設定する。すなわち、選択された回路パターンのアドレスを回路パターン格納先リスト２１０１の先頭に格納する。すなわち、「回路パターン入れ替え処理」は、選択された回路パターンのアドレスを回路パターン格納先リスト２１０１の最上位に入れ替える入替手段を構成している。ステップ２５０５で回路パターン入れ替え処理を終了するとステップ２４０６へ戻る。
【０１００】
ステップ２４０６で回路パターン位置テーブル２２０１の行番号２２０３からＮまでのデータを検索キャラクタメモリ１００１に設定する。ステップ２４０７で検索キャラクタメモリ１００１のデバイス番号部１００２を全て削除する。ステップ２４０８でキャラクタメモリ１００１のデータを画面に表示する。ステップ２４０９で”ＯＫ”かどうか問い合わせる。ステップ２４１０で”ＯＫ”が選択されたと判断するとステップ２４１１へ進む。ステップ２４１１を終わるとパターン一致処理を終了し、検索処理を終了する。ステップ２４１０で”ＯＫ”が選択されていないと判断すると２４１２へ進む。ステップ２４１２で検索結果を破棄する。ステップ２４１２を終わるとパターン一致処理を終了し、検索処理を終了する。
【０１０１】
このように構成されたラダー回路編集装置においては、実施例１および実施例２の効果を得られると共に、前回選択した回路パターンが優先して自動的に検索され、検索された回路パターンが簡単に選択でき、流用できるため、さらなるラダー回路の設計の効率化を図ることができる。
【図面の簡単な説明】
【０１０２】
【図１】この発明のラダー回路編集装置の機器構成を示すブロック図である。
【図２】ラダー回路の各部の名称を示す図である。
【図３】ラダー回路をメモリに保持する場合に持つメモリの構成すなわちキャラクタメモリの構成を示す図である。
【図４】キャラクタメモリの１構成要素の構成を示す図である。
【図５】シンボル部の内部データ構造を示す図である。
【図６】命令コード部に設定されるコードの一例を示す図である。
【図７】ラダー回路で表示された一般的なシーケンスプログラムの例を表す図である。
【図８】ラダー回路をメモリに保持する場合に持つメモリの構成すなわちキャラクタメモリを示す図である。
【図９】図７に示されたラダー回路に、追加されるラダー回路の構成要素の一部が追加された様子を示す図である。
【図１０】ラダー回路をメモリに保持する場合に持つメモリの構成すなわちキャラクタメモリを示す図である。
【図１１】本装置が検索動作を処理する時にメモリに作成される比較位置テーブルを示す図である。
【図１２】本装置が検索動作を処理する時にメモリに作成される比較位置テーブルを示す図である。
【図１３】比較するためのラダー回路の構成要素を一時的に待避するための検索キャラクタメモリの構成を示す図である。
【図１４】検索処理を行うメインプログラムのフローチャートである。
【図１５】「起動条件部の検索」を行うサブルーチンのフローチャートである。
【図１６】「インターロック部の検索」を行うサブルーチンのフローチャートである。
【図１７】「出力部の検索」を行うサブルーチンのフローチャートである。
【図１８】「次の回路ブロック検索」を行うサブルーチンのフローチャートである。
【図１９】「パターン一致処理」を行うサブルーチンのフローチャートである。
【図２０】パターンが一致した場合にＣＲＴに表示するメッセージの一例をあらわす図である。
【図２１】検索キャラクタメモリデータをキャラクタメモリに複写した結果のラダー回路を示す図である。
【図２２】図２１に示されたラダー回路のキャラクタメモリ上の状態を示す図である。
【図２３】他のラダー回路の例を示す図である。
【図２４】ラダー回路をキャラクタメモリに記憶したときの構成を示す図である。
【図２５】図２３に示されたラダー回路に、さらに追加されるラダー回路の構成要素の一部が追加された様子を示す図である。
【図２６】ラダー回路をメモリに保持する場合に持つメモリの構成すなわちキャラクタメモリを示す図である。
【図２７】比較するためのラダー回路を一時的に退避するためのキャラクタメモリの構成を示す図である。
【図２８】比較するためのラダー回路を一時的に退避するためのキャラクタメモリの構成を示す図である。
【図２９】検索処理を行うメインプログラムのフローチャートである。
【図３０】「パターン一致処理」を行うサブルーチンのフローチャートである。
【図３１】パターンが一致した場合にＣＲＴに表示するメッセージの一例をあらわす図である。
【図３２】回路パターン格納先リストのテーブルを示す図である。
【図３３】回路パターン格納領域を示す図である。
【図３４】回路パターン位置テーブルを示す図である。
【図３５】回路パターン位置キャラクタメモリテーブルを示す図である。
【図３６】検索処理を行うメインプログラムのフローチャートである。
【図３７】「パターン一致処理」を行うサブルーチンのフローチャートである。
【図３８】「回路パターン入れ替え処理」を行うサブルーチンのフローチャートである。
【図１】
0004245811.tif 000002
【図２】
0004245811.tif 000003
【図３】
0004245811.tif 000004
【図４】
0004245811.tif 000005
【図５】
0004245811.tif 000006
【図６】
0004245811.tif 000007
【図７】
0004245811.tif 000008
【図８】
0004245811.tif 000009
【図９】
0004245811.tif 000010
【図１０】
0004245811.tif 000011
【図１１】
0004245811.tif 000012
【図１２】
0004245811.tif 000013
【図１３】
0004245811.tif 000014
【図１４】
0004245811.tif 000015
【図１５】
0004245811.tif 000016
【図１６】
0004245811.tif 000017
【図１７】
0004245811.tif 000018
【図１８】
0004245811.tif 000019
0004245811.tif 000020
【図１９】
0004245811.tif 000021
【図２０】
0004245811.tif 000022
【図２１】
0004245811.tif 000023
【図２２】
0004245811.tif 000024
【図２３】
0004245811.tif 000025
【図２４】
0004245811.tif 000026
【図２５】
0004245811.tif 000027
【図２６】
0004245811.tif 000028
【図２７】
0004245811.tif 000029
【図２８】
0004245811.tif 000030
【図２９】
0004245811.tif 000031
【図３０】
0004245811.tif 000032
【図３１】
0004245811.tif 000033
【図３２】
0004245811.tif 000034
【図３３】
0004245811.tif 000035
【図３４】
0004245811.tif 000036
【図３５】
0004245811.tif 000037
【図３６】
0004245811.tif 000038
【図３７】
0004245811.tif 000039
【図３８】
0004245811.tif 000040