(57)【要約】      （修正有）【課題】プログラマブルコントローラにおいて、特別なシステムプログラムを組み込むことなしにスキャンタイムを計測する回路を有すること。【解決手段】プログラマブルコントローラにおいて、クロックカウンタ格納手段２と、アドレス比較手段７と、アドレス読み出し信号８と、前記アドレス読み出し信号の指令のタイミングにてクロックカウンタ格納手段から第一カウンタ値格納手段１２へ転送処理する第一転送手段９と、第二転送手段１０と、第三転送手段１１と、第一カウンタ値格納手段１２と、第二カウンタ値格納手段１３と、前記第一カウンタ値格納手段と前記第二カウンタ値格納手段の偏差を求める為のカウンタ値減算手段１４と、スキャンタイム格納手段１５と、前記スキャンタイム格納手段からマイクロプロセッサに伝えるデータ信号１６と備えたことを特徴とするプログラマブルコントローラスキャンタイム計測回路。【選択図】図１
2014002584.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラにおいて、クロック出力手段より出力されたクロックをカウントするクロックカウンタ格納手段と、マイクロプロセッサのアドレス信号と読み出し信号を比較し予め定義されたスキャンタイム格納手段アドレス値との一致を検出するアドレス比較手段と、前記アドレス比較手段から出力されるアドレス読み出し信号と、前記アドレス読み出し信号の指令のタイミングにてクロックカウンタ格納手段から第一カウンタ値格納手段へ転送処理する第一転送手段と、前記アドレス読み出し信号の指令のタイミングにて第一カウンタ値格納手段から第二カウンタ値格納手段へ転送処理する第二転送手段と、前記アドレス読み出し信号の指令のタイミングにてスキャンタイム格納手段からデータ信号へ転送処理する第三転送手段と、クロックカウンタ格納手段からの値を保持する第一カウンタ値格納手段と、前記第一カウンタ値格納手段からの値を保持する第二カウンタ値格納手段と、前記第一カウンタ値格納手段と前記第二カウンタ値格納手段の偏差を求める為のカウンタ値減算手段と、前記カウンタ値減算手段より求めたスキャンタイムを保持するスキャンタイム格納手段と、前記スキャンタイム格納手段からマイクロプロセッサに伝えるデータ信号と備えたことを特徴とするプログラマブルコントローラスキャンタイム計測回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込みソフトウェアコードをユーザープログラムとして実行するプログラマブルコントローラに関するもので、スキャンタイムの計測の技術に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、プログラマブルコントローラ使用者によって予め定義されたユーザープログラムを実行する機能を持つ特徴がある。ユーザープログラムにはシーケンスプログラムと演算プログラムがある。
【０００３】
シーケンスプログラムとはあらかじめ定められた順序または手続きに従って制御の各段階を逐次進めていく制御であり、ラダー図により表現される。シーケンスプログラムは、入力接点の状態を読み取り、否定、論理和、論理積の組み合わせ演算などの論理演算を行い、出力結果として外部回路に出力される。外部回路はリレー等の比較的動作が遅いものが多く、前記シーケンスプログラムの演算の実行周期は比較的遅くて良いケースが多い。このため前記シーケンスプログラムの演算の実行周期であるスキャンタイムの高速性は重要ではないことが多い。
【０００４】
演算プログラムは、データフロー図により表現される。データフロー図は、演算データの流れをグラフィカルに表現する図であり、データ処理の可視化に使われる。前記演算プログラムは、フィードバック制御が主体であるモータ制御などに多く利用される。フィードバック制御とは、ある系の出力を入力側に戻す操作のことであり、加減乗除などの算術演算を主体とされる。前記演算プログラムのスキャンタイムは、前記フィードバック制御の場合、出力を入力側に戻す操作の実行する周期となるため、すなわち前記スキャンタイムの速度は制御上必要となる。
【０００５】
プログラマブルコントローラは小型のコンピュータの一種で、プログラマブルコントローラにはマイクロプロセッサが実装されている。マイクロプロセッサのソフトウェアコードは、予めプログラマブルコントローラに組み込まれているシステムプログラムと、シーケンスプログラムや演算プログラムなどのユーザープログラムがある。ユーザープログラムのシーケンスプログラムと演算プログラムは、マイクロプロセッサのソフトウェアコードとして実行される。
【０００６】
ユーザープログラムは、プログラマブルコントローラ専用に作られたユーザープログラム開発装置によって作成され、ダウンロード、アップロードが行われる。ダウンロードとはユーザープログラム開発装置からプログラマブルコントローラへユーザープログラムが転送されることであり、プログラマブルコントローラ用に適切に変換され転送される。適切な変換とは、ラダー図やデータフロー図で表現されたシーケンスプログラムや演算プログラムをマイクロプロセッサのソフトウェアコードに変換することが含まれ、その中には、ユーザープログラムが動作する為の情報も含まれる。アップロードとはプログラマブルコントローラからプログラマブルコントローラ専用ユーザープログラム開発装置へユーザープログラムが転送されることであり、マイクロプロセッサのソフトウェアから、ラダー図やデータフロー図へ変換されることが含まれる。よってプログラマブルコントローラ専用に作られたユーザープログラム開発装置にて、ダウンロード、アップロードすれば、シーケンスプログラムや演算プログラムなどのユーザープログラムはプログラマブルコントローラの機能に特化でき、予めプログラマブルコントローラに組み込まれているシステムプログラムと組み合わせ自由に機能することができる。
【０００７】
予めプログラマブルコントローラに組み込まれているシステムプログラムは、ダウンロード、アップロードの他に、転送されたユーザープログラムの起動、停止なども行う。そしてシステムプログラムは、特許文献１のようにスキャンタイムの分布を測定することができる。さらにユーザープログラムを自由に作成できれば、特許文献２のように、ユーザープログラムに終了命令を付け、終了命令が実行されることにより、ユーザープログラムの終了を認識し、スキャンタイムを計測することも可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−０８５２２０号公報
【特許文献２】特開平１０−１４３３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし近年、前記プログラマブルコントローラ専用ユーザープログラム開発装置以外の開発装置でプログラマブルコントローラのユーザープログラムを作成する様になってきた。そのひとつとして制御シミュレーションツールでプログラマブルコントローラのユーザープログラムを作成する例がある。
【００１０】
制御シミュレーションツールとは、設計仕様から実行可能な組み込みソフトウェアコードを自動生成する機能があり、さらに組み込みソフトウェアコードの検証が、実機を使用せず可能なことが特徴である。組み込みソフトウェアコードとは特定の機能を実現するために機械等に組み込まれたコンピュータシステムのソフトウェアコードことである。
【００１１】
前記制御シミュレーションツールの自動生成した組み込みソフトウェアコードは、プログラマブルコントローラ専用ユーザープログラム開発装置にて適切な変換をしたソフトウェアコードと違い、プログラマブルコントローラの機能に特化した組み込みソフトウェアコードではない。よって、予めプログラマブルコントローラに組み込まれたスキャンタイムを計測するソフトウェアコードを実装することができない。
【００１２】
プログラマブルコントローラの使用者は、制御シミュレーションツールで生成した組み込みソフトウェアコードによるユーザープログラムの実行周期も重要視する。よって、システムプログラムが実装されていなくとも、制御シミュレーションツールで生成した組み込みソフトウェアコードによるユーザープログラムの実行周期を計測する機能が求められた。
【００１３】
このため、制御シミュレーションツールの自動生成した組み込みソフトウェアコードを実行する場合、スキャンタイムを計測できなくなるという問題があった。
【００１４】
本発明は、プログラマブルコントローラにおいて、特別なシステムプログラムを組み込むことなしにスキャンタイムを計測する回路を有することを特徴とする。
【課題を解決するための手段】
【００１５】
本発明は前記課題を解決するためになされたもので、クロック出力手段より出力されたクロックをカウントするクロックカウンタ格納手段と、マイクロプロセッサのアドレス信号と読み出し信号を比較し予め定義されたスキャンタイム格納手段アドレス値との一致を検出するアドレス比較手段と、前記アドレス比較手段から出力されるアドレス読み出し信号と、前記アドレス読み出し信号の指令のタイミングにてクロックカウンタ格納手段から第一カウンタ値格納手段へ転送処理する第一転送手段と、前記アドレス読み出し信号の指令のタイミングにて第一カウンタ値格納手段から第二カウンタ値格納手段へ転送処理する第二転送手段と、前記アドレス読み出し信号の指令のタイミングにてスキャンタイム格納手段からデータ信号へ転送処理する第三転送手段と、クロックカウンタ格納手段からの値を保持する第一カウンタ値格納手段と、前記第一カウンタ値格納手段からの値を保持する第二カウンタ値格納手段と、前記第一カウンタ値格納手段と前記第二カウンタ値格納手段の偏差を求める為のカウンタ値減算手段と、前記カウンタ値減算手段より求めたスキャンタイムを保持するスキャンタイム格納手段と、前記スキャンタイム格納手段からマイクロプロセッサに伝えるデータ信号と備えたことを特徴とするプログラマブルコントローラスキャンタイム計測回路。
【発明の効果】
【００１６】
本発明により特別なシステムプログラムを組み込むことなしにスキャンタイムを計測することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】スキャンタイム計測回路
【図２】汎用シミュレーションツールでプログラマブルコントローラのユーザープログラム例
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について説明する。
【実施例１】
【００１９】
図１は本発明の構成を示し、クロック出力手段（１）より出力されたクロックを計測し、その計測値はクロックカウンタ格納手段（２）に格納する。クロック出力手段（１）から１ＭＨｚのクロックが出力されるとき、１カウントが１μｓｅｃとなる。
【００２０】
プログラマブルコントローラのユーザープログラムにおいて、読み出しアドレスコードが一回実行されると、ソフトウェアコードによりスキャンタイム格納手段（１５）を読み出す命令が実行される。そのとき、マイクロプロセッサ（３）のアドレス信号（４）と読み出し信号（５）が出力され、アドレス比較手段（７）が、スキャンタイム格納手段アドレス値（６）との一致を検出し、アドレス読み出し信号（８）が出力される。前記アドレス読み出し信号（８）の出力される周期はプログラマブルコントローラのスキャンタイムとなっている。
【００２１】
前記アドレス読み出し信号（８）が出力されると、クロックカウンタ格納手段（２）から第一カウンタ値格納手段（１２）への第一転送手段（９）と、第一カウンタ値格納手段（１２）から第二カウンタ値格納手段（１３）への第二転送手段（１０）が実行される。カウンタ値減算手段（１４）により、第一カウンタ値格納手段（１２）の値と第二カウンタ値格納手段（１３）の値の偏差を求められ、実行結果はスキャンタイムとしてスキャンタイム格納手段（１５）へ格納される。
【００２２】
プログラマブルコントローラのユーザープログラムにてスキャンタイム格納手段（１５）のアドレスを読み出している為、プログラマブルコントローラのユーザープログラムにて、プログラマブルコントローラのスキャンタイムは認識できる。
【００２３】
図２は制御シミュレーションツールでのプログラマブルコントローラのユーザープログラム（２０）例であり、プログラマブルコントローラのユーザープログラム（２０）内の演算プログラム部分は第一入力（２１）、第二入力（２２）の入力値を加算（２３）し、関数（２４）にて演算を行ったあと出力（２５）に格納する。実際に適用されるユーザープログラム（２０）はさらに演算し、内容も多く複雑であるが、ここではシンプルな例を示す。
【００２４】
次のステップはスキャンタイム格納手段のアドレス（２６）より読み出した値をダミーボックス（２７）に格納する例である。スキャンタイム格納手段のアドレス（２６）を読み出す処理の実行する周期を計測し、スキャンタイムを算出するのが本発明である。プログラマブルコントローラのユーザープログラム（２０）はマイクロプロセッサに実装されているタイマ機能により起動される。タイマ機能により起動される周期がスキャンタイムとなる。その際、ユーザープログラム（２０）の演算量が多いと想定しているスキャンタイムで演算が終了しない場合がある。その時のスキャンタイム値を実際のスキャンタイムといい、実際のスキャンタイムを正確に検出する目的が本発明の目的である。
【産業上の利用可能性】
【００２５】
本発明は、組み込みソフトウェアコードをユーザープログラムとして実行するプログラマブルコントローラにおいて、特別なシステムプログラムを組み込むことなしにスキャンタイムを計測することができ、産業上の利用の可能性は大いにある。
【符号の説明】
【００２６】
１  クロック出力手段
２  クロックカウンタ格納手段
３  マイクロプロセッサ
４  アドレス信号
５  読み出し信号
６  スキャンタイム格納手段アドレス値
７  アドレス比較手段
８  アドレス読み出し信号
９  第一転送手段
１０  第二転送手段
１１  第三転送手段
１２  第一カウンタ値格納手段
１３  第二カウンタ値格納手段
１４  カウンタ値減算手段
１５  スキャンタイム格納手段
１６  データ信号
２０  ユーザープログラム
２１  第一入力
２２  第二入力
２３  加算
２４  関数
２５  出力
２６  スキャンタイム格納手段のアドレス
２７  ダミーボックス
【図１】
2014002584.tif 000003
【図２】
2014002584.tif 000004