(57)【特許請求の範囲】
【請求項１】
ＣＰＵモジュールに出力モジュールと入力モジュールが接続されたプログラマブルロジックコントローラにおいて、
前記出力モジュールは、出力データ格納部と出力処理部と出力部とが直列接続されるとともに前記出力データ格納部に格納される出力データの更新を監視する出力データ更新監視部を備え、前記出力データ格納部に格納される出力データが更新されたときのみ前記出力部から出力されるデータを更新し、
前記出力データ更新監視部における出力データ更新監視周期は、前記ＣＰＵモジュールから前記出力データ格納部への書込み周期に比べ十分に短い周期に設定されていることを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記出力モジュールには、前記ＣＰＵモジュールからの出力データの書込み順に出力データを処理するようにデータ処理の順番を管理する出力更新管理部を設けたことを特徴とする請求項１記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力モジュールとそれを用いたプログラマブルロジックコントローラに関し、詳しくは、出力モジュールの同期動作に関するものである。
【背景技術】
【０００２】
図３は、従来のプログラマブルロジックコントローラ（以下、ＰＬＣという）の一例を示すブロック図である。図３において、ＰＬＣ１は、ＣＰＵモジュール１０と、入力モジュール２０と、出力モジュール３０とで構成されている。
【０００３】
ＣＰＵモジュール１０は、入力制御部１１と演算部１２と出力制御部１３が繰り返し順番に処理するように接続されている。
【０００４】
入力モジュール２０は、入力部２１と入力処理部２２と入力データ格納部２３とが直列接続されている。そして、入力データ格納部２３は、ＣＰＵモジュール１０の入力制御部１１に接続されている。
【０００５】
出力モジュール３０は、出力データ格納部３１と出力処理部３２と出力部３３とが直列接続されている。そして、出力データ格納部３１には、ＣＰＵモジュール１０の出力制御部１３が接続されている。
【０００６】
このような構成において、ＣＰＵモジュール１０の入力制御部１１は入力モジュール２０に設けられた入力データ格納部２３の値を参照し、ＣＰＵモジュール１０の演算部１２は出力を演算し、ＣＰＵモジュール１０の出力制御部１３は出力モジュール３０内に設けられた出力データ格納部３１に演算部１２での演算結果を書き込むという動作を繰り返し実行する。
【０００７】
入力モジュール２０は、モジュール外部の状態を入力部２１を介して取り込み、入力処理部２２で必要な加工処理を行った後、処理されたデータを入力データ格納部２３に格納する。
【０００８】
出力モジュール３０は、出力データ格納部３１に格納された出力値を出力処理部３２で参照し、必要な加工処理を行った後、処理されたデータを出力部３３を介してモジュール外部に出力する。
【０００９】
図４は、出力モジュール３０における出力処理部３２の具体的な構成例を示すブロック図である。出力処理部３２は、出力データ参照部３２１と出力演算部３２２と出力更新部３２３がループ状に直列接続されていて、出力データ参照部３２１には出力データ格納部３１が接続され、出力更新部３２３には出力部３３が接続されている。
【００１０】
出力処理部３２は、出力データ参照部３２１において出力データ格納部３１のデータを参照し、出力演算部３２２において確度を保持するための処理や出力部の仕様に合わせたデータの加工処理を行い、処理されたデータを出力更新部３２３を介して出力部３３に出力するという一連の動作を繰り返し実行する。なお、複数チャネルの出力を有している場合には、チャネル１、チャネル２、・・と有しているチャネルを順番に処理した後、再びチャネル１に戻るようにして、全チャネルを順番に更新していく。
【００１１】
図５は、出力モジュール３０における出力更新の処理の流れを説明するタイミングチャートであり、４チャネル構成の例を示している。（ａ）はＣＰＵモジュール１０の各部で繰り返して実行される処理を表し、演算ｎはｎ回目の演算を表している。このｎ回目の演算の結果は、演算ｎに引き続いて実行される出力制御により、（ｂ）に示すように各チャネルの出力データ格納部３１に格納される。これら出力データ格納部３１に格納された演算結果は、（ｃ）に示すように出力処理部３２でチャネルの順番に処理される。そして、出力処理部３２の演算結果は、（ｄ）に示すように出力部３３を介してチャネル別に出力される。
【００１２】
ここで、むだ時間１ｎは、出力データ格納部３１に格納されたチャネル１のｎ回目の出力ＯＵＴ１ｎの演算結果が、実際に出力部３３を介してチャネル１のｎ回目の出力ＯＵＴ１ｎとして出力されるまでの時間を表している。
【００１３】
特許文献１の段落００５５には、マスタユニット１１がＣＰＵユニット１０１と同期して入出力更新をサイクリックに行いつつ、スレーブ２と非同期に通信を行うことが記載されている。
【００１４】
【特許文献１】特開２００６−２５２４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、図３に示す従来のＰＬＣの構成では、ＣＰＵモジュール１０における演算処理と出力モジュール３０における出力処理とが同期せずに実行していることから、出力制御部１３において出力データを出力モジュール３０の出力データ格納部３１に書き込んでから出力部３３を介して出力されるまでのむだ時間を管理することができなかった。
【００１６】
特に、出力モジュール３０が複数チャネルの出力を有している場合には、図５に示すように、その出力はチャネルの順番に更新されるため、むだ時間の大きさも、出力部３３に反映される順序も、ＣＰＵモジュール１０と出力モジュール３０での処理のタイミングによって変動するという問題があった。
【００１７】
このようなむだ時間の変動は、近年のＣＰＵモジュール１０における演算の高速化に伴い、ＰＬＣの安定動作に悪影響を及ぼすことになり、好ましくない。
【００１８】
本発明は、このような問題を解決するものであり、その目的は、安定した動作が得られる出力モジュールとそれを用いたプログラマブルロジックコントローラを提供することにある。
【課題を解決するための手段】
【００１９】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
ＣＰＵモジュールに出力モジュールと入力モジュールが接続されたプログラマブルロジックコントローラにおいて、
前記出力モジュールは、出力データ格納部と出力処理部と出力部とが直列接続されるとともに前記出力データ格納部に格納される出力データの更新を監視する出力データ更新監視部を備え、前記出力データ格納部に格納される出力データが更新されたときのみ前記出力部から出力されるデータを更新し、
前記出力データ更新監視部における出力データ更新監視周期は、前記ＣＰＵモジュールから前記出力データ格納部への書込み周期に比べ十分に短い周期に設定されていることを特徴とする。
【００２２】
請求項２記載の発明は、請求項１に記載のプログラマブルロジックコントローラにおいて、
前記出力モジュールには、前記ＣＰＵモジュールからの出力データの書込み順に出力データを処理するようにデータ処理の順番を管理する出力更新管理部を設けたことを特徴とする。
【発明の効果】
【００２３】
これらの構成により、動作の安定した出力モジュールが得られ、この出力モジュールをプログラマブルロジックコントローラに実装することによって、動作の安定したプログラマブルロジックコントローラが実現できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施例を示すブロック図である。
【図２】図１の構成における出力更新の処理の流れを説明するタイミングチャートである。
【図３】従来のプログラマブルロジックコントローラの一例を示すブロック図である。
【図４】従来の出力モジュール３０における出力処理部３２の構成例を示すブロック図である。
【図５】従来の出力モジュール３０における出力更新の処理の流れを説明するタイミングチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明について、図面を用いて詳細に説明する。図１は本発明の一実施例を示すブロック図であり、図４と共通する部分には同一の符号を付けている。図１と図４の相違点は、図１では、図４の出力処理部３２を構成する出力データ参照部３２１と出力演算部３２２と出力更新部３２３のループ状直列接続を単なる直列接続に変更するとともに、出力データ参照部３２１の前段に、出力データ更新監視部３２４と出力更新管理部３２５をさらに直列接続していることである。
【００２６】
すなわち、図１において、出力処理部３２は、出力データ参照部３２１と出力演算部３２２と出力更新部３２３が直列接続されていて、出力データ参照部３２１には出力データ格納部３１が接続され、出力更新部３２３には出力部３３が接続されている。そして、出力データ参照部３２１の前段には、出力データ更新監視部３２４と出力更新管理部３２５が直列接続され、出力データ更新監視部３２４には出力データ格納部３１の入力データが分岐入力されている。
【００２７】
ここで、出力データ更新監視部３２４は出力データ格納部３１に格納される出力データ更新を監視し、出力更新管理部３２５は出力データ格納部３１における出力データ更新処理を管理するものである。これらを設けることにより、出力データ参照部３２１における出力データ格納部３１のデータ参照結果に基いて、出力演算部３２２での確度を保持するための処理、出力部３３の仕様に合わせたデータの加工、出力更新部３２３から出力部３３への出力データを伝達などの一連の動作を、必要に応じて実行することができる。
【００２８】
図２は、図１のように構成された出力モジュール３０における出力更新の処理の流れを説明するタイミングチャートであり、４チャネル構成の例を示している。（ａ）はＣＰＵモジュール１０の各部で繰り返して実行される処理を表し、演算ｎはｎ回目の演算を表している。このｎ回目の演算の結果は、演算ｎに引き続いて実行される出力制御により、（ｂ）に示すように各チャネルの出力データ格納部３１に格納される。
【００２９】
出力データ更新監視部３２４は、（ｃ）に示すようにＣＰＵモジュール１０から出力データ格納部３１への書込み周期に比べ十分に短い周期で出力データ格納部３１における出力データの更新を監視している。出力データの更新を確認すると、（ｄ）に示すように出力更新管理部３２５に更新されたチャネルを登録する。ここで、出力データ更新監視部３２４における出力更新監視の周期がＣＰＵモジュール１０から出力データ格納部３１への書込み周期に比べ十分に短いことにより、出力更新管理部３２５へのチャネルの登録を常に出力１から順番に処理されるように登録できる。
【００３０】
出力更新管理部３２５は、登録された更新対象のチャネルについて、（ｅ）に示すように出力データ参照部３２１→出力演算部３２２→出力更新部３２３までの一連の処理をチャネルの順番に処理するように指示する。そして、更新対象のチャネルが無くなったら、更新対象チャネルの登録を待つ。出力データ参照部３２１→出力演算部３２２→出力更新部３２３までの一連の処理による演算結果は、（ｆ）に示すように出力部３３を介してチャネル別に出力される。
【００３１】
図１の構成によれば、出力データ格納部３１のデータが更新されたときのみ出力部３３の更新が実行されるので、ＣＰＵモジュール１０の出力更新から実際の出力部３３の出力更新までの時間を短縮できる。
【００３２】
また、出力データ更新監視部３２４における出力更新監視周期をＣＰＵモジュール１０から出力データ格納部３１への書込み周期に比べ十分に短くすることによって、出力更新管理部３２５への登録を常にＣＰＵモジュール１０からの書込みの順番に処理するように登録でき、出力モジュール３０における出力更新の順番を適切に管理できる。
【００３３】
そして、このように構成される出力処理部３２を有する出力モジュール３０をＰＬＣに組み込むことにより、ＣＰＵモジュール１０での出力更新から実際の出力部３３の出力更新までの時間を短縮し、かつ出力モジュール３０内で処理する順番をＣＰＵモジュール１０からの書込み順により管理することでむだ時間のぶれを管理でき、結果として、出力部３３をＣＰＵモジュール１０の動作に同期して動作させることで、出力モジュール３０がＣＰＵモジュール１０と非同期で運転することによる影響を軽減できる。
【００３４】
また、上記実施例では、出力モジュールをＰＬＣに実装する例について説明したが、出力モジュールの実装対象は必ずしもＰＬＣに限るものではなく、その他のコントローラに実装してもよい。
【００３５】
以上説明したように、本発明によれば、安定した動作が得られる出力モジュールとそれを用いたプログラマブルロジックコントローラが実現できる。
【符号の説明】
【００３６】
１０  ＣＰＵモジュール
２０  入力モジュール
３０  出力モジュール
３１  出力データ格納部
３２  出力処理部
３２１  出力データ参照部
３２２  出力演算部
３２３  出力更新部
３２４  出力データ更新監視部
３２５  出力更新管理部
３３  出力部
【図１】
0005593949.tif 000002
【図２】
0005593949.tif 000003
【図３】
0005593949.tif 000004
【図４】
0005593949.tif 000005
【図５】
0005593949.tif 000006