(57)【特許請求の範囲】
【請求項１】
ＣＰＵユニットと、１又は２以上の入力又は出力ユニットと、１又は２以上の通信ユニットと、それらのユニット同士を内部で接続する内部システムバスとを少なくとも含み、
ＣＰＵユニットには、ツール装置等の外部機器との通信を行うための通信用ポートが設けられ、かつ通信用ユニットのそれぞれには、他のＰＬＣなどが接続されたネットワークに接続するための通信用ポートが設けられたルーチングテーブル方式の通信に対応可能なＰＬＣであって、
前記外部機器や他のＰＬＣとの通信は、各通信用ポートを介して送受信される通信フレームにより行われ、
前記通信用フレームは、宛先ネットワーク番号と宛先ノード番号と宛先ユニット番号とを含む宛先アドレス部と、送信元ネットワーク番号と送信元ノード番号と送信元ユニット番号とを含む送信元アドレス部と、コマンドデータ又はレスポンスデータを含むデータ部とから構成され、
前記ＣＰＵユニットには、
前記通信用ポートを介して到来した通信フレームについて、宛先ネットワーク番号がネットワーク番号として使用される範囲内の値であるか否かを判定する第１のＣＰＵ側判定手段と、
前記第１のＣＰＵ側判定手段により宛先ネットワーク番号がネットワーク番号として使用される範囲内の値であると判定された場合には、宛先ネットワーク番号に対応するネットワークへと接続された自機内通信ユニットへ当該通信フレームを転送する第１のＣＰＵ側通信フレーム転送手段と、
前記第１のＣＰＵ側判定手段により宛先ネットワーク番号がネットワーク番号として使用される範囲外の特殊コードが含まれていると判定された場合には、当該特殊コードから所定のルールに従って得られたユニット番号に基づき、得られたユニット番号に対応する自機内通信ユニットに宛てて、宛先ネットワーク番号を０に変更した当該通信フレームを内部システムバスを介して転送する第２のＣＰＵ側通信フレーム転送手段と、
前記内部システムバスを介して到来した通信フレームについて、ルーチングが完了しているか否かを判定する第２のＣＰＵ側判定手段と、
前記第２のＣＰＵ側判定手段によりルーチングが完了していると判定されたときには、宛先ユニット番号がＣＰＵユニットであれば、受信した通信フレームのデータ部にしたがった処理を実行すると共に、受信した通信フレームの宛先アドレスと送信アドレスとを入れ替えかつ生成したレスポンスデータをデータ部に含めてレスポンスフレームを生成し、生成されたレスポンスフレームを受信したユニットへ宛てて内部システムバスへと転送する一方、宛先ユニットがＣＰＵユニットでなければ、その通信フレームを宛先ユニット番号で示されるユニットへ宛てて内部システムバスへと転送する第３のＣＰＵ側通信フレーム転送手段と、が設けられ、
前記通信ユニットには、
前記ＣＰＵユニットより転送された通信フレームをネットワークへと送信する通信ユニット側通信フレーム送信手段と、
前記通信用ポートを介してネットワークから到来した前記通信フレームについて、宛先ネットワーク番号が０で、かつ、宛先ノード番号が自身のノード番号であるか否かを判定する通信ユニット側判定手段と、
前記通信ユニット側判定手段により宛先ネットワーク番号が０で、かつ、宛先ノード番号が自身のノード番号であると判定されたときには、自ユニット宛であれば、自ユニットにて処理し、レスポンスフレームを作成してネットワーク側へと返送する一方、自ユニット宛でなければ、ルーチング処理を完了し、転送依頼するためにＣＰＵユニットへ宛てて内部システムバスへと転送する通信ユニット側転送手段と、
が含まれている、ことを特徴とするＰＬＣ。
【請求項２】
複数のＰＬＣを含むネットワークに任意のＰＬＣを介して接続されるツール装置であって、
前記ＰＬＣは、ＣＰＵユニットと、１又は２以上の入力又は出力ユニットと、１又は２以上の通信ユニットと、それらのユニット同士を内部で接続する内部システムバスとを少なくとも含み、ＣＰＵユニットには、ツール装置等の外部機器との通信を行うための通信用ポートが設けられ、かつ通信用ユニットのそれぞれには、他のＰＬＣなどが接続されたネットワークに接続するための通信用ポートが設けられており、
前記ツール装置は、演算手段と、記憶手段と、入力手段と、表示手段と、通信用ポートとを有し、
前記ＰＬＣと前記ツール装置は通信ケーブルを介して通信用ポートにより接続され、通信フレームを送受信することにより通信処理が行われ、
前記通信用フレームは、宛先ネットワーク番号と宛先ノード番号と宛先ユニット番号とを含む宛先アドレス部と、送信元ネットワーク番号と送信元ノード番号と送信元ユニット番号とを含む送信元アドレス部と、コマンドデータ又はレスポンスデータを含むデータ部とから構成され、
前記演算手段は、
ルーチングテーブルの選択画面を前記表示部に表示する第１の案内表示手段と、
前記第１の案内表示手段にて表示された中から選択されたルーチングテーブルに基づいて、前記通信フレームのデータ部を作成するデータ部作成手段と、
前記通信フレームの送信先を選択するための送信先選択画面を前記表示部に表示する第２の案内表示手段と、
前記第２の案内表示手段にて表示された案内表示に基づき、前記入力手段により所定の入力操作により選択された送信先に対応するユニット番号とノード番号とに基づいて通信フレームを宛先アドレス部を作成する宛先アドレス部作成手段と、
予め設定された自機のアドレス情報を送信元アドレス部とし、前記データ部作成手段で作成されたデータ部と、前記宛先アドレス部作成手段で作成された宛先アドレス部と合わせて通信フレームを生成する通信フレーム生成手段と、
前記通信フレーム生成手段で生成された通信フレームを送信する送信手段と、を具備し、
前記通信フレーム生成手段は、
生成される通信フレームの送信先が、直接接続されたＰＬＣ、若しくはルーチングテーブルに登録されたネットワークである場合には、前記宛先ネットワーク番号として送信先に対応するネットワーク番号を用い、
生成される通信フレームの送信先が、直接接続されたＰＬＣではなく、また、ルーチングテーブルに登録されたネットワークでもない場合には、前記直接接続されたＰＬＣの当該通信フレーム送信先が含まれるネットワークに接続された通信用ユニットに与えられたユニット番号に基づいて生成されたネットワーク番号として使用される範囲外の値を前記宛先ネットワーク番号として用いる、ことを特徴とするツール装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はＰＬＣに係り、特に、複数台の通信ユニットを備えたビルディングブロックタイプのＰＬＣにおいて、ルーチングテーブルを使用することなく、ネットワークを介して接続された他のＰＬＣなどと通信を行うのに好適なＰＬＣに関する。
【背景技術】
【０００２】
複数台のＰＬＣをネットワークを介して結び、それらのＰＬＣ間で通信を行うためには、ルーチングテーブルを使用した通信方式が従来より知られている（例えば特許文献１参照）。
【０００３】
ルーチングテーブル方式の通信は、ネットワークアドレスとノードアドレスとを指定するだけでネットワーク階層を意識することなく任意のＰＬＣとネットワーク経由で通信できるメリットがある。
【０００４】
このようなルーチングテーブル方式の通信を実現するためには、個々のＰＬＣごとにルーチングテーブルを設定せねばならない。このルーチングテーブルには、各通信ユニットがどのネットワークに接続されているかを示す第１のテーブルと、他のネットワークのノードと通信するための通信経路に関する第２のテーブルとが存在する。
【特許文献１】特開２００６−２７７７２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のルーチングテーブルを使用する通信方式にあっては、通信開始に先立って、ネットワーク上の全てのＰＬＣにルーチングテーブルを設定しなければならず、特に昨今、この種のＰＬＣシステムは大規模化する傾向にあるため、ＰＬＣの台数も多いことに加え、ＰＬＣ間の距離も長いため、１台１台のＰＬＣにルーチングテーブル設定のためのツール装置を持ち運ぶことは非常に手間がかかり、ルーチングテーブルの設定作業の効率化が要望されていた。
【０００６】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、個々のＰＬＣの設置場所にツール装置を持ち運びすることなく、ルーチングテーブルを設定可能な通信方式を備えたＰＬＣを提供することにある。
【０００７】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【０００８】
上述の技術的な課題は、以下の構成を有するＰＬＣによって実現することができるものと考えられる。すなわち、この発明のＰＬＣは、ＣＰＵユニットと、１又は２以上の入力又は出力ユニットと、１又は２以上の通信ユニットと、それらのユニット同士を内部で接続する内部システムバスとを少なくとも含み、ＣＰＵユニットには、ツール装置等の外部機器との通信を行うための通信用ポートが設けられ、かつ通信用ユニットのそれぞれには、ネットワークに接続するための通信用ポートが設けられている。
【０００９】
そして、ＣＰＵユニットには、通信用ポートを介して到来する通信フレームを解析する第１のＣＰＵ側フレーム解析手段と、第１のＣＰＵ側フレーム解析手段の解析結果に基づいて、宛先ネットワーク番号に想定範囲外の特殊コードが含まれているか否かを判定する第１のＣＰＵ側判定手段と、第１のＣＰＵ側判定手段により宛先ネットワーク番号に想定範囲外の特殊コードが含まれていると判定されるときには、当該通信フレームが到来した通信用ポートのユニット番号を送信元ユニット番号とすると共に、宛先ネットワーク番号を０とした通信フレームを、その特殊コードから一定のルールに従って生成されたユニット番号に宛てて、内部システムバスへと転送する第１のＣＰＵ側通信フレーム転送手段と、内部システムバスを介して到来する通信フレームを解析する第２のＣＰＵ側フレーム解析手段と、第２のＣＰＵ側フレーム解析手段の解析結果に基づいて、ルーチングが完了しているか否かを判定する第２のＣＰＵ側判定手段と、第２のＣＰＵ側判定手段によりルーチングが完了していると判定されるときには、宛先ユニット番号がＣＰＵユニットであれば、受信した通信フレームのデータ部に従った処理を実行すると共に、受信した通信フレームの宛先フレームと送信アドレスとを入れ替えかつ生成したレスポンスデータをデータ部に含めてレスポンスフレームを生成し、こうして生成されたレスポンスフレームを受信したユニットへ宛てて、内部システムバスへと転送する一方、宛先ユニットがＣＰＵユニットでなければ、その通信フレームを宛先ユニット番号で示されるユニットへ宛てて内部システムバスへと転送する第３の通信フレーム転送手段とが設けられる。
【００１０】
また、通信ユニットには、通信ポートを介して到来する通信フレームを解析する通信フレーム側フレーム解析手段と、通信ユニット側フレーム解析手段の解析結果に基づいて、宛先ネットワーク番号が０で、かつ、宛先ノード番号が自身のノード番号であるか否かを判定する通信ユニット側判定手段と、通信ユニット側判定手段により宛先ネットワーク番号が０で、かつ、宛先ノード番号が自身のノード番号であると判定されるときには、自ユニット宛であれば、自ユニットにて処理し、レスポンスフレームを作成してネットワーク側へと返送する一方、自ユニット宛でなければルーチング処理を完了し、転送依頼するためにＣＰＵユニットへ宛てて内部システムバスへと転送する通信ユニット側転送手段と、が含まれている。
【００１１】
このような構成によれば、通信ポートを介してツール装置などから到来する通信フレームには、宛先ネットワーク番号に想定範囲外の特殊コードを含ませるといった特殊な方法でユニット番号が含まれているため、ルーチングテーブルが存在せずとも、この想定範囲外の特殊コードを復調又は解析することによって、直接的にユニット番号を取り出すことができ、そのためＣＰＵユニットとしてはツール装置から到来した通信フレームを目的とする通信ユニットへと適切に転送することができる。しかも、宛先ネットワーク番号に想定範囲外の特殊コードを含ませるという手法によって、ネットワーク番号に宛先ユニット番号が含まれていることを認識させるという手法を採用しているため、既存の通信アルゴリズムを大幅に変更することなく、低コストに採用できるという利点もある。また、ＰＬＣ間における通信は、従前より同一階層間でのみネットワーク番号を意識することなく通信可能とするネットワーク番号０を利用するため、受け手となる通信ユニットの側においても、既存システムを大幅に変更することなく、ルーチングテーブル無しのＰＬＣ間通信を実現することができる。
【００１２】
別の一面から見た本発明は、ＰＬＣのツール装置として捉えることもできる。このＰＬＣのツール装置は、ＣＰＵユニットと、１又は２以上の入力又は出力ユニットと、１又は２以上の通信ユニットと、それらのユニット同士を内部で接続する内部システムバスとを少なくとも含み、ＣＰＵユニットには、ツール装置などの外部機器との通信を行うための通信用ポートが設けられ、かつ通信ユニットのそれぞれには、ネットワークに接続するための通信用ポートが設けられたＰＬＣに通信ケーブルを介して接続されるものである。
【００１３】
そして、このツール装置には、ルーチングテーブルの選択画面を表示する第１の案内表示手段と、選択されたルーチングテーブルに基づいて、通信フレームのデータ部を作成するデータ部作成手段と、送信先選択画面を表示する第２の案内表示手段と、入力されたユニット番号とノード番号とに基づいて通信フレームを生成する通信フレーム生成手段と、生成された通信フレームを送信する送信手段とが具備される。
【００１４】
このような構成によれば、案内表示されたルーチングテーブルの中から、所望のルーチングテーブルを選択し、これを通信フレームのデータ部に組み込むことによって、ルーチングテーブル転送用の通信フレームを作成できる一方、先ほど説明したように、入力されたユニット番号とノード番号とに基づいて、ネットワーク番号を特定することなく、通信フレームを生成できるため、ルーチングテーブルがまだ設定されていない初期状態において、ルーチングテーブルを複数のＰＬＣのそれぞれに、特定のＰＬＣを介して効率よく転送することが可能となるのである。
【００１５】
このとき、通信フレーム生成手段は、与えられたユニット番号に基づいて、想定範囲外のネットワーク番号を自動的に生成するようにすれば、オペレータはそのような特殊コードの入力を意識することなく、所望のネットワークを経由して、個々のＰＬＣに対してルーチングテーブルを送信することが可能となる。
【００１６】
なお、想定範囲外のネットワーク番号としては、例えば１〜１２８が既存の番号範囲とすれば、任意のユニット番号に対して１２８を加算することによって、必ず想定範囲外のネットワーク番号を生成することができる。また、このような方法で想定範囲外のネットワーク番号を生成した場合、これを受信する側においては、一律に１２８減算することによって、元のユニット番号を復元することができる。
【発明の効果】
【００１７】
この発明によれば、特に２以上の通信ユニットを含むビルディングブロックタイプのＰＬＣにおいて、個々の通信ユニットがどのネットワークに接続されているかを示すルーチングテーブルを使用せずとも、ＰＬＣのＣＰＵユニットに接続されたツール装置から、当該ＰＬＣを経由して、任意のネットワークを介して他のＰＬＣへと所望のデータ（例えば、ルーチングテーブルそのもの）を転送することができるから、この種のルーチングテーブルを使用した通信方式を採用するＰＬＣシステムにおいても、ルーチングテーブルが設定されていない初期状態において、個々の分散するＰＬＣに対してネットワークを経由してルーチングテーブルを送り込むことが可能となり、従前のように、多数のＰＬＣのそれぞれに対して、現場へ足を運んでツール装置を接続してルーチングテーブルを設定する場合に比べ、大幅に労力が軽減されるという利点がある。
【発明を実施するための最良の形態】
【００１８】
以下に、この発明に係るＰＬＣ及びツール装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００１９】
本発明が適用されたＰＬＣシステムの構成図が図１に示されている。同図に示されるように、このＰＬＣシステムは、第１ＰＬＣ（１−１）と、第２ＰＬＣ（１−２）と、第３ＰＬＣ（１−３）と、第４ＰＬＣ（１−４）と、第５ＰＬＣ（１−５）とからなる５台のＰＬＣをネットワークで接続して構成されている。
【００２０】
より詳しくは、第１ＰＬＣ（１−１）、第２ＰＬＣ（１−２）、及び第４ＰＬＣ（１−４）についてはネットワークＡを介して結ばれている。同様にして、第３ＰＬＣ（１−３）及び第５ＰＬＣ（１−５）については、ネットワークＢを介して結ばれている。ここで、ネットワークＡのネットワーク番号は＃２０、ネットワークＢのネットワーク番号は＃３０とされている。
【００２１】
この例では、第１ＰＬＣ１−１は、１台の電源ユニットＵ０と、１台のＣＰＵユニットＵ１と、２台の入力ユニットＵ２と、１台の出力ユニットＵ３と、２台の通信ユニットＵ４とを備えている。そして、この例にあっては、ＣＰＵユニットＵ１にはユニット番号（０）が、２台の入力ユニットＵ２にはユニット番号（１），（２）が、１台の出力ユニットＵ３にはユニット番号（３）が、２台の通信ユニットＵ４にはユニット番号（４），（５）が割り当てられている。
【００２２】
同様にして、第２ＰＬＣ（１−２）は、１台の電源ユニットＵ０と、１台のＣＰＵユニットＵ１と、１台の入力ユニットＵ２と、１台の出力ユニットＵ３と、１台の通信ユニットＵ４とを備えている。そして、ＣＰＵユニットＵ１にはユニット番号（０）が、入力ユニットＵ２にはユニット番号（１）が、出力ユニットＵ３にはユニット番号（２）が、通信ユニットＵ４にはユニット番号（３）がそれぞれ割り当てられている。
【００２３】
同様にして、第３ＰＬＣ（１−３）は、１台の電源ユニットＵ０と、１台のＣＰＵユニットＵ１と、１台の入力ユニットＵ２と、１台の出力ユニットＵ３と、１台の通信ユニットＵ４とを備えている。そして、ＣＰＵユニットＵ１にはユニット番号（０）が、入力ユニットＵ２にはユニット番号（１）が、通信ユニットＵ４にはユニット番号（２）が、出力ユニットＵ３にはユニット番号（３）がそれぞれ割り当てられている。
【００２４】
さらに、第１ＰＬＣ（１−１）のユニット番号（４）にかかる通信ユニットにはノード番号（＃３）が割り当てられ、隣接するユニット番号（５）にかかる通信ユニットにはノード番号（＃１）が割り当てられている。同様にして、第２ＰＬＣ（１−２）のユニット番号（３）にかかる通信ユニットにはノード番号（＃２）が割り当てられている。同様に、第３ＰＬＣ（１−３）のユニット番号（２）にかかる通信ユニットには、ノード番号（＃１）が割り当てられている。
【００２５】
図から明らかなように、ネットワークＡ（＃２０）は、それぞれ通信ユニットを介して３台のＰＬＣに接続される。同様にして、ネットワークＢ（＃３０）についても、それぞれ通信ユニットを介して２台のＰＬＣに接続される。
【００２６】
なお、第１ＰＬＣ（１−１）のＣＰＵユニットＵ１には、ケーブルを介して設定ツール２が接続されており、後述するルーチングテーブルの転送処理に際しては、この設定ツール２を使用してユーザは所望の通信フレームを作成することとなる。
【００２７】
次に、ルーチングテーブルの構成例を示す図が図２に示されている。図１に示されるＰＬＣシステムは、基本的には、ルーチングテーブルを用いて通信を行うことが可能となされている。そのためには、個々のＰＬＣごとに図２に示されるようにルーチングテーブルを設定せねばならない。このルーチングテーブルは、図から明らかなように、ユニット番号とネットワーク番号との対応関係を明らかとするものである。
【００２８】
すなわち、図２（ａ）に示される第１ＰＬＣのルーチングテーブルにあっては、これを参照することによって、ネットワーク番号（＃３０）にかかるネットワークＢが、ユニット番号（４）を有する通信ユニットに接続されることが示されており、またネットワーク番号（＃２０）を有するネットワークＡが、ユニット番号（５）を有する通信ユニットに接続されることが示されている。
【００２９】
同様にして、図２（ｂ）に示される第２ＰＬＣのルーチングテーブルの場合、ネットワーク番号（＃２０）を有するネットワークＡが、ユニット番号（３）を有する通信ユニットに接続されることが示されている。
【００３０】
同様にして、図２（ｃ）に示される第３ＰＬＣのルーチングテーブルの場合、ネットワーク番号（＃３０）を有するネットワークＢが、ユニット番号（２）を有する通信ユニットに接続されることが示されている。
【００３１】
従って、何らかの通信フレームを受信したＣＰＵユニットは、これらのルーチングテーブルの内容を参照することによって、その通信フレームに含まれるネットワーク番号に基づき、そのフレームをどの通信ユニットへと転送すればよいかを容易に理解することができ、これが存在するために、ルーチングテーブルを使用する通信方式においては、ネットワーク番号とノード番号とを指定するだけで、任意の通信フレームを所望のノード乃至ユニットへと伝送することが可能となるのである。
【００３２】
ここで、通信フレームの構成を説明する図が図３に示されている。後述する説明においては、図３に示される通信フレームを前提として、通信フレームのフォーマットが決定される。すなわち、通信フレームは、宛先アドレス部と送信元アドレス部とデータ部とを備えている。
【００３３】
そして、宛先アドレス部には、宛先ネットワーク番号と、宛先ノード番号と、宛先ユニット番号とが格納される。同様にして、送信元アドレス部にも、送信元ネットワーク番号と、送信元ノード番号と、送信元ユニット番号とが格納される。なお、データ部についてはコマンドデータ又はレスポンスデータが格納される。
【００３４】
図１に戻って、ネットワークＡ及びネットワークＢに沿って往復矢印で描かれたａ〜ｄは通信フレームの一例であり、それら通信フレームの具体例を示す図が図４に示されている。図４（ａ）に示される通信フレームａの具体例は、設定ツール２から第２ＰＬＣ（１−２）のＣＰＵユニットＵ１に宛てて送信されたものである。この場合、宛先アドレス部の内容は、ネットワーク番号（＃２０）、ノード番号（＃２）、ユニット番号（０）となり、送信元アドレス部の内容はネットワークアドレス（＃０）、ノードアドレス（＃０）、ユニットアドレス（０）となる。
【００３５】
図４（ｂ）に示される通信フレームｂの具体例は、第１ＰＬＣ（１−１）のＣＰＵユニットＵ１から第２ＰＬＣ（１−２）のＣＰＵユニットＵ１に宛てて送信されるものである。この場合、宛先アドレス部の内容は、ネットワーク番号（＃２０）、ノード番号（＃２）、ユニット番号（０）となり、送信元アドレス部の内容はネットワーク番号（＃２０）、ノード番号（＃１）、ユニット番号（０）となる。
【００３６】
図４（ｃ）に示される通信フレームの具体例は、第２ＰＬＣのＣＰＵユニットから第１ＰＬＣのＣＰＵユニットに宛てて送信されるものであり、図４（ｄ）に示される通信フレームｄの具体例は、第１ＰＬＣ（１−１）のＣＰＵユニットから設定ツール２へと送信されるものである。なお、通信フレームａ，ｂはコマンドデータを送信するものであり、通信フレームｃ，ｄはレスポンスデータを送信するものである。
【００３７】
次に、ＣＰＵユニットのハードウェア構成を示すブロック図が図５に示されている。同図に示されるように、ＣＰＵユニット内には、ユニット全体を統括制御するマイクロプロセッサ（ＭＰＵ）１０１と、マイクロプロセッサ（ＭＰＵ）１０１で実行されるべきシステムプログラムを格納するシステムプログラムメモリ（ＳＲＯＭ）１０２と、ユーザプログラムを格納保存するためのバッファメモリ（ＢＲＯＭ）１０３と、マイクロプロセッサ（ＭＰＵ）１０１がシステムプログラムを実行する際のワークエリアとして使用されるワークメモリ（ＷＲＡＭ）１０４と、電源投入と共にバッファメモリ１０３からユーザプログラムが転送格納されるユーザメモリ（ＵＭ）１０５と、ユーザメモリ（ＵＭ）１０５から順次ユーザプログラムを構成する各命令語を読み出しては実行する命令実行回路（ＡＳＩＣ）１０６と、図示しない入出力ユニットの入出力状態を反映するためのＩＯメモリ（ＩＯＭ）１０７とを含んで構成される。なお、この種のＣＰＵユニットのハードウェア構成については、種々の文献において公知であるから、これ以上の説明は省略する。
【００３８】
次に、ＣＰＵユニットの動作概要を示すゼネラルフローチャートが図６に示されている。同図に示されるように、ＣＰＵユニットが実行するシステムプログラムの全体は、電源オン時処理（ステップ１０１）、共通処理（ステップ１０２）、演算処理（ステップ１０３）、Ｉ／Ｏリフレッシュ処理（ステップ１０４）、周辺サービス処理（ステップ１０５）とを含んで構成され、稼働中にあっては、上記４つの処理をサイクリックに実行するように構成されている（ステップ１０２〜１０５）。なお、この種の動作概要を示すゼネラルフローチャートについては、既に種々の公開公報などにより当業者にはよく知られているから、これ以上の説明は省略する。
【００３９】
なお、以後説明する本発明に係る通信処理については、周辺サービス処理（ステップ１０５）の内部において適宜に実行される。
【００４０】
次に、ＣＰＵユニットで実行される設定ツールからの通信フレーム受信時処理の詳細を示すフローチャートが図７に示されている。同図において処理が開始されると、まず、設定ツールより受信した通信フレームが解析される（ステップ２０１）。
【００４１】
続くステップ２０２では、宛先ネットワーク番号に特殊コードを含むか否かの判定が行われる。ここで「特殊コード」としては、この実施形態の場合には、ネットワーク番号の想定範囲（１番〜１２８番）を外れるようにして特殊コードが作られている。この特殊コードの作り方としては、例えば、目的とするネットワークに接続された通信ユニットのユニット番号に対して、「１２８」を加算して、その加算結果をネットワーク番号に相当する「特殊コード」とするように仕組まれている。例えば、ユニット番号が「３」とすると、これに「１２８」を加算することによって、ネットワーク番号である特殊コードは「１３１」となる。
【００４２】
特殊コードであるネットワーク番号（１３１）は、ネットワーク番号と与えられた数値「１」〜「１２８」の想定範囲外となる。一方、こうして得られた特殊コード「１３１」から「１２８」を減算すれば、元のユニット番号「３」を求めることができる。従って、この変換手法によれば、既存の通信アルゴリズム乃至システム構成を前提として、僅かな変更を加えるだけで、ＣＰＵユニットに対して、目的とするユニット番号を知らしめることができるのである。
【００４３】
ここで、宛先ネットワーク番号に特殊番号を含むものと判定されると（ステップ２０２ＹＥＳ）、ステップ２０９へ進んで、宛先ネットワーク番号を０とし、送信元ユニット番号を受信した通信ポートのユニット番号とされる（ステップ２０９）。
【００４４】
続いて、ステップ２１０では、特殊コードを含む宛先ネットワーク番号から、先に説明した手法によって、ユニット番号が復元される。
【００４５】
続くステップ２１１では、生成した通信フレームを求めたユニット番号に該当するユニットへ宛てて、システムバスへと送り出す。
【００４６】
この一連の処理（ステップ２０２，２０９，２１０，２１１）によって、ルーチングテーブルを使用することなく、設定ツールより受信した通信フレームを、該当するネットワークに対応した通信ユニットからネットワーク上へと送信することが可能となるのである。
【００４７】
一方、宛先ネットワーク番号に特殊コードを含まないと判定され（ステップ２０２ＮＯ）、さらに宛先ネットワーク番号がルーチングテーブルに存在すれば（ステップ２０３）、送信元ユニット番号を受信した通信ポートのユニット番号とすると共に（ステップ２０６）、ルーチングテーブルから宛先ネットワーク番号に対応するユニット番号を取得し（ステップ２０７）、さらに生成した通信フレームをルーチングテーブルより取得したユニット番号に該当するユニットへ送り出す処理が実行される（ステップ２０８）。
【００４８】
以上の一連の処理（ステップ２０２，２０３，２０６，２０７，２０８）は、いわゆるルーチングテーブルを利用した振り分け処理である。
【００４９】
なお、宛先ネットワーク番号に特殊コードが含まれておらず（ステップ２０２ＮＯ）、しかも宛先ネットワーク番号がルーチングテーブルに存在しなければ（ステップ２０３ＮＯ）、エラー応答の通信フレームが自動的に生成されると共に（ステップ２０４）、生成した通信フレームは受信したユニットへとシステムバス上へと送られる（ステップ２０５）。
【００５０】
次に、ＣＰＵユニットで実行される通信ユニットからの通信フレーム受信時処理の詳細を示すフローチャートが図８に示されている。同図において処理が開始されると、まず、受信した通信フレームの解析が行われる（ステップ３０１）。
【００５１】
続いて、ステップ３０２では、ルーチングが完了しているか否かの判定が行われる。ここで、ルーチングが完了しているものと判定されれば（ステップ３０２ＹＥＳ）、続いてステップ３０８へと移って、宛先ユニット番号がＣＰＵユニットであるか否かの判定が行われる。
【００５２】
ここで、宛先ユニット番号がＣＰＵユニットであると判定されると（ステップ３０８ＹＥＳ）、受信した通信フレームのデータ部に従った処理を実行し（ステップ３１０）、受信した通信フレームの宛先アドレス部と送信アドレス部とを入れ替え、かつ生成したレスポンスデータをデータ部に含め（ステップ３１１）、生成した通信フレームを受信したユニットへとシステムバス上へと送り出す処理が実行される（ステップ３１２）。
【００５３】
一方、宛先ユニット番号がＣＰＵユニットでなければ（ステップ３０８）、宛先ユニット番号で示されるユニットへと当該通信フレームはシステムバス上へと送り出される（ステップ３０９）。
【００５４】
また、ルーチングが完了しておらず（ステップ３０２ＮＯ）、しかも宛先ネットワーク番号がルーチングテーブルに存在すれば（ステップ３０３ＹＥＳ）、ルーチングテーブルから宛先ネットワーク番号に対応するユニット番号を取得し（ステップ３０６）、ルーチングテーブルより取得したユニット番号に該当するユニットへとその通信フレームは転送される（ステップ３０７）。
【００５５】
以上の一連の処理（ステップ３０２，３０３，３０６，３０７）は、いわゆるルーチングテーブルを使用した振り分け処理である。
【００５６】
なお、ルーチングテーブルが完了しておらず（ステップ３０２ＮＯ）、しかも宛先ネットワーク番号がルーチングテーブルに存在しなければ（ステップ３０３ＮＯ）、エラー応答の通信フレームが生成されると共に（ステップ３０４）、こうして生成されたフレームは受信したユニットへと送り出される（ステップ３０５）。
【００５７】
次に、通信ユニットで実行される通信フレーム受信処理の詳細を示すフローチャートが図９に示されている。同図において処理が開始されると、まず、受信した通信フレームの解析が行われる（ステップ４０１）。
【００５８】
ここで、宛先ネットワーク番号が０、かつ宛先ノード番号が自身のノード番号であると判定されると（ステップ４０２ＹＥＳ）、そのフレームが自ユニット宛であれば（ステップ４０５ＹＥＳ）、自ユニットにて処理し、レスポンスフレームを作成し、回線側へと返送する処理が実行される（ステップ４０７）。これに対して、自ユニット宛でなければ（ステップ４０５ＮＯ）、ルーチング処理を完了し、転送依頼するために、ＣＰＵユニットへと送信する処理が実行される（ステップ４０６）。
【００５９】
以上一連の処理（ステップ４０２，４０５，４０７又は４０６）が、本発明と関連する部分であって、このような処理が存在することによって、宛先ネットワーク番号０に相当する既存の隠れモードを利用することにより、実際のネットワーク番号を参照することなく、通信ユニットからＣＰＵユニットへの通信フレームの転送が可能となるのである。
【００６０】
なお、宛先ネットワーク番号が０、かつ、宛先ノード番号が自身のノード番号でないとしても（ステップ４０２ＮＯ）、宛先ネットワーク番号、ノード番号が自身のネットワーク番号、ノード番号と一致すれば（ステップ４０３ＹＥＳ）、同様にして自ユニット宛か否かに応じて（ステップ４０５）、該当する処理が実行される（ステップ４０６又は４０７）。
【００６１】
なお、宛先ネットワーク番号が０、かつ、宛先ノード番号が自身のノード番号でなく（ステップ４０２ＮＯ）、しかも宛先ネットワーク番号、ノード番号が自身のネットワーク番号、ノード番号と一致しなければ（ステップ４０３ＮＯ）、ＣＰＵユニットへルーチング処理依頼するためにＣＰＵユニットへと当該通信フレームを送り出す（ステップ４０４）。
【００６２】
設定ツールのハードウェア構成を示すブロック図が図１０に示されている。同図に示されるように、設定ツール２は、ＰＬＣ１と接続するものであり、またそのハードウェア構成としては、マイクロプロセッサ（ＭＰＵ）２０１と、ＲＡＭ２０２と、ディスプレイ２０３と、ディスプレイコントローラ２０４と、補助記憶装置２０５と、キーボード２０６と、ポインティングデバイス２０７と、通信インタフェース２０８とを含んで構成される。この設定ツール２としては、具体的には、パソコンのハードウェア構成をそのまま利用してもよく、あるいは専用のプログラミングツールとして特注してもよいであろう。
【００６３】
次に、設定ツールに関する構成が図１１及び図１２を参照して示されている。図１１に示されるように、設定ツールの機能構成については、ルーチングテーブル設定制御部２５１によって、ルーチングテーブル選択処理部２５２、送信先選択処理部２５３、通信フレーム生成処理部２５４、及び通信フレーム受信処理部２５５が統括管理され、ユーザが設定ツールのルーチングテーブル設定機能を選択することにより、ルーチングテーブル設定制御部２５１が起動される。
【００６４】
また、ルーチングテーブル選択処理部２５２によって、ルーチングテーブル選択画面生成処理部２５６及びルーチングテーブル選択画面入力処理部２５７が統括管理される。具体的には、ルーチングテーブル選択処理部２５２は、補助記憶装置に格納されているルーチングテーブルを取得し、取得したルーチングテーブルをルーチングテーブル選択画面生成処理部２５４へ渡す。ルーチングテーブル選択画面生成処理部２５４は、ルーチングテーブルを所定のフォーマットに加工し、その表示処理を画面表示処理部２６３へ指示する。画面表示処理部２６３は、指示された内容に従って、ディスプレイコントローラを介してディスプレイへ表示する。ルーチングテーブル選択画面入力処理部２５７は、マウス等のポインティングデバイスやキーボードからの入力データを取得し、その入力データをルーチングテーブル選択処理部２５２へ渡す。
【００６５】
同様にして、送信先選択処理部２５３によって、送信先選択画面生成処理部２５８、及び送信先選択画面入力処理部２５９が統括管理される。具体的には、送信先選択処理部２５３は、補助記憶装置に格納されている送信先を取得し、取得した送信先を送信先選択画面生成処理部２５８へ渡す。送信先選択画面生成処理部２５８は、送信先を所定のフォーマットに加工し、その表示処理を画面表示処理部２６３へ指示する。画面表示処理部２６３は、指示された内容に従って、ディスプレイコントローラを介してディスプレイへ表示する。送信先選択画面入力処理部２５９は、マウス等のポインティングデバイスやキーボードからの入力データを取得し、その入力データを送信先選択処理部２５３へ渡す。
【００６６】
さらに、通信フレーム生成処理部２５４によって通信フレーム制御処理部２６０が管理され、同様に通信フレーム受信処理部２５５によって、通信フレーム解釈処理部２６１が制御され、通信フレーム解釈処理部２６１によって通信フレーム解釈処理結果表示画面生成処理部２６２が制御される。
【００６７】
その結果として、ルーチングテーブル選択画面生成処理部２５６、送信先選択画面生成処理部２５８、通信フレーム解釈処理結果表示画面生成処理部２６２と、画面表示処理部２６３とが協働することによって、ツール装置を構成するパソコンの画面上には、各種の案内表示や入力表示が行われることとなる。
【００６８】
次に、設定ツールのソフトウェア構成を示すブロック図が図１２に示されている。同図において処理が開始されると、まずステップ５０１では、ルーチングテーブルの選択画面が表示される。すなわち、この実施形態においては、ＰＬＣネットワークシステムにおいて、まず個々のＰＬＣにルーチングテーブルが未設定の状態にあり、そのためそれらＰＬＣの何れか１つに設定ツールを図１のごとく接続することにより、設定ツールから送り出されたルーチングテーブルを、個々のＰＬＣへと転送して自動的に設定を行おうとするものである。
【００６９】
ここで、ステップ５０１におけるルーチングテーブルの選択画面の表示とは、個々のＰＬＣに転送されるべきルーチングテーブルを選択するためのものである。
【００７０】
この状態において、オペレータは、各ＰＬＣと関連づけながら、必要なルーチングテーブルを選択し、マウスやキーボードの操作によって、選択状態を確定する。
【００７１】
すると、ステップ５０２へ進んで、選択されたルーチングテーブルに基づき通信フレームのデータ部の構成が作成される。すなわち、選択されたルーチングテーブルの内容が、先に図３を参照して説明したデータ部に格納されるわけである。
【００７２】
このようにしてデータ部の作成が完了すると、パソコンの画面上には、送信先選択画面が案内表示される（ステップ５０３）。この案内画面は、ＰＬＣのシステム系統図として行ってもよいし、ＰＬＣのリストを表示する形でもよいであろう。この状態において、オペレータは、そのルーチングテーブルを送信しようとするノード（ＰＬＣ又はその他の機器）をマウスやキーボードを利用して選択及び確定する。続くステップ５０４では、オペレータは、送信先に相当するノード内の各ユニットに対し、ユニット番号及びノード番号の入力を行う。すると、先に説明したように、入力されたユニット番号に対して一定値（例えば、「１２８」）を加算することによって、ネットワーク番号の想定範囲外となる特殊コードがネットワーク番号として生成される。
【００７３】
そして、以上求めた、特殊コードの形のネットワーク番号、ノード番号を用いて、通信フレームが生成される。この通信フレームにおいては、特殊コードの形で表されたネットワーク番号と、目的とする送信先ユニットにかかるノード番号とが含まれる。
【００７４】
ここで特殊コードは、特殊コードにユニット番号を加えた値が、０やネットワーク番号として利用可能な番号と重複しないようにするコードであれば良い。また、宛先ノード番号はノード番号２とし、宛先ユニット番号、送信元ネットワーク番号、送信元ノード番号、送信元ユニット番号は、初期値を０とする。
【００７５】
続くステップ５０５では、こうして作成された通信フレームは所定の通信コードを介してＣＰＵユニットへと送り込まれることとなる。以後、ＣＰＵユニット側はどのようにこれを処理するかについては、先に詳細に説明したとおりであるから重ねて説明は省略する。
【００７６】
このように、以上の実施形態によれば、複数のＰＬＣをネットワークで結んでなるＰＬＣシステムにおいて、特定のＰＬＣのＣＰＵユニットに対し設定ツールを接続し、ユニット番号とノード番号とを入力するだけで、ＣＰＵユニットに対しては特殊コードとノード番号とを含む通信フレームが送り込まれ、これをＣＰＵユニット側が逆算して処理することによって、ユニット番号を復元してＰＬＣ内におけるユニット振り分け処理を適切に行うのである。
【００７７】
そのため、この実施形態によれば、未だルーチングテーブルが未設定の状態にあるＰＬＣシステムにおいても、特定のＰＬＣを介してネットワーク上に接続された複数のＰＬＣへとルーチングテーブルを利用することなく任意のデータを送り込むことができるから、これにルーチングテーブルをデータとして送り込めば、従前問題とされたルーチングテーブルの個別設定処理が不要となり、この種の設定処理の効率を著しく向上させることができる。
【産業上の利用可能性】
【００７８】
この発明によれば、２以上の通信ユニットを含むビルディングブロックタイプのＰＬＣを含むＰＬＣシステムにおいて、ルーチングテーブルを使用することなく、個々のＰＬＣ内におけるフレームのユニット振り分けを行わせることができるから、これを利用すれば、ルーチングテーブル設定前のＰＬＣシステムにおけるルーチングテーブルの設定を、個々のＰＬＣの設置場所に出向くことなく、通信を介して効率よくかつ迅速に行うことが可能となる。
【図面の簡単な説明】
【００７９】
【図１】本発明が適用されたＰＬＣシステムの構成図である。
【図２】ルーチングテーブルの構成例を示す図である。
【図３】通信フレームの構成を説明する図である。
【図４】通信フレームの具体例を示す図である。
【図５】ＣＰＵユニットのハードウェア構成を示すブロック図である。
【図６】ＣＰＵユニットの動作概要を示すゼネラルフローチャートである。
【図７】ＣＰＵユニットで実行される設定ツールからの通信フレーム受信時処理の詳細を示すフローチャートである。
【図８】ＣＰＵユニットで実行される通信ユニットからの通信フレーム受信時処理の詳細を示すフローチャートである。
【図９】通信ユニットで実行される通信フレーム受信処理の詳細を示すフローチャートである。
【図１０】設定ツールのハードウェア構成を示すブロック図である。
【図１１】設定ツールの機能構成を示すブロック図である。
【図１２】設定ツールのソフトウェア構成を示すブロック図である。
【符号の説明】
【００８０】
１−１〜１−５  第１ＰＬＣ〜第５ＰＬＣ
２      設定ツール
１０１  マイクロプロセッサ
１０２  システムプログラムメモリ
１０３  バッファユーザメモリ
１０４  ワーキングメモリ
１０５  ユーザメモリ
１０６  命令実行回路
１０７  ＩＯメモリ
２０１  マイクロプロセッサ
２０２  ＲＡＭ
２０３  ディスプレイ
２０４  ディスプレイコントローラ
２０５  補助記憶装置
２０６  キーボード
２０７  ポインティングデバイス
２０８  通信インタフェース
Ｕ０    電源ユニット
Ｕ１    ＣＰＵユニット
Ｕ２    入力ユニット
Ｕ３    出力ユニット
Ｕ４    通信ユニット
【図１】
0004952926.tif 000002
【図２】
0004952926.tif 000003
【図３】
0004952926.tif 000004
【図４】
0004952926.tif 000005
【図５】
0004952926.tif 000006
【図６】
0004952926.tif 000007
【図７】
0004952926.tif 000008
【図８】
0004952926.tif 000009
【図９】
0004952926.tif 000010
【図１０】
0004952926.tif 000011
【図１１】
0004952926.tif 000012
【図１２】
0004952926.tif 000013