(57)【要約】【課題】本発明は、複数の外部通信機器との通信を効率良く実行できるプログラマブルコントローラを提供することを目的とする。【解決手段】シーケンスプログラムの実行に使用されるデータの読出し、書き込み要求機能を有する主通信モジュール３Ａ及び前記主通信モジュールとデータの授受を行う複数の従通信モジュール３Ｂとを備え、前記主通信モジュール３Ａは、前記主通信モジュール３Ａ及び前記従通信モジュール３Ｂが複数の外部通信機器６からのデータの読出し、書き込み要求があった場合、ＰＬＣのＣＰＵに対する要求を統括制御し、ＰＬＣのＣＰＵ負荷を削減し、シーケンスプログラムの処理速度を高速に行えるようにしたことを特徴とする。【選択図】  図１
2004310162.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスプログラムを実行するＣＰＵと、
前記ＣＰＵと制御対象との間に設けられ、Ｉ／Ｏバスを介して前記ＣＰＵによって前記制御対象を制御する制御信号を入出力する入出力手段と、
前記ＣＰＵと外部通信機器との間に設けられ、システムバスを介して前記ＣＰＵとの間のデータの読出し、書き込みを行う第１の通信制御手段と、
前記ＣＰＵと前記外部通信機器との間に設けられ、前記システムバスに接続され、前記ＣＰＵとのデータの読出し、書き込みを前記第１の通信手段を介して実行する第２の通信制御手段とを
備え、
前記第１の通信制御手段によって、前記ＣＰＵに対する前記第１の通信制御手段及び前記第２の通信制御手段からのデータの読出し、書き込みアクセスを統括制御するようにしたことを特徴とするプログラマブルコントローラ。
【請求項２】
前記第１及び第２の通信制御手段は、夫々通信制御ＣＰＵと、
前記外部通信機器との通信を行う通信インタフェースと、
前記通信インタフェースを介して要求される読出し、書き込みデータを記憶するデータ記憶手段と、
前記通信制御ＣＰＵ、前記通信インタフェース及び前記データ記憶手段とを接続するＣＰＵバスと、
前記ＣＰＵバスに接続され前記ＣＰＵと接続されるシステムバスインタフェースとを
備え、
前記第１及び第２の通信制御手段の夫々の外部通信機器からのデータ要求に対して所定の待ち時間を設定し、この設定時間内に同時に複数のデータの読出し、書き込み読要求があったとき前記第１の通信制御手段は、前記夫々のデータ記憶手段に記憶されたデータの開始アドレスと最終アドレスを比較し、アドレス範囲の広い方を前記第１の通信制御手段のデータ記憶手段に格納し、前記第１及び第２の通信制御手段からの要求を比較格納されたデータによって統括して前記ＣＰＵに要求するようにしたことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記第１の通信制御手段は、前記第１及び前記第２の通信制御手段からのデータの要求内容を前記ＣＰＵのプログラミング言語にインタプリタして前記ＣＰＵに送信し、
前記ＣＰＵは送信されたプログラムを実行し、要求された前記データの読出し、書き込みを行い、その通信結果を前記第２の通信制御手段に返信するように制御することを特徴とする請求項１または請求項２に記載のプログラマブルコントローラ。
【請求項４】
前記ＣＰＵは、前記第１及び第２の通信制御手段から要求されたデータを前記第１の通信制御手段に所定の周期で送信し、
前記第２の通信制御手段は、前記外部通信機器からのデータの読み出し、書き込み要求があった場合、前記第１の通信制御手段の前記データ記憶手段との間で当該データの通信処理を行うように制御することを特徴とする請求項１乃至請求項３のいずれか１項に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、鉄鋼産業の圧延制御システム、上下水道などの水制御システム、自動車産業などのＦＡ（ファクトリオートメイション）システムに使用されるプログラマブルコントローラに係わり、特に複数の外部通信機器との通信を効率良く実行することを可能としたプログラマブルコントローラに関する。
【０００２】
【従来の技術】
プログラマブルコントローラ（以下、ＰＬＣと称す）は、通常、例えば、ＦＡシステムにおける製品等の制御対象の状態を電気信号に変換して入力し、また制御対象を制御するためのアクチュエータ等を動作させる信号レベルに変換して出力する入出力モジュールを複数個持つ。そして、これらの入出力モジュールはＩ／ＯバスによってＰＬＣと接続され、データの授受を行っている。
【０００３】
これに対して、これらの入出力の信号やシーケンスプログラム内で使用する内部データの読出し、書き込みをＰＬＣに対して行う通信モジュールを１つまたは複数個備えたものも知られており、これらの通信モジュールは外部機器、表示器やパソコン等と通信手段によって接続され、データの授受を行い、監視や制御を行っている。
【０００４】
このような後者の監視や制御は、前者の入出力モジュールを使用したスイッチやＬＥＤ、ランプで構成されていたものに対して自由度、省スペースの点で優れ、その用途は増加している。
【０００５】
この通信モジュールはＰＬＣ内部においては、Ｉ／Ｏバスまたは専用バスによってＰＬＣのＣＰＵと接続され、データの授受を行っている。
【０００６】
このように通信モジュールは、外部機器からランダムなタイミングでデータの読出し、書き込み要求を授受する為、複数の通信モジュールからＰＬＣに対して複数の要求を同時に行うことがある。
【０００７】
この場合、ＰＬＣは要求毎にその内容を解析し、１回のシーケンスプログラム実行（以下、１スキャンと称す）毎にデータを収集し、応答を作成して通信モジュールに返答する為、処理要求の頻度によってシーケンスプログラムの実行時間が低下する。
【０００８】
ＰＬＣによる実行時間を高速にするための方法としては、処理時間の異なる複数の命令を、命令の数に応じてインタフェース手段を動的に増加させる等のＰＬＣの利用方法が知られている（例えば、特許文献１参照。）が、ランダムに発生する複数の通信応答速度そのものを速く処理したいと言う要求を実現する手段は知られていない。
【０００９】
【特許文献１】
特開２００１−１４０１８号公報
【００１０】
【発明が解決しようとする課題】
ＰＬＣの制御動作は、シーケンシャルに順次処理されるためモジュールの搭載位置や外部通信機器からのデータの要求タイミングによっては応答時間が遅くなったり、早くなったりする。そのため、制御システムとして要求される応答時間が一定にならないことも生じる。
【００１１】
本発明は上記の問題点を解決するためになされたもので、複数の通信モジュールを含む制御システムを構成するＰＬＣにおいて、複数の通信モジュールの入力である外部通信機器からの複数のデータ読出し、書き込み要求に対して、ＰＬＣのＣＰＵの応答負荷を軽減するとともに、且つ外部通信機器に対する応答を所定の速度内で行なうことができるプログラマブルコントローラを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記の目的を達成するために、本発明のプログラマブルコントローラは、
シーケンスプログラムを実行するＣＰＵと、前記ＣＰＵと制御対象との間に設けられ、Ｉ／Ｏバスを介して前記ＣＰＵによって前記制御対象を制御する制御信号を入出力する入出力手段と、前記ＣＰＵと外部通信機器との間に設けられ、システムバスを介して前記ＣＰＵとの間のデータの読出し、書き込みを行う第１の通信制御手段と、前記ＣＰＵと前記外部通信機器との間に設けられ、前記システムバスに接続され、前記ＣＰＵとのデータの読出し、書き込みを前記第１の通信手段を介して実行する第２の通信制御手段とを備え、前記第１の通信制御手段によって、前記ＣＰＵに対する前記第１の通信制御手段及び前記第２の通信制御手段からのデータの読出し、書き込みアクセスを統括制御するようにしたことを特徴とする。
【００１３】
したがって、ＣＰＵに対する複数のデータの読出し、書き込み要求の頻度は削減され、ＣＰＵモジュールの通信処理時間を削減することができるとともに、
ＰＬＣによる制御システムを構成する外部通信機器に対する処理時間は一定になるとともに、且つ外部通信機器に対する応答時間も速くすることが可能となる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について図１乃至図５を参照して説明する。まず本発明の実施の形態の構成を説明する。図１において、ＰＬＣは、ＣＰＵモジュール１と制御対象１０との間をインタフェースする複数の入出力モジュール２（２Ａ、２Ｂ、２Ｃ）及び外部通信機器６（６Ａ１、６Ａ２、６Ｂ１、６Ｂ２）と通信する複数の通信モジュール３（３Ａ、３Ｂ）に代表されるインテリジェントＩ／Ｏモジュールが、Ｉ／Ｏバス４とシステムバス５とに接続されて構成されている。
【００１５】
ＣＰＵモジュール１は、システム全体を統括して制御するＣＰＵ１Ａ、システムプログラムを格納するシステムメモリ１Ｂ、入出力情報や内部データ情報、通信モジュール等とデータの要求や応答データ等を格納する動作メモリ１Ｃ、シーケンスプログラムを格納するユーザプログラムメモリ１Ｄ、入出力モジュールや通信モジュール３のデータの読出し、書き込みを行うＩ／Ｏインターフェイス１Ｅ及び主にＣＰＵモジュール１や通信モジュール間で相互にデータのアクセスを行うシステムバスインタフェース１ＦがＣＰＵバス１Ｇで接続されて構成されている。
【００１６】
さらにＣＰＵモジュール１と通信モジュール３はシステムバス５を介して接続され、複数の通信モジュール３の入力にはモニタ機器等の複数の外部通信機器６が接続されている。
【００１７】
次に複数の通信モジュール３の詳細構成について図２を参照して説明する。複数の通信モジュール３は主通信モジュール３Ａと従通信モジュール３Ｂで構成されこれらはシステムバス５によってＣＰＵモジュール１と接続されている。
【００１８】
さらに、主通信モジュール３Ａは、従通信モジュール３Ｂを統括して制御するＣＰＵ３Ａ１、システムプログラムを格納するシステムプログラムメモリ３Ａ２、外部通信機器６Ａ１、６Ａ２との送信データやＣＰＵモジュール１や他の従通信モジュール３Ｂとの授受データ等を格納する動作メモリ３Ａ３、外部通信機器６Ａ１、６Ａ２と接続しデータの送受信を行う通信インタフェース３Ａ４及びＣＰＵモジュール１や主通信モジュール３Ａや従通信モジュール３Ｂとの間で相互にデータのアクセスを行うためのシステムバスインタフェース３Ａ６が夫々ＣＰＵバス３Ａ７を介して接続されて構成されている。
【００１９】
従通信モジュール３Ｂの構成は主通信モジュール３Ａの構成と同等であるので各構成要素の符号をＢとして記し、その詳細説明を省略する。
【００２０】
次に、主通信モジュール３Ａのメモリマップについて図３を参照して説明する。図３（ａ）は、外部通信機器６Ａ１、６Ａ２から通信モジュール３Ａに対して発行されたＣＰＵモジュール１に対するデータの読出し要求が、動作メモリ３Ａ３にメモリマップ３Ａ３ａに表示した形式で格納された状態を示す。
【００２１】
また、複数の通信モジュール３相互間の要求をとりまとめる待ち時間Ｔも予め格納しておく。この待ち時間ＴはＰＬＣの制御応答時間に係わるため予め所定の値を制御するシステム毎にプログラミング装置を用いてユーザが設定できるように構成しておく。
【００２２】
同様に、従通信モジュール３Ｂに対して発行されたＣＰＵモジュール１に対するデータの読出し要求が、動作メモリ３Ｂ３に図３（ｂ）のメモリマップ３Ｂ３ｂに示す形式で格納される。
【００２３】
このように構成されたＰＬＣの通信制御動作について説明する。上記構成において、ＰＬＣのＣＰＵ１Ａは、Ｉ／Ｏバス４を介して入出力モジュール２から取り込んだ入力データと内部データを用いて、ユーザプログラムメモリ１Ｄに格納されたシーケンスプログラムを実行し、その結果をＩ／Ｏバス４を介して出力データを入出力モジュール２に送出する。
【００２４】
ＣＰＵ１Ａは、これらの入出力処理を実行する間にシステムプログラムメモリ１Ｂ、主通信モジュール３Ａ及び従通信モジュール３Ｂから前記入出力データや内部データに対する読出し、書き込み要求に対してデータを収集し返答するという処理を行う。
【００２５】
例えば、外部通信機器６Ｂ１、６Ｂ２から従通信モジュール３Ｂに対してデータの読出し要求を行う場合、その要求データは従通信インタフェース３Ｂ４を介して動作メモリ３Ｂ３に前述した３Ｂ３ｂの形式で格納される。
【００２６】
通常ＰＬＣは複数の種類のレジスタを有するが、例えば、そのレジスタ名称をａ、ｂ、ｍ、ｎとした時、外部通信機器６Ｂ１、６Ｂ２からの読出し要求の範囲は、これらのレジスタ名称と開始アドレスと最終アドレスの組み合わせで表現される。
【００２７】
同様に、主通信モジュール３Ａにおいても外部通信機器６Ａ１、６Ａ２からの読出し要求は、動作メモリ３Ａ３に３Ａ３ａの形式で格納される。
【００２８】
主通信モジュール３Ａは常に自モジュールからの読出し、書き込み要求と他従通信モジュール３Ｂからの読出し、書き込み要求を監視する。いずれかの通信モジュールから読出し要求があった時、動作メモリ３Ａ３に格納された要求待ち時間Ｔの間に、最初の要求から他の要求を待ちＣＰＵ１Ａに対して読み出し要求はしない。
【００２９】
例えば、図５に示す様に主通信モジュール３Ａにｍレジスタの読み出し要求があり、Ｔ時間以内にさらに従通信モジュール３Ｂにｍレジスタの読み出し要求があったとする。この時、主通信モジュール３Ａの開始アドレスと最終アドレスを夫々、０００１、２９９９とする。また、従通信モジュール３Ｂの開始アドレスと最終アドレスを夫々１０００、４９９９とする。
【００３０】
すると、図６に示すように主通信モジュール３Ａからの要求のｍレジスタの開始アドレスと従通信モジュール３Ｂからの要求のｍレジスタに示す開始アドレスとのアドレス範囲を比較し、小さい方の開始アドレス、即ち、主通信モジュール３Ａの０００１を本要求の開始アドレスとして動作メモリ３Ａ３に図４に示すメモリマップ３Ａ３ｃのレジスタ名称ｃｍｓのｍレジスタ開始アドレス０００１として登録する。
【００３１】
同様に、主通信モジュール３Ａでの要求、図３（ａ）に示すｍレジスタの最終アドレスと従通信モジュール３Ｂからの要求、図３（ｂ）に示すｍレジスタの最終アドレスとのアドレス範囲を比較し、大きい方のアドレス、即ち、従通信モジュール３Ｂの４９９９をＣＰＵ１Ａに対する要求の最終アドレスとして動作メモリ３Ａ３に、図４示すメモリマップ３Ａ３ｃのレジスタ名称ｃｍｅのｍレジスタ最終アドレスとして登録する。
【００３２】
以上の説明はｍレジスタの読出し要求に対しる動作説明であるが、複数のレジスタａ、ｂ、ｍ、ｎについて要求があった場合も同様に、各レジスタの開始アドレスと、最終アドレスを比較してその結果が図４のように登録される。
【００３３】
そして、図４に示す登録されたアドレス３Ａ５ｃを主通信モジュール３ＡからＣＰＵモジュール１Ａに対して要求する。
【００３４】
すると、ＣＰＵ１Ａは従来からの処理を変更することなく、主通信モジュール３Ａからの要求に対する処理を実行し、主通信モジュール３Ａに返答する。主通信モジュール３Ａは、返答されたデータを従通信モジュール３Ｂに送信する。また、主通信モジュール３Ａ、従通信モジュール３Ｂは、夫々の３Ａ３ａと３Ｂ３ｂのメモリマップを用いて、各々返答データを作成し、夫々の対応する外部通信機器６に返答する。
【００３５】
尚、主通信モジュール３Ａにおいては、ＰＬＣのシステムプログラムへの解読と読出し、書き込み処理とを予めＣＰＵ１Ａのシステムプログラム言語にインタプリタして、結果を直接主通信モジュール３Ａの動作メモリ３Ａ３に書き込むシステムプログラムをプログラムメモリ３Ａ２に搭載して、そのシステムプログラムをＣＰＵ１Ａのシステムプログラムメモリ１Ｂに転送するとともに、ＣＰＵ１Ａではインタプリタされた言語によって処理を行うようにすることも可能である。
【００３６】
また、主通信モジュール３Ａでの外部通信機器６の要求からの待ち時間Ｔの設定は、制御するシステムによって予め設定される。例えば、高速応答が必要な場合は待ち時間Ｔを小さく、ＣＰＵ１Ａの制御プログラムによる処理時間を優先させる場合には待ち時間Ｔを大きく設定しておく。
【００３７】
このように構成されたＰＬＣは、ＣＰＵ１Ａに対するアクセス頻度を削減できるので、ＣＰＵＡ１の通信についての処理時間を削減できる。従来は、外部通信機器６毎のそれぞれの要求がＣＰＵ１Ａに要求された場合、そのデータはシーケンス処理されるため実行時間に差があり同期性が確保できなかったが、本実施の形態に説明したように主通信モジュール３ＡでＣＰＵモジュール１に対しての要求をとりまとめることにより、同一時刻での入出力データや内部データを授受することができるため、複数の外部通信機器６に対して同期性のある応答とすることができる。
【００３８】
また、主通信モジュール３Ａにおいて、待ち時間Ｔを変更することによって、制御するシステムの要求に応じた多様な応答時間の設定が可能となる。
【００３９】
また、主通信モジュール３ＡからＣＰＵ１Ａへのアクセスはインタプリタされた言語によって、システムプログラムを実行する。したがって、ＣＰＵ１Ａによる通信処理のための解読時間を削減できるので、外部通信機器６からのデータの読出し、書き込み要求に対してＣＰＵ１Ａの処理時間を高速化できる。
【００４０】
図１のプログラマブルコントローラは外部通信機器６からのデータの読出しおよび書き込み要求に対して一定の応答時間内にデータを返すことも可能である。
【００４１】
したがって、外部通信機器６からの要求が同時に重複して発生した場合においても、ＣＰＵ１Ａは予め設定した定周期に基づき主通信モジュール３Ａに対して必要なレジスタのデータを動作メモリ３Ａ３に転送することが出来るので、このために負荷を増大させることがない。
【００４２】
また外部通信機器６からの読出し、書き込み要求に対しては夫々の従通信モジュール３Ｂが主通信モジュール３Ａ内の動作メモリ３Ａ３を直接アクセスすることができるので、複数の外部通信機器６からの要求に対して一定の時間内に応答を返すことが可能である。
【００４３】
【発明の効果】
以上説明したように、本発明のプログラマブルコントローラによれば、複数の外部通信機器からデータの読出し、書き込み要求が発生したとき、この要求を統括制御する主通信モジュールによってまとめてプログラマブルコントローラのＣＰＵに要求することが可能となるので、プログラマブルコントローラのＣＰＵは通信応答のための処理時間が削減され、全体としてプログラマブルコントローラの制御処理時間を短縮することが可能である。
【図面の簡単な説明】
【図１】本発明の実施の形態によるＰＬＣシステムの構成図。
【図２】本発明の実施の形態による通信モジュールの構成図。
【図３】本発明の実施の形態による通信モジュールに記憶されるデータのメモリマップ。
【図４】本発明の実施の形態による主通信モジュールに記憶されるデータの登録メモリマップ。
【図５】本発明の実施の形態による通信処理の動作説明図。
【図６】本発明の実施の形態による通信処理の動作タイミング説明図。
【符号の説明】
１  ＣＰＵモジュール
１Ａ  ＣＰＵ
１Ｂ  システムプログラムメモリ
１Ｃ  動作メモリ
１Ｄ  ユーザプログラムメモリ
１Ｅ  Ｉ／Ｏインタフエース
１Ｆ  システムバスインタフェース
１Ｇ  ＣＰＵバス
２、２Ａ、２Ｂ、２Ｃ  入出力モジュール
３  通信モジュール
３Ａ  主通信モジュール
３Ｂ  従通信モジュール
３Ａ１、３Ｂ１  ＣＰＵ
３Ａ２、３Ｂ２  システムプログラムメモリ
３Ａ３、３Ｂ３  動作メモリ
３Ａ４、３Ｂ４  通信インタフェース
３Ａ６、３Ｂ６  システムバスインタフェース
３Ａ７、３Ｂ７  ＣＰＵバス
３Ａ３ａ、３Ｂ３ａ  動作メモリマップ
３Ｂ５ｂ  共通メモリマップ
４  Ｉ／０バス
５  システムバス
６、６Ａ１、６Ａ２、６Ｂ１、６Ｂ２  外部通信機器
１０  制御対象
【図１】
2004310162.tif 000003
【図２】
2004310162.tif 000004
【図３】
2004310162.tif 000005
【図４】
2004310162.tif 000006
【図５】
2004310162.tif 000007
【図６】
2004310162.tif 000008