(57)【要約】【課題】プログラマブルコントローラが多重化されたシステムにおいて、各対象タスクが使用しているデータメモリのエリアを効率よく等価する。【解決手段】ＣＰＵモジュール５を複数有するプログラマブルコントローラのデータ等価の制御にあたり、ＣＰＵモジュール５ａ（または５ｂ）の制御部５２が対象タスクの実行命令をＣＰＵモジュール５ａ（または５ｂ）のタスク演算部５１に通知する。このタスク演算部５１が前記対象タスクの演算を終了させると演算終了を制御部５２に割り込み通知する。次いで、制御部５２が前記タスクの演算終了の通知を受けるとタスク演算部５１は前記タスクが使用しているデータメモリの等価を実行する。【選択図】図１
2009093392.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサモジュールを複数有するプログラマブルコントローラのデータ等価の制御方法であって、
前記プロセッサモジュールの制御部が対象タスクの実行命令を前記プロセッサモジュールのタスク演算部に通知し、このタスク演算部が前記対象タスクの演算を終了させると演算終了を前記制御部に割り込み通知する工程と、
前記制御部が前記タスクの演算終了の通知を受けると前記プロセッサモジュールは前記タスクが使用しているデータメモリの等価を実行する工程と
を有すること
を特徴とするデータ等価の制御方法。
【請求項２】
前記対象タスクの数は８以下に規定されたことを特徴とする請求項１に記載のデータ等価の制御方法。
【請求項３】
各対象タスクが使用しているデータメモリのマップ情報が端末によって作成された後に、前記マップ情報が前記端末から前記プロセッサモジュールに供され、このプロセッサモジュールは前記マップ情報を利用して対象タスクが使用しているエリアのみのデータ等価を実行すること
を特徴とする請求項１または２に記載のデータ等価の制御方法。
【請求項４】
前記タスクの演算終了後、前記タスクが使用しているデータメモリのマップ情報ファイルに基づきデータ等価を各タスク周期の５％の時間帯以内で実行することを特徴とする請求項３に記載のデータ等価の制御方法。
【請求項５】
プロセッサモジュールを複数有するプログラマブルコントローラと、
このプログラマブルコントローラと通信可能である端末と
を有し、
前記プロセッサモジュールは
対象タスクを実行するタスク演算部と
この演算部を制御する制御部と
を備え、
前記制御部が対象タスクの実行命令を前記プロセッサモジュールのタスク演算部に通知し、このタスク演算部が前記対象タスクの演算を終了させると演算終了を前記制御部に割り込み通知し、前記制御部が前記タスクの演算終了の通知を受けると前記プロセッサモジュールは前記タスクが使用しているデータメモリの等価を実行し、
前記端末は各対象タスクが使用しているデータメモリのマップ情報を作成した後にこのマップ情報を前記データメモリの等価を実行するプロセッサモジュールに供すること
を特徴とするデータ等価の制御システム。
【請求項６】
プロセッサモジュールを複数有し、
前記プロセッサモジュールは
対象タスクを実行するタスク演算部と
この演算部を制御する制御部と
を備え、
前記制御部が対象タスクの実行命令を前記タスク演算部に通知し、このタスク演算部が前記対象タスクの演算を終了させると演算終了を前記制御部に割り込み通知し、前記制御部が前記タスクの演算終了の通知を受けると前記プロセッサモジュールは前記タスクが使用しているデータメモリの等価を実行すること
を特徴とするプログラマブルコントローラ。
【請求項７】
単一のベースボードに前記複数のプロセッサモジュールが互いに伝送可能に実装されたことを特徴とする請求項６に記載のプログラマブルコントローラ。
【請求項８】
前記複数のプロセッサモジュールが個々に単一のベースボードに実装され、個々の前記ベースボードのプロセッサモジュールは他の前記ベースボードのプロセッサモジュールと互いに伝送可能であることを特徴とする請求項６に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はプログラマブルコントローラが多重化されたシステムのデータ等価技術に関する。
【背景技術】
【０００２】
図５は従来技術に係るプログラマブルコントローラが多重化されたシステムの一例としてプログラマブルコントローラを二つ有するシステムの構成例である。図６は前記プログラマブルコントローラのプロセッサモジュール（以下、ＣＰＵモジュールと称す）の一例を示した概略構成図である。
【０００３】
図５に例示されたベースボード１１ａ，１１ｂ備えたタイプのプログラマブルコントローラ１０の二重化システム（以下、ＰＬＣ二重化システムと称す）ではベースボード１１ａにＣＰＵモジュール１２ａが実装されている。また、ベースボード１２ａには二重化システムの処理を実現させる二重化インターフェースモジュール１３ａの他に通信インターフェースモジュール１４ａが実装されている。尚、以上のモジュールはベースボード１１ａに設けられたバス１５ａに接続されている。同様に、ベースボード１１ｂのバス１５ｂにはＣＰＵモジュール１２ｂ、二重化インターフェースモジュール１３ｂ、通信インターフェースモジュール１４ｂが接続されている。
【０００４】
ＣＰＵモジュール１２ａ，１２ｂの構成は図６に例示されたものがある。タスクの演算はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）からなるタスク演算部２１によって実行され、ＰＬＣ二重化システムのデータ等価はマイコン（マイクロコンピュータ）からなる制御部２２によって実行される。演算のアプリケーションプログラムはプログラムメモリＰＭに格納され、演算で使用するデータはデータメモリＤＭに格納される。プログラマブルコントローラ１０の二重化機能はＣＰＵモジュール１２ａとＣＰＵモジュール１２ｂとがＥｔｈｅｒｎｅｔ（登録商標）に準拠した二重化ケーブル１６を介して接続されることで実現する。
【０００５】
ＣＰＵモジュール１２ａ，ＣＰＵモジュール１２ｂの演算のアプリケーションプログラムやメモリ構成はＣＰＵモジュール１２ａとＣＰＵモジュール１２ｂで全く同じ内容で動作する。そして、ＰＬＣ二重化システムのデータ等価は例えばＣＰＵモジュール１２ａが等価データを編集してそのデータを二重化インターフェースモジュール１３ａに供して実行される（特許文献１等参照）。尚、演算で更新されたデータメモリのデータと二重化インターフェースモジュールによってデータ等価されるエリアは同時性がなくまた同期もとれていない。
【特許文献１】特開平９−２５８９９６号公報（段落００１５〜００１９）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記ＰＬＣ二重化システムでは演算の実行とデータ等価は同時性がなくまた同期もとれてない。演算の実行はタスク毎の周期により実行され、ＰＣＬ二重化システムのデータ等価は図７に示されたように演算を実行していないアイドル状態の時に実行されている。
【０００７】
また、図７に示されたようにＰＬＣ二重化システムのデータ等価を実行しているアイドル状態はタスク毎の周期により時間が可変である。このためＰＬＣ二重化システムのデータ等価はアイドル状態の一番短い時間を計算して、その時間内で可能な限りのデータ等価を実施するようになっている。演算の実行は、制御部２２がタスク周期をカウントして、タスク演算部２１に対象タスクの実行を依頼して、タスク演算部２１がタスクを実行していたが、終了通知を制御部２２に行っていない。また、従来は最大タスク数が１６〜３２などであり、タスク数毎に終了通知の割り込みを実施すると、割り込みが頻繁に発生して、制御部２２にも負荷がかかる。
【０００８】
また、タスク演算の実行は図７に示されたスケジュールのようにタスク毎に設定された周期で実施される。図８は前記スケジュールの時間帯Ｔ１での等価のタイミングを例示する（時間軸ｔの進行方向は下方）。ここではＣＰＵモジュール１２ａの制御部２２がタスク演算部２１にタスク３１、タスク３２、タスク３３への演算要求を順次行う。そして、全てのタスクの演算が終了すると、ＣＰＵモジュール１２ａの制御部２２はタスク３１〜３３を纏めてＣＰＵモジュール１２ｂの制御部２２に送信してデータ等価に反映させる。
【０００９】
しかしながら、前記ＰＬＣ二重化システムのデータ等価は図７及び図８に示されたようにアイドル状態時に全てのタスクが使用しているエリアのデータ等価を順番に行うようにしているので、演算が実行されているエリアのデータ等価が効率的に行われていない。
【課題を解決するための手段】
【００１０】
そこで、前記課題を解決するためのデータ等価の制御方法は、プロセッサモジュールを複数有するプログラマブルコントローラのデータ等価の制御方法であって、前記プロセッサモジュールの制御部が対象タスクの実行命令を前記プロセッサモジュールのタスク演算部に通知し、このタスク演算部が前記対象タスクの演算を終了させると演算終了を前記制御部に割り込み通知する工程と、前記制御部が前記タスクの演算終了の通知を受けると前記プロセッサモジュールは前記タスクが使用しているデータメモリの等価を実行する工程とを有する。
【００１１】
前記課題を解決するためのデータ等価の制御システムは、プロセッサモジュールを複数有するプログラマブルコントローラとこのプログラマブルコントローラと通信可能である端末を有し、前記プロセッサモジュールは対象タスクを実行するタスク演算部とこの演算部を制御する制御部を備え、前記制御部が対象タスクの実行命令を前記プロセッサモジュールのタスク演算部に通知し、このタスク演算部が前記対象タスクの演算を終了させると演算終了を前記制御部に割り込み通知し、前記制御部が前記タスクの演算終了の通知を受けると前記プロセッサモジュールは前記タスクが使用しているデータメモリの等価を実行し、前記端末は各対象タスクが使用しているデータメモリのマップ情報を作成した後にこのマップ情報を前記データメモリの等価を実行するプロセッサモジュールに供する。
【００１２】
前記課題を解決するためのプログラマブルコントローラは、プロセッサモジュールを複数有し、前記プロセッサモジュールは対象タスクを実行するタスク演算部とこの演算部を制御する制御部を備え、前記制御部が対象タスクの実行命令を前記タスク演算部に通知し、このタスク演算部が前記対象タスクの演算を終了させると演算終了を前記制御部に割り込み通知し、前記制御部が前記タスクの演算終了の通知を受けると前記プロセッサモジュールは前記タスクが使用しているデータメモリの等価を実行する。
【００１３】
以上のデータ等価の制御方法とそのシステム及びプログラマブルコントローラによると、前記プログラマブルコントローラの多重化において、前記制御部は前記タスク演算部からタスク演算完了のトリガを受けて演算タイミングに同期したデータの等価を実現させる。
【００１４】
前記データ等価の制御方法とそのシステム及びプログラマブルコントローラにおいて、前記対象タスクの数は８以下に規定するとよい。タスク演算部から制御部へのタスク毎の演算終了の頻繁な割り込み発生が抑制される。したがって、制御部への負担が軽減される。
【００１５】
前記データ等価の制御方法とそのシステム及びプログラマブルコントローラにおいて、各対象タスクが使用しているデータメモリのマップ情報が端末によって作成された後に、前記マップ情報が前記端末から前記プロセッサモジュールに供され、このプロセッサモジュールは前記マップ情報を利用して対象タスクが使用しているエリアのみのデータ等価を実行するようにするとよい。各タスクが使用しているデータメモリのエリアだけが演算終了後にデータ等価されて、使用されていないエリアが等価されることがなくなり、効率的なデータ等価が実現する。
【００１６】
前記データ等価の制御方法とそのシステム及びプログラマブルコントローラにおいて、前記タスクの演算終了後、前記タスクが使用しているデータメモリのマップ情報ファイルに基づきデータ等価を各タスク周期の５％の時間帯以内で実行するようにするとよい。各対象タスクの演算実行とデータ等価が一体的に処理される。演算実行時間と多重化等価時間との加算により算出された時間は二重化システムのタスク時間として利用するとよい。プログラマブルコントローラの多重化機能の処理時間が明らかとなり、多重化されたプログラマブルコントローラの全体スケジューリングを明確にすることができる。
【００１７】
前記プログラマブルコントローラの多重化の態様としては、単一のベースボードに前記複数のプロセッサモジュールが互いに伝送可能に実装されたプログラマブルコントローラが挙げられる。または、前記複数のプロセッサモジュールが個々に単一のベースボードに実装され、個々の前記ベースボードのプロセッサモジュールは他の前記ベースボードのプロセッサモジュールと互いに伝送可能であるプログラマブルコントローラが挙げられる。
【発明の効果】
【００１８】
したがって、以上の発明によれば、プログラマブルコントローラが多重化されたシステムにおいて、各対象タスクが使用しているデータメモリのエリアだけが効率よく等価される。特に、対象タスクの最大数が規定されるとプログラマブルコントローラに実装されたプロセッサモジュールの制御部の負担が軽減する。
【発明を実施するための最良の形態】
【００１９】
発明の実施形態に係るプログラマブルコントローラの多重化システムの一例としてプログラマブルコントローラの二重化システム（以下、ＰＬＣ二重化システムと称す）における演算実行とデータ等価を制御する方法について説明する。
【００２０】
図１は発明の実施形態に係るＰＬＣ二重化システムのプロセッサモジュール（以下、ＣＰＵモジュールと称す）の概略構成図である。図２（ａ）は発明の第一の実施形態に係るプログラマブルコントローラ及びＰＬＣ二重化システムの概略構成図であり、図２（ｂ）は発明の第二の実施形態に係るプログラマブルコントローラの概略構成図である。
【００２１】
（１）構成
図２（ａ）に示されたＰＬＣ二重化システム１はプログラムコンコントローラ２と端末３からなる。プログラムコントローラ２はベースボード４ａ，４ｂを備える。ベースボード４ａには少なくともＣＰＵモジュール５ａの他に通信インターフェースモジュール６ａが実装されている。ＣＰＵモジュール５ａ及び通信インターフェースモジュール６ａはバス７ａに接続されている。同様にベースボード４ｂには少なくともＣＰＵモジュール５ｂの他に通信インターフェースモジュール６ｂが実装されている。ＣＰＵモジュール５ｂ及び通信インターフェースモジュール６ｂはバス７ｂに接続されている。ＣＰＵモジュール５ａ，５ｂ間はＬＡＮの規格に準拠した二重化ケーブル８によって連絡されている。ＣＰＵモジュール５ａ，５ｂは同一アプリケーションプログラムと同一メモリ構成で動作する。また、ＣＰＵモジュール５ａにはＰＡＤＴ（プログラミングアンドデバッグツール）の機能を有した端末３が接続されている。
【００２２】
図２（ｂ）に例示されたプログラマブルコントローラ９は単一のベースボード４にＣＰＵモジュール５ａ，５ｂが実装されたタイプである。ベースボード４は通信インターフェースモジュール６を実装している。ＣＰＵモジュール５ａ，５ｂ及び通信インターフェースモジュール６はバス７に接続されている。ＣＰＵモジュール５ａ，５ｂ間は二重化ケーブル８によって連絡されている。ＣＰＵモジュール５ａ，５ｂは同一アプリケーションプログラムと同一メモリ構成で動作する。尚、図示省略されているがＣＰＵモジュール５ａ（または５ｂ）には二重化システム１と同様にＰＡＤＴの機能を有した端末が適宜接続される。
【００２３】
ＣＰＵモジュール５ａ，５ｂは図１に例示したように対象タスクを実行するタスク演算部５１とこれを制御する制御部５２を備える。ＣＰＵモジュール５ａ，５ｂにはＳＤＲＡＭ、フラッシュメモリ、ＳＲＡＭ等の各種の内部メモリが実装されている。
【００２４】
タスク演算部５１は対象タスクを実行する。タスク演算部５１はＡＳＩＣから構成される。対象タスクの演算で使用されるアプリケーションプログラムはプログラムメモリＰＭに格納されている。一方、前記演算に使用されるデータはデータメモリＤＭに格納されている。プログラムメモリＰＭ及びデータメモリＤＭはＳＲＡＭから構成されている。
【００２５】
タスク演算部５１は演算部５３とローカルＩ／Ｏレジスタ５４を備える。演算部５３はデータメモリＤＭからデータを引き出せるようになっている。また、演算部５３はローカルＣＰＵバス５５を介して制御部５２、ＳＤＲＡＭ及びフラッシュメモリ５６と連絡可能となっている。ローカルＩ／Ｏレジスタ５４はデータメモリＤＭと演算部５３及びローカルＣＰＵバス５５との間のデータ伝送を中継する。尚、ローカルＣＰＵバス５５には制御部５２、ＳＤＲＡＭ及びフラッシュメモリ５６が接続されている。
【００２６】
また、タスク演算部５１はタスクの演算が終了したとき、制御部５２にタスク毎の演算終了を割り込みにて通知する。タスク演算部５１は最大タスク数が８タスクに設定されており、タスク演算部５１から制御部５２へのタスク毎の演算終了の割り込みが頻繁に発生しない仕様となっている。
【００２７】
制御部５２はタスク演算部５１を制御する。制御部５２はマイコンから構成される。特に制御部５２はタスク毎の演算実行をタスク演算部５１に依頼して対象タスクの演算の開始と終了を認識できるようになっている。また、制御部５２はタスク周期をカウントしてタスク演算部５１に対象タスクの演算実行を依頼する。
【００２８】
ＣＰＵモジュール５の多重化（本実施形態では二重化）はＣＰＵモジュール５同士がＥｔｈｅｒｎｅｔ（登録商標）に例示されるＬＡＮの規格に準拠した伝送路（二重化ケーブル８）で連絡することで実現する。
【００２９】
（２）ＰＡＤＴの機能を有する端末によるマップ情報の作成と送信
図２に例示された二重化システム１ではプログラマブルコントローラ２に接続された端末３は各タスクが使用しているＤＭ（データメモリ）のマップ情報を作成して、このマップ情報ファイルをデータの等価を実行するＣＰＵモジュール５ａ（または５ｂ）に送信する。ＣＰＵモジュール５ａ（または５ｂ）はフラッシュメモリにそのマップ情報ファイルを保存する。
【００３０】
（３）二重化システムの等価スケジューリング
例えば二重化システム１では図３に例示したスケジュールで等価が実行される。すなわち、各タスク（タスク６１、タスク６２、タスク６３）の演算終了後に各タスクが使用しているデータメモリのデータの等価が実行される。
【００３１】
また、各タスクが使用しているデータメモリのエリアのデータ等価が実行される際にはＣＰＵモジュール５ａ（または５ｂ）のフラッシュメモリに保存されたデータメモリのマップ情報ファイルが利用される。これにより各タスクが使用しているデータメモリのエリアだけが、演算終了後にデータ等価されて、使用されていないエリアが等価されることが無くなり、効率的なデータ等価が実現できる。尚、図２（ｂ）に示されたプログラマブルコントローラ９でも以下の説明と同様に等価が実行される。
【００３２】
そして、ＰＬＣ二重化システム１では各タスクの演算終了後、各タスクのデータメモリのマップ情報に基づいて各タスクの５％の時間以内でデータの等価を実行される。さらに、各タスクのタスク時間は演算実行時間と二重化等価時間との加算により算出される。タスクと二重化のスケジューリングが明らかとなり、二重化されたプログラマブルコントローラ全体のスケジューリングが明確となる。
【００３３】
図４は前記スケジュールにおいてタスク６１、タスク６２、タスク６３の演算が実行される時間帯Ｔ２で実行されるタイミングを例示する（時間軸ｔの進行方向は下方）。
【００３４】
例えばＣＰＵモジュール５ａの制御部５２がタスク演算部５１にタスク６１への演算要求を行う。タスク演算部５１はタスク６１の演算を終了すると、制御部５２に演算終了を通知する。この演算終了の通知を受けた制御部５２は二重化ケーブル８を介してタスク６１分をＣＰＵモジュール５ｂの制御部５２に送信してデータ等価に反映させる。
【００３５】
次に、ＣＰＵモジュール５ａの制御部５２がタスク演算部５１にタスク６２への演算要求を行う。タスク演算部５１はタスク６２の演算を終了すると、制御部５２に演算終了を通知する。この演算終了の通知を受けた制御部５２は二重化ケーブル８を介してタスク６２分をＣＰＵモジュール５ｂの制御部５２に送信してデータ等価に反映させる。
【００３６】
次に、ＣＰＵモジュール５ａの制御部５２がタスク演算部５１にタスク６３への演算要求を行う。タスク演算部５１はタスク６３の演算を終了すると、制御部５２に演算終了を通知する。この演算終了の通知を受けた制御部５２は二重化ケーブル８を介してタスク６３分をＣＰＵモジュール５ｂの制御部５２に送信してデータ等価に反映させる。
【００３７】
以上説明した実施形態は二つのプロセッサモジュールを含むシステムのデータ等価の制御方法に基づくものであるが、発明に係るデータ等価の制御方法は三つ以上のプロセッサモジュールを含むシステムにおいても適用できる。
【図面の簡単な説明】
【００３８】
【図１】発明の実施形態に係るプログラマブルコントローラ多重化システムのプロセッサモジュールの概略構成図。
【図２】（ａ）発明の第一の実施形態に係るプログラマブルコントローラとその二重化システムの概略構成図，（ｂ）発明の第二の実施形態に係るプログラマブルコントローラの概略構成図。
【図３】発明の実施形態に係るプログラマブルコントローラ二重化システムの二重化等価スケジュール。
【図４】発明の実施形態に係るプログラマブルコントローラ二重化システムの等価タイミング。
【図５】従来技術に係るプログラマブルコントローラが二重化されたシステムの構成例。
【図６】従来技術に係るプログラマブルコントローラのプロセッサモジュールの一例を示した概略構成図。
【図７】従来技術のプログラマブルコントローラに係る等価スケジュール。
【図８】従来技術のプログラマブルコントローラに係る等価タイミング。
【符号の説明】
【００３９】
１…ＰＬＣ二重化システム
２，９…プログラマブルコントローラ
３…端末
４，４ａ，４ｂ…ベースボード
５，５ａ，５ｂ…ＣＰＵモジュール
６，６ａ，６ｂ…通信インターフェースモジュール
７，７ａ，７ｂ…バス
８…二重化ケーブル
５１…タスク演算部
５２…制御部
５３…演算部
【図１】
2009093392.tif 000003
【図２】
2009093392.tif 000004
【図３】
2009093392.tif 000005
【図４】
2009093392.tif 000006
【図５】
2009093392.tif 000007
【図６】
2009093392.tif 000008
【図７】
2009093392.tif 000009
【図８】
2009093392.tif 000010