(57)【特許請求の範囲】
【請求項１】
１枚の通信モジュールと２枚以上の管理用中央処理モジュールを有し、ローダを介して入力された共通のシステム定義に基づいて動作するプログラマブルコントローラを設け、このプログラマブルコントローラと通信ケーブルを介して接続された相手側プログラマブルコントローラとの間で信号の授受を行うものにおいて、
前記複数の管理用中央処理モジュールは、送信データを自己リソース内のグローバルメモリに書き込んだ後、バスの一斉送信機能を使って通信モジュールに送信し、この通信モジュールは自己リソース内のグローバルメモリに書き込んだ後に、前記複数の管理用中央処理モジュールのデータを１つにまとめて相手側のプログラマブルコントローラの通信モジュールに送信することを特徴としたＰＬＣシステムのデータ通信方式。
【請求項２】
前記複数の管理用中央処理モジュールのうち、第１の管理用中央処理モジュールは、他の管理用中央処理モジュールへの送信データを自己リソースのグローバルメモリに書き込んだ後にバスの一斉送信機能を使って送信し、受信した管理用中央処理モジュールは自己リソースのグローバルメモリに書き込むことを特徴とした請求項１記載のＰＬＣシステムのデータ通信方式。
【請求項３】
前記相手側のプログラマブルコントローラの通信モジュールは、受信したデータを自己プログラマブルコントローラの複数の管理用中央処理モジュールにバスの一斉送信機能を使って送信することを特徴とした請求項１又は２記載のＰＬＣシステムのデータ通信方式。
【請求項４】
前記ローダからのＰＬＣ共通システム定義を前記プログラマブルコントローラに送信し、当該プログラマブルコントローラの第１の管理用中央処理モジュールは、ＰＬＣ共通システム定義を自己リソースのグローバルメモリに書き込んだ後、他の管理用中央処理モジュール及び通信モジュールにバスの一斉送信機能を使って送信することを特徴とした請求項１乃至３記載の何れかであるＰＬＣシステムのデータ通信方式。
【請求項５】
前記当該プログラマブルコントローラの第１の管理用中央処理モジュール、他の管理用中央処理モジュール及び通信モジュールは、グローバルメモリに書き込まれた自己リソースのステータス・ヘルシーカウンタをバスの一斉送信機能を使ってそれぞれ他のリソースに送信し、各リソースはそれぞれ自己リソースのグローバルメモリに書き込み、書き込まれたステータス・ヘルシーカウンタを参照して他のリソースの動作監視を行うことを特徴とした請求項１乃至４記載の何れかであるＰＬＣシステムのデータ通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＬＣシステムのデータ通信方式に係り、特に同一ＰＬＣ内に複数の管理ＣＰＵを有する場合などのデータ通信方式に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラ（以下ＰＬＣという）に２枚以上の管理用中央処理モジュール（ＣＰＵ）を実装し、実装された通信モジュールを介して他のＰＬＣとのデータ交換が行われている。このようなＰＬＣのデータ交換については、言語の国際規格としてＩＥＣ６１１３１−３があり、その国内規格としてＪＩＳＢ３５０３として規格化されている。コンフィグレーションには、ＰＬＣシステム全てのリソースの定義、グローバル変数定義、コンフィグレーション間のアクセスパス定義、タスク及びＰＬＣのリソース割り付け、タスク定義、等ＰＬＣ共通のシステム定義が含まれている。
【０００３】
図７はＪＩＳＢ３５０３に基づくＰＬＣシステムの構成例を示したもので、リソースとしては、電源モジュール、第１の管理ＣＰＵ１モジュール、第２の管理ＣＰＵ２モジュール、及び通信モジュールが実装され、それらは電気的にはバスを介し接続されてＰＬＣを構成している。リソースの実装態様は固定ではなく、例えば、図８のように管理ＣＰＵは1枚とし、通信モジュールを２枚実装してベースボードにパラレルバスを配設する構成のものも存在している。このＰＬＣシステムの場合、ＰＬＣ共通のシステム定義は管理ＣＰＵが全ての情報を保持、管理している。モジュール間のデータ交換は、管理ＣＰＵがパラレルバスのバスマスタとなり、管理ＣＰＵと通信モジュール間で１対１のデータ交換を実行している。
【０００４】
なお、複数のＰＬＣ間データ通信方式としては、特許文献１が公知となっている。この特許文献１のものは、複数のＰＬＣ間を接続する通信手段としてイーサネット（登録商標）を使用し、ＩＰアドレスによるノード管理を不用にしたことが開示されている。
【特許文献１】特開２００１−２４５０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来におけるＰＬＣ内でのモジュール間のデータ交換は、管理ＣＰＵと通信モジュール間での１対１のデータ交換であるため、次のような機能が実現できない問題点を有している。
（１）管理ＣＰＵを介さずに通信モジュール間でのデータ交換ができない。
（２）管理ＣＰＵを図７で示すように複数実装し、実装された複数の管理ＣＰＵが１枚の通信モジュールと同時のデータ交換の実現ができない。
（３）管理ＣＰＵを複数実装して、実装された複数の管理ＣＰＵ間での常時データ交換が実現できない。
（４）管理ＣＰＵを複数実装して、実装された全てのモジュール間で同時にＰＬＣ共通のシステム定義を共有することができない。
【０００６】
なお、特許文献１には、複数のＰＬＣ間でのデータ交換機能は存在しているが、ＰＬＣ内での複数の管理ＣＰＵや通信モジュール間のデータ交換を含む上記（１）〜（４）についての機能についての記載はない。
【０００７】
本発明が目的とするところは、上記した（１）〜（４）を解決したＰＬＣシステムのデータ通信方式を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の請求項１は、１枚の通信モジュールと２枚以上の管理用中央処理モジュールを有し、ローダを介して入力された共通のシステム定義に基づいて動作するプログラマブルコントローラを設け、このプログラマブルコントローラと通信ケーブルを介して接続された相手側プログラマブルコントローラとの間で信号の授受を行うものにおいて、
前記複数の管理用中央処理モジュールは、送信データを自己リソース内のグローバルメモリに書き込んだ後、バスの一斉送信機能を使って通信モジュールに送信し、この通信モジュールは自己リソース内のグローバルメモリに書き込んだ後に、前記複数の管理用中央処理モジュールのデータを１つにまとめて相手側のプログラマブルコントローラの通信モジュールに送信することを特徴としたものである。
【０００９】
本発明の請求項２は、前記複数の管理用中央処理モジュールのうち、第１の管理用中央処理モジュールは、他の管理用中央処理モジュールへの送信データを自己リソースのグローバルメモリに書き込んだ後にバスの一斉送信機能を使って送信し、受信した管理用中央処理モジュールは自己リソースのグローバルメモリに書き込むことを特徴としたものである。
【００１０】
本発明の請求項３は、前記相手側のプログラマブルコントローラの通信モジュールは、受信したデータを自己プログラマブルコントローラの複数の管理用中央処理モジュールにバスの一斉送信機能を使って送信することを特徴としたものである。
【００１１】
本発明の請求項４は、前記ローダからのＰＬＣ共通システム定義を前記プログラマブルコントローラに送信し、当該プログラマブルコントローラの第１の管理用中央処理モジュールは、ＰＬＣ共通システム定義を自己リソースのグローバルメモリに書き込んだ後、他の管理用中央処理モジュール及び通信モジュールにバスの一斉送信機能を使って送信することを特徴としたものである。
【００１２】
本発明の請求項５は、前記当該プログラマブルコントローラの第１の管理用中央処理モジュール、他の管理用中央処理モジュール及び通信モジュールは、グローバルメモリに書き込まれた自己リソースのステータス・ヘルシーカウンタをバスの一斉送信機能を使ってそれぞれ他のリソースに送信し、各リソースはそれぞれ自己リソースのグローバルメモリに書き込み、書き込まれたステータス・ヘルシーカウンタを参照して他のリソースの動作監視を行うことを特徴としたものである。
【発明の効果】
【００１３】
以上のとおり、本発明によれば、ＰＬＣ１の通信モジュールは、自己の仮想グローバルメモリに展開されたＣＰＵ１とＣＰＵ２のデータを１つの送信データにまとめてＰＬＣ２の通信モジュールへ送信することにより、２枚以上の管理ＣＰＵが同時に相手ＰＬＣにデータを送信することができる。
【００１４】
また、ＰＬＣ１のＣＰＵ１とＣＰＵ２のデータを通信モジュールが同時に送信することが可能となったことにより、通信モジュールはＣＰＵ１とＣＰＵ２のそれぞれと同期をとるための複雑なプロトコルやタイミングをとることなく、簡単にデータをまとめてＰＬＣ２に送信することができる。
一方、ＰＬＣ２側からみると、ＰＬＣ１に２枚以上の管理ＣＰＵが実装されていても、受信データはまとめられて１つであるので通信負荷が増大することなく、ＰＬＣ１の複数の管理ＣＰＵと通信を実行することができる。
【００１５】
また、請求項４、５によれば、ＰＬＣ１のＣＰＵ１，ＣＰＵ２，及び通信モジュールは、自己リソースの仮想グローバルメモリ上のＰＬＣ共通システム定義と他リソースのステータス・ヘルシーカウタを参照して、他リソースの動作監視を実現することが可能となる。
また、複数の管理ＣＰＵが実装されていた場合、ローダは１つの管理ＣＰＵにＰＬＣ共通システム定義を送信するだけで、複雑なプロトコルレスで全てのリソースがＰＬＣ共通システム定義を共有できる。
さらに、ローダ上でＰＬＣ共通システム定義が変更された場合、ローダは１つの管理ＣＰＵに変更されたＰＬＣ共通システム定義を送信するだけで、全てのリソースがＰＬＣ共通システム定義の変更を共有することができる。
また、複数リソースが実装されている場合、仮想グローバルメモリのＰＬＣ共通システム定義とリソースのステータス・ヘルシーカウタをお互いのリソースが監視することで、お互いのリソースの異常を検出することが出来る、などの効果を有するものである。
【発明を実施するための最良の形態】
【００１６】
本発明は、１枚の通信モジュールと２枚以上の管理用ＣＰＵを有したＰＬＣにローダを介して共通のシステム定義を入力し、この共通のシステム定義に基づいて動作するＰＬＣを設ける。このＰＬＣと通信ケーブルを介して接続される相手側のＰＬＣとの間で信号の授受を行うとき、複数の管理用ＣＰＵは送信データを自己リソース内のグローバルメモリに書き込みした後に通信モジュールに送信する。この通信モジュールは自己のグローバルメモリに書き込みした後に、前記複数の管理用ＣＰＵからのデータを１つにまとめて相手側のＰＬＣの通信モジュールに送信するようにしたものである。以下実施例に基づき具体的に説明する。
なお、グローバルメモリについては、仮想記憶もしくは仮想メモリ空間の考えに基づくことから仮想グローバルメモリと以下呼称し、また、この仮想グローバルメモリにデータを書き込むことを展開と呼称する。
【実施例１】
【００１７】
図１は、本発明の実施例を示すＰＬＣのモジュールメモリ構成図、図２は本発明が適用されるＰＬＣシステム構成図、図３は各リソースのシリアルバス概略ブロック図、図４はＰＬＣ１のメモリ使用例である。
図２で示すＰＬＣシステムは、ＰＬＣ１とＰＬＣ２を通信ケーブル８で接続した場合を示したもので、それぞれのＰＬＣ１とＰＬＣ２は、リソースとしての電源モジュール１と、２枚の管理用ＣＰＵ（中央処理部）よりなるリソース２及び３と、１枚の通信モジュールよりなるリソース４とで構成され、それぞれのリソースはシリアルバス５によって接続されている。６はローダでパソコンが使用される。７は通信ケーブルで、ローダ６とＰＬＣ１間のデータ授受はこの通信ケーブル７を介して実行される。
【００１８】
図３で示す各リソースのシリアルバス概略ブロック図において、１０はＣＰＵ、１１〜１３はメモリで、その内のローカルＲＡＭ１１は仮想グローバルメモリとして使用される。１２はデータメモリ、１３は書き換え可能なメモリとなっている。１４はメモリエリア（ＤＰＭ）で、各リソースはシリアルバス５から受信したデータを展開するための受信用ＲＸと、メモリエリアからシリアルバス５へ送信する送信用ＴＸとを有している。１５は演算部、１６はバス制御部、１７は受信部、１８は送信部である。
【００１９】
各リソースは、演算部１５を介してメモリエリア１４の受信用ＲＸに展開された受信データを、ＰＬＣ共通システム定義を参照して仮想グローバルメモリ１１に展開する。また、各リソースは、ＰＬＣ共通システム定義を参照して仮想グローバルメモリ１１上の送信データをメモリエリア１４の送信用ＴＸにセットする。ＰＬＣはベースボードのバスとしてシリアルバス５が採用されており、自己のリソースから他の全てのリソースに対してデータを一斉送信する機能となっている。
【００２０】
ローダ６からＰＬＣ共通システム定義（コンフィグレーション）を受信したリソースは、自リソースの実メモリの仮想グローバルメモリ１１にＰＬＣ共通システム定義を展開した後、他の全リソースに対してＰＬＣ共通システム定義を送信する。その際、自リソースの実メモリの仮想グローバルメモリ空間の指定アドレスにデータを展開した後に、他の全リソースに対してＰＬＣ共通システム定義を送信する。他の全リソースは、送信されたデータを受信したら、ＰＬＣ共通システム定義にしたがって実メモリの仮想グローバルメモリ空間の指定アドレスにデータを展開する。
【００２１】
図１はＰＬＣ内のメモリ構成とデータの流れを示したものである。２０、３０，４０はリソース２〜４に対応した仮想グローバルメモリ（図３の仮想グローバルメモリ１１）で、２０はＣＰＵ１用の仮想グローバルメモリ、３０はＣＰＵ２用の仮想グローバルメモリ、４０は通信モジュール４用の仮想グローバルメモリで、これら各リソースの仮想グローバルメモリは、各リソース共通のメモリ空間として仮想グローバルメモリが定義され、リソース間のデータ交換が次のようにステップＳに基づいて実行される。
【００２２】
（１）ＣＰＵの送信データの仮想グローバルメモリへの展開
Ｓ１：ローダ６からＰＬＣ共通システム定義を受信したＰＬＣ１のリソース２（ＣＰＵ１）は、ＰＬＣ２への送信データを仮想グローバルメモリ２０に展開する。Ｓ２：ＰＬＣ１のリソース３（ＣＰＵ２）は、ＰＬＣ２への送信データを仮想グローバルメモリ３０に展開する
（２）ＣＰＵの送信データの通信モジュールへの送信
Ｓ３：ＰＬＣ１のＣＰＵ１は、送信データをバスの一斉送信機能を使ってＰＬＣ１の通信モジュール（リソース４）へ送信する。
Ｓ４：ＰＬＣ１のＣＰＵ２は、送信データをバスの一斉送信機能を使ってＰＬＣ１の通信モジュール（リソース４）へ送信する。
【００２３】
（３）通信モジュールのデータ受信
Ｓ５：ＰＬＣ１の通信モジュールは、ＣＰＵ１から送信されたデータを受信して仮想グローバルメモリ４０に展開する。
Ｓ６：ＰＬＣ１の通信モジュールは、ＣＰＵ２から送信されたデータを受信して仮想グローバルメモリ４０に展開する。
【００２４】
（４）通信モジュールのＰＬＣ２へのデータ送信
Ｓ７：ＰＬＣ１の通信モジュールは、仮想グローバルメモリ４０に展開されたＣＰＵ１とＣＰＵ２のデータを１つの送信データにまとめてＰＬＣ２へ送信する。
【００２５】
（５）通信モジュールの仮想グローバルメモリへの展開
Ｓ８：ＰＬＣ２の通信モジュールは、ＰＬＣ１の通信モジュールからの受信データを自己の仮想クローバルメモリ４０に展開する。
【００２６】
（６）通信モジュールのＣＰＵへのデータ送信
Ｓ９：ＰＬＣ２の通信モジュールは、ＰＬＣ１の通信モジュールからの受信データを自己のＣＰＵ１とＣＰＵ２に一斉送信機能を使って送信する。
【００２７】
（７）ＣＰＵの受信データの仮想グローバルメモリへの展開
Ｓ１０：ＰＬＣ２のＣＰＵ１は、ＰＬＣ２の通信モジュールから受信したデータを自己の仮想グローバルメモリ２０に展開する。
Ｓ１１：ＰＬＣ２のＣＰＵ２は、ＰＬＣ２の通信モジュールから受信したデータを自己の仮想グローバルメモリ３０に展開する。
【００２８】
（８）ＣＰＵの仮想クローバルメモリからデータメモリへの展開
Ｓ１２：ＰＬＣ２のＣＰＵ１は、ＰＬＣ２の通信モジュールから受信して仮想グローバルメモリに展開したデータを自己のデータメモリ２１に展開する。
Ｓ１３：ＰＬＣ２のＣＰＵ２は、ＰＬＣ２の通信モジュールから受信して仮想グローバルメモリに展開したデータを自己のデータメモリ３１に展開する。
【００２９】
この実施例によれば、ＰＬＣ１のＣＰＵ１とＣＰＵ２は、送信データを自己のリソース内仮想グローバルメモリに展開して通信モジュールへ送信する。ＰＬＣ１の通信モジュールは、ＣＰＵ１とＣＰＵ２から送信されたデータを受信し、自己のリソース内仮想グローバルメモリに展開する。ＰＬＣ１の通信モジュールは、自己の仮想グローバルメモリに展開されたＣＰＵ１とＣＰＵ２のデータを１つの送信データにまとめてＰＬＣ２の通信モジュールへ送信する。これにより、２枚以上の管理ＣＰＵが同時に相手ＰＬＣにデータを送信することができる。
【００３０】
また、ＰＬＣ１のＣＰＵ１とＣＰＵ２のデータを通信モジュールが同時に送信することが可能になる。これにより、通信モジュールはＣＰＵ１とＣＰＵ２のそれぞれと同期をとるための複雑なプロトコルやタイミングをとることなく、簡単にデータをまとめてＰＬＣ２に送信することができる。
一方、ＰＬＣ２側からみると、ＰＬＣ１に２枚以上の管理ＣＰＵが実装されていても、受信データはまとめられて１つであるので通信負荷が増大することなく、ＰＬＣ１の複数の管理ＣＰＵと通信を実行することができる。
【実施例２】
【００３１】
図５は、ＰＬＣ１のメモリ使用例を示した本発明の他の実施例である。この実施例の場合も管理ＣＰＵを２枚以上実装し、複数の管理ＣＰＵ間でデータ交換を可能としたものである。なお、ＰＬＣ１のメモリ使用例以外のハード構成などは同一であるので、その説明は省略する。以下、図５に基づいてＰＬＣ１のメモリ使用についての動作を説明する。
【００３２】
（１０）ＣＰＵの送信データの仮想グローバルメモリへの展開
Ｓ２０：ＰＬＣ１のＣＰＵ１は、ＰＬＣ１のＣＰＵ２への送信データを仮想グローバルメモリ２０に展開する。
Ｓ２１：ＰＬＣ１のＣＰＵ２は、ＰＬＣ１のＣＰＵ１への送信データを仮想グローバルメモリ３０に展開する。
【００３３】
（１１）ＣＰＵの送信データの送信
Ｓ２２：ＰＬＣ１のＣＰＵ１は、送信データをバスの一斉送信機能を使ってＰＬＣ１のＣＰＵ２へ送信する。
Ｓ２３：ＰＬＣ１のＣＰＵ２は、送信データをバスの一斉送信機能を使ってＰＬＣ１のＣＰＵ１へ送信する。
【００３４】
（１２）受信データの仮想グローバルメモリへの展開
Ｓ２４：ＰＬＣ１のＣＰＵ１は、ＣＰＵ２から送信されたデータを受信して仮想グローバルメモリ２０に展開する。
Ｓ２５：ＰＬＣ１のＣＰＵ２は、ＣＰＵ１から送信されたデータを受信して仮想グローバルメモリ３０に展開する。
【００３５】
（１３）仮想グローバルメモリからデータメモリへの展開
Ｓ２６：ＰＬＣ１のＣＰＵ１は、ＰＬＣ１のＣＰＵ２から受信して仮想グローバルメモリ２０に展開したデータをデータメモリ２１に展開する。
Ｓ２７：ＰＬＣ１のＣＰＵ２は、ＰＬＣ１のＣＰＵ１から受信して仮想グローバルメモリ３０に展開したデータをデータメモリ３１に展開する。
【００３６】
この実施例によれば、ＰＬＣ１のＣＰＵ１は、ＰＬＣ１のＣＰＵ２への送信データを自己のリソース内仮想グローバルメモリに展開し、ＰＬＣ１のＣＰＵ１は送信データをバスの一斉送信機能を使ってＰＬＣ１のＣＰＵ２へ送信する。ＰＬＣ１のＣＰＵ２は、ＰＬＣ１のＣＰＵ１からのデータを受信し、自己のリソース内仮想グローバルメモリに展開し、この展開データをデータメモリに展開する。
これにより、管理ＣＰＵを複数実装した場合でも、複雑なプロトコルやタイミングをとることなく、簡単に複数の管理ＣＰＵ間でのデータ交換が実現できる。
【００３７】
なお、この実施例では、受信したデータを仮想グローバルメモリに展開するが、データメモリには展開しないことも可能である。その場合、アプリケーションで実際に使っているエリアだけをデータメモリに展開することになり、メモリの有効活用が可能となる。
【実施例３】
【００３８】
図６はＰＬＣ１のメモリ使用例を示す実施例で、ＰＬＣの各リソース間でＰＬＣ共通のシステム定義（ＩＥＣ６１１３１−３、またはＪＩＳＢ３５０３のコンフィグレーション）を共有する場合を示し、その動作は次のように行われる。
【００３９】
（２０）ローダ６からのＰＬＣ共通システム定義の送信
Ｓ３０：ローダ６からＰＬＣ共通システム定義をＰＬＣ１のＣＰＵ１へ送信する。
【００４０】
（２１）ＰＬＣ共通システム定義の仮想グローバルメモリへの展開
Ｓ３１：ＰＬＣ１のＣＰＵ１はローダから受信したＰＬＣシステム定義を仮想グローバルメモリ２０に展開する。
【００４１】
（２２）ＣＰＵ１のＰＬＣ共通システム定義の送信
Ｓ３２：ＰＬＣ１のＣＰＵ１は、ＰＬＣ共通システム定義をバス一斉送信機能を使ってＰＬＣ１のＣＰＵ２と通信モジュール（リソース４）へ送信する。
【００４２】
（２３）ＰＬＣ共通システム定義のデータ受信
Ｓ３３：ＰＬＣ１のＣＰＵ２は、ＣＰＵ１から送信されたＰＬＣ共通システム定義を受信して仮想グローバルメモリ３０に展開する。
Ｓ３４：ＰＬＣ１の通信モジュールは、ＣＰＵ１から送信されたＰＬＣ共通システム定義を受信して自己の仮想グローバルメモリ４０に展開する。
【００４３】
（２４）各リソースのステータス・ヘルシーカウタ送信
Ｓ３５：ＰＬＣ１のＣＰＵ１は、自己リソース２のステータス及びヘルシーカウタを仮想グローバルメモリ２０に展開する。
Ｓ３６：ＰＬＣ１のＣＰＵ２は、自己リソース３のステータス及びヘルシーカウタを仮想グローバルメモリ３０に展開する。
Ｓ３７：ＰＬＣ１の通信モジュールは、自己リソース４のステータス及びヘルシーカウタを仮想グローバルメモリ４０に展開する。
【００４４】
（２５）ＰＬＣシステム監視
Ｓ３８：ＰＬＣ１のＣＰＵ１は、仮想グローバルメモリ２０のＰＬＣ共通システム定義とＣＰＵ２ステータス・ヘルシーカウタと、通信モジュールステータス・ヘルシーカウタの監視を行い、ＣＰＵ２と通信モジユールの動作監視を実施する。
Ｓ３９：ＰＬＣ１のＣＰＵ２は、仮想グローバルメモリ３０のＰＬＣ共通システム定義とＣＰＵ１ステータス・ヘルシーカウタと、通信モジュールステータス・ヘルシーカウタの監視を行い、ＣＰＵ１と通信モジユールの動作監視を実施する。
Ｓ４０：ＰＬＣ１の通信モジュールは、仮想グローバルメモリ４０のＰＬＣ共通システム定義とＣＰＵ１ステータス・ヘルシーカウタと、ＣＰＵ２ステータス・ヘルシーカウタの監視を行い、ＣＰＵ１とＣＰＵ２の動作監視を実施する。
【００４５】
以上のように、この実施例は、ローダからＰＬＣ共通システム定義をＰＬＣ１のＣＰＵ１へ送信する。ＰＬＣ１のＣＰＵ１は、ローダから受信したＰＬＣ共通システム定義を自己リソースの仮想グローバルメモリに展開する。ＰＬＣ１のＣＰＵ１は、ＰＬＣ共通システム定義をバス一斉送信機能を使用してＰＬＣ１のＣＰＵ２と通信モジュールへ送信する。ＰＬＣ１のＣＰＵ２と通信モジュールは、ＣＰＵ１から送信されたＰＬＣ共通システム定義を受信して自己リソースの仮想グローバルメモリに展開する。ＰＬＣ１のＣＰＵ１，ＣＰＵ２，及び通信モジュールは、自己リソースの仮想グローバルメモリに、自己のリソースのステータス・ヘルシーカウタを展開する。ＰＬＣ１のＣＰＵ１，ＣＰＵ２，及び通信モジュールは、自己のリソースのステータス・ヘルシーカウタをバス一斉送信機能を使用して他リソースへ送信する。ＰＬＣ１のＣＰＵ１，ＣＰＵ２，及び通信モジュールは、受信した他リソースのステータス・ヘルシーカウタを自己リソースの仮想グローバルメモリに展開する。
【００４６】
したがって、この実施例によれば、ＰＬＣ１のＣＰＵ１，ＣＰＵ２，及び通信モジュールは、自己リソースの仮想グローバルメモリ上のＰＬＣ共通システム定義と他リソースのステータス・ヘルシーカウタを参照して、他リソースの動作監視を実現することが可能となる。
また、複数の管理ＣＰＵが実装されていた場合、ローダは１つの管理ＣＰＵにＰＬＣ共通システム定義を送信するだけで、複雑なプロトコルレスで全てのリソースがＰＬＣ共通システム定義を共有できる。
さらに、ローダ上でＰＬＣ共通システム定義が変更された場合、ローダは１つの管理ＣＰＵに変更されたＰＬＣ共通システム定義を送信するだけで、全てのリソースがＰＬＣ共通システム定義の変更を共有することができる。
また、複数リソースが実装されている場合、仮想グローバルメモリのＰＬＣ共通システム定義とリソースのステータス・ヘルシーカウタをお互いのリソースが監視することで、お互いのリソースの異常を検出することが出来る、などの効果を有するものである。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態を示すＰＬＣモジュールのメモリ構成図。
【図２】本発明が使用されるＰＬＣのシステム構成図。
【図３】各リソースのシリアルバスの概略構成図。
【図４】ＰＬＣのメモリ使用説明図。
【図５】他のＰＬＣのメモリ使用説明図。
【図６】他のＰＬＣのメモリ使用説明図。
【図７】ＪＩＳＢ３５０３のＰＬＣシステム構成図。
【図８】ＰＬＣシステム構成図。
【符号の説明】
【００４８】
１〜４…  リソース
５…  シリアルバス
６…  ローダ
７、８…  通信ケーブル
ＰＬＣ…  プログラマブルコントローラ
１１〜１３…  メモリ
１４…  メモリエリア
１５…  演算部
１６…  バス制御部
１７…  受信部
１８…  送信部
【図１】
0004867818.tif 000002
【図２】
0004867818.tif 000003
【図３】
0004867818.tif 000004
【図４】
0004867818.tif 000005
【図５】
0004867818.tif 000006
【図６】
0004867818.tif 000007
【図７】
0004867818.tif 000008
【図８】
0004867818.tif 000009