(57)【要約】      （修正有）【課題】データ送信が高速に行えるプログラマブルロジックコントローラを実現する。【解決手段】外部装置からコマンドを受け取り、データを返信するプログラマブルロジックコントローラに改良を加えたものである。本装置は、データ格納部２１と、フラグ格納部２２と、このフラグ格納部２２の読込中フラグがオフのとき、フラグ格納部２２の書込中フラグをオンとして、データ格納部２１にデータの書込みを行う演算処理部２３と、外部装置からコマンドを受け取り、フラグ格納部２２の書込中フラグがオフのとき、フラグ格納部２２の読込中フラグをオンとして、データ格納部２１のデータを外部装置へ送信するコマンド処理部２４とを備えたことを特徴とする。【選択図】図１
2010198272.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からコマンドを受け取り、データを返信するプログラマブルロジックコントローラにおいて、
データを格納するデータ格納部と、
書込中フラグ、読込中フラグを格納するフラグ格納部と、
このフラグ格納部の読込中フラグがオフのとき、前記フラグ格納部の書込中フラグをオンとして、前記データ格納部にデータの書込みを行う演算処理部と、
前記外部装置からコマンドを受け取り、前記フラグ格納部の書込中フラグがオフのとき、前記フラグ格納部の読込中フラグをオンとして、前記データ格納部のデータを外部装置へ送信するコマンド処理部と
を備えたことを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記演算処理部は、
プログラムを格納するプログラム格納部と、
このプログラム格納部のプログラムにより、演算処理を行うプログラム実行部と
を設けたことを特徴とする請求項１記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置からコマンドを受け取り、データを返信するプログラマブルロジックコントローラに関し、データ送信が高速に行えるプログラマブルロジックコントローラに関するものである。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（以下ＰＬＣ）は、ファクトリオートメーション分野の制御系で広く用いられている。そして、ＰＬＣは、上位コンピュータとＲＳ−２３２−Ｃやイーサネット（登録商標）等の通信媒体で接続され、コマンドを受けて、データをレスポンスとして返す通信が行われる。このような装置は、例えば、下記特許文献１等に示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２０６４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＰＬＣは、上位コンピュータのコマンドを受け取って、一通りの演算処理（プログラム処理）が終了してから、データを送信していた。このため、データ送信に最大で演算処理時間分の遅延が発生するという問題点があった。
【０００５】
そこで、本発明の目的は、データ送信が高速に行えるプログラマブルロジックコントローラを実現することにある。
【課題を解決するための手段】
【０００６】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
外部装置からコマンドを受け取り、データを返信するプログラマブルロジックコントローラにおいて、
データを格納するデータ格納部と、
書込中フラグ、読込中フラグを格納するフラグ格納部と、
このフラグ格納部の読込中フラグがオフのとき、前記フラグ格納部の書込中フラグをオンとして、前記データ格納部にデータの書込みを行う演算処理部と、
前記外部装置からコマンドを受け取り、前記フラグ格納部の書込中フラグがオフのとき、前記フラグ格納部の読込中フラグをオンとして、前記データ格納部のデータを外部装置へ送信するコマンド処理部と
を備えたことを特徴とするものである。
請求項２記載の発明は、請求項１記載の発明であって、
前記演算処理部は、
プログラムを格納するプログラム格納部と、
このプログラム格納部のプログラムにより、演算処理を行うプログラム実行部と
を設けたことを特徴とするものである。
【発明の効果】
【０００７】
本発明によれば、フラグ格納部の書込中フラグ、読込中フラグにより、演算処理部、コマンド処理部が、データ格納部のデータの書き込み、読み出しを行うので、一通りの演算処理（プログラム）の終了まで待つ必要がなく、コマンド処理部はデータ送信を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施例を示した構成図である。
【図２】図１に示すプログラム実行部２３２の動作を示したフローチャートである。
【図３】図１に示すコマンド処理部２４の動作を示したフローチャートである。
【発明を実施するための形態】
【０００９】
以下本発明を、図面を用いて詳細に説明する。図１は本発明の一実施例を示した構成図である。
【００１０】
図１において、上位コンピュータ１は外部装置で、コマンドを送信すると共に、データ、例えば、生産データ（生産過程や生産結果データ）を受信する。ＰＬＣ２は、図示しないＩ／Ｏモジュール、ＣＰＵモジュール、電源モジュール、通信モジュール等が搭載され、演算処理（プログラム処理）が繰り返し行われる。そして、ＰＬＣ２は、図示しないフィールド機器（外部機器）を制御すると共に、上位コンピュータ１から、例えばネットワークを介して、コマンドを受け取り、ネットワークを介して、上位コンピュータ１にデータを返信する。また、ＰＬＣ２は、データ格納部２１、フラグ格納部２２、演算処理部２３、コマンド処理部２４を有する。
【００１１】
データ格納部２１は、データを格納する。フラグ格納部２２は、書込中フラグ２２１、読込中フラグ２２２を格納する。ここで、書込中フラグ２２１、読込中フラグ２２２が、”１”のとき、オン、”０”のときをオフとする。演算処理部２３は、フラグ格納部２２の読込中フラグ２２２がオフのとき、フラグ格納部２２の書込中フラグ２２１をオンとし、データ格納部２１にデータの書込みを行う。そして、演算処理部２３は、プログラム格納部２３１、プログラム実行部２３２を有する。プログラム格納部２３１は、プログラムを格納する。プログラム実行部２３２は、プログラム格納部２３１のプログラムにより、演算処理を行う。コマンド処理部２４は、上位コンピュータ１からコマンドを受け取り、フラグ格納部２２の書込中フラグ２２１がオフのとき、フラグ格納部２２の読込中フラグ２２２をオンとして、演算処理部２３を介して、データ格納部２１のデータを読み出し、上位コンピュータ１へ送信する。
【００１２】
このような装置の動作を以下に説明する。図２はプログラム実行部２３２の動作を示したフローチャートで、図３はコマンド処理部２４の動作を示したフローチャートである。
【００１３】
ＰＬＣ２のプログラム実行部２３２が、プログラム格納部２３１からプログラムを読み込む（Ｓ１）。そして、プログラム実行部２３２は、プログラムの実行する命令の種類を判別する（Ｓ２）。
【００１４】
命令がデータ書込み開始通知の場合、プログラム実行部２３２が、フラグ格納部２２の読込中フラグ２２２のオン、オフを確認し（Ｓ３）、読込中フラグ２２２がオフの場合、書込中フラグ２２１をオンとし（Ｓ４）、読込中フラグ２２２がオンの場合は、コマンド処理部２４がデータ格納部２１のデータを読み出し中のため、プログラム実行部２３２は何も行わない。
【００１５】
命令がデータ書込みの場合、プログラム実行部２３２が、フラグ格納部２２の書込中フラグ２２１のオン、オフを確認し（Ｓ５）、書込中フラグ２２１がオンの場合、データ格納部２１にデータ、例えば、生産データの書込みを行う（Ｓ６）。書込中フラグ２２１がオフの場合、コマンド処理部２４がデータ格納部２１のデータを読み出し中のため、プログラム実行部２３２は何も行わない。
【００１６】
命令がデータ書込み完了の場合、プログラム実行部２３２が、フラグ格納部２２の書込中フラグ２２１をオフにする（Ｓ７）。
【００１７】
命令がその他の命令の場合、プログラム実行部２３２が、その他の命令、例えば、フィールド機器の制御命令を実行する（Ｓ８）。
【００１８】
そして、プログラム実行部２３２は、読み込んだプログラムが最終行か判断する（Ｓ９）。最終行の場合、プログラム実行部２３２は、プログラムの実行を継続するかどうかを判断し、継続しない場合は処理を終了し、継続する場合は、再び、先頭行から、実行する命令の種類を判別する（Ｓ１０）。最終行でない場合、プログラム実行部２３２は、次行の実行する命令の種類を判別する（Ｓ２）。このような動作を繰り返す。
【００１９】
一方、コマンド処理部２４は、上位コンピュータ１からコマンドを受信したか判断し、コマンドを受信するまで判断を繰り返す（Ｓ１１）。そして、コマンドを受け取ると、コマンド処理部２４は、コマンドがデータ読込みコマンドか判断する（Ｓ１２）。
【００２０】
データ読込みコマンドの場合、コマンド処理部２４は、フラグ格納部２２の読込中フラグ２２２をオンにする（Ｓ１３）。そして、フラグ格納部２２の書込中フラグ２２１がオフになるまで、コマンド処理部２４は判断を繰り返す（Ｓ１４）。書込中フラグ２２１がオフになると、コマンド処理部２４は、演算処理部２３にデータを要求し、演算処理部２３は、データ格納部２１のデータを読み出し、コマンド処理部２４に渡す。そして、コマンド処理部２４は、上位コンピュータ１にデータを送信する（Ｓ１５）。コマンド処理部２４は、フラグ格納部２２の読込中フラグ２２２をオフにする（Ｓ１６）。
【００２１】
データ読込みコマンドでない場合、コマンド処理部２４は、他のコマンド処理、例えば、演算処理部２３に対して停止、つまり、ＰＬＣ２の停止処理を行う（Ｓ１７）。
【００２２】
このように、フラグ格納部２２の書込中フラグ２２１、読込中フラグ２２２により、演算処理部２３、コマンド処理部２４が、データ格納部２１のデータの書き込み、読み出しを行うので、一通りの演算処理（プログラム）の終了まで待つ必要がなく、コマンド処理部２４はデータ送信を行うことができる。
【００２３】
なお、本発明はこれに限定されるものではなく、書込中フラグ２２１、読込中フラグ２２２を一つずつ設けた構成を示したが、２以上の複数ずつ設け、データ格納部２１のデータあるいはデータ領域ごとに分ける構成でもよい。
【００２４】
また、フラグ格納部２２に書込完了フラグを設け、演算処理部２３がデータ格納部２１にデータの書き込みを行ったときに書込完了フラグをオンにし、コマンド処理部２４が、書込完了フラグがオン後に、データの読み出しを行えば、書き込みが行われていないデータの読み出しを行うことがない。
【００２５】
そして、コマンド処理部２４は、演算処理部２３を介して、データ格納部２１のデータを読み出す構成を示したが、演算処理部２３を介さずに、直接、データ格納部２１からデータを読み出す構成でもよい。
【符号の説明】
【００２６】
１  上位コンピュータ
２  ＰＬＣ
２１  データ格納部
２２  フラグ格納部
２３  演算処理部
２３１  プログラム格納部
２３２  プログラム実行部
２４  コマンド処理部
【図１】
2010198272.tif 000003
【図２】
2010198272.tif 000004
【図３】
2010198272.tif 000005