(57)【要約】【課題】プログラマブル制御装置システムのＩ／Ｏモジュールに、オペレータが扱い易いモジュール識別システムに従ってモジュール番号を自動的に割り当てるためのシステムを提供する。【解決手段】Ｉ／Ｏモジュール番号割り当てルーチンを持つプログラマブル制御装置システムが提供される。システムには、マスタ制御装置と、マスタ制御装置に接続される複数のＩ／Ｏモジュールとが含まれる。Ｉ／Ｏモジュールは少なくとも２個のバンクを形成する。マスタ制御装置に対する各Ｉ／Ｏモジュールの連続位置と、各バンクにおいて所定方向に連続して番号付けされた各バンクのＩ／Ｏモジュールとに基づいて、複数のＩ／Ｏモジュールの各々に個別のモジュール番号が割り当てられる。【選択図】図３
2008171453.tif 000002
【特許請求の範囲】
【請求項１】
マスタ制御装置（１２）と、信号バス（６０、６２、６４、６６）により前記マスタ制御装置（１２）に対して直列的に接続された複数のＩ／Ｏモジュール（２４）とを備え、
前記Ｉ／Ｏモジュール（２４）は、一方の端部から反対側の他方の端部に向かう一の方向または前記他方の端部から前記一方の端部に向かう他の方向に情報を伝達可能であり、
前記複数のＩ／Ｏモジュール（２４）のうち隣接して接続された複数のＩ／Ｏモジュール（２４）によってＩ／Ｏ接点端子群（４２）が構成され、
前記Ｉ／Ｏ接点端子群（４２）は複数設けられ、それぞれの前記Ｉ／Ｏ接点端子群（４２）を構成する複数のＩ／Ｏモジュール（２４）の前記情報の伝達方向は前記一の方向あるいは前記他の方向になっており、
前記マスタ制御装置（１０）は、
前記各Ｉ／Ｏモジュール（２４）に対して、当該Ｉ／Ｏモジュール（２４）が前記マスタ制御装置（１０）に対して接続された順番を示す接続順序を設定する第１の手段と、
前記各Ｉ／Ｏモジュール（２４）の前記一方の端部あるいは前記他方の端部における信号入力状態に基づいて、前記各Ｉ／Ｏモジュール（２４）における前記情報の伝達方向を取得する第２の手段と、
前記情報の伝達方向が前記一の方向あるいは前記他の方向のうち予め設定された特定方向と一致していない前記Ｉ／Ｏ接点端子群（４２）では、前記Ｉ／Ｏ接点端子群（４２）を構成する複数のＩ／Ｏモジュール（２４）に対応する前記接続順序を逆になるように入れ替えた上で、前記Ｉ／Ｏ接点端子群（４２）を構成する各Ｉ／Ｏモジュール（２４）のモジュール番号として割り付ける第３の手段と、
前記情報の伝達方向が前記特定方向と一致している前記Ｉ／Ｏ接点端子群（４２）では、前記Ｉ／Ｏ接点端子群（４２）を構成する各Ｉ／Ｏモジュール（２４）に対応する前記接続順序を当該Ｉ／Ｏモジュール（２４）のモジュール番号として割り付ける第４の手段とを備えて構成されていることを特徴とするプログラマブル制御装置システム。
【請求項２】
前記Ｉ／Ｏモジュール（２４）にはメモリ手段（５０）が設けられ、
前記第１の手段は、前記Ｉ／Ｏモジュール（２４）の前記接続順序を該Ｉ／Ｏモジュール（２４）に設けられた前記メモリ手段（５０）に書き込み、
前記第２の手段は、前記Ｉ／Ｏモジュール（２４）の前記情報の伝達方向を該Ｉ／Ｏモジュール（２４）に設けられた前記メモリ手段（５０）に書き込み、
前記第３の手段は、前記Ｉ／Ｏ接点端子群（４２）を構成する各Ｉ／Ｏモジュール（２４）の前記メモリ手段（５０）に書き込まれた前記接続順序を逆になるように入れ替えた上で、前記メモリ手段（５０）に再度書き込み、
前記第４の手段は、前記メモリ手段（５０）に書き込まれた前記接続順序を該メモリ手段（５０）が設けられた前記Ｉ／Ｏモジュール（２４）の前記モジュール番号として設定することを特徴とする請求項１に記載のプログラマブル制御装置システム。
【請求項３】
前記Ｉ／Ｏ接点端子群（４２）のいずれの端部に存在する前記Ｉ／Ｏモジュール（２４）も、前記Ｉ／Ｏ接点端子群（４２）の反対側の端部に存在する前記Ｉ／Ｏモジュール（２４）より前記マスタ制御装置（１０）に対する接続順序を上位とすることが可能であることを特徴とする請求項１または２に記載のプログラマブル制御装置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的に、工業用オートメーションで使用されるプログラマブル制御装置システムに関するものである。さらに詳しくは、本発明は、背面配線部を介して接続された各入出力（Ｉ／Ｏ）モジュールにモジュール番号を割り当てる装置に関する。
【背景技術】
【０００２】
プログラマブル制御装置は、格納されたプログラムに従って、組立ラインや工作機械のようなファクトリーオートメーション装置の作動を制御する工業用汎用コンピュータに属する。格納されたプログラムは、プログラマブル制御装置を作動させる一連の命令を含んでいる。
【０００３】
従来より、プログラマブル制御装置として、機能的モジュールを有するラックを備えたものが知られている。ラックの背面配線部には、機能的モジュールを電気的に接続するための信号バスやコネクタが設けられている。機能的モジュールとしては、メモリに記憶された制御プログラムを順次実行するプロセッサを備える制御モジュールがある。さらに、機能的モジュールには、様々な入力・出力装置をプロセッサに接続するためのＩ／Ｏモジュールが含まれる。Ｉ／Ｏモジュールはラックに配置もしくは挿入される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなプログラマブル制御装置システムでは、一般的に、ラックにおけるＩ／Ｏモジュールの位置によって、各接続装置を参照するためのアドレスが決定される。また、他の公知のプログラマブル制御装置システムには、ユーザが内部スイッチをセットすることにより、各モジュールにアドレスを選択あるいは設定できるものがある。
【０００５】
従って、Ｉ／Ｏモジュールが、ユーザが選択したスイッチによって予めセットされていない場合、あるいはラックの配置によって指示されていない場合に、Ｉ／Ｏモジュール互換とオペレータ識別を容易にし、ラックのないプログラマブル制御装置システムに適合するようにモジュール番号選択方法を改良することが望まれる。後述のように、本発明によるプログラマブル論理制御装置システムおよび番号割り当て方法は、これらの課題を解決するとともに、先行技術に比べて優れた新規の特徴を幾つか採用している。
【０００６】
そこで、本発明は、改良型プログラマブル制御装置システムを提供することを目的とする。
【０００７】
また、本発明は、プログラマブル制御装置システムのＩ／Ｏモジュールにモジュール番号を割り当てるためのシステムを提供することを他の目的とする。
【０００８】
さらに、本発明は、各Ｉ／Ｏモジュールのモジュール番号が、オペレータが扱い易いモジュール識別システムに従って自動的に割り当てられたモジュール番号であり、Ｉ／Ｏモジュールのバンクをユーザが所望方向に配置することのできるシステムを提供することを他の目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、請求項１に記載の発明では、マスタ制御装置（１２）と、信号バス（６０、６２、６４、６６）により前記マスタ制御装置（１２）に対して直列的に接続された複数のＩ／Ｏモジュール（２４）とを備え、前記Ｉ／Ｏモジュール（２４）は、一方の端部から反対側の他方の端部に向かう一の方向または前記他方の端部から前記一方の端部に向かう他の方向に情報を伝達可能であり、前記複数のＩ／Ｏモジュール（２４）のうち隣接して接続された複数のＩ／Ｏモジュール（２４）によってＩ／Ｏ接点端子群（４２）が構成され、前記Ｉ／Ｏ接点端子群（４２）は複数設けられ、それぞれの前記Ｉ／Ｏ接点端子群（４２）を構成する複数のＩ／Ｏモジュール（２４）の前記情報の伝達方向は前記一の方向あるいは前記他の方向になっており、
前記マスタ制御装置（１０）は、前記各Ｉ／Ｏモジュール（２４）に対して、当該Ｉ／Ｏモジュール（２４）が前記マスタ制御装置（１０）に対して接続された順番を示す接続順序を設定する第１の手段と、前記各Ｉ／Ｏモジュール（２４）の前記一方の端部あるいは前記他方の端部における信号入力状態に基づいて、前記各Ｉ／Ｏモジュール（２４）における前記情報の伝達方向を取得する第２の手段と、前記情報の伝達方向が前記一の方向あるいは前記他の方向のうち予め設定された特定方向と一致していない前記Ｉ／Ｏ接点端子群（４２）では、前記Ｉ／Ｏ接点端子群（４２）を構成する複数のＩ／Ｏモジュール（２４）に対応する前記接続順序を逆になるように入れ替えた上で、前記Ｉ／Ｏ接点端子群（４２）を構成する各Ｉ／Ｏモジュール（２４）のモジュール番号として割り付ける第３の手段と、前記情報の伝達方向が前記特定方向と一致している前記Ｉ／Ｏ接点端子群（４２）では、前記Ｉ／Ｏ接点端子群（４２）を構成する各Ｉ／Ｏモジュール（２４）に対応する前記接続順序を当該Ｉ／Ｏモジュール（２４）のモジュール番号として割り付ける第４の手段とを備えて構成されていることを特徴とする。
【００１０】
請求項２に記載の発明は、前記Ｉ／Ｏモジュール（２４）にはメモリ手段（５０）が設けられ、前記第１の手段は、前記Ｉ／Ｏモジュール（２４）の前記接続順序を該Ｉ／Ｏモジュール（２４）に設けられた前記メモリ手段（５０）に書き込み、前記第２の手段は、前記Ｉ／Ｏモジュール（２４）の前記情報の伝達方向を該Ｉ／Ｏモジュール（２４）に設けられた前記メモリ手段（５０）に書き込み、前記第３の手段は、前記Ｉ／Ｏ接点端子群（４２）を構成する各Ｉ／Ｏモジュール（２４）の前記メモリ手段（５０）に書き込まれた前記接続順序を逆になるように入れ替えた上で、前記メモリ手段（５０）に再度書き込み、前記第４の手段は、前記メモリ手段（５０）に書き込まれた前記接続順序を該メモリ手段（５０）が設けられた前記Ｉ／Ｏモジュール（２４）の前記モジュール番号として設定することを特徴とする。
【００１１】
請求項３に記載の発明は、前記Ｉ／Ｏ接点端子群（４２）のいずれの端部に存在する前記Ｉ／Ｏモジュール（２４）も、前記Ｉ／Ｏ接点端子群（４２）の反対側の端部に存在する前記Ｉ／Ｏモジュール（２４）より前記マスタ制御装置（１０）に対する接続順序を上位とすることが可能であることを特徴とする。
【発明を実施するための最良の形態】
【００１２】
図１に、プログラマブル制御装置システム１０を示す。このシステム１０は、従来型の中央処理装置（ＣＰＵ）１４を備えたバスマスタ（マスタ制御装置）１２が設けられている。ＣＰＵ１４は、メモリ１８に接続されたプロセッサ１６を備えている。メモリ１８は、制御プログラムを含むプログラムとデータファイルとを保持するように構成されている。バスマスタ１２はＣＰＵ１４に接続される入出力インタフェース部２０を備えている。Ｉ／Ｏインタフェース部２０は、複数のＩ／Ｏモジュール２４を電気的に接続するための信号バスおよびコネクタを備えた背面配線部２２に接続されている。
【００１３】
本実施形態において、各Ｉ／Ｏモジュール２４は、電気的に接続された集積回路（ＡＳＩＣ）２８が設けられた回路基板２６を備えている。後述するように、一対のケーブル３０が背面配線部２２との接続のために回路基板２６に電気的に接続され、バスマスタ１２から接続されたそれぞれのＩ／Ｏモジュール２４に背面配線部２２を介した通信が可能となっている。ケーブル３０の端部には、Ｉ／Ｏモジュール２４と背面配線部２２あるいはＩ／Ｏモジュール２４同士を速やかに接続・分離させるために、相互に嵌合接続するプラグ３２を設けることが望ましい。本実施形態のＩ／Ｏモジュール２４は、外部装置とインタフェースするものである。他にＩ／Ｏモジュール２４には、入力機能あるいは出力機能のいずれかを持つもの、または入力機能と出力機能の双方を備えるものがある。
【００１４】
図２に示すように、バスマスタ１２とＩ／Ｏモジュール２４との間のユーザデータの一次的なやり取りは、入力・出力データファイル（配列）３４、３６を介して行なわれる。図に示すように、モジュール固有データは、入力・出力データファイル３４、３６に加えて、モジュール構成３８、背面配線バッファ３９、またはユーザ割り込み４０を介して伝達することができる。後述するように、バスマスタ１２とモジュール２４は、モジュール２４のリセットとモジュール番号割り当てを含む所定の機能を備えている。
【００１５】
図３に示すように、バンク（接点端子群）４２は隣接して接続された複数のＩ／Ｏモジュール２４によって形成される。それぞれのバンク４２には、従来と同様の電源（Ｐ／Ｓ）４３が設けられている。バンク４２は、Ｉ／Ｏモジュール２４を相互に接続するために、背面配線部２２の一部を構成するケーブル４４に接続されている。本実施形態における背面配線部２２は、直列的にＩ／Ｏモジュール２４を接続するシリアルバスとなっている。図３にはＩ／Ｏモジュール２４による３個のバンク４２の組合せとして考えられるものが図示されている。なお、バンク４２およびＩ／Ｏモジュール２４は、他の個数でも図示したものと同様に実施可能である。また、本明細書中の「右」および「左」は、図３における位置関係を示しており、「左から右」は「左から右に向かう方向」を意味し、「右から左」は「右から左に向かう方向」を意味しているものとする。
【００１６】
本実施形態では、Ｉ／Ｏモジュール２４は「左から右」、「右から左」のいずれの方向にも背面配線部２２に接続できる。例えば、符号４６で示される第２バンクの構成では、バスマスタ１２からの情報を左側から受け取って右側に伝達する。これに対して、符号４８で示される別構成の第２バンクは、バスマスタ１２からの情報を右側から受け取って左側に伝達する。すなわち、バンク４２のいずれの端部にもケーブルを接続できることから、ユーザはより少ないケーブルでシステムを構成することが可能となる。
【００１７】
上記従来技術のラックシステムでは、ラックにおけるＩ／Ｏモジュールの配置あるいは各Ｉ／Ｏモジュールでセットされたスイッチに基づいて、Ｉ／Ｏモジュール番号（アドレス）が決まる。これに対し、本実施形態では、ラックやハードウェアスイッチを必要とせず、システム１０に実際に接続されたモジュール２４に基づいてシステム１０が自動的にモジュール番号を設定するため、使い易くなっている。なお、本実施形態では、モジュール番号とモジュールアドレスは、互換性をもって使用されている。
【００１８】
さらに、本実施形態では、背面配線部２２におけるＩ／Ｏモジュール２４の相対的な位置のみに基づかないモジュール識別システムを使用している。モジュール番号の割り当ては、各バンク４２における「左から右」または「右から左」における順序に基づいた所定の番号付けプロトコルによって行われる。図３に示すように、各バンク４２における番号付けは、バンク４２のいずれの受信端部がバスマスタ１２に接続されているか否かに関係なく、「左から右に向かう方向（特定方向）」における順序で行なわれる。従ってオペレータは、「左から右」に番号付けされたモジュール２４で所望方向にバンク４２を配置でき、これによりオペレータはシステム１０に接続された特定のＩ／Ｏモジュール２４のモジュール番号を素早く正確に識別できる。
【００１９】
図４に示すプログラマブルモジュールアドレス配列５０、すなわちMod＿Num＿Assignmentが、各Ｉ／Ｏモジュール２４のＡＳＩＣ２８（図１）内に設けられ保持されている。モジュールアドレス配列５０には、モジュール番号５２と信号方向インジケータ５４にそれぞれ関連する第１・第２のモジュール番号（アドレス）が含まれる。また、モジュール番号５２と信号方向インジケータ５４とを保持するために別のメモリ構成を用いてもよい。本実施形態では、モジュール番号５２に５個のビットアドレス（ビット０〜４）を使用している。これらのビットは読取りと書込みが可能であり、背面配線部２２からのリセット信号（リセットコマンド）によって０にリセットできる。
【００２０】
ビット５〜７はモジュール２４が通信するボーレートを表す。Confg＿In＿Bitビットは、Ｉ／Ｏモジュール２４のSys＿Cnfg端子の状態を表す。このビットは、システム構成時にケーブルとバスの終端の配置を決定するのに使用される。Confg＿Out＿StateビットはＩ／Ｏモジュール２４のSys＿Cnfg端子の出力状態を制御する。En＿Confg＿Out＿SigビットはＩ／Ｏモジュール２４のSys＿Cnfg端子出力の使用可能・不可能を制御する。このビットのリセット値は０である。Left＿In＿BitはＩ／Ｏモジュール２４のLeft＿Mod＿Num端子の状態を表し、Right＿In＿BitはＩ／Ｏモジュール２４のRight＿Mod＿Num端子の状態を表す。これらのビットは、モジュール番号を割り当てる際に、このモジュールバンク４２内でバスがどの方向に流れているかを決定するのに使用される。
【００２１】
Mod＿Num＿Out＿Stateビットは、Left＿Mod＿Num端子またはRight＿Mod＿Num端子の出力状態を制御する。Mod＿Num＿Out＿Stateビット＝０でモジュール番号が割り当てられ、En＿Mod＿Num＿Out＿Sigビットが「１」にセットされると、Right＿to＿Left＿Dirビットに基づいて、Left＿Mod＿Num出力端子またはRight＿Mod＿Num出力端子のいずれかが「０」にセットされる。Right＿to＿Left＿Dirビット＝１の場合には、Left＿Mod＿Num端子が「０」にセットされ、Right＿to＿Left＿Dirビット＝０の場合には、Right＿Mod＿Num端子が「０」にセットされる。
【００２２】
一方、Mod＿Num＿Out＿Stateビット＝１でモジュール番号が割り当てられ、En＿Mod＿Num＿Out＿Sigビットが「１」にセットされた場合には、Right＿to＿Left＿Dirビットに基づいて、Left＿Mod＿Num出力端子またはRight＿Mod＿Num出力端子のいずれかが「１」にセットされる。Right＿to＿Left＿Dirビット＝１の場合には、Left＿Mod＿Num端子が「１」にセットされ、Right＿to＿Left＿Dirビット＝０の場合には、Right＿Mod＿Num端子が「１」にセットされる。
【００２３】
En＿Mod＿Num＿Out＿Sigビットは、Left＿Mod＿Num出力端子またはRight＿Mod＿Num出力端子の使用可能を制御する。En＿Mod＿Num＿Out＿Sigビット＝０の場合には、Left＿Mod＿Num端子およびRight＿Mod＿Num端子はトライステート状態となる。En＿Mod＿Num＿Out＿Sigビット＝１でありモジュール番号が割り当てられた場合には、Right＿to＿Left＿Dirビットに基づいて、Left＿Mod＿Num端子またはRight＿Mod＿Num端子のいずれかが出力として駆動される。Right＿to＿Left＿Dirビット＝１の場合には、Left＿Mod＿Num端子が出力として駆動される。Right＿to＿Left＿Dirビット＝０の場合には、Right＿Mod＿Num端子が出力として駆動される。使用可能な場合には、出力状態はMod＿Num＿Out＿Stateビットと等しくなる。
【００２４】
Right＿to＿Left＿Dirビットは、Left＿Mod＿Num出力端子とRight＿Mod＿Num出力端子の方向を制御する。この方向はバンク４２内でバスが流れる方向に対応するようにセットされる。本実施形態における所定の方向（特定方向）は、「左から右」である。
【００２５】
図５に、Left＿Mod＿Num端子とRight＿Mod＿Num端子を制御するための論理回路が図示されている。Left＿Mod＿Num端子とRight＿Mod＿Num端子は、モジュール番号が割り当てられEn＿Mod＿Num＿Out＿Sigビットが「１」にセットされるまで、トライステート状態となる。モジュール番号が割り当てられEn＿Mod＿Num＿Out＿Sigビットが「１」にセットされると、Mod＿Num信号はRight＿to＿Leftビットに割り当てられた方向を取る。出力端子は、Mod＿Num＿Out＿State信号の状態に駆動される。
【００２６】
以上、メモリ配列と端子論理について説明したが、モジュール番号の保持とＩ／Ｏモジュール２４を流れる方向を表すビットのセットを実行するのに、他の構成も等しく使用可能である。
【００２７】
図６には、システム１０を例示するブロック図が示されている。背面配線部２２のバス信号には、バスマスタ１２とＩ／Ｏモジュール２４の間にデータ信号を通過させるためのデータ配線６０、６２が含まれる。配線６２上のN＿Reset信号は、起動時から終了時の間にＩ／Ｏモジュール２４を既知の状態にするのに使用される。Sys＿Confg配線６４には、Sys＿Cnfg信号が通過し、これにより後述するようにバスマスタ１２はバンク４２内のＩ／Ｏモジュール２４を決定するとともにケーブルおよび電源の配置とタイプを決定する。図に示すように、Sys＿Cnfg配線と信号はＩ／Ｏモジュール２４のローカルバンクの外側には接続されていない。
【００２８】
配線６６を通過するMod＿Num信号により、バスマスタ１２は、各モジュール２４にモジュール番号を割り当てるのに使用する信号をバスに出すことができる。またMod＿Num信号は、バッファケーブルと電源の配置およびタイプを決定するのに使用される。Mod＿Num信号はＩ／Ｏのすべてのバンク４２のバスを流れる。Mod＿Num信号は、モジュール２４からモジュール２４に直列的に次から次へと接続している。モジュール２４の右側のMod＿Num端子はRight＿Mod＿Num端子であり、モジュール２４の左側のMod＿Num端子はLeft＿Mod＿Num端子である。
【００２９】
図３を再び参照すると、Ｉ／Ｏモジュール２４は２つのモジュール番号を持っていると考えることができる。第１の番号（モジュールアドレス）は、Ｉ／Ｏバスの流れにおけるバスマスタ１２に対するモジュール位置（Ｒ♯）である。第２のモジュール番号は、所定方向に従ってＩ／Ｏのいかなるバンク４２においても「左から右に向かう方向（特定方向）」となるモジュール割り当て番号（Ａ♯）である。ユーザは常にＡ＃をみることになる。システム１０は、モジュール配置のためにＲ♯を使用する。モジュールは、モジュール配置に優先してＡ♯によって割り当てられる。この初期化プロセスについては、後でさらに詳しく述べる。
【００３０】
図７は、モジュール２４の相対的アドレスを割り当てるプロセスを示すフローチャートである。まず、Ｉ／Ｏモジュール２４はバスリセット信号によってリセットされる（ステップ７０）。１番目のモジュール２４のためにカウンタM＿NUM＿CNTが「１」にセットされる（ステップ７１）。図６で示したバスマスタ１２のMod＿Num端子が「ハイ」にセットされる（ステップ７２）。
【００３１】
次に、モジュールアドレス０からの読み取りとモジュール２４の左右のMod＿Num入力信号状態の読取りが行われる（ステップ７３）。いずれかのMod＿Num入力信号のみが「ハイ」であってアドレス要求が「０」の場合には、次に割り当てられるモジュール２４の読み取りが行われる。
【００３２】
次に、モジュール２４からの応答の有無を判定する（ステップ７４）。この結果、モジュール２４から応答がない場合は、もはや割り当てられるべきモジュール２４がないのでプロセスは終了する（ステップ７５）。一方、応答があればモジュール２４のMod＿Num左側入力信号の読み取りが行われる（ステップ７６）。この結果、モジュール２４のMod＿Num左側入力信号が「１」である場合（モジュール２４の左側から入力がある場合）には、モジュールアドレス０に書込みが行われ、モジュール番号がカウンタM＿NUM＿CNTにセットされ、モジュール方向は「左から右」にセットされ、次のモジュール２４のために、モジュール２４のMod＿Num信号は「１」にセットされる（ステップ７７）。一方、モジュール２４のMod＿Num左側入力信号が「０」の場合（モジュール２４の右側から入力がある場合）には、モジュールアドレス０に書込みが行なわれ、モジュール番号がM＿NUM＿CNTにセットされ、モジュール方向は「右から左」にセットされ、次のモジュール２４のために、モジュール２４のMod＿Num信号は「１」にセットされる（ステップ７８）。
【００３３】
次に、M＿NUM＿CNTが「１」かどうかを判定する（ステップ７９）。この結果、「１」の場合（１個目のＩ／Ｏモジュール２４の場合）には、バスマスタ１２のMod＿Num信号が「０」にセットされる（ステップ８０）。一方、「１」でない場合（２個目以降のＩ／Ｏモジュール２４の場合）には、モジュール２４のMod＿Num信号を「０」にセットするためにモジュールアドレス（M＿NUM＿CNT−１）で書込みが行なわれる（ステップ８１）。
【００３４】
次に、カウンタM＿NUM＿CNTはインクリメントされ（ステップ８２）、プロセスはステップ７３に戻る。一連のＩ／Ｏモジュール２４に相対番号が付与されると、プロセスは終了する（ステップ８０）。一連のモジュール２４に相対番号が付与された後、Ｉ／Ｏモジュール２４には以下に説明するようにモジュールアドレスが付与される。
【００３５】
図８は、モジュールアドレスを割り当てるプロセスを示すフローチャートである。まず、カウンタM＿NUM＿CNTが「１」にセットされる（ステップ９０）。
【００３６】
次に、モジュール方向を得るため、モジュールアドレスM＿NUM＿CNTの読取りが行なわれる（ステップ９２）。次に、モジュール２４が存在するか否かを判定する（ステップ９４）。この結果、モジュール２４が存在する場合（モジュール２４からの応答がない場合）には、プロセスは終了する（ステップ９６）。一方、モジュール２４が存在する場合には、モジュール方向ビットが判定される（ステップ９８）。本実施形態において方向ビットは、１個あるいは特定構成の１個以上のビットである。従って、ここで方向ビットのセットには、１個のビット、または「右から左」のビットや「左から右」のビットなど２個のビットのセットが含まれる。
【００３７】
この結果、モジュール方向が「左から右」である場合には、カウンタM＿MUN＿CNTをインクリメントし（ステップ１００）、ステップ９２に戻り、プロセスは次のモジュール２４に続く。一方、モジュール方向が「右から左」である場合には、バンク４２における右端のモジュール番号であるSTART＿RIGHTにM＿MUN＿CNTをセットし（ステップ１０２）、M＿NUM＿CNT番目のモジュールにおける下流側に何が接続されているかの判定が行なわれる（ステップ１０４）。この判定は、Sys＿Cnfg信号を「ハイ」にセットして、モジュールアドレス（M＿NUM＿CNT＋１）でSys＿Cnfgを判定することにより行う。Sys＿Cnfgが（M＿NUM＿CNT＋１）位置でも「ハイ」であれば、別のモジュール２４が接続されているので、M＿NUM＿CNTをインクリメントし（ステップ１０６）、ステップ１０４に戻る。（M＿NUM＿CNT＋１）位置でSys＿Cnfgが「ロー」であれば、ケーブルが次のバンク４２の先頭に接続されているか、あるいは背面配線部２２の端に到達しているので、次のバンク４２の開始アドレスであるNEXT＿ADRはM＿NUM＿CNT＋１にセットされ、バンク４２の左端のモジュール番号であるEND＿RIGHTはM＿NUM＿CNTにセットされる（ステップ１０８）。
【００３８】
次に、END＿RIGHTがSTART＿RIGHT以下かどうかを判定し（ステップ１１０）、END＿RIGHTがSTART＿RIGHT以下であれば、M＿NUM＿CNTをNEXT＿ADRにセットし（ステップ１１２）、ステップ９２に戻る。一方、END＿RIGHTがSTART＿RIGHTより大きい場合には、ステップ１１４〜１２０の入れ換えルーチンを実行する。換言すれば、バンク４２が「右から左」方向に番号付けされている場合には、Ｉ／Ｏモジュール２４のモジュール番号の順序が逆転される。本実施形態では、モジュール番号を入れ換えるためにアドレス３１がバッファとして使用される。
【００３９】
本発明は、以上の実施形態に限定されるものではなく、変形例も上記開示内容と特許請求の範囲と添付図面の範囲および趣旨に含まれる。
【図面の簡単な説明】
【００４０】
【図１】本発明によるプログラマブル制御装置システムのブロック図である。
【図２】図１のシステムのバスマスタとＩ／Ｏモジュールとの間の一次データ交換を示すブロック図である。
【図３】本実施形態のＩ／Ｏモジュールにおける３個のバンクの接続を示すブロック図である。
【図４】モジュール割り当て配列を示す図である。
【図５】Left＿Mod＿Num端子とRight＿Mod＿Num端子の論理を示す概略図である。
【図６】代表的なシステム構成を示すブロック図である。
【図７】Ｉ／Ｏモジュールの相対的アドレスをセットするフローチャートである。
【図８】Ｉ／Ｏモジュールのモジュールアドレス（ユーザアドレス）をセットするフローチャートである。
【符号の説明】
【００４１】
１０  プログラマブル制御装置、
１２  バスマスタ（マスタ制御装置）
２２  背面配線部
２４  Ｉ／Ｏモジュール
４２、４６、４８  バンク
【図１】
2008171453.tif 000003
【図２】
2008171453.tif 000004
【図３】
2008171453.tif 000005
【図４】
2008171453.tif 000006
【図５】
2008171453.tif 000007
【図６】
2008171453.tif 000008
【図７】
2008171453.tif 000009
【図８】
2008171453.tif 000010