(57)【要約】【課題】プログラマブルコントローラを構成するＣＰＵユニットにおいて、そのＣＰＵユニットに割り当てられた処理内容にしたがって、スキャンタイムを短縮することができるＣＰＵユニットを得ること。【解決手段】ベースユニット上に複数のＣＰＵユニット、入力ユニット、出力ユニットを含むユニットが装着されたプログラマブルコントローラで使用されるＣＰＵユニットにおいて、シーケンスプログラムを格納するユーザプログラム格納部３１と、ユーザプログラム格納部３１に格納されたシーケンスプログラムを実行するユーザプログラム実行部３２と、予め定められたシステム処理を実行するシステム処理実行部３６と、システム処理内の個々の処理の実行が必要か否かを判定し、個々の処理の実行の要否を示すシステム構成情報を作成するシステム構成確認部３４と、を備え、システム処理実行部３６は、システム構成情報に基づいて前記システム処理を実行する。【選択図】        図３
2008146402.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラを構成するＣＰＵユニットにおいて、
シーケンスプログラムを格納するユーザプログラム格納手段と、
前記ユーザプログラム格納手段に格納されたシーケンスプログラムを実行するユーザプログラム実行手段と、
予め定められたシステム処理を実行するシステム処理実行手段と、
前記システム処理内の個々の処理の実行が必要か否かを判定し、前記個々の処理の実行の要否を示すシステム構成情報を作成するシステム構成確認手段と、
を備え、
前記システム処理実行手段は、前記システム構成情報に基づいて前記システム処理を実行することを特徴とするＣＰＵユニット。
【請求項２】
前記システム構成確認手段は、前記ユーザプログラム格納手段内の前記シーケンスプログラムに入力ユニットまたは出力ユニットとの間の情報のやり取りがあるか否かを確認し、前記入力ユニットまたは前記出力ユニットとの間の情報のやり取りがない場合には、前記入力ユニットからの入力情報の反映処理または前記出力ユニットへの出力情報の反映処理を実行不要とする前記システム構成情報を作成することを特徴とする請求項１に記載のＣＰＵユニット。
【請求項３】
前記システム構成確認手段は、前記ユーザプログラム格納手段内の前記シーケンスプログラムに割り込み処理があるか否かを確認し、割り込み回数の測定処理が含まれない場合には、前記割り込み回数の測定処理を実行不要とする前記システム構成情報を作成することを特徴とする請求項１または２に記載のＣＰＵユニット。
【請求項４】
前記プログラマブルコントローラの使用者によって設定されるスキャンタイムの測定の可否を示すスキャンタイム測定パラメータを記憶するスキャンタイム測定パラメータ記憶手段をさらに備え、
前記システム構成確認手段は、前記スキャンタイム測定パラメータ記憶手段内の前記スキャンタイム測定パラメータを確認し、スキャンタイムの測定処理が不要と設定されている場合には、前記スキャンタイムの測定処理を実行不要とする前記システム構成情報を作成することを特徴とする請求項１〜３のいずれか１つに記載のＣＰＵユニット。
【請求項５】
プログラマブルコントローラを構成するＣＰＵユニットにおけるシステム処理実行方法において、
予め定められたシステム処理を構成する個々の処理の実行が必要か否かを判定し、前記個々の処理の実行の要否を示すシステム構成情報を作成するシステム構成確認工程と、
シーケンスプログラムを実行するユーザプログラム実行工程と、
前記システム構成情報に基づいて前記システム処理を実行するシステム処理実行工程と、
を含むことを特徴とするシステム処理実行方法。
【請求項６】
前記システム構成確認工程では、前記ユーザプログラム実行工程で実行される前記シーケンスプログラムに入力ユニットまたは出力ユニットとの間の情報のやり取りがあるか否かを確認し、前記入力ユニットまたは前記出力ユニットとの間の情報のやり取りがない場合には、前記入力ユニットからの入力情報の反映処理または前記出力ユニットへの出力情報の反映処理を実行不要とする前記システム構成情報を作成することを特徴とする請求項５に記載のシステム処理実行方法。
【請求項７】
前記システム構成確認工程では、前記ユーザプログラム実行工程で実行される前記シーケンスプログラムに割り込み処理があるか否かを確認し、割り込み回数の測定処理が含まれない場合には、前記割り込み回数の測定処理を実行不要とする前記システム構成情報を作成することを特徴とする請求項５または６に記載のシステム処理実行方法。
【請求項８】
前記システム構成確認工程の前に、前記プログラマブルコントローラの使用者によって設定されるスキャンタイムの測定の可否を示すスキャンタイム測定パラメータを、スキャンタイム測定パラメータ記憶手段に記憶するパラメータ記憶工程をさらに含み、
前記システム構成確認工程では、前記スキャンタイム測定パラメータ記憶手段内の前記スキャンタイム測定パラメータを確認し、スキャンタイムの測定処理が不要と設定されている場合には、前記スキャンタイムの測定処理を実行不要とする前記システム構成情報を作成することを特徴とする請求項５〜７のいずれか１つに記載のシステム処理実行方法。
【請求項９】
請求項５〜８のいずれか１つに記載のシステム処理実行方法をＣＰＵユニットに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブルコントローラで使用されるＣＰＵ（Central Processing Unit）ユニットに関するものである。また、そのシステム処理実行方法とその方法をＣＰＵユニットに実行させるプログラムにも関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、シーケンスプログラムにしたがって、制御対象を制御することによって所定の処理を実行させて、製品の加工や製造を行っている。このプログラマブルコントローラには種々の種類のものがあるが、その中に、構築するシステムの構成に応じたプログラマブルコントローラの構築を行うことができるベース装着タイプのものが知られている。このベース装着タイプのプログラマブルコントローラは、ベースユニット上に、電源ユニット、ＣＰＵユニット、入力ユニット、出力ユニット、機能ユニット、ネットワークユニットなどのユニットが、構築するシステムに応じて装着される構成を有する。
【０００３】
図１は、ベース装着タイプのプログラマブルコントローラの構成の一例を示す図である。ベース装着タイプのプログラマブルコントローラ１は、バスが設けられたベースユニット２０に、入出力制御や演算処理を行う複数のＣＰＵユニット１０Ａ，１０Ｂと、制御対象の外部機器からの制御結果を受信する入力ユニット５１と、ＣＰＵユニット１０Ａからの指示により所定の外部機器に出力を行う出力ユニット５２とが、装着されている。ここで、ＣＰＵユニット１０Ａは、入力ユニット５１と出力ユニット５２との間で入出力制御を行い、ＣＰＵユニット１０Ｂは、ＣＰＵユニット１０Ａからのデータに基づいて演算を行っているものとする。また、この図では、電源ユニットを省略して図示している。
【０００４】
図６は、プログラマブルコントローラによるシーケンサ動作処理の手順の概要を示す図である。なお、この図６に示されるシーケンサ動作処理は、各ＣＰＵユニット１０Ａ，１０Ｂによってそれぞれ実行されるものである。この図に示されるように、従来のプログラマブルコントローラにおける制御対象を制御するシーケンサ動作処理では、最初にイニシャル処理を実行した（ステップＳ１１）後、一連の制御手順が記述されたシーケンスプログラムを実行し（ステップＳ１２）、さらに、シーケンスプログラムによる演算の実行結果の出力処理や演算を行うためのデータの入力処理などのシステム処理を行う（ステップＳ１３）。そして、このステップＳ１２のシーケンスプログラム実行処理とステップＳ１３のシステム処理を繰り返し実行する（たとえば、特許文献１参照）。このとき、ステップＳ１２のシーケンスプログラム実行処理の開始からステップＳ１３のシステム処理の完了までの時間をスキャンタイムといい、また１回のシーケンスプログラム実行処理の開始からシステム処理の完了までを１スキャンという。
【０００５】
図１５は、図６のシステム処理の手順の従来例を示す図である。この図に示されるように、ＣＰＵユニット１０Ａ，１０Ｂは、同じベースユニット２０上に装着されている出力ユニット５２に出力情報を反映させる（ステップＳ２０１）。ついで、ＣＰＵユニット１０Ａ，１０Ｂは、スキャンタイムの測定を行い（ステップＳ２０２）、さらにハードウェアの異常チェックを行う（ステップＳ２０３）。そして、割り込み回数チェックを行って（ステップＳ２０４）、同じベースユニット２０上に装着されている入力ユニット５１からの入力情報を自ＣＰＵユニット１０Ａ，１０Ｂの有するメモリに取り込んで反映させて（ステップＳ２０５）、システム処理が終了する。
【０００６】
【特許文献１】特開平８−１２３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、従来のプログラマブルコントローラでは、図６と図１５に示した処理は、装着ユニットに装着されるすべてのＣＰＵユニットにおいて実行される。たとえば図１に示したように、ベースユニット２０上に複数のＣＰＵユニット１０Ａ，１０Ｂが装着されたプログラマブルコントローラ１では、ＣＰＵユニット１０Ａは、入力ユニット５１と出力ユニット５２との間の入出力制御用に使用され、他方のＣＰＵユニット１０Ｂは、入力ユニット５１と出力ユニット５２とは情報のやり取りを行わず、ＣＰＵユニット１０Ａからのデータを受けて演算処理用に使用される場合などがある。このような場合においても、ＣＰＵユニット１０Ａ，１０Ｂは、入力ユニット５１と出力ユニット５２との間の情報のやり取りの有無にかかわらず、一律に図６と図１５の処理を実行していた。そのため、入力ユニット５１と出力ユニット５２との間で情報のやり取りを行わないＣＰＵユニット１０Ｂの場合には、システム処理を行う時間が不要な処理によって長くなってしまい、結果的にスキャンタイムが長くなってしまうという問題点があった。
【０００８】
この発明は、上記に鑑みてなされたもので、プログラマブルコントローラを構成するＣＰＵユニットにおいて、そのＣＰＵユニットに割り当てられた処理内容にしたがって、スキャンタイムを短縮することができるＣＰＵユニットおよびシステム処理実行方法並びにその方法をＣＰＵユニットに実行させるプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、この発明にかかるＣＰＵユニットは、シーケンスプログラムを格納するユーザプログラム格納手段と、前記ユーザプログラム格納手段に格納されたシーケンスプログラムを実行するユーザプログラム実行手段と、予め定められたシステム処理を実行するシステム処理実行手段と、前記システム処理内の個々の処理の実行が必要か否かを判定し、前記個々の処理の実行の要否を示すシステム構成情報を作成するシステム構成確認手段と、を備え、前記システム処理実行手段は、前記システム構成情報に基づいて前記システム処理を実行することを特徴とする。
【発明の効果】
【００１０】
この発明によれば、プログラマブルコントローラ中のＣＰＵユニットに割り当てられた処理内容に関係のないシステム処理中の処理を実行しないように設定したので、１スキャンの時間を短縮することができるという効果を有する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明にかかるＣＰＵユニットおよびシステム処理実行方法並びにその方法をＣＰＵユニットに実行させるプログラムの好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
図１は、この発明が適用されるプログラマブルコントローラの一例を概略的に示す図である。このプログラマブルコントローラ１は、ベースユニット２０上に２台のＣＰＵユニット１０Ａ，１０Ｂと、１台の入力ユニット５１と、１台の出力ユニット５２とが装着されている。ここでは、ＣＰＵユニット１０Ａは、入力ユニット５１と出力ユニット５２との間で入出力制御を行い、ＣＰＵユニット１０Ｂは、ＣＰＵユニット１０Ａからのデータに基づいて演算を行っているものとする。
【００１３】
図２は、ベースユニットに複数のＣＰＵユニットが装着されたプログラマブルコントローラの構成を模式的に示すブロック図である。この図２では、ベースユニット２０と、このベースユニット２０上に装着されているＣＰＵユニット１０Ａ，１０Ｂのみを図示し、その他のユニットについての図示は省略している。
【００１４】
それぞれのＣＰＵユニット１０Ａ，１０Ｂは、自ＣＰＵユニット１０Ａ，１０Ｂ内の処理を制御するＭＰＵ（Micro Processing Unit）１１と、自ＣＰＵユニット１０Ａ，１０Ｂ内における基本的な処理を実行するシステムプログラムを格納するＲＯＭ（Read-Only Memory）などで構成されるシステムプログラム格納部１２と、システムプログラムが使用するメモリ領域であるＲＡＭ（Random Access Memory）で構成されるシステムワーク記憶部１３と、ベースユニット２０内のデータバス２１に接続されユーザファイルをフレーム化して所定の宛て先へと送信するとともに、自ＣＰＵユニット１０Ａ，１０Ｂ宛のフレームの受信処理を行うデータバスインタフェース（図中、データバスＩ／Ｆと表記）１４と、自ＣＰＵユニット１０Ａ，１０Ｂで動作するシーケンスプログラムを格納するＲＯＭなどで構成されるユーザプログラム格納部１５と、シーケンスプログラムが使用するデータを格納するＲＡＭで構成されるユーザデータ記憶部１６と、を備える。これらの各処理部間は、内部バス１７を介して接続されている。
【００１５】
この図２のように、ベースユニット２０に複数のＣＰＵユニット１０Ａ，１０Ｂが装着されている場合には、それぞれのＣＰＵユニット１０Ａ，１０Ｂのデータバスインタフェース１４がベースユニット２０内のデータバス２１と接続される。これによって、ＣＰＵユニット１０Ａ，１０Ｂ間で、フレーム化したデータの送受信を行うことが可能になる。
【００１６】
図３は、この発明にかかるＣＰＵユニットの機能構成を模式的に示すブロック図である。この図３は、図２に示される構成を有するＣＰＵユニットを機能構成の点から見たブロック図である。このＣＰＵユニット１０は、ユーザプログラム格納部３１と、ユーザプログラム実行部３２と、スキャンタイム測定パラメータ記憶部３３と、システム構成確認部３４と、システム構成情報記憶部３５と、システム処理実行部３６と、これらの各処理部を制御する制御部３７と、を備える。
【００１７】
ユーザプログラム格納部３１は、ユーザによって作成されたシーケンスプログラムを格納し、ユーザプログラム実行部３２は、ユーザプログラム格納部３１に格納されているシーケンスプログラムを実行する。スキャンタイム測定パラメータ記憶部３３は、ユーザによって予めなされたスキャンタイムの測定の可否を記憶する。
【００１８】
システム構成確認部３４は、シーケンサ動作時の１スキャン内に実行されるシステム処理を構成する個々の処理について、実行する必要があるか否かを確認する。たとえば、システム処理として、入力ユニット５１や出力ユニット５２（以下、入出力ユニットともいう）との情報のやり取り、スキャンタイム測定、割り込み回数の測定の各処理を例示することができるので、これらの処理の実行の可否を確認する。図４は、システム処理の個々の処理の実行の有無についての判定条件の一例を示す図である。
【００１９】
入出力ユニットとの情報のやり取りの有無については、システム構成確認部３４は、ユーザプログラム格納部３１に格納されているシーケンスプログラムを参照し、このシーケンスプログラム内に入出力ユニットへアクセスする命令が含まれているか否かを判断する。通常、シーケンスプログラムにおいて、入力ユニット５１へアクセスする命令にはＸを用いた記号が用いられ、出力ユニット５２へアクセスする命令にはＹを用いた記号が用いられるので、シーケンスプログラムをスキャンすることによって、入出力ユニットとの情報のやり取りの有無を確認することができる。つまり、シーケンスプログラム中に入出力ユニットへアクセスする命令がない場合には、入出力ユニットとのやり取りがなく、入出力ユニットへアクセスする命令がある場合には、ＣＰＵユニット１０は入出力リフレッシュ処理を行う。
【００２０】
スキャンタイム測定の可否については、システム構成確認部３４は、スキャンタイム測定パラメータ記憶部３３を参照することで、スキャンタイム測定の可否を判定する。すなわち、スキャンタイム測定パラメータ記憶部３３に、スキャンタイムの測定が設定されている場合には、システム構成確認部３４は、スキャンタイム測定を行うと判断し、スキャンタイムの測定が設定されていない場合には、システム構成確認部３４は、スキャンタイム測定を行わないと判断する。
【００２１】
割り込み回数の測定の可否については、システム構成確認部３４は、ユーザプログラム格納部３１に格納されているシーケンスプログラムを参照し、このシーケンスプログラム内の割り込みポインタの有無を判定する。通常、シーケンスプログラムにおいて、割り込みポインタにはＩを用いた記号が用いられるので、シーケンスプログラムをスキャンすることによって、割り込み回数の測定の可否を確認することができる。つまり、システム構成確認部３４は、シーケンスプログラム内に割り込みポインタがある場合には、割り込みがあるものと判定し、逆にシーケンスプログラム内に割り込みポインタがない場合には、割り込みがないものと判定する。
【００２２】
システム構成確認部３４は、上記のようにシステム処理の各処理について、実行する必要があるか否かを確認すると、これらの結果をシステム構成情報としてシステム構成情報記憶部３５に記憶する。
【００２３】
システム構成情報記憶部３５には、システム構成確認部３４によって確認されたシステム処理内の各処理の実行の有無を示すシステム構成情報が格納される。図５は、システム構成情報の一例を示す図である。このシステム構成情報は、４ビットからなり０ビット目（Ｂｉｔ０）には、入力リフレッシュの要否が格納され、１ビット目（Ｂｉｔ１）には、出力リフレッシュの要否が格納され、２ビット目（Ｂｉｔ２）には、スキャンタイム測定の可否が格納され、３ビット目（Ｂｉｔ３）には、割り込み回数測定の可否が設定される。これらは、実行／非実行の２ビットで表すことができる。この図では、実行は「１」で示し、非実行は「０」で表している。なお、この図５に示されるように、システム構成情報のビットは、予めシステム処理内の各処理に対応付けられている。
【００２４】
システム処理実行部３６は、システム構成情報記憶部３５に記憶されているシステム構成情報におけるシステム処理内の処理実行の要否に基づいて、システム処理を実行する。
【００２５】
つぎに、このようなプログラマブルコントローラ１を構成するＣＰＵユニット１０におけるシステム処理の手順について説明する。図６は、ＣＰＵユニットにおける動作処理の手順の概略を示すフローチャートである。この図に示されるように、各ＣＰＵユニット１０では、まずイニシャル処理を実行する（ステップＳ１１）。このイニシャル処理では、システム構成確認部３４によるシステム構成情報の作成と、システム処理実行部３６によるイニシャル処理が行われる。
【００２６】
ついで、ユーザプログラム実行部３２は、ユーザプログラム格納部３１に格納されているシーケンスプログラムを実行する（ステップＳ１２）。さらに、システム処理実行部３６は、システム構成情報記憶部３５内のシステム構成情報に基づいてシステム処理を実行する（ステップＳ１３）。その後、ユーザプログラム実行部３２とシステム処理実行部３６は、ステップＳ１２のシーケンスプログラムの実行処理の開始からステップＳ１３のシステムプログラムの実行処理の完了までを１スキャンとする処理を、繰り返し実行する。
【００２７】
図７は、図６のイニシャル処理の手順の一例を示すフローチャートであり、図８は、図７のユーザシステム構成チェック処理の手順の一例を示すフローチャートである。イニシャル処理において、まず、システム構成確認部３４は、ユーザシステム構成チェックを行う（ステップＳ２１）。
【００２８】
このユーザシステム構成チェック処理では、図８に示される処理が行われる。まず、システム構成確認部３４は、入出力リフレッシュ可否チェックを行う（ステップＳ３１）。具体的には、システム構成確認部３４は、ユーザプログラム格納部３１内のシーケンスプログラムをスキャンし、その中に入出力ユニットにアクセスする命令が含まれているか否かを確認する。そして、入出力ユニットにアクセスする命令が含まれている場合には、入出力リフレッシュ処理を行うものと判定し、入出力ユニットにアクセスする命令が含まれていない場合には、入出力リフレッシュ処理を行わないものと判定する。
【００２９】
図９−１は、入出力ユニットへアクセスする命令が含まれる場合のシーケンスプログラムの一例を示す図であり、図９−２は、入出力ユニットへアクセスする命令が含まれない場合のシーケンスプログラムの一例を示す図である。
【００３０】
図９−１に示されるように、「Ｙ」という文字が入出力ユニットへアクセスする命令として使用される場合には、シーケンスプログラム中に、出力ユニットへアクセスする命令である「Ｙ０」という変数がシーケンスプログラム中に含まれると、システム構成確認部３４は、このシーケンスプログラムは出力ユニットの端子のリフレッシュ動作が必要であるものと判定する。
【００３１】
一方、図９−２に示されるように、シーケンスプログラム中に、入力ユニットと出力ユニットへアクセスするデバイスである「Ｘ」と「Ｙ」という文字がまったく含まれない場合には、システム構成確認部３４は、このシーケンスプログラムは入出力ユニットの端子のリフレッシュ動作が必要ないものと判定する。
【００３２】
ついで、システム構成確認部３４は、スキャンタイム測定パラメータ記憶部３３を参照し、スキャンタイム測定の可否についてチェックを行う（ステップＳ３２）。具体的には、スキャンタイム測定パラメータ記憶部３３にスキャンタイム測定の実行が設定されている場合には、スキャンタイムの測定を行い、スキャンタイム測定パラメータ記憶部３３にスキャンタイム測定の実行が設定されていない場合には、スキャンタイムの測定は行わない。
【００３３】
ついで、システム構成確認部３４は、割り込み回数測定可否チェックを行う（ステップＳ３３）。具体的には、システム構成確認部３４は、ユーザプログラム格納部３１内のシーケンスプログラムをスキャンし、その中に割り込みポインタが含まれるか否かを確認する。そして、書込ポインタが含まれている場合には、割り込み回数測定を行うものと判定し、割り込みポインタが含まれていない場合には、割り込み回数測定を行わないものと判定する。
【００３４】
図１０は、割り込みポインタを含むシーケンスプログラムの一例を示す図である。この図１０に示されるように、割り込みポインタとして「Ｉ」という文字が使用される場合には、シーケンスプログラム中に「Ｉ１０」や「Ｉ５０」という割り込みポインタが含まれると、システム構成確認部３４は、このシーケンスプログラムは割り込み回数の測定が必要であると判定する。
【００３５】
その後、システム構成確認部３４は、上記のステップＳ３１〜Ｓ３３で得られた結果を、システム構成情報記憶部３５内の対応する領域に書込み、システム構成情報を作成する（ステップＳ３４）。以上によって、ユーザシステム構成チェック処理が終了する。
【００３６】
その後、図７に戻り、システム処理実行部３６は、ＣＰＵユニット１０の動作に必要なその他のイニシャル処理を実行し（ステップＳ２２）、イニシャル処理が終了する。
【００３７】
図１１は、図６のステップＳ１３におけるシステム処理の手順の一例を示すフローチャートである。まず、システム構成確認部３４は、シーケンスプログラムの変更などのシステム構成の変更があったか否かを判定する（ステップＳ５１）。システム構成の変更がある場合（ステップＳ５１でＹｅｓの場合）には、システム構成確認部３４は、ユーザシステム構成チェック処理を行う（ステップＳ５２）。このユーザシステム構成チェック処理は、図８で説明した処理と同じである。
【００３８】
一方、システム構成の変更がない場合（ステップＳ５１でＮｏの場合）には、システム処理実行部３６は、システム構成情報記憶部３５を参照して、出力リフレッシュ処理が必要か否かを判定する（ステップＳ５３）。図５に示されるシステム構成情報の例では、出力リフレッシュの実行の可否はＢｉｔ１に書き込まれているので、システム処理実行部３６は、システム構成情報記憶部３５のＢｉｔ１を参照して、実行の可否を取得する。
【００３９】
出力リフレッシュ処理が必要な場合（ステップＳ５３でＹｅｓの場合）には、システム処理実行部３６は、出力ユニット５２へ出力情報を反映させる処理を行う（ステップＳ５４）。その後、またはステップＳ５３で出力リフレッシュ処理が必要でない場合（ステップＳ５３でＮｏの場合）には、システム処理実行部３６は、スキャンタイム測定が必要か否かを判定する（ステップＳ５５）。図５に示されるシステム構成情報の例では、スキャンタイム測定の可否は、Ｂｉｔ２に書き込まれているので、システム処理実行部３６は、システム構成情報記憶部３５のＢｉｔ２を参照して、実行の可否を取得する。
【００４０】
スキャンタイム測定が必要な場合（ステップＳ５５でＹｅｓの場合）には、システム処理実行部３６は、スキャンタイムの測定処理を行う（ステップＳ５６）。その後、またはステップＳ５５でスキャンタイム測定が必要でない場合（ステップＳ５５でＮｏの場合）には、システム処理実行部３６は、ハードウェアの異常チェックを行う（ステップＳ５７）。
【００４１】
ついで、システム処理実行部３６は、システム構成情報記憶部３５を参照して、割り込み回数の測定処理が必要か否かを判定する（ステップＳ５８）。図５に示されるシステム構成情報の例では、割り込み回数測定の要否は、Ｂｉｔ３に書き込まれているので、システム処理実行部３６は、システム構成情報記憶部３５のＢｉｔ３を参照して、処理実行の要否を取得する。
【００４２】
割り込み回数の測定処理が必要な場合（ステップＳ５８でＹｅｓの場合）には、システム処理実行部３６は、割り込み回数の測定処理を実行する（ステップＳ５９）。その後、またはステップＳ５８で割り込み回数の測定処理が不要な場合（ステップＳ５８でＮｏの場合）には、システム処理実行部３６は、入力リフレッシュ処理が必要か否かを判定する（ステップＳ６０）。図５に示されるシステム構成情報の例では、入力リフレッシュの実行の可否はＢｉｔ０に書き込まれているので、システム処理実行部３６は、システム構成情報記憶部３５のＢｉｔ０を参照して、処理実行の可否を取得する。
【００４３】
入力リフレッシュ処理が必要な場合（ステップＳ６０でＹｅｓの場合）には、システム処理実行部３６は、入力ユニット５１からの入力情報を反映させる処理を行う（ステップＳ６１）。その後、またはステップＳ６０で入力リフレッシュ処理が不要な場合（ステップＳ６０でＮｏの場合）には、システム処理が終了する。
【００４４】
この実施の形態によるシステム処理の流れの具体的な例について説明する。図１２は、プログラマブルコントローラの構成の一例を示す図である。このプログラマブルコントローラ１は、ベースユニット２０上に、入出力制御を専用に行う入出力制御専用ＣＰＵユニット１０Ｃと、入出力制御専用ＣＰＵユニット１０Ｃから渡されるデータに基づいて所定の演算処理を専用に行う高速演算用ＣＰＵユニット１０Ｄと、外部機器からの入力情報を受ける入力ユニット５１と、入出力制御専用ＣＰＵユニット１０Ｃからの出力信号を外部機器へ伝達する出力ユニット５２と、が装着されている。
【００４５】
ここで、入出力制御専用ＣＰＵユニット１０Ｃは、上記した入力ユニット５１と出力ユニット５２へのアクセスのほかに、スキャンタイムの測定および割り込み回数の測定を実行するものとする。また、高速演算用ＣＰＵユニット１０Ｄは、上記した入力ユニット５１と出力ユニット５２とのやり取りを行わないほかに、スキャンタイムの測定と割り込み回数の測定も実行しないものとする。
【００４６】
図１３は、入出力制御専用ＣＰＵユニットにおけるシステム処理の手順の一例を示すフローチャートであり、図１４は、高速演算用ＣＰＵユニットにおけるシステム処理の手順の一例を示すフローチャートである。
【００４７】
入出力制御専用ＣＰＵユニット１０Ｃにおけるシステム処理は、図１３に示されるように、１スキャンごとに、出力ユニット５２へ出力情報を反映させ（ステップＳ１０１）、スキャンタイムの測定を行い（ステップＳ１０２）、ハードウェアの異常チェックを行い（ステップＳ１０３）、割り込み回数の測定チェックを行い（ステップＳ１０４）、入力ユニット５１からの入力情報を反映させる（ステップＳ１０５）という処理を実行する。
【００４８】
一方、高速演算用ＣＰＵユニット１０Ｄにおけるシステム処理は、図１４に示されるように、１スキャンごとに、スキャンタイムの測定を行い（ステップＳ１１１）、ハードウェアの異常チェックを行う（ステップＳ１１２）という処理を実行する。
【００４９】
このように、入力ユニット５１と出力ユニット５２へのアクセスを行わない高速演算用ＣＰＵユニット１０Ｄのシステム処理は、入力ユニット５１と出力ユニット５２へのアクセスを行う入出力制御専用ＣＰＵユニット１０Ｃのシステム処理と比較して、出力ユニット５２へ出力情報を反映させる処理、スキャンタイムの測定処理、割り込み回数測定チェック処理、および入力ユニット５１からの入力情報を反映させる処理を実行しなくて済み、その文の時間を短縮することができる。その結果、高速演算用ＣＰＵユニット１０Ｄにおける１スキャンのスキャンタイムを短縮することが可能になる。
【００５０】
なお、ＣＰＵユニットにおける入出力ユニットへのアクセスは、入出力点数が同じであれば、ＣＰＵユニットの種類に関係なくほぼどのＣＰＵユニットも同じ時間（入出力点数が１６点ユニットの場合、約７μｓ。また、入出力点数が１６×ｎ（ｎは自然数）ユニットの場合、１６点ユニット×ｎ台分と同等の性能となるので、約７μｓ×ｎ［μｓ］。）となる。そのため、入出力ユニットへのアクセスの有無によるスキャンタイムの短縮時間は、ベースユニット２０上に装着される入力ユニット５１と出力ユニット５２の総数に比例して大きくなる。この例の場合、ベースユニット２０には１個の入力ユニット５１と１個の出力ユニット５２と（ともに入出力点数が１６点）が装着されているので、高速演算用ＣＰＵユニット１０Ｄは、入出力制御専用ＣＰＵユニット１０Ｃに比較して、約１４μｓ程度スキャンタイムを高速化することが可能となった。
【００５１】
また、上述したＣＰＵユニット１０におけるシーケンサ動作処理方法を、これらの方法の処理手順が格納されたプログラムとして構成し、このプログラムをＣＰＵ（ＭＰＵ），ＲＯＭ，ＲＡＭを有するコンピュータで実行することによって実現することができる。
【００５２】
この実施の形態によれば、入出力ユニットと情報のやり取りを行わないＣＰＵユニットについて、１スキャンごとに行われるシステム処理中の不要な処理を実行させないようにしたので、スキャンタイムを短縮することができるという効果を有する。
【産業上の利用可能性】
【００５３】
以上のように、この発明にかかるプログラマブルコントローラは、入出力ユニットとの間で情報のやり取りを行わないＣＰＵユニットを含む複数のＣＰＵユニットを備えるプログラマブルコントローラに有用である。
【図面の簡単な説明】
【００５４】
【図１】この発明が適用されるプログラマブルコントローラの一例を概略的に示す図である。
【図２】ベースユニットに複数のＣＰＵユニットが装着されたプログラマブルコントローラの構成を模式的に示すブロック図である。
【図３】この発明によるＣＰＵユニットの機能構成を模式的に示すブロック図である。
【図４】システム処理の個々の処理の実行の有無についての判定条件の一例を示す図である。
【図５】システム構成情報の一例を示す図である。
【図６】ＣＰＵユニットにおける動作処理の手順の概略を示すフローチャートである。
【図７】図６のイニシャル処理の手順の一例を示すフローチャートである。
【図８】図７のユーザシステム構成チェック処理の手順の一例を示すフローチャートである。
【図９−１】入出力ユニットへアクセスする命令が含まれる場合のシーケンスプログラムの一例を示す図である。
【図９−２】入出力ユニットへアクセスする命令が含まれない場合のシーケンスプログラムの一例を示す図である。
【図１０】割り込みポインタを含むシーケンスプログラムの一例を示す図である。
【図１１】図６のステップＳ１３におけるシステム処理の手順の一例を示すフローチャートである。
【図１２】プログラマブルコントローラの構成の一例を示す図である。
【図１３】入出力制御専用ＣＰＵユニットにおけるシステム処理の手順の一例を示すフローチャートである。
【図１４】高速演算用ＣＰＵユニットにおけるシステム処理の手順の一例を示すフローチャートである。
【図１５】図６のシステム処理の手順の一例を示す図である。
【符号の説明】
【００５５】
１  プログラマブルコントローラ
１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ  ＣＰＵユニット
１１  ＭＰＵ
１２  システムプログラム格納部
１３  システムワーク記憶部
１４  データバスインタフェース
１５，３１  ユーザプログラム格納部
１６  ユーザデータ記憶部
１７  内部バス
２０  ベースユニット
２１  データバス
３２  ユーザプログラム実行部
３３  スキャンタイム測定パラメータ記憶部
３４  システム構成確認部
３５  システム構成情報記憶部
３６  システム処理実行部
３７  制御部
５１  入力ユニット
５２  出力ユニット
【図１】
2008146402.tif 000003
【図２】
2008146402.tif 000004
【図３】
2008146402.tif 000005
【図４】
2008146402.tif 000006
【図５】
2008146402.tif 000007
【図６】
2008146402.tif 000008
【図７】
2008146402.tif 000009
【図８】
2008146402.tif 000010
【図９−１】
2008146402.tif 000011
【図９−２】
2008146402.tif 000012
【図１０】
2008146402.tif 000013
【図１１】
2008146402.tif 000014
【図１２】
2008146402.tif 000015
【図１３】
2008146402.tif 000016
【図１４】
2008146402.tif 000017
【図１５】
2008146402.tif 000018