(57)【特許請求の範囲】
【請求項１】
分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、該求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けることを特徴とするプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法。
【請求項２】
使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けることを特徴とする請求項１に記載のプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法。
【請求項３】
分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルが設定され、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、該求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるデータ処理手段を有していることを特徴とするプログラマブルコントロー
ラの周辺装置。
【請求項４】
前記データ処理手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号とを加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けることを特徴とする請求項３に記載のプログラマブルコントローラの周辺装置。
【請求項５】
分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルとを入力する入力手段およびこれらデータを記憶する記憶手段と、
仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段および編集されたシーケンスプログラムを記憶する記憶手段と、
仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムの組み合わせを入力する入力手段および組み合わせデータを記憶する記憶手段と、
記憶手段に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを合成する段階で、前記組み合わせデータと各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、前記記憶手段に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータを参照して、前記求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける入出力デバイス番号割付手段と、
を有していることを特徴とするプログラマブルコントローラの周辺装置。
【請求項６】
前記入出力デバイス番号割付手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号と加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けることを特徴とする請求項５に記載のプログラマブルコントローラの周辺装置。
【請求項７】
シーケンスプログラムの組み合わせ順序が入力手段によって変更可能であり、記憶手段の組み合わせデータの書き換えを行い、前記入出力デバイス番号割付手段は、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けることを特徴とする請求項５または６に記載のプログラマブルコントローラの周辺装置。
【請求項８】
前記使用ユニット構成データが入力手段によって変更可能であり、記憶手段の使用ユニット構成データの書き換えを行い、前記入出力デバイス番号割付手段は、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラ
ムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けることを特徴とする請求項５、６または７に記載のプログラマブルコントローラの周辺装置。
【請求項９】
仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルが入力手段により変更可能であり、記憶手段のユニットラベル・デバイスラベルデータの書き換えを行い、前記入出力デバイス番号割付手段は、ユニットラベル、デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更することを特徴とする請求項５〜８のいずれか一つに記載のプログラマブルコントローラの周辺装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、機械設備を制御するプログラマブルコントローラのためのシーケンスプログラム（ラダ−回路）の入出力デバイス番号割付方法およびプログラマブルコントローラの周辺装置に関するものである。
【０００２】
【従来の技術】
プログラマブルコントローラ（以下、ＰＣと略称する）で使用するシーケンスプログラムを作成する際には、まず、ＰＣのシステム構成を確定する。すなわち、ＣＰＵユニットの機種選定、入出力ユニットの機種選定、数量の決定を行い、ベースユニットのどの位置にどのユニットを設定するかを決める。
【０００３】
こうして構築されたＰＣシステムにおいて、決定された入力ユニット、出力ユニットの各ユニットに属する入出力デバイスにはＣＰＵに近い配置順に入出力番号が８進または１６進にて割り付けられる。入力ユニットおよび出力ユニットはユーザの構築したシステムの用途により多種あるが、１ユニットあたりの入力点数又は出力点数は１６点、３２点、６４点が一般的である。
【０００４】
したがって、ベースユニットに入力ユニット、出力ユニットを取り付ける場合、取り付けるベースの位置によって入出力番号が一律に決定されるわけでなく、ベースユニットに取り付けられる入力ユニット、出力ユニットが保有する入出力点数の種別により入出力点番号（入出力デバイス番号）が変化する。たとえば、入力ユニットＡ（１６点）とＢ（３２点）を使用する場合に、ユニットを（Ａ、Ｂ）の順に並べた場合のユニットＡの入力点数は０から１５までの１６点となるが、（Ｂ、Ａ）の順に並べた場合には、ユニットＡの入力点数は３２から４７までの１６点となる。
【０００５】
この入出力点番号はあくまでＰＣのＣＰＵユニットがベースユニットに取り付けられた入力ユニット、出力ユニットが何点使用するユニットであるかを自動的に読み取って制御する番号であり、プログラミング手段である周辺装置では、ＰＣのシステム構成は判別できないため、プログラムを作成する際には、ＰＣのＣＰＵユニットが割り付けると想定される入出力番号によって、システム構築を行なう担当者がプログラミングを行うのが一般的である。
【０００６】
なお、この発明に関連する従来技術として、ＰＣの入出力ユニットに入出力点数等のユニット構成情報を付け、ＰＣのシステム構成時にそのユニット構成情報を読み取って入出力ユニットの入出力点数を求め、各入出力ユニットにシーケンスプログラムで使用する入出力点番号（アドレス）を自動的に割り付けるものが特開平１−１７７６１０号公報に示されており、また、入出力ユニットの入れ換え、変更に対応すべく、変更前後のＩ／Ｏ物理アドレス割付対応テーブルを持ち、変更前後のデータ対照によってシーケンスプログラムにおけるＩ／Ｏ物理アドレスを入出力ユニットの入れ換え、変更後のものに自動変換するものが特開平２−１４８１０７号公報に開示されている。
【０００７】
【発明が解決しようとする課題】
従来におけるシーケンスプログラムの作成では、シーケンスプログラム上のデバイス番号は、必ず、ＰＣのシステム構成で決まる入出力点番号（Ｉ／Ｏ物理アドレス）で設定しなくてはならないため、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要があり、また、ＰＣの実際のシステム構成、すなわち、実機器構成を意識してシーケンスプログラムを作成する必要があり、大規模なシステム構成であるほど、シーケンスプログラムの作成が面倒で、間違いのないシーケンスプログラムを効率よく作成することが難しくなる。
【０００８】
また、ＰＣのシステム構成の変更に対するシーケンスプログラムの変更対応性が悪く、ＰＣのシステム構成の変更に対してシーケンスプログラムのＩ／Ｏ物理アドレスを自動変更するためには、特開平２−１４８１０７号公報に示されているように、変更前後のＩ／Ｏ物理アドレス割付対応テーブルを設定し、変更前後のデータ対照によってシーケンスプログラムにおけるＩ／Ｏ物理アドレスを変換しなくてはならない。
【０００９】
この発明は、上述の如き問題点を解消するためになされたもので、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成でき、しかもＰＣのシステム構成の変更に対するシーケンスプログラムの変更対応性がよく、融通性に優れたプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法、および、その入出力デバイス番号割付方法の実施に使用されるプログラマブルコントローラの周辺装置を得ることを目的としている。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、この発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、該求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【００１１】
つぎの発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【００１２】
また、上述の目的を達成するために、この発明によるプログラマブルコントローラの周辺装置は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルが設定され、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、該求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるデータ処理手段を有しているものである。
【００１３】
つぎの発明によるプログラマブルコントローラの周辺装置は、前記データ処理手段が、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号とを加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【００１４】
つぎの発明によるプログラマブルコントローラの周辺装置は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルとを入力する入力手段およびこれらデータを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段および編集されたシーケンスプログラムを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムの組み合わせを入力する入力手段および組み合わせデータを記憶する記憶手段と、記憶手段に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを合成する段階で、前記組み合わせデータと各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、前記記憶手段に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータを参照して、前記求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける入出力デバイス番号割付手段とを有しているものである。
【００１５】
つぎの発明によるプログラマブルコントローラの周辺装置は、前記入出力デバイス番号割付手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号と加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【００１６】
つぎの発明によるプログラマブルコントローラの周辺装置は、シーケンスプログラムの組み合わせ順序が入力手段によって変更可能であり、記憶手段の組み合わせデータの書き換えを行い、前記入出力デバイス番号割付手段は、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるものである。
【００１７】
つぎの発明によるプログラマブルコントローラの周辺装置は、前記使用ユニット構成データが入力手段によって変更可能であり、記憶手段の使用ユニット構成データの書き換えを行い、前記入出力デバイス番号割付手段は、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるものである。
【００１８】
つぎの発明によるプログラマブルコントローラの周辺装置は、仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルが入力手段により変更可能であり、記憶手段のユニットラベル・デバイスラベルデータの書き換えを行い、前記入出力デバイス番号割付手段は、ユニットラベル、デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更するものである。
【００１９】
【発明の実施の形態】
以下に添付の図を参照して、この発明にかかるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法およびプログラマブルコントローラの周辺装置の実施の形態を詳細に説明する。
【００２０】
実施の形態１．
（全体概要）
図１は、この発明によるＰＣの周辺装置のブロック図である。周辺装置は全体を符号１０により示されている。周辺装置１０は、中央処理装置（ＣＰＵ）１１と、メモリ１２と、ＣＲＴ１３と、キーボード１４と、ＰＣ５０と交信するための通信Ｉ／Ｆ部１５と、補助記憶装置１６とを有している。補助記憶装置１６には、フロッピーディスク１７に読み書きを行うフロッピーディスクドライブ１８、ハードディスクドライブ１９などがある。
【００２１】
周辺装置１０は、中央処理装置１１がシステムプログラムを実行することにより具現されるデータ処理手段により、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを組み合わせる段階で、各シーケンスプログラム毎の仮機器構成を組み合わせて実際の機器構成を確定し、シーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける処理を行う。
【００２２】
この入出力デバイス番号の自動的に割り付けは、実際の機器構成における各入出力ユニットの先頭Ｉ／Ｏ番号を各入出力ユニットの装着位置順に各入出力ユニットが保有する入出力デバイスの点数を参照して設定し、この先頭Ｉ／Ｏ番号に基づいて行うことができる。
【００２３】
図２（ａ）〜（ｃ）は、周辺装置１０が或るまとまった処理毎に分割して作成するグループデータの構成を示している。グループデータはメモリ１２内に作成され、補助記憶装置１６に保存される。グループデータは、各グループ毎に、使用ユニットに入出力番号を対応づける使用ユニット構成データと、使用ユニットの入出力デバイスに対応するラベルを格納する汎用ラベルデータと、周辺装置１０が作成するプログラムデータとから構成される。
【００２４】
使用ユニット構成データは、図２（ａ）に示されているように、使用ユニットの台数であって使用ユニット構成データに設定されているデータ数を示す使用ユニット台数と、使用するユニット毎に、入力ユニット、出力ユニットの種別を示すユニット種別（１：入力ユニット，２：出力ユニット）と、使用ユニットの持つ入出力デバイスの点数を示す占有点数と、使用ユニットの持つ入出力デバイスに割り付けられる実際の入出力デバイスの先頭番号を示す先頭Ｉ／Ｏ番号と、ＰＣ５０が持つデバイスを識別する値であるデバイス種別（５８ｈ：Ｘ，５９ｈ：Ｙ，４ｃｈ：デバイスラベル）と、使用ユニットの入出力デバイス毎に作成された汎用ラベルデータを参照するメモリ１２のアドレスである汎用ラベルデータへのポインタとを有している。
【００２５】
汎用ラベルデータは、図２（ｂ）に示されているように、使用ユニット毎に付けられるラベルデータであるユニットラベルと、各使用ユニットの入出力デバイス毎に付けられるラベルデータであるデバイスラベルとを有している。ユニットラベル、デバイスラベルは、それぞれ、複数文字、たとえば、８文字のＡＳＣＩＩデータで記述される。
【００２６】
各グループ毎の使用ユニット構成データ、汎用ラベルデータ、プログラムデータは、各グループ毎に設定されたディレクトリ（フォルダ）に、拡張子が異なる個別のファイルとして補助記憶装置１６に保存される。ディレクトリ名、各データのファイル名はグループ名で統一でき、たとえば、使用ユニット構成データのファイルの拡張子を「ＵＮＩ」、汎用ラベルデータのファイルの拡張子を「ＬＢＬ」、プログラムデータのファイルの拡張子を「ＰＲＧ」のように定義することができる。
【００２７】
（具体的構成）
図３は、この発明によるＰＣの周辺装置１０の構成を示している。周辺装置１０は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎のデバイスラベル、すなわち、汎用ラベルと、仮機器構成毎の複数個のシーケンスプログラムの組み合わせをユーザ入力するための入力手段２１と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段２２と、入力手段２１によって入力された使用ユニット構成データ、汎用ラベルデータ、シーケンスプログラムの組み合わせデータおよびシーケンスプログラム編集手段２２によって編集されたシーケンスプログラムを記憶する記憶手段２３と、入出力デバイス番号割付手段２４とを有している。
【００２８】
入出力デバイス番号割付手段２４は、記憶手段２３に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを組み合わせる段階で、各シーケンスプログラム毎の仮機器構成を組み合わせて実際の機器構成を確定し、記憶手段２３に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータ（汎用ラベルデータ）を参照してシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける処理を行う。
【００２９】
入出力デバイス番号割付手段２４による入出力デバイス番号の自動割り付け処理は、実際の機器構成における各入出力ユニットの先頭Ｉ／Ｏ番号を各入出力ユニットの装着位置順に各入出力ユニットが保有する入出力デバイスの点数を参照して使用ユニット構成データに設定し、先頭Ｉ／Ｏ番号に基づいてシーケンスプログラム上のラベル記述の入出力デバイスに実際の機器構成に適合する入出力デバイス番号を割り付けることにより行われる。
【００３０】
シーケンスプログラムの組み合わせ順序は入力手段２１によって変更可能であり、この変更に応じて記憶手段２３の組み合わせデータの書き換えが自動的に行われる。入出力デバイス番号割付手段２４は、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付ける処理を行う。
【００３１】
また、使用ユニット構成データは入力手段２１によって変更可能であり、この変更に応じて記憶手段２３の使用ユニット構成データの書き換えが自動的に行われる。入出力デバイス番号割付手段２４は、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付ける処理を行う。
【００３２】
また、仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルも入力手段２１により変更可能であり、この変更に応じて記憶手段２３のユニットラベル・デバイスラベルデータの書き換えが自動的に行われる。入出力デバイス番号割付手段２４は、ユニットラベル・デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更する処理を行う。
【００３３】
（ユーザ操作）
図４（ａ）〜（ｅ）は１台のＰＣで実行されるシーケンスプログラムを分割して作成する場合の例を示している。この例では、１台のＰＣで制御される処理が二つのまとまった処理から成るとする。一つの処理は、図４（ａ）に示されている仮機器構成Ａのように、１６点入力ユニット１台、１６点出力ユニット１台を使用する。
【００３４】
ユーザは、仮機器構成Ａに対する使用ユニット構成データを作成するために、図５に示されているような使用ユニット構成データ入力画面にて、使用ユニット構成データのデータを入力する。なお、ユニット番号は、使用ユニットの装着位置と対応し、０〜ｎの数値で示され、使用ユニット構成データ内で、或る装着位置の使用ユニットのデータを参照する場合に使用する。
【００３５】
まず、仮機器構成Ａのユニットの装着順に、１枚目を示すユニット番号０の種別入力欄に入力ユニットを示す「入力」、占有点数入力欄に１６点を示す「１６」を入力し、つぎに２枚目を示すユニット番の１の種別入力欄に出力ユニットを示す「出力」、占有点数入力欄に１６点を示す「１６」を入力する。
【００３６】
この入力より、仮機器構成Ａに対する使用ユニット構成データが図６（ａ）に示されている内容でメモリ１２に作成される。この場合、使用ユニット台数は使用ユニット構成データ入力画面にて設定されたデータ数である「２」が設定される。ユニット種別は種別が入力であれば「１」、出力であれば「２」が設定される。占有点数は「占有点数」がそのまま設定される。
【００３７】
先頭Ｉ／Ｏ番号は実機器構成（図４（ｃ）参照）に従ってプログラムが組み合わせれた段階で確定されることより、現段階では不定であり、未設定を示す「−１」が設定される。デバイス種別は種別が入力であれば「５８ｈ」、出力であれば「５９ｈ」が設定される。汎用ラベルデータへのポインタは汎用ラベルデータが作成された段階で設定され、現段階では汎用ラベルデータの未作成を示す値「０」が設定される。
【００３８】
仮機器構成Ａでは、実際の入出力デバイス番号が確定されていないため、実際の入出力デバイス番号を使用してシーケンスプログラムを作成することはできない。このため、実際の入出力デバイスに１対１で対応する汎用ラベルを作成し、汎用ラベルを使用してシーケンスプログラムを作成することになる。
【００３９】
つぎに、ユーザは、仮機器構成Ａに対する使用ユニット構成データに対する汎用ラベルデータを、図８に示されているような汎用ラベルデータ入力画面にて入力する。まず、どのユニットに対する汎用ラベルを作成するかをユニット番号で指定する。図８では、ユニット番号０を指定したことを表している。ここでは、先に作成した使用ユニット構成データの指定したユニット番号のユニットの占有点数と同じ点数分のデバイスラベルの入力が可能となる。ユニット指定がユニット番号０では、ラベル番号欄の０〜１５に対するデバイスラベル入力欄が有効で、１６個分のデバイスラベルが入力可能となる。
【００４０】
図８はユニット番号０に対するユニットラベル、デバイスラベルを入力した状態を表しており、ユニットラベル入力欄に入力したユニットラベル「Ａｕｎｉｔ１」は汎用ラベルデータのユニット番号０に対するユニットラベルに格納される。ラベル番号表示欄のラベル番号は汎用ラベルデータのユニット番号０に対するラベル番号０〜ｎと１対１で対応し、ラベル番号０のデバイスラベル入力欄に入力されたデバイスラベル［Ｉｎ１」は汎用ラベルデータのユニット番号０に対するラベル番号０のデバイスラベルに格納される。同じくラベル番号１〜１５のデバイスラベル入力欄のデバイスラベル「Ｉｎ２」から「Ｉｎ１６」は汎用ラベルデータのユニット番号０に対するラベル番号の「１」から「１５」までのデバイスラベルに格納される。
【００４１】
このデータ格納処理がユニット番号の汎用ラベルデータへのポインタに格納した汎用ラベルデータのメモリ１２のアドレスを設定する。ユーザは、使用ユニット台数分、このデータ入力を行う。仮機器構成Ａでは、同様に、ユニット番号１のユニットラベル「Ａｕｎｉｔ２」、デバイスラベル「Ｏｕｔ１」〜「Ｏｕｔ１６」を入力することにより、図６（ｂ）に示されているような汎用ラベルデータが作成される。
【００４２】
他の一つの処理は、図４（ｂ）に示されている仮機器構成Ｂのように、３２点入力ユニット１台、３２点出力ユニット１台を使用しており、これの使用ユニット構成データ、汎用ラベルデータも、仮機器構成Ａの場合と同様のデータ入力により、図７（ａ）、（ｂ）に示されているように作成される。
【００４３】
メモリ１２には、図９に示されて入れるように、分割作成されたグループデータの組み合わせを指定した組み合わせグループデータが格納される。組み合わせグループデータは、組み合わせたグループデータの総数と、データ番号０〜ｎによる組み合わせ順のグループ名とにより構成される。
【００４４】
図１０は組み合わせグループデータの操作画面（グループファイルデータ組み合わせ画面）を示している。この操作画面には、グループデータが保存されている補助記憶装置１６のドライブの指定欄、ディレクトリ指定欄、保存されているグループデータのグループ名の表示欄、組み合わせるグループデータのグループ名と組み合わせる順の組み合わせグループ欄、組み合わせるグループデータを指定するボタン「Ａｄｄ」、組み合わせグループ欄に表示された内容で組み合わせグループデータの作成を実行するボタン「ＯＫ」、キャンセルボタン「Ｃａｎｃｅｌ」が表示される。
【００４５】
つぎに、ユーザは、汎用ラベルデータを使用して周辺装置１０のラダープログラム編集機能により、図４（ｄ）に示されているように、仮機器構成Ａに対応するプログラムＡを編集する。ラダープログラム編集機能により編集されたラダー図であるプログラムＡから図６（ｃ）に示されているようなプログラムデータが作成される。
【００４６】
このようなラダープログラム編集機能は既存技術であり、ラダー図のシンボルで作成されたシーケンスプログラムを図２（ｃ）のプログラムデータのようなＰＣが解釈できるマシンコードに変換する機能である。プログラムデータは、一つのプログラムデータにおけるステップ数の合計値である総ステップ数と、各ステップ毎に、命令コード、デバイス種別、デバイス番号で構成される。
【００４７】
命令コードはシーケンスプログラムの命令に対するコードであり、たとえばＬＤは「１」、ＯＲは「２」、ＡＮＤは「３」、ＯＵＴは「４」とする。デバイス種別はシーケンスプログラムで使用する入出力信号などを扱う入力デバイス、出力デバイスに対するコードであり、たとえば入力デバイスＸは「５８ｈ」、出力デバイスＹは「５９ｈ」、汎用ラベルで作成されている場合のデバイスラベルは「４Ｃｈ」とする。デバイス番号は各デバイスが持つ番号である。デバイスラベル「４Ｃｈ」の場合のデバイス番号は、図２（ｄ）に示されているようなデバイスラベル番号とする。デバイスラベル番号は１６ビットデータであり、上位８ビットはユニット番号、下位８ビットはラベル番号で構成される。
【００４８】
以上の内容により、プログラムＡをプログラムの先頭から変換する。まず、ステップ番号０はＬＤ命令であるため、命令コードは「１」、デバイス種別は汎用ラベルであるため、「４Ｃｈ」、デバイス番号は汎用ラベルを使用しているため、デバイスラベル番号となる。汎用ラベル「Ａｕｎｉｔ１．Ｉｎ１」のデバイスラベル番号は、ユニットラベル「Ａｕｎｉｔ１」がユニット番号０、デバイスラベル「Ｉｎ１」がラベル番号０より、「００００ｈ」となる。
【００４９】
ステップ番号１はＯＵＴ命令であるため、命令コードは「４」、デバイス種別は汎用ラベルであるため、「４Ｃｈ」、デバイス番号は同様にデバイスラベル番号となる。汎用ラベル「Ａｕｎｉｔ２．Ｏｕｔ１」のデバイスラベル番号は、ユニットラベル「Ａｕｎｉｔ２」がユニット番号１、デバイスラベル「Ｏｕｔ１」がラベル番号０より、「０１００ｈ」となる。総ステップ数はＬＤ命令とＯＵＴ命令の２ステップであるため、「２」となる。
【００５０】
このようにして１台のＰＣで制御される処理のうちの一つの処理のグループデータが作成される。このグループデータはメモリ１２に作成されており、ユーザは、これをグループファイルデータ構成で、ディレクトリ名に「グループ名」を指定し、ファイルとして補助記憶装置１６に保存する。使用ユニット構成データを格納するファイルは、ファイル名を「グループ名」、拡張子を「ＵＮＩ」、汎用ラベルデータを格納するファイルは、ファイル名を「グループ名」、拡張子を「ＬＢＬ」、プログラムデータを格納するファイルは、ファイル名を「グループ名」、拡張子を「ＰＲＧ」とする。
【００５１】
仮機器構成Ａのグループデータは、ドライブＡ、ディレクトリ「ｄａｔａ」にグループ名を「グループＡ」として保存する。同様にして残りの一つの処理についても、ラダープログラム編集機能により、図４（ｅ）に示されているように、仮機器構成Ｂに対応するプログラムＢを編集し、図７（ａ）〜（ｃ）に示されているようなグループデータを完成し、ドライブＡ、ディレクトリ「ｄａｔａ」にグループ名を「グループＢ」として保存する。
【００５２】
（動作）
上述したように、分割作成して補助記憶装置１６に保存したグループファイルデータを組み合わせ、プログラムデータに自動的に実際の入出力デバイス番号を割り付ける処理について説明する。
【００５３】
（グループファイルデータの組み合わせ）
まず、ユーザは、組み合わせるグループファイルデータを、図１０に示されているグループファイルデータ組み合わせ画面にて指定する。組み合わせるグループファイルデータが保存されている補助記憶装置１６のドライブを指定し、ディレクトリ階層を指定すると、グループ名が表示される。このグループ名のグループデータを組み合わせるのであれば、Ａｄｄボタンを押す。Ａｄｄボタンを押すと、組み合わせグループ欄にグループ名が追加される。組み合わせグループ欄に追加した順番が入出力ユニットの構成順となる。
【００５４】
このようにしてＰＣが実際に使用されるときの実機器構成（図４（ｃ）参照）に従い、グループＡのグループファイルデータ、グループＢのグループファイルデータを指定する。組み合わせるグループファイルデータを指定後、ＯＫボタンを押すと、グループデータ組み合わせ機能の処理が実行され、各グループデータのプログラムデータに自動的に実際の入出力デバイス番号が割り付けられる。
【００５５】
（グループデータ組み合わせ処理）
グループデータ組み合わせ処理を図１１〜図１５のフローチャートを参照して説明する。ユーザがグループファイルデータ組み合わせ画面にて組み合わせるグループデータファイルを指定後、ＯＫボタンを押すことにより、グループデータ組み合わせ処理が実行される。
【００５６】
（グループデータ組み合わせ処理のゼネラルフロー）
図１１はグループデータ組み合わせ処理のゼネラルフローであり、まず、カウンタとして使用する変数ｉを０に初期化する（ステップＳ１１）。ステップＳ１２〜ステップＳ１８までは組み合わせグループデータ（図９参照）を作成する処理である。
【００５７】
組み合わせグループデータの総グループ数を０に初期化し（ステップＳ１２）、変数ｉとグループファイルデータ組み合わせ画面で組み合わせグループ欄に設定されたグループ数を比較する（ステップＳ１３）。変数ｉが組み合わせグループ欄に設定されたグループ数より小さい場合には（ステップＳ１４肯定）、組み合わせグループ欄のｉ番目のグループファイルデータを補助記憶装置１６からメモリ１２に読み出す（ステップＳ１５）。
【００５８】
このとき、補助記憶装置１６に保存されている使用ユニット構成データの汎用ラベルデータへのポインタは汎用ラベルデータの作成時のメモリのアドレスである。新たに汎用ラベルデータをメモリ１２に読み出した場合、読み出したメモリ１２のアドレスと作成時のメモリ１２のアドレスでは異なるアドレスになるため、読み出したメモリ１２のアドレスを再設定する必要がある。
【００５９】
ユニット番号０の汎用ラベルデータへのポインタは汎用ラベルデータが読み出されたメモリ１２のアドレスを再設定し、ユニット番号１の汎用ラベルデータへのポインタはユニット番号０の占有点数分のデバイスラベルとユニットラベルの格納領域分のアドレスをユニット番号０の汎用ラベルデータへのポインタにプラスしたアドレスを再設定し、ユニット番号２の汎用ラベルデータへのポインタはユニット番号１の占有点数分のデバイスラベルとユニットラベルの格納領域分のアドレスをユニット番号１の汎用ラベルデータへのポインタにプラスしたアドレスを再設定する。このように使用ユニット台数分の各ユニット番号の汎用ラベルデータへのポインタを再設定する。
【００６０】
つぎに、グループファイルデータ組み合わせ画面の組み合わせグループ欄のｉ番目のグループ名を設定する（ステップＳ１６）。グループ名を一つ設定したことにより、総グループ数をプラス１し（ステップＳ１７）、そして、つぎのグループ名を設定するため、変数ｉをプラス１し（ステップＳ１８）、ステップＳ１３に戻る。
【００６１】
変数ｉが組み合わせグループ欄に設定されたグループ数に等しくなった場合（ステップＳ１４否定）、全てのグループ名が設定され、組み合わせグループデータの作成が完了する。これにより、図９の組み合わせグループデータの総グループ数に２が設定され、データ番号の０番目のグループ名にグループＡが、データ番号の１番目のグループ名にグループＢが設定される。組み合わせグループデータの作成が完了すると、入出力番号割付処理（ステップＳ１９）、プログラムデータデバイス変換処理（ステップＳ２０）を順に実行する。
【００６２】
（入出力番号割付処理）
入出力番号割付処理（ステップＳ１９）は、組み合わせグループデータにより組み合わされたグループデータの使用ユニット構成データの各ユニット番号の先頭Ｉ／Ｏ番号を設定する処理であり、この入出力番号割付処理を図１２のフローチャートに従い説明する。
【００６３】
まず、カウンタとして使用する変数ｉを０に初期化し（ステップＳ２１）、先頭Ｉ／Ｏ番号を格納する変数ＩＯＮｏを０に初期化する（ステップＳ２２）。つぎに、変数ｉと組み合わせグループデータの総グループ数とを比較する（ステップＳ２３）。変数ｉが総グループ数より小さい場合には（ステップＳ２４肯定）、組み合わせグループデータの変数ｉが示すデータ番号のグループ名に属するグループデータの使用ユニット構成データにおける各ユニットの先頭Ｉ／Ｏ番号を設定する処理を行う（ステップＳ２５）。
【００６４】
先頭Ｉ／Ｏ番号の設定処理が完了すると、変数ｉをプラス１し（ステップＳ２６）、ステップＳ２３に戻り、つぎのデータの使用ユニット構成データにおける各ユニットの先頭Ｉ／Ｏ番号を設定する。変数ｉが総グループ数に等しくなった場合には（ステップＳ２４否定）、組み合わせグループデータにより組み合わされた全てのグループデータの使用ユニット構成データの先頭Ｉ／Ｏ番号の設定が完了したため、処理を終了する。
【００６５】
（各ユニットの先頭Ｉ／Ｏ番号設定処理）
つぎに、各ユニットの先頭Ｉ／Ｏ番号設定処理を図１３に示されているフローチャートを参照して説明する。
【００６６】
まず、カウンタとして使用する変数ｊを０に初期化する（ステップＳ３１）。つぎに、変数ｊと使用ユニット構成データの使用ユニット台数とを比較する（ステップＳ３２）。変数ｊが使用ユニット台数より小さい場合には（ステップＳ３３肯定）、変数ｊの示すユニット番号の先頭Ｉ／Ｏ番号に変数ＩＯＮｏを設定する（ステップＳ３４）。これにより先頭Ｉ／Ｏ番号に実機器構成に対応した先頭Ｉ／Ｏ番号が格納される。
【００６７】
つぎに、つぎのユニットの先頭Ｉ／Ｏ番号を求めるため、変数ｊの示すユニット番号の占有点数を変数ＩＯＮｏにプラスする（ステップＳ３５）。そして、つぎのユニットの先頭Ｉ／Ｏ番号を設定するため、変数ｊをプラス１（ステップＳ３６）し、ステップＳ３２から処理を繰り返す。変数ｊが使用ユニット台数に等しくなった場合には（ステップＳ３３否定）、使用ユニット構成データの全てのユニットの先頭Ｉ／Ｏ番号の設定が完了したため、処理を終了する。
【００６８】
これにより、各グループデータの使用ユニット構成データの先頭Ｉ／Ｏ番号が設定され、汎用ラベルデータに対する入出力デバイスの割り付けが完了する。
【００６９】
（プログラムデータデバイス変換処理）
つぎに、汎用ラベルデータにより作成されたプログラムデータに入出力デバイスの割り付けを行うため、プログラムデータデバイス変換処理（ステップＳ２０）を開始する。プログラムデータデバイス変換処理を図１４に示されているフローチャートを参照して説明する。
【００７０】
まず、カウンタとして使用する変数ｉを０に初期化する（ステップＳ４１）。つぎに、変数ｉと組み合わせグループデータの総グループ数とを比較する（ステップＳ４２）。変数ｉが総グループ数より小さい場合には（ステップＳ４３肯定）、組み合わせグループデータの変数ｉの示すデータ番号のグループ名に属するグループデータにおけるプログラムデータの汎用ラベルデータで設定されているデバイス種別、デバイス番号を入出力デバイスに変換する処理を行う（ステップＳ４４）。
【００７１】
ｉ番目のグループ名のプログラムデータのデバイス変換が完了すると、つぎのグループ名のグループデータのデバイス変換のため、変数ｉをプラス１し（ステップＳ４５）、ステップＳ４２に戻る。変数ｉが総グループ数に等しくなった場合には（ステップＳ４３否定）、全てのグループのデバイス変換が完了したため、処理を終了する。
【００７２】
（ｉ番目のグループ名のプログラムデータのデバイス変換処理）
つぎに、ｉ番目のグループ名のプログラムデータのデバイス変換処理（ステップＳ４４）を図１５に示されているフローチャートを参照してする。
【００７３】
まず、カウンタとして使用する変数ｊを０に初期化する（ステップＳ５１）。つぎに、変数ｊとプログラムデータの総ステップ数とを比較する（ステップＳ５２）。変数ｊが総ステップ数より小さい場合には（ステップＳ５３肯定）、変数ｊの示すステップ番号のデバイス種別の値をチェックする（ステップＳ５４）。デバイス種別の値が４Ｃｈ（デバイスラベル）以外の場合には（ステップＳ５５否定）、入出力デバイスに変換する必要がないので、変数ｊの値をプラス１し（ステップＳ６２）、ステップＳ５２に戻る。
【００７４】
これに対し、デバイス種別の値が４Ｃｈ（デバイスラベル）の場合には（ステップＳ５５肯定）、使用ユニット構成データのユニット番号を示すための変数ＵＮｏに変数ｊの示すステップ番号のデバイス番号の上位８ビットを設定する（ステップＳ５６）。
【００７５】
つぎに、デバイス種別を格納するための変数Ｄｅｖに使用ユニット構成データの変数ＵＮｏが示すユニット番号のデバイス種別を設定し（ステップＳ５７）、変数ｊの示すステップ番号のデバイス種別に変数Ｄｅｖの値を設定する（ステップＳ５８）。
【００７６】
つぎに、入出力デバイスのデバイス番号を格納する変数ＤＮｏに変数ｊの示すステップ番号のデバイス番号の下位８ビットを設定し（ステップＳ５９）、変数ＤＮｏに使用ユニット構成データの変数ＵＮｏが示すユニット番号の先頭Ｉ／Ｏ番号の値をプラスする（ステップＳ６０）。この処理により、デバイスラベル番号であったデバイス番号から変換された入出力デバイスのデバイス番号が変数ＤＮｏに設定される。つぎに、変数ｊの示すステップ番号のデバイス番号に変数ＤＮｏの値を設定し（ステップＳ６１）、変数ｊの値をプラス１し（ステップＳ６２）、ステップ５２に戻る。
【００７７】
上述のステップＳ５６〜ステップＳ６１の処理により、１ステップ分のデバイス種別、デバイス番号が入出力デバイスに変換される。変数ｊが総ステップ数に等しくなった場合には（ステップＳ５３否定）、プログラムデータの全てのデバイス種別、デバイス番号の入出力デバイスへの変換が完了したため、処理を終了し、グループデータ組み合わせ機能の処理を終了する。
【００７８】
以上の処理により、分割して作成し、補助記憶装置１６に保存したグループファイルデータを組み合わせ、プログラムデータに実際の入出力デバイス番号が自動的に割り付けられる。
【００７９】
（実機器構成の構成順の変更）
つぎに、実機器構成の構成順（ユニット装着順序）を、図１６に示されているように、変更した場合について説明する。図１７はグループデータを変更するために、グループファイルデータ組み合わせ画面における組み合わせグループ欄の内容を変更した例を示している。
【００８０】
実際の機器構成が、図４（ｃ）に示されている実機器構成のように、仮機器構成Ａと仮機器構成Ｂの順に配列されており、既にユーザによって、図１０のグループファイルデータ組み合わせ画面、図５の使用ユニット構成データ入力画面、図８の汎用ラベルデータ入力画面にて、使用するグループ名、使用ユニットの構成データ、汎用ラベルデータの入力を行い、図２のグループデータが作成済みの状態であるとする。
【００８１】
また、汎用ラベルデータを使用して周辺装置１０のラダープログラム編集機能によりプログラムＡを編集し、ラダープログラム編集機能により編集されたラダー図であるプログラムＡからプログラムデータが作成され、同様に汎用ラベルデータを使用して周辺装置１０のラダープログラム編集機能によりプログラムＢを編集し、ラダープログラム編集機能により編集されたラダー図であるプログラムＢからプログラムデータが作成され、図１０のグループファイルデータ組み合わせ画面のＯＫボタンの押下によって、組み合わせグループデータを作成し、グループデータを組み合わせ、汎用ラベルで作成されたプログラムデータに実際の入出力デバイスを割り付ける処理が行われた後の状態であるとする。
【００８２】
グループデータを組み合わせるための組み合わせグループデータはメモリ１２にあるとする。入出力デバイスを割り付ける処理を終了した状態から、図４（ｃ）の実機器構成を図１６の実機器構成のように変更する場合、グループデータ組み合わせ画面にて組み合わせグループ欄のグループ名配列順を変更する。
【００８３】
図１０は、配列順変更前のグループファイルデータ組み合わせ画面を、図１７は配列順変更後のグループファイルデータ組み合わせ画面を示している。図１７に示されているように、組み合わせグループ欄のグループ名配列順を変更した後、ＯＫボタンの押下によって、グループデータ変更処理が開始される。
【００８４】
（グループデータ変更処理）
グループデータ変更処理は図１８のフローチャートに従い処理される。グループデータ変更処理が始まると、まず、組み合わせグループデータクリア処理を行い（ステップＳ７１）、この後に、上述したグループデータ組み合わせ処理（ステップＳ７２）を図１１のフローチャートに従い行う。
【００８５】
（組み合わせグループデータクリア処理）
組み合わせグループデータクリア処理は図１９のフローチャートに従い処理される。組み合わせグループデータクリア処理では、まず、変数ｉの初期化を行う（ステップＳ８１）。つぎに、変数ｉと総グループ数との比較を行い（ステップＳ８２）、変数ｉが組み合わせグループデータの総グループ数以下である場合には（ステップＳ８３肯定）、組み合わせグループデータのｉ番目のグループ名を消去する（ステップＳ８４）。つぎに、変数ｉを＋１し（ステップＳ８５）、ステップＳ８２に戻る。変数ｉが総ステップ数と等しくなった場合には（ステップＳ８３否定）、組み合わせグループデータクリア処理を終了する。
【００８６】
（グループデータ組み合わせ処理）
組み合わせグループデータクリア処理を終了すると、グループデータ組み合わせ処理が行われる。グループデータ組み合わせ処理は、図１１のフローチャートに従い処理され、ステップＳ１１〜ステップＳ１８により、図９の組み合わせグループデータの総グループ数に２が設定され、データ番号の０番目のグループ名にグループＢが、データ番号の１番目のグループ名にグループＡが設定される。
【００８７】
つぎに、入出力番号割付処理を行い（ステップＳ１９）、グループデータの使用ユニット構成データのユニット番号の０番目の先頭Ｉ／Ｏ番号とユニット番号の１番目の先頭Ｉ／Ｏ番号を設定する。つぎに、プログラムデータデバイス変換処理を行い（ステップＳ２０）、汎用ラベルデータを使用して周辺装置１０のラダープログラム編集機能により編集したプログラムＢのプログラムデータのデバイス種別とデバイス番号と、汎用ラベルデータを使用して周辺装置１０のラダープログラム編集機能により編集したプログラムＡのプログラムデータのデバイス種別とデバイス番号に実際の入出力デバイスを割り付ける。
【００８８】
これにより、実機器構成の構成順が変更されても入出力番号を手動で変更する必要がなく、プログラムデータに変更後の実際の入出力デバイス番号が自動的に割り付けられる。
【００８９】
（ユニット構成変更）
図４（ｃ）に示されているような実機器構成で構成されたシステムにおいて、仮機器構成Ａを図２０（ａ）に示されている仮機器構成Ａ’のように構成を変更した場合を述べる。この場合の実機器構成は、仮機器構成Ａ’と仮機器構成Ｂから構成されている。仮機器構成Ａ’は仮機器構成Ａの入力１６ユニットを入力３２ユニットに変更したものである。なお、図２０（ｂ）は変更後の実機器構成を示している。
【００９０】
ユニット構成を変更した場合には、まず、該当ユニットを使用しているグループデータを変更する。この変更操作は、図２１のフローチャートにしたがって処理される。まず、図２２に示されているグループ選択画面において、構成が変更されたグループ名を選択する（ステップＳ９１）。つぎに、図２３に示されているユニット構成入力画面にて、変更したユニットの位置をユニット位置選択に入力する（ステップＳ９２）。つぎに、ユニット構成入力画面にて、ユニット種別と占有点数を入力する（ステップＳ９３）。
【００９１】
このようにして、設定を行い、たとえば、画面のＯＫボタンを押すことで、入力処理の完了とする。
【００９２】
（グループデータの変更処理）
つぎに、グループデータの変更処理を行う。これは図２４のフローチャートにしたがって処理される。まず、変更前のグループＡのグループデータ（グループファイルデータ）をグループＡ’のグループデータへコピーする（ステップＳ１０１）。つぎに、ユニット位置選択の値を読み出し（ステップＳ１０２）、使用ユニット構成データより、ユニット位置選択の値の位置を検索する（ステップＳ１０３）。
【００９３】
つぎに、入力されたユニット種別の値をグループＡ’の使用ユニット構成データのユニット種別に設定し（ステップＳ１０４）、入力された占有点数の値をグループＡ’の使用ユニット構成データの占有点数に設定する。これにより、ユニットの変更に対応したグループＡ’の使用ユニット構成データが図２５（ａ）のように作成される。なお、グループＡ’の汎用ラベルデータは図２５（ｂ）に、プログラムデータは図２５（ｃ）に示されている。
【００９４】
つぎに、図２６に示されているような組合せグループデータを作成する。この組合せグループデータの作成は図１０のグループファイルデータ組合せ画面にて同様に行う。組合せグループデータの作成後、プログラムデータのデバイス変換処理を行う。このようにすることで、ユニットの構成を変更した場合に、プログラムを変更することなく、実Ｉ／Ｏのアドレスが変更できる。
【００９５】
（汎用ラベルデータ変更）
汎用ラベルデータのユニットラベル、デバイスラベルを並べ替え、変更した場合の処理について説明する。図２７（ａ）は仮機器構成Ｃを、図２７（ｂ）は変更前の汎用ラベルデータを、図２７（ｃ）はユニットラベルデータ入れ替え後の汎用ラベルデータを示している。図２８に示されているシーケンスプログラムは、図２７（ｂ）に示されている汎用ラベルデータを使用して作成されたものである。このシーケンスプログラムでは、１６点入力ユニットＡに対する出力が１６点出力ユニットＡという関係になっている。
【００９６】
１６点出力ユニットＡに対応する１６点入力ユニットを、現在の１６点入力ユニットＡから１６点入力ユニットＢに変更する必要が生じた場合、まず汎用ラベルデータ上の１６点入力ユニットＡに対するユニットラベルとして設定されている文字列「ＩｕｎｉｔＡ」と１６点入力ユニットＢに対するユニットラベルとして設定されている文字列「ＩｕｎｉｔＢ」とを、図８に示されている汎用ラベルデータ入力画面を使用して入れ替えを行う。入れ替え後の汎用ラベルデータは図２７（ｃ）に示されているようになる。
【００９７】
（先頭Ｉ／Ｏ番号の再設定処理）
修正のあったグループデータに対する先頭Ｉ／Ｏ番号の再設定処理は図２９に示されているフローチャートに従って行われる。まず、カウンタ変数ｉを０で初期化し（ステップＳ１１１）、先頭Ｉ／Ｏ番号を格納する変数ＩＯＮｏを０で初期化する（ステップＳ１１２）。
【００９８】
つぎに、変数ｉと組み合わせグループデータの総グループ数とを比較し（ステップＳ１１３）、変数ｉが総グループ数より小さければ（ステップＳ１１４肯定）、組み合わせグループデータの中からｉ番目のグループデータのグループ名と、今回変更を行ったグループデータのグループ名とが同一である否かの判別を行う、異なっていれば（ステップＳ１１５否定）、カウンタ変数ｉを１だけ増加させ（ステップＳ１１６）、ステップＳ１１３に戻り、再度総グループ数、グループ名のチェックを繰り返す。
【００９９】
これに対し、変更したグループ名であれば（ステップＳ１１５）、グループデータ用の変数ｉが０であるかをチェックする（ステップＳ１１７）、変数ｉ＝０、すなわち先頭グループデータであれば、ｉ番目のグループ名の使用ユニット構成データの先頭Ｉ／Ｏ番号の設定処理を図１３のフローチャートに従って行う（ステップＳ１１９）。
【０１００】
これに対し、変数ｉが０以外であれば、（ｉ−１）番目の使用ユニット構成データ中の最後のデータを利用して、｛（ｉ−１）番目の先頭Ｉ／ＯＮｏ＋占有点数＋１｝なる演算によってｉ番目のグループデータで使用する先頭Ｉ／Ｏ番号を取得し、これを先頭Ｉ／Ｏ番号格納用の変数ＩＯＮｏに代入し（ステップＳ１１８）、この後に、ｉ番目のグループ名の使用ユニット構成データの先頭Ｉ／Ｏ番号の設定処理を図１３のフローチャートに従って行う（ステップＳ１１９）。
【０１０１】
変更のあったグループデータ構成に対する新しい先頭Ｉ／Ｏ番号の設定が完了すれば、変数ｉを１だけ増加させ（ステップＳ１１６）、ステップＳ１１４に戻る。そして、変数ｉが総グループ数に等しくなると（ステップＳ１１４否定）、全てのグループのチェックが完了したため、処理を終了する。
【０１０２】
同じようにして、汎用ラベルデータ中のデバイスラベルを入れ替えた場合についても同様の処理で実現することができる。汎用ラベルデータ中の１６点入力ユニットＡのデバイスに対するデバイスラベルの文字列「Ｉｎ１」と文字列「Ｉｎ２」を汎用ラベルデータ入力画面を使用して入れ替えを行う。入れ替え後の汎用ラベルデータは図３０に示されているようになる。
【０１０３】
このデータの作成後、図２９に示すフローチャートに従って、変更されたグループのグループデータ構成についてのみの先頭Ｉ／Ｏ番号の再設定処理を行うことにより、ユニットラベルデータ入れ替え時と同様にして変更を行ったグループに対する先頭Ｉ／Ｏ番号だけを自動的に再設定することができる。
【０１０４】
【発明の効果】
以上の説明から理解される如く、この発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法によれば、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、該求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【０１０５】
つぎの発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法によれば、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【０１０６】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、データ処理手段が、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルが設定され、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、該求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【０１０７】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、前記データ処理手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号とを加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【０１０８】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルとを入力する入力手段およびこれらデータを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段および編集されたシーケンスプログラムを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムの組み合わせを入力する入力手段および組み合わせデータを記憶する記憶手段と、記憶手段に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを合成する段階で、前記組み合わせデータと各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭Ｉ／Ｏ番号を求め、前記記憶手段に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータを参照して、前記求めた各入出力ユニットの先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける入出力デバイス番号割付手段とを有しているので、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【０１０９】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、入出力デバイス番号割付手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭Ｉ／Ｏ番号を所定の初期値に設定し、後続する入出力ユニットの先頭Ｉ／Ｏ番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭Ｉ／Ｏ番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭Ｉ／Ｏ番号と各デバイスラベルに対応するラベル番号と加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にＰＣのシステム構成を確定する必要がなく、ＰＣのシステム構成に関して融通性があり、ＰＣの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【０１１０】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、シーケンスプログラムの組み合わせ順序が入力手段によって変更可能であり、記憶手段の組み合わせデータの書き換えを行い、入出力デバイス番号割付手段が、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるから、機器構成の構成順をあるまとまった処理単位で変更した場合に、入出力番号を手動で変更する必要がなく、プログラム作成の効率化が図れる効果が得られる。
【０１１１】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、使用ユニット構成データが入力手段によって変更可能であり、記憶手段の使用ユニット構成データの書き換えを行い、入出力デバイス番号割付手段が、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるから、使用ユニットが変更されても、プログラムを変更することなく、簡単に実Ｉ／Ｏ番号（入出力デバイス番号）の変更が行われ、使用ユニットの変更の都度、シーケンスプログラムを変更する必要がなく、ＰＣのシステム構成の変更に対するシーケンスプログラムの変更対応性がよい。
【０１１２】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルが入力手段により変更可能であり、記憶手段のユニットラベル・デバイスラベルデータの書き換えを行い、入出力デバイス番号割付手段がユニットラベル、デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更するから、汎用ラベルデータを変更しても、プログラムを変更することなく、簡単に実Ｉ／Ｏ番号の変更が行われる。
【図面の簡単な説明】
【図１】  この発明によるＰＣの周辺装置の構成を示すブロック図である。
【図２】  （ａ）〜（ｄ）はこの発明によるＰＣの周辺装置で使用される使用ユニット構成データ、汎用ラベルデータ、プログラムデータ、デバイスラベル番号のデータ構造を示す説明図である。
【図３】  この発明によるＰＣの周辺装置の具体的構成を示すブロック図である。
【図４】  （ａ）〜（ｅ）はこの発明によるＰＣの周辺装置における仮機器構成例、実機器構成例、各仮機器構成毎のラダープログラムを示す説明図である。
【図５】  この発明によるＰＣの周辺装置における使用ユニット構成データ入力画面の一例を示す画面図である。
【図６】  （ａ）〜（ｃ）はグループＡのグループデータを示す説明図である。
【図７】  （ａ）〜（ｃ）はグループＢのグループデータを示す説明図である。
【図８】  この発明によるＰＣの周辺装置における汎用ラベルデータ入力画面の一例を示す画面図である。
【図９】  この発明によるＰＣの周辺装置で使用される組み合わせグループデータのデータ構造を示す説明図である。
【図１０】  この発明によるＰＣの周辺装置におけるグループファイルデータ組み合わせ画面の一例を示す画面図である。
【図１１】  この発明によるＰＣの周辺装置におけるグループデータ組み合わせ処理のゼネラルフローを示すフローチャートである。
【図１２】  この発明によるＰＣの周辺装置における入出力番号割付処理を示すフローチャートである
【図１３】  この発明によるＰＣの周辺装置における各ユニットの先頭Ｉ／Ｏ番号設定処理を示すフローチャートである。
【図１４】  この発明によるＰＣの周辺装置におけるプログラムデータデバイス変換処理を示すフローチャートである。
【図１５】  この発明によるＰＣの周辺装置におけるｉ番目のグループ名のプログラムデータのデバイス変換処理を示すフローチャートである。
【図１６】  実機器構成の変更例を示す説明図である。
【図１７】  この発明によるＰＣの周辺装置におけるグループファイルデータ組み合わせ画面の一例を示す画面図である。
【図１８】  この発明によるＰＣの周辺装置におけるグループデータ変換処理を示すフローチャートである。
【図１９】  この発明によるＰＣの周辺装置における組み合わせグループデータクリア処理を示すフローチャートである。
【図２０】  （ａ）、（ｂ）は仮機器構成の変更およびそれに伴う実機器構成の変化を示す説明図である。
【図２１】  この発明によるＰＣの周辺装置におけるユニット構成変更処理を示すフローチャートである。
【図２２】  この発明によるＰＣの周辺装置におけるグループ選択画面の一例を示す画面図である。
【図２３】  この発明によるＰＣの周辺装置におけるユニット構成入力画面の一例を示す画面図である
【図２４】  この発明によるＰＣの周辺装置におけるグループデータ変更処理を示すフローチャートである。
【図２５】  （ａ）〜（ｃ）は使用ユニットの変更によるグループＡ’のグループデータを示す説明図である。
【図２６】  組み合わせグループデータ例を示す説明図である。
【図２７】  （ａ）〜（ｃ）は仮機器構成とそれのユニットラベル変更前後の汎用ラベルデータ例を示す説明図である。
【図２８】  ラダープログラム例を示すラダー回路である。
【図２９】  この発明によるＰＣの周辺装置における先頭Ｉ／Ｏ番号の再設定処理を示すフローチャートである。
【図３０】  デバイスラベル変更後の汎用ラベルデータ例を示す説明図である。
【符号の説明】
１０  周辺装置、１１  中央処理装置、１２  メモリ、１３  ＣＲＴ、１４  キーボード、１５  通信Ｉ／Ｆ部、１６  補助記憶装置、１７  フロッピーディスク、１８  フロッピーディスクドライブ、１９  ハードディスクドライブ、２１  入力手段、２２  シーケンスプログラム編集手段、２３  記憶手段、２４  入出力デバイス番号割付手段、５０  ＰＣ。
【図１】
0003756333.tif 000002
【図２】
0003756333.tif 000003
【図３】
0003756333.tif 000004
【図４】
0003756333.tif 000005
【図５】
0003756333.tif 000006
【図６】
0003756333.tif 000007
【図７】
0003756333.tif 000008
【図８】
0003756333.tif 000009
【図９】
0003756333.tif 000010
【図１０】
0003756333.tif 000011
【図１１】
0003756333.tif 000012
【図１２】
0003756333.tif 000013
【図１３】
0003756333.tif 000014
【図１４】
0003756333.tif 000015
【図１５】
0003756333.tif 000016
【図１６】
0003756333.tif 000017
【図１７】
0003756333.tif 000018
【図１８】
0003756333.tif 000019
【図１９】
0003756333.tif 000020
【図２０】
0003756333.tif 000021
【図２１】
0003756333.tif 000022
【図２２】
0003756333.tif 000023
【図２３】
0003756333.tif 000024
【図２４】
0003756333.tif 000025
【図２５】
0003756333.tif 000026
【図２６】
0003756333.tif 000027
【図２７】
0003756333.tif 000028
【図２８】
0003756333.tif 000029
【図２９】
0003756333.tif 000030
【図３０】
0003756333.tif 000031