(57)【特許請求の範囲】
【請求項１】
外部機器からの入力データを入力部で取り込み、入力データ格納部に格納する入力モジュールと、
前記入力データ格納部から前記入力データを入力制御部で取り込み、演算部で前記入力データをもとに演算を行い、演算結果である出力データを出力制御部に送付するＣＰＵモジュールと、
前記出力制御部から送付された前記出力データを出力データ格納部に格納し、出力部で外部機器へ出力する出力モジュールと、
前記入力モジュールに備えられ、前記入力データが変化したときに、変化後の入力データを前記ＣＰＵモジュールが取り込むように入力通知を前記ＣＰＵモジュールに通知する入力通知部と、
前記ＣＰＵモジュールに備えられ、前記出力データが変化したときに、変化後の出力データを前記出力モジュールが取り込むように出力通知を前記出力モジュールに通知する出力通知部と、
を備えたことを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記入力モジュールに入力される前記入力データが変化した場合でも、前記出力データに変化がない場合には、前記出力通知部は前記出力通知を通知しないこと
を特徴とする請求項１記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力モジュールで入力データを取り込み、ＣＰＵモジュールで演算を行い、出力モジュールから出力データを出力するプログラマブルロジックコントローラに関するものである。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（Programmable Logic Controller：ＰＬＣ）は、制御対象に応じて必要なモジュールを組み合わせて実装し、シーケンス制御を行う。ビルディングブロックタイプのＰＬＣでは、ＰＬＣ全体に電力を供給する電源モジュールと、ＰＬＣ全体を制御するＣＰＵモジュールと、制御対象の外部機器に合わせたインターフェースを持つ複数のＩ／Ｏモジュールから構成される。
【０００３】
図３は従来のＰＬＣの構成を示す図である。
ＰＬＣ１における入出力データの流れを示すために、ＣＰＵモジュール１０、入力モジュール２０、出力モジュール３０だけを示しており、電源モジュール等の他のモジュールの記載は省略し、構成も単純化して記載している。
【０００４】
入力モジュール２０において、入力部２１は外部機器から電流値、温度、パルス数、接点信号等の入力データを取り込み、入力データ格納部２２に格納する。入力モジュール２０は、これらの処理を定周期で繰り返す。
【０００５】
ＣＰＵモジュール１０において、入力制御部１１は入力モジュール２０の入力データ格納部２２から入力データを取り込み、入力データを演算部１２に送付する。演算部１２は、取り込んだ入力データをもとに演算を行い、演算結果を出力データとして出力制御部１３に送付する。出力制御部１３は、出力データを出力モジュール３０の出力データ格納部３１に送付する。ＣＰＵモジュール１０は、これらの処理を繰り返す。
【０００６】
出力モジュール３０において、出力部３２は出力データ格納部３１に格納されている電流値、温度、パルス数、接点信号等の出力データを取り込み、出力データを外部機器へ出力する。出力モジュール３０は、これらの処理を定周期で繰り返す。
【０００７】
図４は従来の入出力応答を説明するタイミングチャートである。
入力モジュール２０は、定周期で外部機器から入力データを取り込み、入力データ格納部２２に入力データを格納する。ＩＮ１，ＩＮ２，ＩＮ３は、入力モジュール２０が外部機器から取り込んだ入力データを表している。この例では、入力データがＩＮ１からＩＮ２へ変化し、６周期の間同じ入力データＩＮ２が続いた後に入力データがＩＮ３へ変化している。
【０００８】
ＣＰＵモジュール１０は、入力モジュール２０の入力データ格納部２２から入力データを取り込み、演算を行い、演算結果を出力データとして出力モジュール３０の出力データ格納部へ送付する。この入力、演算、出力の一連をスキャン処理という。
入力データがＩＮ１からＩＮ２へ変化した際、ＣＰＵモジュール１０では、入力データＩＮ１のスキャン処理中であるため、入力モジュール２０の入力データ格納部２２から入力データを取り込むことができず、入力データＩＮ２の取り込みが待たされることになる（待ち時間Ｔｉ）。ＣＰＵモジュール１０は、入力データＩＮ１のスキャン処理が終了した段階で、入力モジュール２０の入力データ格納部２２に格納されている入力データを取り込むので、入力データがＩＮ１からＩＮ２へ変化してから３周期目の入力データＩＮ２を取り込むことになる。
【０００９】
ＣＰＵモジュール１０は、入力データＩＮ２を取り込むと、入力データＩＮ２をもとに演算を行い、演算結果として出力データＯＵＴ２を得て、出力モジュール３０の出力データ格納部３１へ送付する。その際、出力モジュール３０は出力データＯＵＴ１を出力データ格納部３１から取り込み、外部機器へ出力中であるので、出力データＯＵＴ２を外部機器へ出力することはできず、出力処理が待たされることになる（待ち時間Ｔｏ）。出力モジュール３０は、出力の次の周期で出力データ格納部３１に格納された出力データＯＵＴ２を取り込み、外部機器へ出力する。
【００１０】
【特許文献１】特開２００６−２６８５９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来のＰＬＣでは、入力モジュールの処理とＣＰＵモジュールの処理はそれぞれ独立に繰り返されている。このため、ＣＰＵモジュールが入力データ格納部から入力データを取り込んだ直後に入力モジュールが入力データ格納部に入力データを格納することがある。この場合、最新の入力データの取り込みはＣＰＵモジュールの次回の処理まで待たされ、入力データの変化を直ちに処理に反映することができない。
【００１２】
同様に従来のＰＬＣでは、出力モジュールの処理とＣＰＵモジュールの処理はそれぞれ独立に繰り返されている。このため、出力モジュールが出力データ格納部から出力データを取り込み、外部機器へ出力した直後にＣＰＵモジュールからの出力データが出力データ格納部に格納されることがある。この場合、最新の出力データの出力は出力モジュールの次回の処理まで待たされ、出力データの変化を直ちに処理に反映することができない。
【００１３】
ＰＬＣの性能は、外部機器から入力を取り込み、その入力をもとに演算を行い、外部機器へ出力するまでの入出力応答時間で比較される場合があり、入力時のＣＰＵモジュールの次回の処理までの待ち時間と、出力時の出力モジュールの次回の処理までの待ち時間がＰＬＣの性能に影響を与えてしまうという問題点があった。
【００１４】
本発明は上述した問題点を解決するためになされたものであり、入力モジュール、ＣＰＵモジュール及び出力モジュールのそれぞれが同期をとり、処理を実行することで、入出力の変化を直ぐに処理に反映することができるプログラマブルロジックコントローラを実現することを目的とする。
【課題を解決するための手段】
【００１５】
このような課題を達成するために、本発明は次のとおりの構成になっている。
（１）外部機器からの入力データを入力部で取り込み、入力データ格納部に格納する入力モジュールと、
前記入力データ格納部から前記入力データを入力制御部で取り込み、演算部で前記入力データをもとに演算を行い、演算結果である出力データを出力制御部に送付するＣＰＵモジュールと、
前記出力制御部から送付された前記出力データを出力データ格納部に格納し、出力部で外部機器へ出力する出力モジュールと、
前記入力モジュールに備えられ、前記入力データが変化したときに、変化後の入力データを前記ＣＰＵモジュールが取り込むように入力通知を前記ＣＰＵモジュールに通知する入力通知部と、
前記ＣＰＵモジュールに備えられ、前記出力データが変化したときに、変化後の出力データを前記出力モジュールが取り込むように出力通知を前記出力モジュールに通知する出力通知部と、
を備えたことを特徴とするプログラマブルロジックコントローラ。
【００１６】
（２）前記入力モジュールに入力される前記入力データが変化した場合でも、前記出力データに変化がない場合には、前記出力通知部は前記出力通知を通知しないこと
を特徴とする（１）記載のプログラマブルロジックコントローラ。
【発明の効果】
【００２０】
本発明によれば次のような効果がある。
入力モジュール、ＣＰＵモジュール及び出力モジュールのそれぞれが同期をとることで、入力時の処理待ち時間と、出力時の処理待ち時間がなくなり、入出力応答時間を短くすることができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を用いて本発明を詳細に説明する。
図１は本発明の一実施例を示す構成図である。前出の図と同一のものは同一符号を付ける。
ＰＬＣ１における入出力データの流れを示すために、ＣＰＵモジュール１０、入力モジュール２０、出力モジュール３０だけを示しており、電源モジュール等の他のモジュールの記載は省略し、構成も単純化して記載している。
【００２２】
入力モジュール２０において、入力部２１は外部機器から電流値、温度、パルス数、接点信号等の入力データを取り込み、取り込んだ入力データは入力データ格納部２２に格納される。入力モジュール２０は、これらの処理を繰り返す。
入力部２１は、入力データを入力データ格納部２２に送付すると同時に、入力通知部２３を起動する。入力通知部２３は、新たな入力データが入力データ格納部２２に格納された旨の通知（以下、入力通知という）をＣＰＵモジュール１０の入力制御部１１に行うものである。
【００２３】
入力部２１に、外部機器から入力データを取り込んだ際、入力データの前回値と今回値の変化を検出する入力通知制御部２１ａを設けた構成としてもよい。この場合、入力通知制御部２１ａは、入力データに変化があった場合に入力通知部２３を起動し、入力データに変化がない場合は入力通知部２３を起動しないようにする。
【００２４】
ＣＰＵモジュール１０において、入力制御部１１は入力モジュール２０の入力通知部２３からの入力通知を待ち、入力通知があるまでは入力データ格納部２２からの入力データの取り込みは行わない。
入力制御部１１は入力通知部２３から入力通知があると、入力データ格納部２２から入力データの取り込みを行い、入力データを演算部１２に送付する。
【００２５】
演算部１２は、取り込んだ入力データをもとに演算を行い、演算結果を出力データとして出力制御部１３に送付する。出力制御部１３は、出力データを出力モジュール３０の出力データ格納部３１に送付すると同時に、出力通知部１４を起動する。出力通知部１４は、新たな出力データを出力モジュール３０の出力データ格納部３１に送付した旨の通知（以下、出力通知という）を出力部３２に行うものである。
【００２６】
出力制御部１３に、演算部１２の演算による出力データの前回値と今回値の変化を検出する出力通知制御部１３ａを設けた構成としてもよい。この場合、出力通知制御部１３ａは、出力データに変化があった場合に出力通知部１４を起動し、出力データに変化がない場合は出力通知部１４を起動しないようにする。このようにすることで、入力データに変化があった場合でも出力データに変化がなければ出力通知部１４を起動することがなく、無駄な処理が行われるのを防ぐことができる。
【００２７】
出力モジュール３０において、出力部３２はＣＰＵモジュール１０の出力通知部１４からの出力通知を待ち、出力通知があると出力データ格納部３１に格納されている電流値、温度、パルス数、接点信号等の出力データを取り込み、出力データを外部機器へ出力する。
【００２８】
図２は本発明の入出力応答を説明するタイミングチャートである。
入力モジュール２０は、定周期で外部機器から入力データを取り込み、入力データ格納部２２に入力データを格納する。ＩＮ１，ＩＮ２，ＩＮ３は、入力モジュール２０が外部機器から取り込んだ入力データを表している。この例では、入力データがＩＮ１からＩＮ２へ変化し、６周期の間同じ入力データＩＮ２が続いた後に入力データがＩＮ３へ変化している。
【００２９】
ＣＰＵモジュール１０は、入力モジュール２０の入力通知部２３から入力通知があるまで入力データの取り込みは行わず、入力通知があると入力データ格納部２２から入力データの取り込みを行う。
この例で、入力データがＩＮ１からＩＮ２へ変化した際には、入力モジュール２０からＣＰＵモジュール１０に入力通知が行われ、ＣＰＵモジュール１０は入力データＩＮ２の取り込みを開始する。このように、入力データＩＮ２の取り込みが待たされることがなく、ＣＰＵモジュール１０は、最新の入力データＩＮ２を直ちに取り込むことができる。
【００３０】
ＣＰＵモジュール１０は、入力データＩＮ２を取り込むと、入力データＩＮ２をもとに演算を行い、演算結果として出力データＯＵＴ２を得て、出力モジュール３０の出力データ格納部３１へ送付する。
【００３１】
出力モジュール３０は、ＣＰＵモジュール１０の出力通知部１４からの出力通知を待ち、出力通知があると出力データ格納部３１に格納されている出力データＯＵＴ２を取り込み、外部機器へ出力する。
この例で、出力データがＯＵＴ１からＯＵＴ２へ変化した際には、ＣＰＵモジュール１０から出力モジュール３０に出力通知が行われ、出力モジュール３０は出力データＯＵＴ２の取り込みを開始する。このように、出力データＯＵＴ２の取り込みが待たされることがなく、出力モジュール３０は、最新の出力データＯＵＴ２を直ちに外部機器に出力することができる。
【００３２】
本発明で、ＣＰＵモジュールは、入力モジュールからの入力通知により入力データの取り込みを行い、出力モジュールは、ＣＰＵモジュールからの出力通知により出力データの取り込みを行い、入力モジュール、ＣＰＵモジュール及び出力モジュールのそれぞれが同期をとるようにしたので、入力時の処理待ち時間と、出力時の処理待ち時間がなくなり、入出力応答時間を短縮することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の入出力応答を説明するタイミングチャートである。
【図３】従来のＰＬＣの構成を示す図である。
【図４】従来の入出力応答を説明するタイミングチャートである。
【符号の説明】
【００３４】
１  ＰＬＣ
１０  ＣＰＵモジュール
１１  入力制御部
１２  演算部
１３  出力制御部
１３ａ  出力通知制御部
１４  出力通知部
２０  入力モジュール
２１  入力部
２１ａ  入力通知制御部
２２  入力データ格納部
２３  入力通知部
３０  出力モジュール
３１  出力データ格納部
３２  出力部
【図１】
0004985979.tif 000002
【図２】
0004985979.tif 000003
【図３】
0004985979.tif 000004
【図４】
0004985979.tif 000005