(57)【特許請求の範囲】
【請求項１】
制御対象機器を制御するＣＰＵユニット及び該ＣＰＵユニットに管理されるインテリジェントユニットを同一バス上に複数用いることで、上記複数のインテリジェントユニットのうちデータ送信元となるインテリジェントユニットと、上記複数のＣＰＵユニットのうちデータ送信元となるインテリジェントユニットを管理する管理ＣＰＵユニットと、上記複数のＣＰＵユニットのうち管理ＣＰＵユニットと異なる他局のＣＰＵユニットとを備えたプログラマブルコントローラシステムにおいて、
上記データ送信元となるインテリジェントユニットから上記管理ＣＰＵユニット又は他局のＣＰＵユニットへのデータ送信の際に、
上記管理ＣＰＵユニットは、管理対象である送信元のインテリジェントユニットからのデータより、自局或いは他局のＣＰＵユニット宛かを判断し、かつ、自局宛のデータ送信であると判断した場合には、上記送信元のインテリジェントユニットにおけるデータ格納エリアからデータを取り込み、他局宛のデータ送信であると判断した場合には、宛先となる他局のＣＰＵユニットに対して送信元のインテリジェントユニットを特定するデータを通知し、
当該送信元のインテリジェントユニットを特定するデータを通知された他局のＣＰＵユニットは、送信元のインテリジェントユニットにおけるデータ格納エリアからデータを取り込むことを特徴とするプログラマブルコントローラシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、産業機器などで用いられるプログラマブルコントローラ（以下、ＰＣと称す）に関し、該ＰＣの制御を司るＣＰＵユニットを同一のシステムバス上で複数使用し、分散処理をするマルチＰＣシステムにて、ＣＰＵユニットと該ＣＰＵユニットに制御される各インテリジェントユニット間のデータ通信方法に関するものである。
【０００２】
【従来の技術】
図７は、従来におけるＰＣの構成を示した構成図である。
図において、１０１はＰＣシステム全体の制御をとりまとめるＣＰＵユニット、１０２は、他機器とＣＰＵユニット１０１との通信のインターフェース等に用いられ、単独で通信などの機能を実現できるインテリジュントユニット(以下、インテリユニットと称する)、１０３はシステムバスであり、ＣＰＵユニット１０１、インテリユニット１０２がシステムバス１０３を介し接続される。
ここで、システムバス１０３は通常、複数のコネクタを用意しており、このコネクタを介して複数のＣＰＵユニット１０１、インテリユニット１０２を同一システムバス１０３上に接続することが可能になっている。
１０４は、インテリユニット１０２に接続された周辺機器であり、例えばパソコン等である。
１０５はシステムバス１０３上の、全てのＣＰＵユニット１０１、インテリユニット１０２から読み書き可能なハードウェア情報メモリである。なお、このハードウェア情報メモリ１０５は、ＣＰＵユニット１０１、インテリユニット１０２の双方にアドレッシングされており、書きこむ側ではｂｉｔをＯＮすることにより割込み信号を発生させることができ、読み出す側ではｂｉｔがＯＮしたことにより割込みを認識できる仮想的なメモリ空間である。
【０００３】
ＣＰＵユニット１０１は、ＣＰＵユニットの制御を行うマイクロプロセッサ１１１、インテリユニット１０２とやり取りするデータを格納するデータ格納エリア１１２を備えている。
そして、インテリユニット１０２も、インテリユニットの制御を行うマイクロプロセッサ１２１、ＣＰＵユニット１０１とやり取りするデータを格納するデータ格納エリア１２２、周辺機器１０４と通信を行うための通信ポート１２３を備えている。
【０００４】
次に、インテリユニット１０２に接続された周辺機器１０４から、ＣＰＵユニット１０１と通信を行う際の手順を、図７〜図９を用いて説明する。
図８は、インテリユニットにおける処理手順を示したフローチャートであり、図９は、ＣＰＵユニットにおける処理手順を示したフローチャートである。
【０００５】
まず周辺機器１０４は、通信内容を通信ポート１２３を介してデータ格納エリア１２２に格納する。
インテリユニット１０２のマイクロプロセッサ１２１は、ステップＳ５１において、データ格納エリア１２２にデータが格納されたことを認識すると、ステップＳ５２にて、ハードウェア情報メモリ１０５のｂｉｔをＯＮし、ＣＰＵユニット１０１に対してインテリユニット１０２からのデータが存在することを通知する。
【０００６】
ＣＰＵユニット１０１のマイクロプロセッサ１１１は、ステップＳ６１において、このハードウェア情報メモリ１０５のｂｉｔがＯＮしていることを認識すると、ステップＳ６２にて、ＣＰＵユニット１０１とインテリユニット１０２の２ポートアクセスが可能であるデータ格納エリア１２２のデータを、システムバス１０３を介してデータ格納エリア１１２に転送する。
その後、ステップＳ６３において、データ格納エリア１１２の内容に従い、所定の処理を行い、ステップＳ６４において、ハードウェア情報メモリ１０５のｂｉｔをＯＦＦすることにより、処理が完了したことをインテリユニット１０２に通知する。
【０００７】
インテリユニット１０２のマイクロプロセッサ１２１は、ステップＳ５３において、ハードウェア情報メモリ１０５のｂｉｔがＯＦＦしたことを認識すると、ステップＳ５４において、データ格納エリア１２２のデータをクリアする。
【０００８】
インテリユニット１０２からＣＰＵユニット１０１への通信手段は以上のとおりであるが、逆にＣＰＵユニット１０１からインテリユニット１０２への要求手段も、 ＣＰＵユニット１０１の処理とインテリユニット１０２の処理を入れかえることにより上記と同様に行うことができる。
インテリユニットが複数台装着された場合は、ハードウェア情報メモリ１０５のｂｉｔをインテリユニット１０２の台数分に拡張し、各ｂｉｔをそれぞれのインテリユニットに割り当てることで対応可能となる。
【０００９】
【発明が解決しようとする課題】
上記のＣＰＵユニットとインテリユニットとの通信手段では、ＣＰＵユニットが複数台装着された場合、ハードウェア情報メモリのｂｉｔは、どのＣＰＵユニットからも読み書き可能であるため、どのＣＰＵユニットがインテリユニットからの処理を行えばよいかの判断を行うことができず、正常な通信を行うことが困難となるため、特定のインテリユニットからの通信が可能なＣＰＵユニットは１台に限定している。
ここで、特定のインテリユニットからの通信が可能なＣＰＵユニットを１台に限定すると、ＣＰＵユニットが複数台存在する場合、あるインテリユニットからは自己に特定されたＣＰＵユニット以外の他のＣＰＵユニットとは通信を行うことができずシステム運用に効率が悪い。
また、全てのＣＰＵユニットと交信可能とする場合は、システム中にインテリユニットをＣＰＵユニットの台数分用意する必要があり、ユーザにコスト的な負担を強いる場合が多かった。
【００１０】
さらに、インテリユニットを複数台用意した場合でも、同一のパソコン等から複数のＣＰＵユニットと通信を行う場合は、通信対象のＣＰＵユニットが異なるたびに、周辺機器とインテリユニットの物理的な接続を変更する必要があった。
【００１１】
この発明は、上記のような問題点に着目してなされたものであり、マルチＰＣシステム構成において、インテリユニットに接続されたパソコン等の周辺機器から、全てのＣＰＵユニットに対して効率よく交信を行うことを目的としている。
【００１２】
【課題を解決するための手段】
この発明に係わるプログラマブルコントローラシステムは、制御対象機器を制御するＣＰＵユニット及び該ＣＰＵユニットに管理されるインテリジェントユニットを同一バス上に複数用いることで、上記複数のインテリジェントユニットのうちデータ送信元となるインテリジェントユニットと、上記複数のＣＰＵユニットのうちデータ送信元となるインテリジェントユニットを管理する管理ＣＰＵユニットと、上記複数のＣＰＵユニットのうち管理ＣＰＵユニットと異なる他局のＣＰＵユニットとを備えたプログラマブルコントローラシステムにおいて、上記データ送信元となるインテリジェントユニットから上記管理ＣＰＵユニット又は他局のＣＰＵユニットへのデータ送信の際に、上記管理ＣＰＵユニットは、管理対象である送信元のインテリジェントユニットからのデータより、自局或いは他局のＣＰＵユニット宛かを判断し、かつ、自局宛のデータ送信であると判断した場合には、上記送信元のインテリジェントユニットにおけるデータ格納エリアからデータを取り込み、他局宛のデータ送信であると判断した場合には、宛先となる他局のＣＰＵユニットに対して送信元のインテリジェントユニットを特定するデータを通知し、当該送信元のインテリジェントユニットを特定するデータを通知された他局のＣＰＵユニットは、送信元のインテリジェントユニットにおけるデータ格納エリアからデータを取り込むものである。
【００１６】
【発明の実施の形態】
実施の形態１．
以下に添付の図を参照してこの発明を実施例について詳細に説明する。
図1は、この発明に係るＣＰＵユニットの概略構成を示すものである。
なお、本実施の形態では、２台のＣＰＵユニットによりマルチＰＣシステムが構築されている場合について説明する。
【００１７】
図において、１はＰＣシステム全体の制御をとりまとめるＣＰＵユニットであり、２台のＣＰＵユニット１ａ及び１ｂを有している。
２は他機器とＣＰＵユニット１との通信のインターフェース等に用いられるインテリユニットであり、ＣＰＵユニット１ａに制御されるインテリユニット２ａ、及びＣＰＵユニット１ｂに制御されるインテリユニット２ｂを有している。
３は複数のコネクタが用意されたシステムバスであり、ＣＰＵユニット１、インテリユニット２がシステムバス３を介し接続される。
４はインチリユニット２ｂに接続された周辺機器であり、例えばパソコン等である。
５はシステムバス３上の、全てのＣＰＵユニット１及びインテリユニット２から読み書き可能なハードウェア情報メモリであり、ＣＰＵユニット１、インテリユニット２の双方にアドレッシングされており、書きこむ側ではｂｉｔをＯＮすることにより割込み信号を発生させることができ、読み出す側ではｂｉｔがＯＮしたことにより割込みを認識できる仮想的なメモリ空間である。
【００１８】
ＣＰＵユニット１は、ＣＰＵユニットの制御を行うマイクロプロセッサ１１、インテリユニット２とやり取りするデータを格納するデータ格納エリア１２、要求元のインテリユニット２を特定するためのインテリユニットＮｏが格納されるインテリＮｏ格納エリア１３、予めユーザパラメータとして管理対象のインテリユニット２の番号を格納しておく管理インテリＮｏ格納エリア１４を備えている。
なお、管理インテリＮｏ格納エリア１４に格納される管理対象とは、要求を受け付けることを意味し、一例として、インテリユニット２ａを管理するということは、インテリユニット２ａからの要求のみを受け付けることを意味する。
本実施の形態における説明の関係上、仮に管理インテリＮｏ格納エリア１４ａには、インテリユニット２ａを設定し、管理インテリＮｏ格納エリア１４ｂにはインテリユニット２ｂを管理するように設定しておく。
【００１９】
インテリユニット２は、インテリユニットの制御を行うマイクロプロセッサ２１、ＣＰＵユニット１とやり取りするデータを格納するデータ格納エリア２２、周辺機器４と通信を行うための通信ポート２３を備えている。
そして、システムバス３を介してＣＰＵユニットとインテリユニットの２ポートアクセスが可能であるデータ格納エリア２２は、データ通信の要求対象先及び起動元が格納される宛先エリア２２１及びデータ通信を行うデータが格納される実データエリア２２２から構成されている。
【００２０】
次に、本実施の形態の動作について図を用いて説明する。
図２は、データ送信要求を行うインテリユニット２ｂにおける処理手順を示したフローチャート、図３は、ＣＰＵユニット１ｂにおける処理手順を示したフローチャート、図４は、ＣＰＵユニット１ａにおける処理手順を示したフローチャートである。
なお、本実施の形態では、インテリユニット２ｂに接続された周辺機器４から、インテリユニット２ｂの管理ＣＰＵユニットではないＣＰＵユニット１ａに対して要求を行う場合の処理について以下に説明する。
【００２１】
周辺機器４は、通信内容を通信ポート２３ｂを介してデータ格納エリア２２ｂに格納する。
この際、データ格納エリア２２ｂの宛先エリア２２１ｂには、要求対象がＣＰＵユニット１ａであること、及び通信起動元がインテリユニット２に接続された周辺機器４であることを格納しておく。
【００２２】
周辺機器４が接続されたインテリユニット２ｂのマイクロプロセッサ２１ｂは、ステップＳ１において、データ格納エリア２２ｂにデータが格納されたことを認識すると、ステップＳ２にて、自局の管理ＣＰＵユニットにデータを送信すべくハードウェア情報メモリ５のインテリユニット２ｂ用の要求エリアのｂｉｔをＯＮする。
このハードウェア情報メモリ５の要求エリアの各ｂｉｔは、それぞれ物理的に各ユニット内部に存在し、インテリユニット２は自身用のｂｉｔのみに対して読み書き可能であり、ＣＰＵユニットは全てのｂｉｔを読み書きすることができる。例えば、インテリユニット２ｂ用のｂｉｔはインテリユニット２ｂ内部に存在し、インテリユニット２ｂのみが読み書き可能であり、インテリユニット２ｂがインテリユニット２ａ用のｂｉｔを読み書きすることはできない。
【００２３】
また、ＣＰＵユニット１のマイクロプロセッサ１１は、管理対象となるインテリユニット２用のハードウェア情報メモリ５を常に確認している。
つまり、ＣＰＵユニット１ｂは、常にハードウェア情報メモリ５のインテリユニット２ｂ用の要求エリアのｂｉｔのＯＮを監視しているが、ハードウェア情報メモリ５のインテリユニット１ａ用の要求エリアのｂｉｔについては一切監視しない。
これはユーザによりパラメータとして管理インテリＮｏ格納エリア１４ｂに、インテリユニット２ｂを管理するように設定されているためである。
【００２４】
ＣＰＵユニット１ｂのマイクロプロセッサ１１ｂは、ステップＳ１１において、このハードウェア情報メモリ５のインテリユニット２ｂ用の要求エリアｂｉｔがＯＮしていることを認識すると、ステップＳ１２にて、データ格納エリア２２ｂのデータのうち、宛先エリア２２１ｂのデータのみをデータ格納エリア１２ｂに転送する。
【００２５】
その後、ステップＳ１３において、宛先エリア２２１ｂに格納されていた宛先を確認し、ＣＰＵユニット１ａ（他局）宛であることを確認すると、ステップＳ１４に移行する。
一方、宛先エリア２２１ｂに格納されていた宛先がＣＰＵユニット１ｂ（管理局としての自局）宛であることを確認すると、ステップＳ１６に移行する。
【００２６】
ＣＰＵユニット１ａ（他局）宛である場合、ステップＳ１４において、システムバス３を介し、ＣＰＵユニット同士の２ポートアクセスが可能なＣＰＵユニット１ａのインテリＮｏ格納エリア１３ａに、要求元がインテリユニット２ｂであることを格納する。
そして、ステップＳ１５において、ＣＰＵユニット１ｂからＣＰＵユニット１ａに対して要求があることを示すために、ハードウェア情報メモリ５のＣＰＵユニット１ｂ用の要求エリアのｂｉｔをＯＮする。
これはＣＰＵユニット１ｂから割り込みを発生させることを意味する。
【００２７】
ＣＰＵユニット１ｂからの割込みを受けたＣＰＵユニット１ａのマイクロプロセッサ１１ａは、ステップＳ２１にて、ハードウェア情報メモリ５のＣＰＵユニット１ｂ用の要求エリアのｂｉｔがＯＮしていることを認識すると、ステップＳ２２において、インテリＮｏ格納エリア１３ａに格納された要求元のインテリユニットＮｏを確認する。
ここで、インテリＮｏ格納エリア１３ａにはインテリユニット２ｂが格納されているため、ＣＰＵユニット１ａのマイクロプロセッサ１１ａは、システムバス３を介し、ＣＰＵユニットとインテリユニットの２ポートアクセスが可能であるデータ格納エリア２２ｂのデータを全てデータ格納エリア１２ａに転送する。
【００２８】
そして、ステップＳ２３にて、データ格納エリア１２ａの内容に従い所定の処理を行い、ステップＳ２４において、ハードウェア情報メモリ５のＣＰＵユニット１ｂ用の要求エリアのｂｉｔをＯＦＦするとともに、ステップＳ２５にて、ハードウェア情報メモリ５のインテリユニット２ｂ用の要求エリアのｂｉｔをＯＦＦする。
ここではＣＰＵユニット１ａのマイクロプロセッサ１１ａは、ハードウェアウェア情報メモリ５のＣＰＵユニット２ｂ用の要求エリアのｂｉｔを常に監視しているが、ＣＰＵユニットの台数が増えた場合は、ユーザが設定したパラメータなどにより、ＣＰＵユニットが自分自身以外のＣＰＵユニット用の要求エリアのｂｉｔを全て監視することにより対応できる。
【００２９】
一方、ステップＳ１３にて、宛先エリア２２１ｂに格納されていた宛先がＣＰＵユニット１ｂ（自局）宛であることを確認すると、マイクロプロセッサ１１ｂは、ステップＳ１６において、システムバス３を介し、ＣＰＵユニットとインテリユニットの２ポートアクセスが可能であるデータ格納エリア２２ｂにおける実データエリア２２２ｂのデータもデータ格納エリア１２ｂに転送する。
【００３０】
そして、ステップＳ１７にて、データ格納エリア１２ｂの内容に従い所定の処理を行い、ステップＳ１８において、ハードウェア情報メモリ５のインテリユニット２ｂ用の要求エリアのｂｉｔをＯＦＦする。
【００３１】
インテリユニット２ｂのマイクロプロセッサ２１ｂは、ステップＳ３において、ハードウェア情報メモリ５のインテリユニット２ｂ用の要求エリアのｂｉｔがＯＦＦしたことを認識すると、インテリユニット２ｂよりＣＰＵユニット１ａへのデータ送信が完了したこととなるので、ステップＳ４において、データ格納エリア２２ｂのデータをクリアする。
【００３２】
本実施の形態によれば、インテリユニット２ｂからインテリユニット２ｂが管理されていないＣＰＵユニット１ａにデータを送信する場合、インテリユニット２ｂが管理されているＣＰＵユニット１ｂを介して容易にデータを送信することができる。
また、その送信の際には、ＣＰＵユニット１ｂには、宛先エリア２２１ｂのデータのみを送信し、該宛先エリア２２１ｂのデータが送信相手先となるＣＰＵユニット１ａに送られ、該宛先エリア２２１ｂのデータを受けたＣＰＵユニット１ａが直接インテリユニット２ｂの実データを取りに行くので、データ送信のためのトラフィックも減少し、効率よくシステムを運用することができる。
さらに、ＣＰＵユニット毎にインテリユニットを別途用意する必要がなくなり、かつ交信経路が短くなると共に、通信対象が変わるたびに物理的な接続を変更する必要がなくなる。
【００３３】
実施の形態２．
本実施の形態では、ＣＰＵユニットからインテリユニットに対するデータ送信（要求に応じた応答）について説明する。
なお、本動作は、ＣＰＵユニット１ａからインテリユニット２ｂに対する所定の処理要求に応じた応答の場合について説明する。
図５は、ＣＰＵユニット１ａの処理手順を示したフローチャート、図６は、データ受信時のインテリユニット２ｂにおける処理手順を示したフローチャートである。
【００３４】
要求を受けたＣＰＵユニット１ａは、要求データのうち、宛先データの要求対象と起動元のデータを入れ替え、ステップＳ３１において、要求データに対する応答データをデータ格納エリア１２ａに作成した後、インテリＮｏ格納エリア１３ａに格納されている内容を確認する。
本実施の場合では、インテリＮｏ格納エリア１３ａには、インテリユニット２ｂが格納されているため、応答をインテリユニット２ｂに返すことを認識する。
【００３５】
そして、ステップＳ３２において、ＣＰＵユニット１ａのデータ格納エリア１２ａの内容を、システムバス３を介し、ＣＰＵユニット１とインテリユニット２の２ポートアクセスが可能であるデータ格納エリア２２ｂに転送する。
【００３６】
続いてＣＰＵユニット１ａからの応答ができたことをインテリユニット２ｂに示すために、ステップＳ３３において、システムバス３上の、全てのＣＰＵユニット１から読み書き可能で、かつインテリユニット２から読み書き可能なハードウェア情報メモリ５のインテリユニット２ｂ用の応答エリアのｂｉｔをＯＮする。
このハードウェア情報メモリ３Ａの応答エリアの各ｂｉｔは、それぞれ物理的に各ユニット内部に存在し、各ｂｉｔは自身用のｂｉｔのみに対して読み書き可能である。
例えば、インテリユニット２ｂ用のｂｉｔはインテリユニット２ｂ内部に存在し、インテリユニット２ｂのみが読み書き可能である。なお、ＣＰＵユニット１は全てのｂｉｔを読み書きすることができる。
【００３７】
この後、ステップＳ３４において、データ格納エリア１２ａ及びインテリＮｏ格納エリア１３ａのデータをクリアして、要求に対するＣＰＵユニット１ａの処理を完了する。
【００３８】
インテリユニット２ｂのマイクロプロセッサ２１ｂは、ステップＳ４１において、ハードウェア情報メモリ５のインテリユニット２ｂ用の応答エリアのｂｉｔがＯＮしたことを確認すると、ステップＳ４２において、データ格納エリア２２ｂのデータのうち、宛先エリア２２１ｂのデータを抽出し、応答の返答先が通信ポート２３ｂであることを確認した後、通信ポート２３ｂに転送する。
【００３９】
そして、ステップＳ４３において、ハードウェア情報メモリ５のインテリユニット２ｂ用の応答エリアのｂｉｔをＯＦＦした後、ステップＳ４４において、データ格納エリア２２ｂのデータをクリアする。
【００４０】
なお、本実施の形態において、インテリユニット２ｂからの要求が管理ＣＰＵユニット１ｂであった場合は、同様に図５のフローチャートを実行することにより実現できるが、ステップＳ３４におけるインテリＮｏ格納エリアのデータクリアは、その対象データが存在しないことから実行されない。
【００４１】
本実施の形態によれば、ＣＰＵユニットからインテリユニットに応答データを送信する場合も、容易にデータ送信することができる。
【００４２】
【発明の効果】
インテリユニットから該インテリジェントユニットの非管理ＣＰＵユニットにデータを送信する場合でも、管理ＣＰＵユニットを介して容易にデータを送信することができ、インテリジェントユニットが直接に全てのＣＰＵユニットと通信することが可能となる。
また、その送信の際には、非管理ＣＰＵユニットには、送信元のインテリジェントユニットを特定するデータが送られ、該データに基づき非管理ＣＰＵユニットが送信元のインテリジェントユニットにアクセスし実データを取りに行くので、データ送信のためのトラフィックも減少し、効率よくシステムを運用することができる。
【図面の簡単な説明】
【図１】  この発明による通信方法の一実施形態を示す構成図である。
【図２】  この発明のインテリユニットにおける処理手順の概略図である。
【図３】  この発明のＣＰＵユニットにおける処理手順の概略図である。
【図４】  この発明のＣＰＵユニットにおける処理手順の概略図である。
【図５】  この発明のＣＰＵユニットにおける処理手順の概略図である。
【図６】  この発明のインテリユニットにおける処理手順の概略図である。
【図７】  従来の通信方法の一実施例を示す構成図である。
【図８】  従来のインテリユニットにおける処理手順の概略図である。
【図９】  従来のＣＰＵユニットにおける処理手順の概略図である。
【符号の説明】
1  ＣＰＵユニット、２  インテリユニット、３  システムバス、４  周辺機器、５  ハードウェア情報メモリ、１１  マイクロプロセッサ、１２  データ格納エリア、１３  インテリＮｏ格納エリア、１４  管理インテリＮｏ格納エリア、２１  マイクロプロセッサ、２１  通信ポート、２２データ格納エリア、２２１  宛先エリア、２２２  実データエリア。
【図１】
0003903690.tif 000002
【図２】
0003903690.tif 000003
【図３】
0003903690.tif 000004
【図４】
0003903690.tif 000005
【図５】
0003903690.tif 000006
【図６】
0003903690.tif 000007
【図７】
0003903690.tif 000008
【図８】
0003903690.tif 000009
【図９】
0003903690.tif 000010