(57)【特許請求の範囲】
【請求項１】
工場のラインに設置された第１機器及び第２機器に接続されて、ＣＰＵユニットとともにＰＬＣを構成する入出力制御ユニットであって、
前記第１機器から機器信号を受信する第１入力インタフェースと、
記憶手段に含まれる複数の記憶領域それぞれのアドレスと、該記憶領域に関連付けられた条件値と、を示す関連情報を受信する通信インタフェースと、
前記機器信号から生成されるデジタル値を前記複数の記憶領域のいずれかに書き込むデータ制御手段と、を備え、
前記データ制御手段は、
前記第２機器から入力される入力信号から生成される参照信号を取得して、前記参照信号の値と前記条件値とを比較する比較手段と、
前記デジタル値が書き込まれる前記記憶領域を、前記比較手段による比較に基づいて切り替えて、前記デジタル値を書き込むロガー手段と、を有する、入出力制御ユニット。
【請求項２】
前記第２機器は、生産ラインに設置されたエンコーダ又はセンサである、
請求項１に記載の入出力制御ユニット。
【請求項３】
前記ロガー手段は、前記デジタル値が書き込まれる前記記憶領域を、前記条件値のうち前記参照信号の値より大きい最小の値又は前記参照信号の値より小さい最大の値に関連付けられたアドレスの前記記憶領域に切り替える、
請求項１又は２に記載の入出力制御ユニット。
【請求項４】
前記入力信号を受信する第２入力インタフェース、をさらに備え、
前記入力信号は、パルス信号であって、
前記データ制御手段は、前記パルス信号に含まれるパルスの数をカウントして、カウント結果を示す前記参照信号を出力するカウンタ手段をさらに有する、
請求項１から３のいずれか一項に記載の入出力制御ユニット。
【請求項５】
前記機器信号及び前記入力信号は、アナログ信号であって、
前記参照信号は、デジタル信号であって、
前記第１入力インタフェースは、前記入力信号を受信し、
前記データ制御手段は、前記機器信号のレベルを前記デジタル値に変換し、前記入力信号を前記参照信号に変換するＡＤ変換手段、をさらに有する、
請求項１から３のいずれか一項に記載の入出力制御ユニット。
【請求項６】
前記通信インタフェースは、ユーザによって指示された指示値を受信し、
前記ロガー手段は、前記通信インタフェースによって前記指示値が受信された場合に、前記デジタル値が書き込まれる前記記憶領域を、前記指示値により示される領域に切り替える、
請求項１から５のいずれか一項に記載の入出力制御ユニット。
【請求項７】
工場のラインに設置された第１機器及び第２機器に接続されて、ＣＰＵユニットとともにＰＬＣを構成する入出力制御ユニットであって、
記憶手段に含まれる複数の記憶領域それぞれのアドレスと、該記憶領域に関連付けられた条件値と、を示す関連情報を受信する通信インタフェースと、
前記複数の記憶領域のいずれかからデジタル値を読み出して、該デジタル値から生成される出力信号を出力するデータ制御手段と、
前記出力信号を前記第１機器に送信する出力インタフェースと、を備え、
前記データ制御手段は、
前記第２機器から入力される入力信号から生成される参照信号を取得して、前記参照信号の値と前記条件値とを比較する比較手段と、
前記デジタル値が読み出される前記記憶領域を、前記比較手段による比較に基づいて切り替えて、前記デジタル値を読み出して出力する出力手段と、を有する、入出力制御ユニット。
【請求項８】
請求項１から７のいずれか一項に記載の入出力制御ユニットと、
前記入出力制御ユニットの動作を前記入出力制御ユニットに指示する前記ＣＰＵユニットと、
を備えるＰＬＣ。
【請求項９】
工場のラインに設置された第１機器及び第２機器に接続されて、ＣＰＵユニットとともにＰＬＣを構成する入出力制御ユニットによるデータ制御方法であって、
前記第１機器から出力される機器信号から生成されるデジタル値を複数の記憶領域のいずれかに書き込むステップと、
前記複数の記憶領域それぞれのアドレスと、該記憶領域に関連付けられた条件値と、を示す関連情報を受信するステップと、
前記第２機器から出力される信号から生成される参照信号の値と前記条件値とを比較するステップと、
前記デジタル値が書き込まれる前記記憶領域を、前記比較に基づいて切り替えるステップと、
を含むデータ制御方法。
【請求項１０】
工場のラインに設置された機器に接続されて、ＣＰＵユニットとともにＰＬＣを構成する入出力制御ユニットによるデータ制御方法であって、
デジタル値を複数の記憶領域のいずれかから読み出して出力するステップと、
前記複数の記憶領域それぞれのアドレスと、該記憶領域に関連付けられた条件値と、を示す関連情報を受信するステップと、
前記機器から出力される信号から生成される参照信号の値と前記条件値とを比較するステップと、
前記デジタル値が読み出される前記記憶領域を、前記比較に基づいて切り替えるステップと、
前記デジタル値から生成される出力信号を出力するステップと、
を含むデータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入出力制御ユニット、ＰＬＣ及びデータ制御方法に関する。
【背景技術】
【０００２】
工場に代表される施設では、センサを利用した予防保全及び検査精度の向上のために、センサから出力されるアナログ信号のデータを高い頻度で収集したいという需要がある。そこで、アナログ信号をデジタル信号に変換して記録する技術を利用することが考えられる（例えば、特許文献１を参照）。特許文献１には、ＰＬＣ（Programmable Logic Controllerプログラマブルロジックコントローラ）に装着されるＡ／Ｄ変換装置が、ＡＤ（Analog to Digital）変換により得たデジタル信号を時系列で内蔵のメモリに格納する技術について記載されている。この技術によれば、Ａ／Ｄ変換装置がデジタル信号を他の装置へ送信することがないため、ＡＤ変換と同等の短い周期で高速にデータを収集することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１０／１０９５８４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、センサに代表される機器と装置との間で伝送される信号に関して、高速な処理が要求されている。【０００５】
特にＰＬＣに関しては、データ収集の高速化に伴い、大量のデータを記憶することとなった。大量のデータを活用する際には、上位のサーバ側でデータが解析されることが多い一方、できるだけ現場で状況に応じたデータの仕分け或いは簡易的な解析処理を行うことが望ましい。具体的には、ＰＬＣが収集したデータを、収集対象とは異なる他の信号の値に応じて高速に仕分ける機能が市場から要求されている。しかしながら、特許文献１の技術では、収集したデータを仕分けてメモリに保存するような機能について何ら考慮されていなかった。このため、ＰＬＣが収集したデータを他の信号と照らし合わせて手動で仕分けるか、一旦保存されたデータを読み出して仕分けるプログラムを組む必要があり、煩雑な作業が生じることから、利便性を向上させる余地があった。【０００６】
本発明は、上記の事情に鑑みてなされたものであり、機器とＰＬＣとの間で伝送される信号に関する処理の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の入出力制御ユニットは、工場のラインに設置された第１機器及び第２機器に接続されて、ＣＰＵユニットとともにＰＬＣを構成する入出力制御ユニットであって、第１機器から機器信号を受信する第１入力インタフェースと、記憶手段に含まれる複数の記憶領域それぞれのアドレスと、該記憶領域に関連付けられた条件値と、を示す関連情報を受信する通信インタフェースと、機器信号から生成されるデジタル値を複数の記憶領域のいずれかに書き込むデータ制御手段と、を備え、データ制御手段は、第２機器から入力される入力信号から生成される参照信号を取得して、参照信号の値と条件値とを比較する比較手段と、デジタル値が書き込まれる記憶領域を、比較手段による比較に基づいて切り替えて、デジタル値を書き込むロガー手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、第１入力インタフェースが、第１機器から機器信号を受信する。そして、比較手段が、参照信号の値と条件値とを比較し、ロガー手段が、デジタル値が書き込まれる記憶領域を、比較手段による比較に基づいて切り替える。このため、デジタル値が書き込まれる記憶領域を、参照信号の値に応じて仕分けることができる。したがって、機器とＰＬＣとの間で伝送される信号に関する処理の利便性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係るＰＬＣシステムの構成を示す図
【図２】実施の形態１に係る記憶領域を切り替えるケースを模式的に示す図
【図３】実施の形態１に係るＰＬＣの構成を示す図
【図４】実施の形態１に係るデータ制御部の構成を示す図
【図５】実施の形態１に係るＰＣによって生成されるデータを示す図
【図６】実施の形態１に係るロジック回路の作図例を示す図
【図７】実施の形態１に係る領域切替テーブルを示す図
【図８】実施の形態１に係る領域ポインタテーブルを示す図
【図９】実施の形態１に係るカムスイッチ処理を示すフローチャート
【図１０】実施の形態１に係る参照信号及び領域番号の推移を示す図
【図１１】実施の形態１に係るロガー処理を示すフローチャート
【図１２】実施の形態２に係るロジック回路の作図例を示す図
【図１３】実施の形態３に係るデータ制御部の構成を示す図
【図１４】実施の形態３に係るロジック回路の作図例を示す図
【図１５】実施の形態４に係るＰＬＣの構成を示す図
【図１６】実施の形態４に係るロジック回路の作図例を示す図
【図１７】実施の形態５に係るＰＣによって生成されるデータを示す図
【図１８】実施の形態５に係る領域ポインタテーブルを示す図
【図１９】実施の形態５に係る波形管理部の機能を模式的に示す第１の図
【図２０】実施の形態５に係る波形管理部の機能を模式的に示す第２の図
【図２１】実施の形態５に係るロジック回路の作図例を示す図
【図２２】実施の形態５に係る波形出力処理を示すフローチャート
【図２３】実施の形態６に係るロジック回路の作図例を示す図
【図２４】実施の形態７に係るロジック回路の作図例を示す図
【図２５】実施の形態８に係るロジック回路の作図例を示す図
【図２６】変形例に係るデータ制御装置の構成を示す図
【図２７】変形例に係る関連情報を示す第１の図
【図２８】変形例に係る関連情報を示す第２の図
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態に係るＰＬＣシステム１０００について、図面を参照しつつ詳細に説明する。
【００１１】
実施の形態１．
＜ＰＬＣシステム１０００の概要＞
本実施の形態に係るＰＬＣシステム１０００は、工場に設置されるＦＡシステムの一部に相当する制御システムである。ＰＬＣシステム１０００は、ＦＡシステムを構成する機器同士を、通信路を介して接続することで形成される。ＰＬＣシステム１０００は、図１に示されるように、生産ラインに設置された機器６１，６２，６３，６４を制御するＰＬＣ１００と、ＰＬＣ１００の動作を設定するためのパーソナルコンピュータ５０と、を有する。以下では、パーソナルコンピュータ５０をＰＣ５０と表記する。
【００１２】
ＰＬＣ１００には、機器６１〜６４が接続される。機器６１は、エンコーダに代表される外部機器であって、デジタル信号を出力する。この機器６１から出力されたデジタル信号は、ＰＬＣ１００に入力される。機器６２は、電磁弁に代表される外部機器であって、機器６２には、ＰＬＣ１００から出力されたデジタル信号が入力される。機器６３は、レーザー変位センサに代表される外部機器であって、アナログ信号を出力する。この機器６３から出力されたアナログ信号は、ＰＬＣ１００に入力される。機器６４は、調節弁に代表される外部機器であって、機器６４には、ＰＬＣ１００から出力されたアナログ信号が入力される。以下では、機器６１〜６４を総称して機器６０と表記する。
【００１３】
なお、機器６０は、上記のエンコーダ、電磁弁、レーザー変位センサ及び調節弁に限定されず、アナログ信号の出力、アナログ信号の入力、デジタル信号の出力、及びデジタル信号の入力、のうち少なくとも１つの機能を有する機器であればよい。例えば、機器６１，６３は、流量、圧力及び温度に代表される量を観測して電流値又は電圧値を出力するセンサであってもよい。
【００１４】
ＰＬＣ１００は、ＰＣ５０からユーザによって設定されたプログラムを実行して機器６０を制御することにより生産ラインを稼働させる制御装置である。ＰＬＣ１００は、演算処理を実行してデータ制御装置２０に指示を送るＣＰＵユニット１０と、ＣＰＵユニット１０からの指示に従って動作するデータ制御装置２０と、を有する。
【００１５】
データ制御装置２０は、機器６０からデータ制御装置２０に入力される信号、及びデータ制御装置２０自体から機器６０へ出力される信号を制御するデータ制御部２１０と、データを記憶する記憶部２５０と、を有する。機器６０から入力される信号のデータ制御部２１０による制御には、当該信号に関するデータを記憶部２５０にロギングすることが含まれる。詳細には、データ制御部２１０は、機器６０から継続して入力されるアナログ信号にＡＤ変換を施すことによりデジタル信号を得て、このデジタル信号に含まれるデジタル値を記憶部２５０に順次書き込む。そして、データ制御部２１０は、デジタル値の書き込み先を、記憶部２５０に含まれる複数の記憶領域２５１，２５２のうちのいずれか一の領域から、状況に応じて他の領域に高速に切り替える。
【００１６】
例えば、図２に示されるように、ウェハ７１を回転させながら、機器６１の一例であるエンコーダ６１ａがウェハ７１の角度を計測し、機器６３の一例であるレーザ変位センサ６３ａがウェハ７１の厚みを計測するケースを想定する。このケースにおいて、エンコーダ６１ａからは角度に対応するパルス信号が出力され、レーザ変位センサ６３ａからは厚みを示すアナログ信号が出力される。
【００１７】
そして、アナログ信号にＡＤ変換を施して得るデジタル信号は、記憶領域２５１の一例である記憶領域２５１ａに記録される。また、パルス信号のパルスをカウントした結果が閾値Ｔｈ１を超えたときには、記録が中断することなく、記憶領域２５２の一例である記憶領域２５２ａに記録先が変更されてデジタル信号の記録が継続される。図２に示されるケースにおいては、パルスのカウント結果を示す参照信号と閾値との比較に基づいて記録先が切り替わることとなる。
【００１８】
＜ＰＬＣ１００の構成＞
ＰＬＣ１００は、ＰＣ５０からの設定に従って、図２に示されるようなロギング処理に限定されない種々の制御処理を実現する。以下では、種々の制御処理を実現するためのＰＬＣ１００の構成について、図３を参照して説明する。図３に示されるように、ＰＬＣ１００のＣＰＵユニット１０及びデータ制御装置２０は、通信バス３０を介して接続されて互いに通信する。
【００１９】
ＣＰＵユニット１０は、ＰＬＣ１００を構成する演算処理ユニットに相当し、ラダープログラム１１２を実行する。ラダープログラム１１２は、ＰＬＣ１００が備える各装置を動作させて産業用機器を制御するためのプログラムである。ラダープログラム１１２の実行による制御には、データ制御装置２０の制御の他に、不図示の装置の制御が含まれ得る。ＣＰＵユニット１０は、ラダープログラム１１２の実行と、ラダープログラム１１２の実行結果の出力と、ラダープログラム１１２によって使用される値の取得と、を予め定められた周期で繰り返し実行する。この周期は、制御周期、或いはスキャンタイムと呼ばれ、ミリ秒オーダの時間である。換言すると、この周期の長さは通常、１ミリ秒以上である。
【００２０】
ＣＰＵユニット１０は、図３に示されるように、予め設定されたパラメータ１１１及びラダープログラム１１２を記憶するメモリ１１と、メモリ１１に格納されているパラメータ１１１に従ってラダープログラム１１２を実行する演算部１２と、ＰＣ５０と通信するためのＰＣインタフェース１３と、通信バス３０を介してデータ制御装置２０と通信するための通信インタフェース１４と、を有する。
【００２１】
メモリ１１は、不揮発性のメモリであって、例えば半導体フラッシュメモリ又は磁気ディスクに相当する。演算部１２は、ＣＰＵと、当該ＣＰＵの作業領域となるＲＡＭと、を有する。ＰＣインタフェース１３は、例えばＵＳＢ（Universal Serial Bus）インタフェース回路を含む。通信インタフェース１４は、データ制御装置２０と通信するための通信インタフェース回路を有する。
【００２２】
データ制御装置２０は、ＣＰＵユニット１０に装着されて利用される、ＰＬＣ１００の入出力制御ユニット或いはＩ／Ｏ（Input/Output）ユニットに相当する。データ制御装置２０は、データ制御装置２０と機器６０との間で入出力されるデジタル信号に含まれるデータ及びアナログ信号に関するデータを制御する。なお、データ制御装置２０は、データ制御装置２０から出力される信号のデータを制御することで、機器６０を制御してもよい。データ制御装置２０は、上述のデータ制御部２１０及び記憶部２５０の他に、デジタル信号を受信するデジタル信号入力インタフェース２４１と、デジタル信号を送信するデジタル信号出力インタフェース２４２と、アナログ信号を受信するアナログ信号入力インタフェース２４３と、アナログ信号を送信するアナログ信号出力インタフェース２４４と、通信バス３０を介して通信するための通信インタフェース２６０と、データ制御部２１０の動作を規定する動作パラメータを記憶する内部メモリ２７０と、動作パラメータに従ってデータ制御部２１０を動作させる演算部２８０と、電源切断時に備えてデータを記憶する不揮発性メモリ２９０と、を有する。
【００２３】
デジタル信号入力インタフェース２４１は、機器６１から入力されたデジタル信号をデータ制御部２１０に出力する。デジタル信号出力インタフェース２４２は、データ制御部２１０から入力されたデジタル信号を機器６２に出力する。アナログ信号入力インタフェース２４３は、機器６３から入力されたアナログ信号をデータ制御部２１０に出力する。アナログ信号入力インタフェース２４３は、第１機器としてデータ制御装置２０に接続される機器６３から、機器信号を受信する第１入力インタフェースの一例である。ここで、機器信号は、記録対象である値を出力する機器６０からの信号を意味する。アナログ信号出力インタフェース２４４は、データ制御部２１０から入力されたアナログ信号を機器６４に出力する。
【００２４】
ここで、データ制御部２１０の構成について図４を参照して説明する。データ制御部２１０は、ハードウェアによる再構成集積回路であって、いわゆるＰＬＤ（Programmable Logic Device）に相当する。データ制御部２１０は、並列処理によりナノ秒オーダで高速に動作する。データ制御部２１０は、データ制御装置２０の構成要素のうち、アナログ信号から生成されるデジタル値を複数の記憶領域２５１〜２５２のいずれかに書き込むデータ制御手段として機能する。データ制御部２１０は、複数の汎用回路ブロックと、汎用回路ブロックの組合せ及び使用順序の少なくとも一方を変更可能な通信路である回路ブロック切替バス２３０と、を有する。
【００２５】
詳細には、データ制御部２１０は、汎用回路ブロックとして、デジタル信号入力インタフェース２４１からデジタル信号が入力されるデジタル入力ブロック２１１と、デジタル信号出力インタフェース２４２へデジタル信号を出力するデジタル出力ブロック２１２と、アナログ信号入力インタフェース２４３によって受信されたアナログ信号をデジタル信号に変換するＡＤ変換ブロック２１３と、アナログ信号出力インタフェース２４４に与えるアナログ信号を生成するＤＡ変換ブロック２１４と、数値を計数するカウンタブロック２２１と、入力値に応じて出力値を切り替えて出力するカムスイッチブロック２２２と、入力された値をロギングするロガーブロック２２３と、アナログ形式の波形を出力するための波形出力ブロック２２４と、データの比較処理を行う比較演算ブロック２２５と、論理演算を行う論理演算ブロック２２６と、四則演算を行う四則演算ブロック２２７と、信号にフィルタリングを施すフィルタブロック２２８と、を有する。
【００２６】
汎用回路ブロックはそれぞれ、実行する処理に利用される実行パラメータを記憶するレジスタと、データを入出力するためのデータ入出力端子と、を有する。詳細には、デジタル入力ブロック２１１は、レジスタ２１１ａと端子２１１ｂとを有する。デジタル出力ブロック２１２は、レジスタ２１２ａと端子２１２ｂとを有する。ＡＤ変換ブロック２１３は、レジスタ２１３ａと端子２１３ｂとを有する。ＤＡ変換ブロック２１４は、レジスタ２１４ａと端子２１４ｂとを有する。カウンタブロック２２１は、レジスタ２２１ａと端子２２１ｂとを有する。カムスイッチブロック２２２は、レジスタ２２２ａと端子２２２ｂとを有する。ロガーブロック２２３は、レジスタ２２３ａと端子２２３ｂとを有する。波形出力ブロック２２４は、レジスタ２２４ａと端子２２４ｂとを有する。比較演算ブロック２２５は、レジスタ２２５ａと端子２２５ｂとを有する。論理演算ブロック２２６は、レジスタ２２６ａと端子２２６ｂとを有する。四則演算ブロック２２７は、レジスタ２２７ａと端子２２７ｂとを有する。フィルタブロック２２８は、レジスタ２２８ａと端子２２８ｂとを有する。
【００２７】
デジタル入力ブロック２１１は、レジスタ２１１ａに登録された実行パラメータに従って、デジタル信号入力インタフェース２４１からデジタル信号の入力を受けて、当該デジタル信号を端子２１１ｂから汎用回路ブロック又はデータ制御部２１０の外部に出力する。また、デジタル出力ブロック２１２は、レジスタ２１２ａに登録された実行パラメータに従って、汎用回路ブロック又はデータ制御部２１０の外部から端子２１２ｂを介してデジタル信号を受けて、当該デジタル信号をデジタル信号出力インタフェース２４２に出力する。
【００２８】
ＡＤ変換ブロック２１３は、いわゆるＡＤ変換回路に相当し、アナログ信号を、デジタル値を示すデジタル信号に変換するＡＤ変換手段の一例である。ＡＤ変換ブロック２１３は、レジスタ２１３ａに登録された実行パラメータに従って、アナログ信号入力インタフェース２４３から供給されたアナログ信号を予め定められたサンプリング周期及び分解能で離散化及び量子化することにより変換して得たデジタル信号を汎用回路ブロック又はデータ制御部２１０の外部に出力する。例えば、ＡＤ変換ブロック２１３が、−１０Ｖ〜＋１０Ｖの範囲のアナログ信号のレベルに対応する１６ｂｉｔのデジタル値を継続的に出力することで、このデジタル値の系列であるデジタル信号を出力することが、実行パラメータにより規定される。
【００２９】
ＤＡ変換ブロック２１４は、いわゆるＤＡ変換回路に相当する。ＤＡ変換ブロックは、レジスタ２１４ａに登録された実行パラメータに従って、汎用回路ブロック又はデータ制御部２１０の外部から端子２１４ｂを介して供給されたデジタル信号を変換して得たアナログ信号をアナログ信号出力インタフェース２４４へ出力する。例えば、ＤＡ変換ブロック２１４が、順次入力される１６ｂｉｔのデジタル値に対応して、アナログ信号のレベルを−１０Ｖ〜＋１０Ｖの範囲内で変化させて出力することが、実行パラメータにより規定される。
【００３０】
カウンタブロック２２１は、レジスタ２２１ａに登録された実行パラメータに従って、端子２２１ｂから入力された信号をカウントして得た結果を端子２２１ｂから出力する。カムスイッチブロック２２２は、レジスタ２２２ａに登録された実行パラメータに従って、端子２２２ｂに入力された入力値に応じた出力値を端子２２２ｂから出力する。ロガーブロック２２３は、レジスタ２２３ａに登録された実行パラメータに従って、端子２２３ｂから入力された値を、記憶部２５０へ端子２２３ｂを介して出力して、データをロギングする。波形出力ブロック２２４は、レジスタ２２４ａに登録された実行パラメータに従って、記憶部２５０から読み出したデジタル値を端子２２４ｂから順次出力する。このデジタル値により形成されるデジタル信号は、ＡＤ変換されてデータ制御装置２０の外部に出力される。
【００３１】
比較演算ブロック２２５は、レジスタ２２５ａに登録された実行パラメータに従って、端子２２５ｂから入力されるデータの値を比較して、比較結果を端子２２５ｂから出力する。論理演算ブロック２２６は、レジスタ２２６ａに登録された実行パラメータに従って、端子２２６ｂから入力された値に対して基本的な論理演算を実行し、実行結果を端子２２６ｂから出力する。この論理演算は、例えば、端子２２６ｂから入力されたｂｉｔデータの論理否定、論理積、論理和、排他的論理和、否定論理和、及び否定論理積を含む。四則演算ブロック２２７は、レジスタ２２７ａに登録された実行パラメータに従って、端子２２７ｂから入力された値の四則演算を実行して、実行結果を端子２２７ｂから出力する。この四則演算は、例えば、１６ｂｉｔのｗｏｒｄデータの加算、減算、乗算、除算を含む。フィルタブロック２２８は、レジスタ２２８ａに登録された実行パラメータに従って、フィルタリング処理を実行する。例えば、フィルタブロック２２８が、端子２２８ｂに連続して入力された値の平均値を、移動平均として端子２２８ｂから出力することが、実行パラメータにより規定される。フィルタブロック２２８は、例えば、入力信号のノイズを除去するために用いられる。
【００３２】
図３に戻り、記憶部２５０は、揮発性の半導体フラッシュメモリを含む。記憶部２５０は、後述のように高速な読み書きを実現可能なストレージであることが好ましい。記憶部２５０は、データ制御部２１０から出力されるデータを記憶するための記憶領域２５１〜２５２を有する記憶手段として機能する。図３には、記憶部２５０が有する２つの記憶領域２５１，２５２が代表的に示されているが、領域の数は２つに限られず、２つより多くてもよい。記憶部２５０のデータ容量は、例えば１０ＭＢｙｔｅ、１ＧＢｙｔｅ、又は１ＴＢｙｔｅである。記憶領域２５１〜２５２の容量は、例えば１ＭＢｙｔｅであるが、任意に変更してもよい。
【００３３】
通信インタフェース２６０は、通信バス３０を介して通信するためのインタフェース回路を含む。
【００３４】
内部メモリ２７０は、揮発性の半導体フラッシュメモリを含む。内部メモリ２７０は、データ制御部２１０の高速な内部処理に合わせて、ある程度高速に応答するストレージであることが好ましい。内部メモリ２７０は、動作パラメータを記憶する。この動作パラメータは、汎用回路ブロックを組み合わせて動作させるための順序を規定する情報である。また、内部メモリ２７０は、後述するように、動作パラメータの他に、動作パラメータと合わせてデータ制御部２１０の動作を規定するための情報を記憶してもよい。これらの情報は、ＰＣ５０からＣＰＵユニット１０を介して内部メモリ２７０に書き込まれる。
【００３５】
演算部２８０は、内部メモリ２７０が記憶する動作パラメータに基づいて、データ制御部２１０が有する複数の汎用回路ブロックの再構成を実行する。詳細には、演算部２８０は、内部メモリ２７０に格納された動作パラメータを解析して、汎用回路ブロックの組合せ、使用順序、及び動作内容のうち少なくとも１つを決定する。そして、演算部２８０は、汎用回路ブロックのレジスタ２１１ａ，２１２ａ，２１３ａ，２１４ａ，２２１ａ，２２２ａ，２２３ａ，２２４ａ，２２５ａ，２２６ａ，２２７ａ，２２８ａに実行パラメータを書き込むことにより、決定した動作をデータ制御部２１０に実現させる。また、演算部２８０は、データ制御部２１０が取得したデータの自動判定を行う。
【００３６】
不揮発性メモリ２９０は、磁気メモリ又は半導体フラッシュメモリを含む。不揮発性メモリ２９０は、データ制御装置２０の電源切断に備えて、記憶部２５０及び内部メモリ２７０と同等のデータを記憶する。データ制御装置２０の電源が切断されてから再度投入される際には、不揮発性メモリ２９０に格納されているデータが記憶部２５０及び内部メモリ２７０に展開されることで、電源の切断前後における記憶部２５０及び内部メモリ２７０のデータの一貫性が保たれる。
【００３７】
＜ＰＣ５０からの設定＞
続いて、動作パラメータを設定してデータ制御部２１０による具体的な制御内容を規定するための構成について説明する。図５に示されるように、ＰＣ５０は、ラダープログラム１１２の作成、種々の設定、及びＰＬＣ１００の状態のモニタリングをするためのエンジニアリングツール５１と、ＣＰＵユニット１０と通信するための通信インタフェース５２と、を有する。
【００３８】
エンジニアリングツール５１は、ユーザがＰＬＣ１００に関する設定をするためのツールとして、ＰＣ５０がソフトウェアを実行することで実現される機能である。エンジニアリングツール５１は、データ制御装置２０の動作を設定するためのロジック回路作成ツール５００を有する。
【００３９】
ロジック回路作成ツール５００は、データ制御装置２０の動作を規定するハードウェアロジック回路の作図内容及び設定を示すロジック回路データ５１１と、記憶部２５０の記憶領域を切り替えるための領域切替テーブル５２１及び領域ポインタテーブル５２２と、を生成する。
【００４０】
ロジック回路データ５１１は、ロジック回路作成ツール５００によって動作パラメータ５１２に変換される。そして、ロジック回路作成ツール５００は、動作パラメータ５１２、領域切替テーブル５２１及び領域ポインタテーブル５２２を、ＣＰＵユニット１０から通信バス３０を経由して、データ制御装置２０の内部メモリ２７０に格納する。
【００４１】
ロジック回路データ５１１及び動作パラメータ５１２はそれぞれ、データ制御部２１０の動作内容の設定を示す設定情報５１０を構成する。なお、図５では、設定情報５１０がロジック回路データ５１１及び動作パラメータ５１２のそれぞれに等しい例が示されているが、これには限定されない。例えば、ロジック回路作成ツール５００により生成されたロジック回路データ５１１を他のデータと合わせて設定情報５１０としてもよい。また、領域切替テーブル５２１及び領域ポインタテーブル５２２は、記憶領域を切り替える基準となる参照信号の値と記憶領域のアドレスとを関連付ける関連情報５２０を構成する。関連情報５２０は、記憶部２５０に含まれる記憶領域２５１〜２５２それぞれのアドレスと、この記憶領域２５１〜２５２に関連付けられた後述の条件値とを示す情報である。データ制御装置２０の通信インタフェース２６０は、設定情報５１０及び関連情報５２０を受信して、演算部２８０は、これらの情報を内部メモリ２７０に格納する。
【００４２】
図６には、ロジック回路作成ツール５００を利用してユーザにより設定されたロジック回路の作図内容が例示されている。図６の例では、機器６３から出力されるアナログ信号がＡＤ変換ブロック２１３に入力され、ＡＤ変換ブロック２１３の端子２１３ｂから出力される信号がロガーブロック２２３の端子２２３ｂに入力される。ＡＤ変換ブロック２１３は、データ制御部２１０の内部制御クロックに同期して、ナノ秒オーダの周期でデジタル値をロガーブロック２２３に順次出力し続ける。
【００４３】
また、機器６１から出力されるパルス信号がデジタル入力ブロック２１１に入力され、デジタル入力ブロック２１１の端子２１１ｂから出力される信号がカウンタブロック２２１の端子２２１ｂに入力されることで、カウンタブロック２２１は、パルスの立ち上がり回数を計数してパルスのカウント結果を示す信号を出力するカウンタ手段として機能する。カウンタブロック２２１による計数及びカウント結果の出力は、データ制御部２１０の内部制御クロックに同期して、ナノ秒オーダの周期で実行される。そして、カウンタブロック２２１によるカウント結果は、カウンタブロック２２１の端子２２１ｂからカムスイッチブロック２２２の端子２２２ｂに入力され、カムスイッチブロック２２２は、カウント結果に応じた値を端子２２２ｂからロガーブロック２２３の端子２２３ｂに出力する。
【００４４】
例えば、ユーザが、図６中のロジック回路作成ツール５００と同等の画面を視認しながら、各汎用回路ブロックに対応するオブジェクトを配置して、信号線を示す線でオブジェクト同士を接続することにより、ロジック回路を作図する。図６に示されるようにロジック回路が設定された場合には、ＡＤ変換ブロック２１３、ロガーブロック２２３、デジタル入力ブロック２１１及びカウンタブロック２２１の組合せと、これらブロックによる処理の順序に対応する信号の経路と、を示すロジック回路データ５１１が生成される。そして、ロジック回路作成ツール５００は、ロジック回路データ５１１を動作パラメータ５１２に変換して、ＣＰＵユニット１０から通信バス３０を経由してデータ制御装置２０へ送信する。データ制御装置２０によって受信された動作パラメータ５１２は、図５に示されるように内部メモリ２７０に格納される。
【００４５】
また、図６に示される例において、ユーザは、領域切替テーブル５２１をカムスイッチブロック２２２に登録し、領域ポインタテーブル５２２をロガーブロック２２３に登録する。
【００４６】
領域切替テーブル５２１は、図７に例示されるように、入力値と比較される条件値と、記憶領域を識別するための領域番号と、条件値及び領域番号を関連付けるインデックスの役割を果たすステップ番号と、を含む。例えば、ステップ番号「１」は、条件値「２０００」と領域番号「２５２」とを対応付けるインデックスである。なお、図７において、記憶領域２５１，２５２に対応する領域番号を、記憶領域２５１，２５２の符号に等しいものとしている。
【００４７】
この領域切替テーブル５２１が図６に示されるようにカムスイッチブロック２２２に登録されると、カムスイッチブロック２２２は、参照信号を取得して、前記参照信号の値と前記条件値とを比較する比較手段として機能する。詳細には、カムスイッチブロック２２２は、内部メモリ２７０の領域切替テーブル５２１を読み出して、カウンタブロック２２１から出力される値と条件値とを比較する。そして、カムスイッチブロック２２２は、この比較に基づいて領域番号を示す信号を出力する。詳細には、カムスイッチブロック２２２は、複数の条件値のうち、カウンタブロック２２１からの入力値より大きい最小の値に関連付けられた領域番号を出力する。例えば、入力値がゼロから９９９までの範囲内にあれば、条件値「１０００」に関連付けられた領域番号「２５１」が出力され、入力値が１０００から１９９９までの範囲内にあれば、条件値「２０００」に関連付けられた領域番号「２５２」が出力される。図６においては、現在のステップ番号である「１」に対応する領域番号「２５２」が出力されることが破線で示されている。
【００４８】
領域ポインタテーブル５２２は、図８に例示されるように、領域切替テーブル５２１と共通する領域番号と、記憶領域それぞれの物理アドレスである先頭アドレスと、記憶領域に格納可能なデータ点数と、を関連付けるテーブルデータである。この領域ポインタテーブル５２２が図６に示されるようにロガーブロック２２３に登録されると、ロガーブロック２２３は、デジタル値が書き込まれる記憶領域を、カムスイッチブロック２２２による比較に基づいて切り替えてデジタル値を書き込むロガー手段として機能する。詳細には、ロガーブロック２２３は、内部メモリ２７０の領域ポインタテーブル５２２を読み出して、ＡＤ変換ブロック２１３から出力されたデジタル値を、カムスイッチブロック２２２から出力された領域番号に対応する記憶領域に順次格納する。例えば、カムスイッチブロック２２２から領域番号「２５２」が出力されている状態において、ロガーブロック２２３は、アドレス「３００００」から１００００個のデータを格納可能な領域にデジタル値を順次蓄積する。
【００４９】
そして、ロガーブロック２２３は、カムスイッチブロック２２２から出力される領域番号が切り替わると、デジタル値を格納する記憶領域を、新たな領域番号に対応する領域に切り替える。この切り替えは、レジスタ２２３ａの実行パラメータにより設定されたロギング周期で繰り返し実行され得る。このロギング周期は、例えば、データ制御部２１０の内部制御クロック自体に同期してもよいし、このクロックの数倍から数十倍の長さであってもよいが、ＣＰＵユニット１０のスキャンタイムより大幅に短く設定される。すなわち、ＡＤ変換ブロック２１３によるＡＤ変換が実行される周期に近い周期で領域が切り替わるため、ＡＤ変換により得たデジタル値を取りこぼすことなく、高速に記憶領域を切り替えてデジタル値のロギングを継続することができる。
【００５０】
＜データ制御装置２０によるロギング処理＞
続いて、図６に示される動作が設定されたデータ制御装置２０による書き込み処理について説明する。書き込み処理は、図６に示されるように、汎用回路ブロックがそれぞれ、内部制御クロックに同期して処理を実行することにより達成される。例えば、ＡＤ変換ブロック２１３は、内部制御クロックに同期して、機器６３から入力されるアナログ信号のＡＤ変換及びデジタル値の出力を実行する。また、デジタル入力ブロック２１１は、内部制御クロックに同期して、機器６１から入力されるパルス信号をカウンタブロック２２１に出力する。カウンタブロック２２１は、内部制御クロックに同期して、パルス信号に含まれるパルスの立ち上がりを計数した結果をカムスイッチブロックに出力する。
【００５１】
続いて、カムスイッチブロック２２２によるカムスイッチ処理と、ロガーブロック２２３によるロガー処理について、図９〜１１を参照して説明する。
【００５２】
図９に示されるカムスイッチ処理において、カムスイッチブロック２２２は、参照信号を取得する（ステップＳ１０）。参照信号は、記憶領域の切り替えのために参照される信号であって、図６に示される例においては、カウンタブロック２２１から出力されるカウント結果を示す信号が参照信号に相当する。
【００５３】
次に、カムスイッチブロック２２２は、参照信号の値と条件値とを比較する（ステップＳ１１）。具体的には、カムスイッチブロック２２２は、参照信号の値と、領域切替テーブル５２１に含まれる複数の条件値それぞれと、を比較する。ただし、カムスイッチブロック２２２は、複数の条件値それぞれと比較することなく、いずれか１つの条件値との比較を実行してもよい。例えば、図７に示される例においては、参照信号の値がゼロから９９９までの範囲内にあるときには条件値「１０００」と比較し、参照信号の値が１０００になったときに比較される条件値を「２０００」に変更すればよい。
【００５４】
図９に戻り、ステップＳ１１に続いて、カムスイッチブロック２２２は、比較に基づいて領域番号を出力する（ステップＳ１２）。具体的には、カムスイッチブロック２２２は、参照信号の値より大きい条件値のうち最小の値に対応する領域番号を、ロガーブロック２２３に出力する。その後、カムスイッチ処理が終了する。以上のカムスイッチ処理が、内部制御クロックに同期して繰り返し実行される。
【００５５】
図１０には、パルス信号の波形と、カウンタブロック２２１の出力信号と、この出力信号に応じてカムスイッチブロック２２２が参照する領域切替テーブル５２１のステップ番号と、カムスイッチブロック２２２から出力される領域番号と、の推移が示されている。図１０に示されるように、カウンタブロック２２１は、パルス信号の立ち上がりをカウントしてカウント値をインクリメントし続ける。カムスイッチブロック２２２は、カウント値を領域切替テーブル５２１の条件値と比較し、カウンタ値が条件値以上となったときに、ステップ番号を１つ大きい番号に切り替える。例えば、カウント値が２９９９のときにカムスイッチブロックはステップ番号「１」を選択し、領域番号「２５２」を出力する。ここで、次のカウンタ値「３０００」がカウンタブロック２２１から送られると、このカウンタ値が条件値と比較された結果、ステップ番号は「２」に移行するとともに、領域番号は「２５３」に切り替わる。
【００５６】
図１１には、ロガーブロック２２３によるロガー処理が示されている。
【００５７】
ロガー処理において、ロガーブロック２２３は、領域番号と書き込み対象のデータを取得する（ステップＳ２０）。具体的には、ロガーブロック２２３は、カムスイッチブロック２２２から出力されて端子２２３ｂに到達している領域番号と、ＡＤ変換ブロック２１３から出力されて端子２２３ｂに到達している書き込み対象のデータであるデジタル値と、を同時に取り込む。
【００５８】
次に、ロガーブロック２２３は、カムスイッチブロック２２２から出力される領域番号に変化があるか否かを判定する（ステップＳ２１）。具体的には、ロガーブロック２２３は、ステップＳ２０で取得した領域番号が、前回ロガーブロック２２３がデータを書き込んだときの領域番号と異なるか否かを判定する。領域番号に変化がないと判定した場合（ステップＳ２１；Ｎｏ）、ロガーブロック２２３は、ステップＳ２４に処理を移行する。
【００５９】
一方、領域番号に変化があると判定した場合（ステップＳ２１；Ｙｅｓ）、ロガーブロック２２３は、相対ポインタとロギングデータ数とをクリアする（ステップＳ２２）。相対ポインタは、１つの記憶領域においてデジタル値を格納する相対的な位置を示すポインタであり、先頭アドレスからのオフセットを示す。ロギングデータ数は、１つの記憶領域に連続して書き込んだデジタル値の数を示す。ステップＳ２１の判定が肯定された場合には、デジタル値が書き込まれる記憶領域が変更されるため、ロガーブロック２２３は、相対ポインタ及びロギングデータ数とをゼロに設定する。
【００６０】
次に、ロガーブロック２２３は、ステップＳ２１にて変更されたと判定された領域番号に対応する先頭アドレスを領域ポインタテーブル５２２から取得する（ステップＳ２３）。
【００６１】
次に、ロガーブロック２２３は、先頭アドレスに相対ポインタを加算することにより、デジタル値の書込位置を特定する（ステップＳ２４）。具体的には、ロガーブロック２２３は、現在の書き込み対象である記憶領域の先頭アドレスに相対ポインタを加算することで、書き込み先の物理アドレスを特定する。
【００６２】
次に、ロガーブロック２２３は、ステップＳ２４にて特定された位置にデータを書き込む（ステップＳ２５）。具体的には、ロガーブロック２２３は、ステップＳ２４にて特定したアドレスに、ＡＤ変換ブロック２１３から取得したデジタル値を格納する。
【００６３】
次に、ロガーブロック２２３は、ロギングデータ数に１を加算し（ステップＳ２６）、相対ポインタ数に１を加算する（ステップＳ２７）。次に、ロガーブロック２２３は、現在の相対ポインタが記憶領域の最後尾に到達しているかを判定する（ステップＳ２８）。具体的には、ロガーブロック２２３は、領域ポインタテーブル５２２を参照して、現在の書き込み対象である記憶領域のデータ点数から１を減じた値と相対ポインタとが等しいか否かを判定する。例えば、図８に示される例において、記憶領域２５２にデジタル値が順次格納されたときに、ロガーブロック２２３は、相対ポインタが「９９９９」となっているか否かを判定する。
【００６４】
相対ポインタが最後尾に到達していないと判定した場合（ステップＳ２８；Ｎｏ）、ロガーブロック２２３は、ロガー処理を終了する。一方、相対ポインタが最後尾に到達していると判定した場合（ステップＳ２８；Ｙｅｓ）、ロガーブロック２２３は、リングバッファが有効か否かを判定する（ステップＳ２９）。具体的には、ロガーブロック２２３は、レジスタ２２３ａを参照して、記憶領域をリングバッファとして扱うか否かを示すフラグがＯＮ状態であるかＯＦＦ状態であるかを判定する。なお、リングバッファの設定は、レジスタ２２３ａに代えてロジック回路データ５１１により設定されてもよいし、領域切替テーブル５２１又は領域ポインタテーブル５２２において記憶領域毎に設定されてもよい。
【００６５】
リングバッファが有効であると判定した場合（ステップＳ２９；Ｙｅｓ）、ロガーブロック２２３は、相対ポインタをクリアして、その値をゼロに設定する（ステップＳ３０）。これにより、記憶領域の最後尾までデジタル値が書き込まれた後に記憶領域が変更されることなくロガー処理が再度実行されたときに、この記憶領域の先頭アドレスから順にデジタル値が再度書き込まれ、データの格納が繰り返されることになる。その後、ロガー処理が終了する。
【００６６】
一方、リングバッファが有効でないと判定した場合（ステップＳ２９；Ｎｏ）、ロガーブロック２２３は、ロギングが完了したと判断して（ステップＳ３１）、この記憶領域への書き込みを終了する。なお、ロガーブロック２２３は、他の記憶領域への書き込みを継続してもよいし、終了してもよい。また、ロガーブロック２２３は、ロギングが完了した旨をＣＰＵユニット１０を介してＰＣ５０に通知してもよい。その後、ロガー処理が終了する。
【００６７】
ロギングされたデータは、ラダープログラム１１２によって利用される。例えば、ロギングされたデータは、ユーザに対して表示されてもよいし、他の処理において参照されてもよいし、ＰＣ５０へ転送されてもよい。
【００６８】
以上のロガー処理が、レジスタ２２３ａの実行パラメータにより設定されたロギング周期で繰り返し実行される。
【００６９】
＜実施の形態１に係るデータ制御装置２０の効果＞
以上、説明したように、アナログ信号入力インタフェース２４３が、第１機器としての機器６３から機器信号であるアナログ信号を受信し、ＡＤ変換ブロック２１３が、アナログ信号を、デジタル値を示すデジタル信号に変換する。そして、第２機器としての機器６１からは、データ制御装置２０への入力信号としてパルス信号が出力される。カムスイッチブロック２２２は、このパルス信号から生成された参照信号を取得し、この参照信号としてのカウント値と領域切替テーブル５２１の条件値とを比較し、ロガーブロック２２３が、デジタル値が書き込まれる記憶領域を、カムスイッチブロック２２２による比較に基づいて切り替える。このため、デジタル値が書き込まれる記憶領域を、参照信号の値に応じて仕分けることができる。したがって、機器６３から出力されるアナログ信号に関する処理の利便性を向上させることができる。
【００７０】
具体的には、データ制御装置２０は、ＣＰＵユニット１０のスキャンタイム或いはプログラム処理速度に影響されることなく、この入力信号から生成された参照信号の値に応じて、ハードウェア処理により、ナノ秒オーダで記憶領域を高速に切り替えてロギングを継続することができる。
【００７１】
より詳細には、データ制御装置２０は、機器６１から入力信号を受信する第２入力インタフェースとしてデジタル信号入力インタフェース２４１を備える。この入力信号は、パルス信号である。また、データ制御部２１０は、このパルス信号に含まれるパルスの数をカウントして、カウント結果を示す参照信号を出力するカウンタブロック２２１を有する。これにより、データ制御装置２０は、パルス信号の状態に応じて、記憶領域を切り替えることができる。
【００７２】
また、ロガーブロック２２３は、デジタル値が書き込まれる記憶領域を、条件値のうち参照信号の値より大きい最小の値に関連付けられたアドレスの記憶領域に切り替えた。このため、カムスイッチブロック２２２は、参照信号の値を条件値すべてと比較する必要がなく、処理負荷を軽減することができる。
【００７３】
なお、レジスタ２２３ａの実行パラメータによりロガーブロック２２３が記憶領域をリングバッファとして扱うか否かが設定される例を説明したが、これには限定されない。ロガーブロック２２３は、実行パラメータに関わらず、記憶領域をリングバッファとして扱ってもよいし、リングバッファでないものとして扱ってもよい。ロジック回路作成ツール５００による設定項目からリングバッファの設定を省略してもよい。
【００７４】
また、カムスイッチブロック２２２及びロガーブロック２２３が比較及び判定をするものとして説明したが、比較演算ブロック２２５又は論理演算ブロック２２６がこれらの比較及び判定を実行してもよいし、演算部２８０がこれらの比較及び判定を実行してもよい。例えば、比較演算ブロック２２５が、カウンタブロック２２１から出力される値の大きさと、カムスイッチブロック２２２から出力される値の大きさとを比較して、後者が大きいか否かを示すデータをカムスイッチブロック２２２に出力することが、実行パラメータにより規定されてもよい。
【００７５】
実施の形態２．
続いて、実施の形態２について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態１では、パルス信号の状態に応じて記憶領域が切り替わったが、ロギング対象とは異なるアナログ信号の状態に応じて記憶領域を切り替える例も考えられる。以下では、アナログ信号のレベルに応じて記憶領域を切り替える形態について説明する。
【００７６】
図１２には、ロジック回路作成ツール５００を利用してユーザにより設定されたロジック回路の作図内容が例示されている。データ制御装置２０は、機器６５から出力されるアナログ信号を受信する。詳細には、データ制御装置２０が、機器６３，６５に接続され、アナログ信号入力インタフェース２４３が、機器６３及び機器６５それぞれから入力されたアナログ信号をデータ制御部２１０に出力する。そして、図１２に示されるように、機器６５から出力されるアナログ信号がＡＤ変換ブロック２１３に入力され、ＡＤ変換ブロック２１３の端子２１３ｂから出力されるデジタル信号がカムスイッチブロック２２２の端子２２２ｂに入力される。カムスイッチブロック２２２及びロガーブロック２２３は、実施の形態１と同様に動作する。
【００７７】
以上、説明したように、機器６５からのアナログ信号に応じて、機器６３からのアナログ信号に関するデータを書き込む領域を切り替える形態においても、データ制御装置２０は、実施の形態１と同様の効果を奏する。具体的には、データ制御装置２０は、機器６５からの入力信号としてアナログ信号を受信するアナログ信号入力インタフェース２４３を備える。また、ＡＤ変換ブロック２１３が、このアナログ信号を参照信号としてのデジタル信号に変換することで、参照信号を生成する。詳細には、ＡＤ変換ブロック２１３が、機器信号である機器６３からのアナログ信号のレベルをデジタル値に変換するとともに、入力信号である機器６５からのアナログ信号を、参照信号としてのデジタル信号に変換する。そして、データ制御装置２０は、機器６５からのアナログ信号の状態に応じて、記憶領域を切り替えることができる。
【００７８】
実施の形態３．
続いて、実施の形態３について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態１，２では、外部から入力された入力信号に応じて記憶領域が切り替わったが、データ制御装置２０の内部で、記憶領域を切り替えるための参照信号を生成する例も考えられる。以下では、データ制御装置２０が内部クロックで生成したタイミングで記憶領域を切り替える形態について説明する。
【００７９】
図１３には、本実施の形態に係るデータ制御部２１０の構成として、図４のフィルタブロック２２８に代えてクロックブロック２２９を含む例が示されている。クロックブロック２２９は、クロック信号を生成して汎用回路ブロックに供給し、データ制御部２１０の内部制御クロックとして機能する。クロック信号の周期は、ナノ秒オーダであって、具体的には、１〜１０ナノ秒である。なお、クロックブロック２２９は、図４では省略されていたが、実施の形態１，２に係るデータ制御部２１０を構成してもよい。
【００８０】
クロックブロック２２９は、レジスタ２２９ａと端子２２９ｂとを有する。クロックブロック２２９は、レジスタ２２９ａに登録された実行パラメータに従って、クロック信号を端子２２９ｂから出力する。
【００８１】
図１４には、ロジック回路作成ツール５００を利用してユーザにより設定されたロジック回路の作図内容が例示されている。図１４に示されるカウンタブロック２２１には、ユーザが希望する周期で動作するリングカウンタの機能が設定される。カウンタブロック２２１は、クロックブロック２２９のクロックをカウントする。カウント結果が予めロジック回路作成ツール５００によって設定された周期に到達した場合には、カウンタブロック２２１は、リングカウンタのカウントアップ又はカウントダウンを実行して、カウント値を端子２２１ｂから出力する。出力されたカウント結果は、端子２２１ｂからカムスイッチブロック２２２に入力される。カムスイッチブロック２２２及びロガーブロック２２３は、実施の形態１と同様に動作する。
【００８２】
以上、説明したように、カウンタブロック２２１は、ある時刻からクロックブロック２２９によって生成される周期信号の周期をカウントして、カウント結果を示す参照信号を出力する。そして、カムスイッチブロック２２２は、カウント結果と条件値とを比較し、ロガーブロック２２３は、この比較に基づいて記憶領域を切り替えてロギングを継続する。これにより、外部からの入力とは切り離して、ユーザが希望するナノ秒周期のタイミングを生成するとともに、ユーザが領域切替テーブル５２１の条件値を設定することで、高精度かつ柔軟に、記憶領域を切り替えることが可能になる。
【００８３】
実施の形態４．
続いて、実施の形態４について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態１〜３では、参照信号の値に応じて記憶領域が切り替わったが、さらにユーザが記憶領域を直接指定することで、より柔軟にユーザの要望するロギングを達成することができると考えられる。以下では、ユーザによる直接の指示により書込領域を変更する形態について説明する。
【００８４】
図１５に示されるように、本実施の形態に係るデータ制御装置２０は、ＣＰＵユニット１０と共有される共有メモリ２９１を有する。共有メモリ２９１は、半導体フラッシュメモリを含む。共有メモリ２９１は、揮発性であっても不揮発性であってもよいが、データ制御部２１０の高速な内部処理に合わせて、ある程度高速に応答するストレージであることが好ましい。共有メモリ２９１は、データ制御装置２０のデータ制御部２１０及び演算部２８０からの書き込み及び読み出しが可能であり、ＣＰＵユニット１０から煩雑な通信処理を伴うことなく書き込み及び読み出しが可能である。
【００８５】
図１６には、ロジック回路作成ツール５００を利用してユーザにより設定されたロジック回路の作図内容が例示されている。図１６に示されるように、ラダープログラム１１２を実行するＣＰＵユニット１０から、カムスイッチブロック２２２が操作される。詳細には、ラダープログラム１１２から、カムスイッチブロック２２２の端子２２２ｄに外部操作切替信号を入力する。カムスイッチブロック２２２は、この信号を受信すると、端子２２２ｃに入力されるカウント値の取り込みを遮断して、カウント値を領域切替テーブル５２１と照合する処理をスキップする。なお、端子２２２ｃ，２２２ｄは、図４に示される端子２２２ｂに対応する。
【００８６】
そして、カムスイッチブロック２２２は、アクティブなステップ番号を共有メモリ２９１の特定のアドレスに連結させる。ここで、アクティブなステップ番号は、出力する領域番号に対応するステップ番号を意味する。また、ステップ番号とアドレスの連結は、ステップ番号を、アドレスに格納されている値に同期することを意味する。
【００８７】
また、ＣＰＵユニット１０は、共有メモリ２９１の上記アドレスに、ユーザからの指示値を格納する。カムスイッチブロック２２２の端子２２２ｃに外部操作切替信号が入力されているときに、共有メモリ２９１の上記アドレスの値がラダープログラム１１２により強制的に書き換えられると、この値は、直ちにカムスイッチブロック２２２に反映される。そして、カムスイッチブロック２２２は、共有メモリ２９１に書き込まれたステップ番号と、領域切替テーブル５２１にて対応している領域番号を出力する。
【００８８】
以上、説明したように、ＣＰＵユニット１０から領域番号が指定されて、データを書き込む記憶領域が指定される。そして、ロガーブロック２２３が、デジタル値が書き込まれる記憶領域を、ユーザからの指示値により示される領域に切り替える。具体的には、図３に示される通信インタフェース２６０が、ユーザによって指示された指示値としてのステップ番号を受信し、ロガーブロック２２３が、デジタル値を書き込む記憶領域を、このステップ番号に対応する領域に切り替える。これにより、ユーザは、カムスイッチブロック２２２におけるアクティブなステップ番号を直接操作して、自身が希望するタイミングで記憶領域を指定することができる。
【００８９】
なお、ユーザからの指示値は、ステップ番号に限られず、領域番号であってもよい。また、カムスイッチブロック２２２が共有メモリ２９１を参照することに代えて、ロガーブロック２２３が共有メモリ２９１を参照してもよい。ロガーブロック２２３が参照する場合においては、ロガーブロック２２３が、外部操作切替信号が入力されたときにカムスイッチブロック２２２からの入力を遮断して、共有メモリ２９１に格納された領域番号又はアドレスを取得する。そして、ロガーブロック２２３は、取得した領域番号と領域ポインタテーブル５２２において対応する先頭アドレス又は取得したアドレスから順にデジタル値を書き込めばよい。
【００９０】
実施の形態５．
続いて、実施の形態５について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態１では、データが書き込まれる記憶領域が切り替わったが、データが読み出される記憶領域が切り替わる例も考えられる。
【００９１】
近年、センサの反応速度が高速化したことから、タクトタイムの短縮及びセンサを利用した検査精度の向上のために、センサに入力される検査用のアナログ信号について、より高速で滑らかな波形を出力することが望まれている。そこで、デジタル信号をアナログ信号に変換して出力する技術を利用することが考えられる。例えば、国際公開第２０１２／０４２５５６号には、ＰＬＣを構成するＤ／Ａ変換装置が、内蔵のメモリに時系列で格納されている波形データ列を順次ＤＡ（Digital to Analog）変換して、アナログ信号を出力する技術について記載されている。この技術によれば、Ｄ／Ａ変換装置は、外部からデジタル信号を取得することがないため、ＤＡ変換と同等の短い周期で高速に読み出したデータから滑らかな波形を出力することができる。
【００９２】
ここで、ＰＬＣから機器に出力されるアナログ信号に関しても、出力される波形パターンを種々の信号の値に応じて高速に変更する機能が市場から要求されている。しかしながら、上記技術では、出力されているアナログ信号の波形パターンを変更することについて何ら考慮されていなかった。このため、アナログ信号の出力を一時的に停止させたり、アナログ信号の波形パターンを変更するタイミングを予め定めたりする必要が生じる。このような観点からも、機器と装置との間で伝送される信号に関する処理の利便性を向上させる余地があった。
【００９３】
以下では、順次デジタル値が読み出される記憶領域を切り替えて、これらデジタル値からＤＡ変換によりアナログ信号を出力する形態について説明する。なお、以下では、ＰＬＣ１００から機器６０に出力される信号を出力信号と適宜表記する。機器６０からＰＬＣ１００に入力される入力信号は、デジタル値が読み出される記憶領域を切り換えるために利用される。
【００９４】
図１７に示されるように、本実施の形態に係るロジック回路作成ツール５００は、ロジック回路データ５１１と、記憶部２５０のデータが読み出される記憶領域を切り替えるための領域切替テーブル５２１及び領域ポインタテーブル５２２と、を生成する。領域ポインタテーブル５２２は、図１８に例示されるように、領域番号と、この領域番号に対応する先頭アドレス及びデータ点数と、この領域番号に格納された波形パターンを繰り返し出力する回数と、を関連付けるテーブルデータである。図１８に示される繰り返し回数「０」は、繰り返し回数に上限がなく、別途停止の命令があるまで波形の出力を繰り返すことを示す。なお、領域ポインタテーブル５２２から繰り返し回数を省略してもよい。
【００９５】
図１７に戻り、ロジック回路作成ツール５００は、その機能として、予め定められた波形のアナログ信号を出力する設定をするための波形管理部５３０を有する。波形管理部５３０は、予め定められた複数の波形を示す波形パターン５４１と、波形パターン５４１と領域ポインタテーブル５２２とを対応させるワークテーブル５４２と、波形パターン５４１を記憶部２５０に格納するための領域格納イメージ５４３と、を生成する。波形パターン５４１、ワークテーブル５４２、及び領域格納イメージ５４３は、ユーザにより設定されて出力される波形に関する波形情報５４０を構成する。
【００９６】
図１９，２０には、波形管理部５３０の機能が模式的に示されている。図１９に示されるように、波形管理部５３０は、複数の波形パターン５４１を作成する。ＤＡ変換ブロック２１４に継続してアナログ信号を出力させるために、このＤＡ変換ブロック２１４にはデータ列が順次入力される。波形パターン５４１は、このデータ列を構成するパーツに相当する。波形パターン５４１は、ゼロから開始する相対アドレスと、波形のサンプリング値に対応するデジタル値と、によって構成される。ユーザは、アドレスとデジタル値を対応付けたテーブルデータによって波形パターン５４１を規定してもよいし、グラフィックツールを利用して波形を描画することで波形パターン５４１を設定してもよい。さらに、波形パターン５４１は、時間の関数の形式で規定されてもよいし、予め定められたパラメータを調節することで指定されてもよい。なお、図１９中のＰ１，Ｐ２は、波形パターン５４１の識別子である。
【００９７】
また、波形管理部５３０は、個々の波形パターン５４１と領域ポインタテーブル５２２とを、ワークテーブル５４２により関連付ける。ワークテーブル５４２は、領域番号と波形パターン５４１の識別子とを関連付けるテーブルデータである。ユーザは、領域ポインタテーブル５２２の領域番号それぞれについて、対応する波形パターンを選択することにより、ワークテーブル５４２を設定する。ワークテーブル５４２が設定されると、領域ポインタテーブル５２２の領域番号に対応するデータ点数が、記憶部２５０に確保される。
【００９８】
そして、波形管理部５３０は、図２０に示されるように、波形パターン５４１、ワークテーブル５４２及び領域ポインタテーブル５２２から、領域格納イメージ５４３を生成する。例えば、領域番号「２５１」に対応する波形パターンＰ１を構成するデジタル値が、記憶部２５０の物理アドレス「０」から「９９９」まで順に格納される。また、領域番号「２５２」に対応する波形パターンＰ２を構成するデジタル値が、記憶部２５０の物理アドレス「２０００」から「３９９９」まで順に格納される。波形管理部５３０は、このようにして生成した領域格納イメージ５４３に従って、波形パターン５４１をすべて記憶部２５０に展開する。
【００９９】
図２１には、ロジック回路作成ツール５００を利用してユーザにより設定されたロジック回路の作図内容が例示されている。図２１の例では、カムスイッチブロック２２２が、カウンタブロック２２１によるパルスのカウント結果に応じた領域番号を端子２２２ｂから波形出力ブロック２２４の端子２２４ｂに出力する。波形出力ブロック２２４は、デジタル値が読み出される記憶領域を、カムスイッチブロック２２２による比較に基づいて切り替えて、デジタル値を読み出して出力する出力手段として機能する。
【０１００】
ユーザは、領域切替テーブル５２１をカムスイッチブロック２２２に登録し、領域ポインタテーブル５２２を波形出力ブロック２２４に登録する。カムスイッチブロック２２２は、カウンタブロック２２１から得たカウント値と、領域切替テーブル５２１の条件値との比較に基づく領域番号を、波形出力ブロック２２４に出力する。また、波形出力ブロック２２４は、内部メモリ２７０の領域ポインタテーブル５２２を読み出して、カムスイッチブロック２２２から出力された領域番号に対応する記憶領域からデジタル値を順次読み出してＤＡ変換ブロック２１４に出力する。例えば、カムスイッチブロック２２２から領域番号「２５２」が出力されている状態において、波形出力ブロック２２４が、アドレス「２０００」から２０００個のデータが格納されている領域を参照して、この領域からデジタル値を順次読み出すことが、破線の矢印で示されている。
【０１０１】
そして、波形出力ブロック２２４は、カムスイッチブロック２２２から出力される領域番号が切り替わると、デジタル値を読み出す記憶領域を、新たな領域番号に対応する領域に切り替える。この切り替えは、レジスタ２２４ａの実行パラメータにより設定された出力周期で繰り返し実行される。この出力周期は、例えば、データ制御部２１０の内部制御クロックに同期してもよいし、このクロックの数倍から数十倍の長さであってもよいが、ＣＰＵユニット１０のスキャンタイムより大幅に短く設定される。
【０１０２】
ＤＡ変換ブロック２１４は、波形出力ブロック２２４から継続して出力されたデジタル値を取得して、このデジタル値に対応するレベルのアナログ信号を出力する。すなわち、ＤＡ変換ブロック２１４は、デジタル値の推移に対応して、出力するアナログ信号のレベルを変化させる。ＤＡ変換ブロック２１４は、デジタル値を示すデジタル信号をアナログ信号に変換するＤＡ変換手段として機能する。変換されたアナログ信号の粒度は、デジタル値の出力周期によって定まる。波形出力ブロック２２４がＣＰＵユニット１０のスキャンタイムより高速にデジタル値を順次読み出して出力するため、より滑らかなアナログ信号が出力されることとなる。ＤＡ変換ブロック２１４から出力されたアナログ信号は、アナログ信号出力インタフェース２４４によって機器６４へ送信される。
【０１０３】
続いて、図２１に示される動作が設定されたデータ制御装置２０による読み出し処理について説明する。読み出し処理は、図２１に示されるように、汎用回路ブロックがそれぞれ、内部制御クロックに同期して処理を実行することにより達成される。ここで、デジタル入力ブロック２１１、カウンタブロック２２１、及びカムスイッチブロック２２２は、実施の形態１と同様に動作する。また、ＤＡ変換ブロック２１４は、内部制御クロックに同期して、波形出力ブロック２２４から出力されるデジタル値により形成されるデジタル信号のＤＡ変換を実行して、アナログ信号を機器６４に出力する。
【０１０４】
続いて、波形出力ブロック２２４によって実行される波形出力処理について図２２を参照して説明する。波形出力処理において、波形出力ブロック２２４は、領域番号を取得する（ステップＳ４０）。具体的には、波形出力ブロック２２４は、カムスイッチブロック２２２から出力されて端子２２４ｂに到達している領域番号を取り込む。
【０１０５】
次に、波形出力ブロック２２４は、カムスイッチブロック２２２から出力される領域番号に変化があるか否かを判定する（ステップＳ４１）。具体的には、波形出力ブロック２２４は、ステップＳ４０で取得した領域番号が、波形出力ブロック２２４が前回データを読み出したときの領域番号と異なるか否かを判定する。領域番号に変化がないと判定した場合（ステップＳ４１；Ｎｏ）、波形出力ブロック２２４は、ステップＳ４４に処理を移行する。
【０１０６】
一方、領域番号に変化があると判定した場合（ステップＳ４１；Ｙｅｓ）、波形出力ブロック２２４は、相対ポインタと回数パラメータとをクリアする（ステップＳ４２）。回数パラメータは、波形を繰り返し出力した回数を表すパラメータである。ステップＳ４１の判定が肯定された場合には、新たな記憶領域から波形パターンの読み出しが開始するため、相対ポインタ及び回数パラメータとがゼロに設定される。
【０１０７】
次に、波形出力ブロック２２４は、ステップＳ４１にて変更されたと判定された領域番号に対応する先頭アドレスを領域ポインタテーブル５２２から取得する（ステップＳ４３）。
【０１０８】
次に、波形出力ブロック２２４は、先頭アドレスに相対ポインタを加算することにより、デジタル値の読出位置を特定する（ステップＳ４４）。具体的には、波形出力ブロック２２４は、現在の読み出し対象である記憶領域の先頭アドレスに相対ポインタを加算することで、デジタル値を読み出すための物理アドレスを特定する。
【０１０９】
次に、波形出力ブロック２２４は、ステップＳ４４にて特定されたアドレスからデータを読み出してＤＡ変換ブロック２１４に出力する（ステップＳ４５）。具体的には、波形出力ブロック２２４は、先頭アドレスに相対ポインタを加算して得たアドレスに格納されているデジタル値を読み出して出力する。
【０１１０】
次に、波形出力ブロック２２４は、相対ポインタ数に１を加算する（ステップＳ４６）。次に、波形出力ブロック２２４は、現在の相対ポインタが記憶領域の最後尾に到達しているかを判定する（ステップＳ４７）。具体的には、波形出力ブロック２２４は、領域ポインタテーブル５２２を参照して、現在の読み出し対象である記憶領域のデータ点数から１を減じた値と相対ポインタとが等しいか否かを判定する。
【０１１１】
相対ポインタが最後尾に到達していないと判定した場合（ステップＳ４７；Ｎｏ）、波形出力ブロック２２４は、波形出力処理を終了する。一方、相対ポインタが最後尾に到達していると判定した場合（ステップＳ４７；Ｙｅｓ）、波形出力ブロック２２４は、領域ポインタテーブル５２２を参照して、繰り返し回数の設定が無限であるか否かを判定する（ステップＳ４８）。具体的には、波形出力ブロック２２４は、ステップＳ４５にてデータを読み出したアドレスが属する記憶領域と領域ポインタテーブル５２２にて関連付けられている繰り返し回数が「０」であるか否かを判定する。
【０１１２】
繰り返し回数の設定が無限であると判定した場合（ステップＳ４８；Ｙｅｓ）、波形出力ブロック２２４は、相対ポインタをクリアする（ステップＳ５２）。これにより、記憶領域の最後尾までデジタル値が順次読み出された後に記憶領域が変更されることなく波形出力処理が再度実行されたときに、この記憶領域の先頭アドレスから順にデジタル値が再度読み出されて、当該記憶領域の波形パターンが繰り返し出力されることになる。その後、波形出力処理が終了する。
【０１１３】
一方、繰り返し回数の設定が無限でないと判定した場合（ステップＳ４８；Ｎｏ）、波形出力ブロック２２４は、回数パラメータが繰り返し回数の上限に到達したか否かを判定する（ステップＳ４９）。具体的には、波形出力ブロック２２４は、領域ポインタテーブル５２２を参照して、繰り返し回数の設定値と現在の回数パラメータの値とが等しいか否かを判定する。
【０１１４】
回数パラメータが上限に到達していると判定した場合（ステップＳ４９；Ｙｅｓ）、波形出力ブロック２２４は、波形出力が完了したと判断して（ステップＳ５０）、この記憶領域からの波形パターンの読み出しを終了する。なお、波形出力ブロック２２４は、他の記憶領域からの読み出しを継続してもよいし、終了してもよい。また、波形出力ブロック２２４は、波形出力が完了した旨を、ＣＰＵユニット１０を介してＰＣ５０に通知してもよい。その後、波形出力処理が終了する。
【０１１５】
一方、回数パラメータが上限に到達していないと判定した場合（ステップＳ４９；Ｎｏ）、波形出力ブロック２２４は、回数パラメータに１を加算して（ステップＳ５１）、ステップＳ５２に処理を移行する。
【０１１６】
以上の波形出力処理が、レジスタ２２４ａの実行パラメータにより設定された出力周期で繰り返し実行される。
【０１１７】
以上、説明したように、データ制御装置２０は、機器６４に接続される。また、データ制御装置２０は、領域切替テーブル５２１と領域ポインタテーブル５２２とを含む関連情報５２０を受信する通信インタフェース２６０と、複数の記憶領域のいずれかから読み出したデジタル値から生成されるアナログ信号を出力するデータ制御部２１０と、アナログ信号を出力信号として機器６４に送信するアナログ信号出力インタフェース２４４と、を備える。そして、データ制御部２１０は、カウンタブロック２２１からカウント結果を示す参照信号を取得して、参照信号の値と領域切替テーブル５２１の条件値とを比較するカムスイッチブロック２２２と、デジタル値が読み出される記憶領域を、カムスイッチブロック２２２による比較に基づいて切り替えて、デジタル値を読み出して出力する波形出力ブロック２２４と、デジタル値を示すデジタル信号をアナログ信号に変換するＤＡ変換ブロック２１４と、を有する。
【０１１８】
このため、デジタル値が読み出される記憶領域を、参照信号の値に応じて切り替えることができる。したがって、機器６４へ出力するアナログ信号に関する処理の利便性を向上させることができる。具体的には、データ制御装置２０は、ＣＰＵユニット１０のスキャンタイム或いはプログラム処理速度に影響されることなく、参照信号の値に応じて、ハードウェア処理によりナノ秒オーダで記憶領域を高速に切り替えてデータの読み出しを継続することができる。
【０１１９】
また、カムスイッチブロック２２２及び波形出力ブロック２２４が比較及び判定をするものとして説明したが、比較演算ブロック２２５又は論理演算ブロック２２６がこれらの比較及び判定を実行してもよいし、演算部２８０がこれらの比較及び判定を実行してもよい。例えば、比較演算ブロック２２５及び論理演算ブロック２２６の少なくとも一方が、図２２中のステップＳ４１，Ｓ４７〜Ｓ４９の判定を実行してもよい。
【０１２０】
実施の形態６．
続いて、実施の形態６について、上述の実施の形態５との相違点を中心に説明する。なお、上記実施の形態５と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態５では、パルス信号の状態に応じて記憶領域が切り替わったが、アナログ信号の状態に応じて記憶領域を切り替える例も考えられる。以下では、アナログ信号のレベルに応じて記憶領域を切り替える形態について説明する。
【０１２１】
図２３には、ロジック回路作成ツール５００により作成されたロジック回路の作図内容が例示されている。データ制御装置２０は、機器６３から出力されるアナログ信号を受信する。詳細には、アナログ信号入力インタフェース２４３が、機器６３から入力されたアナログ信号をデータ制御部２１０に出力する。そして、図２３に示されるように、機器６３から出力されるアナログ信号がＡＤ変換ブロック２１３に入力され、ＡＤ変換ブロック２１３の端子２１３ｂから出力されるデジタル信号がカムスイッチブロック２２２の端子２２２ｂに入力される。カムスイッチブロック２２２及び波形出力ブロック２２４は、実施の形態５と同様に動作する。
【０１２２】
以上、説明したように、機器６３からのアナログ信号に応じて、波形パターンが読み出される記憶領域を切り替える形態においても、データ制御装置２０は、実施の形態５と同様の効果を奏する。具体的には、ＡＤ変換ブロック２１３が、このアナログ信号を参照信号としてのデジタル信号に変換することで、参照信号を生成する。そして、データ制御装置２０は、参照信号の状態に応じて、記憶領域を高速に切り替えることができる。なお、本実施の形態は、実施の形態１から実施の形態２への変更を実施の形態５に対して施したものといえる。
【０１２３】
実施の形態７．
続いて、実施の形態７について、上述の実施の形態５との相違点を中心に説明する。なお、上記実施の形態５と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態５，６では、外部から入力された入力信号に応じて記憶領域が切り替わったが、データ制御装置２０の内部で、記憶領域を切り替えるための参照信号を生成する例も考えられる。以下では、データ制御装置２０が内ブロックで生成したタイミングで記憶領域を切り替える形態について説明する。
【０１２４】
データ制御部２１０は、図１３に示されるように、汎用回路ブロックとしてクロックブロック２２９を有する。また、図２４には、ロジック回路作成ツール５００により作成されたロジック回路の作図内容が例示されている。図２４に示されるカウンタブロック２２１には、ユーザが希望する周期で動作するリングカウンタの機能が設定される。カウンタブロック２２１は、クロックブロック２２９のクロックをカウントして、設定された周期にカウント値が到達した場合には、リングカウンタのカウントアップ又はカウントダウンを実行して、カウント値を端子２２１ｂから出力する。出力されたカウント結果は、端子２２２ｂからカムスイッチブロック２２２に入力される。カムスイッチブロック２２２及び波形出力ブロック２２４は、実施の形態５と同様に動作する。
【０１２５】
以上、説明したように、データ制御装置２０は、外部からの入力から切り離される。そして、ユーザが希望するナノ秒周期のタイミングを生成するとともに、ユーザが領域切替テーブル５２１の条件値を設定することで、データ制御装置２０は、高精度かつ柔軟に記憶領域を切り替えることが可能になる。なお、本実施の形態は、実施の形態１から実施の形態３への変更を実施の形態５に対して施したものともいえる。
【０１２６】
実施の形態８．
続いて、実施の形態８について、上述の実施の形態５との相違点を中心に説明する。なお、上記実施の形態５と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態５〜７では、参照信号の値に応じて記憶領域が切り替わったが、さらにユーザが記憶領域を直接指定してもよい。
【０１２７】
データ制御装置２０は、図１５に示されるように、共有メモリ２９１を有する。また、図２５には、ロジック回路作成ツール５００により作成されたロジック回路の作図内容が例示されている。図２５に示されるように、カムスイッチブロック２２２は、ＣＰＵユニット１０から外部操作切替信号を受信すると、端子２２２ｃに入力されるカウント値の取り込みを遮断して、カウント値を領域切替テーブル５２１と照合する処理をスキップする。そして、カムスイッチブロック２２２は、アクティブなステップ番号を共有メモリ２９１の特定のアドレスに連結させる。ＣＰＵユニット１０は、共有メモリ２９１の上記アドレスに、ユーザからの指示値を格納する。カムスイッチブロック２２２に外部操作切替信号が入力されているときに、共有メモリ２９１の上記アドレスの値が書き換えられると、この値は、直ちにカムスイッチブロックに反映される。そして、カムスイッチブロック２２２は、共有メモリ２９１に書き込まれたステップ番号と、領域切替テーブル５２１にて対応している領域番号を出力する。
【０１２８】
以上、説明したように、ユーザは、カムスイッチブロック２２２におけるアクティブなステップ番号を直接操作して、自身が希望するタイミングで記憶領域を指定することができる。なお、本実施の形態は、実施の形態１から実施の形態４への変更を実施の形態５に対して施したものともいえる。
【０１２９】
また、ユーザからの指示値は、ステップ番号に限られず、領域番号であってもよい。また、カムスイッチブロック２２２が共有メモリ２９１を参照することに代えて、波形出力ブロック２２４が共有メモリ２９１を参照してもよい。波形出力ブロック２２４が参照する場合においては、波形出力ブロック２２４が、外部操作切替信号が入力されたときにカムスイッチブロック２２２からの入力を遮断して、共有メモリ２９１に格納された領域番号又はアドレスを取得する。そして、波形出力ブロック２２４は、取得した領域番号と領域ポインタテーブル５２２において対応する先頭アドレス又は取得したアドレスから順にデジタル値を読み出せばよい。
【０１３０】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【０１３１】
例えば、上記実施の形態では、機器６１〜６５を別個の機器として説明したが、複数の機器６０が１つの装置を構成してもよい。
【０１３２】
また、上記実施の形態では、データ制御装置２０が記憶部２５０を内蔵していたが、これには限定されない。図２６に示されるように、データ制御装置２０の外付けユニットとして記憶装置２５００をデータ制御装置２０に接続して、データ制御装置２０は、この記憶装置２５００に含まれる記憶領域２５１，２５２にデータを書き込んでもよいし、これらの領域からデータを読み出してもよい。そして、データ制御装置２０は、これらの領域を状況に応じて切り替えてもよい。さらに、記憶領域２５１，２５２は、１つの記憶部２５０又は記憶装置２５００に含まれていなくともよい。例えば、データ制御装置２０は、記憶部２５０を内蔵するとともに記憶装置２５００に接続されて、記憶部２５０の記憶領域２５１と記憶装置２５００の記憶領域２５２とを状況に応じて切り替えてもよい。
【０１３３】
また、上記実施の形態において領域切替テーブル５２１及び領域ポインタテーブル５２２は、内部メモリ２７０に格納されたが、記憶部２５０に格納されてもよい。
【０１３４】
また、上記実施の形態において、領域切替テーブル５２１及び領域ポインタテーブル５２２が、関連情報５２０を形成したが、これには限定されない。例えば、上記実施の形態１における領域切替テーブル５２１及び領域ポインタテーブル５２２を、図２７に示されるように１つのテーブルにまとめて、カムスイッチブロック２２２及びロガーブロック２２３の双方に登録してもよい。同様に、上記実施の形態５における領域切替テーブル５２１及び領域ポインタテーブル５２２を１つのテーブルにまとめて、カムスイッチブロック２２２及び波形出力ブロック２２４の双方に登録してもよい。
【０１３５】
データ制御装置２０が、ロガーブロック２２３による書込領域の切り替えと、波形出力ブロック２２４による読出領域の切り替えと、を同時に実行する場合には、関連情報５２０において、図２８に示されるように領域番号にさらにデータ種別を関連付けておけばよい。データ種別は、各記憶領域について、ロガーブロック２２３によるロギングの対象となるか波形出力ブロック２２４による読み出しの対象となるか区別するために用いられる。
【０１３６】
また、上記実施の形態において、カムスイッチブロック２２２は、領域切替テーブル５２１に含まれる条件値のうち、参照信号の値より大きい最小の値に関連付けられた領域番号を出力し、ロガーブロック２２３は、この領域番号と領域ポインタテーブル５２２において関連付けられた領域に、アクセス対象の記憶領域を切り替えたが、これには限定されない。例えば、カムスイッチブロック２２２は、領域切替テーブル５２１に含まれる条件値のうち、参照信号の値より小さい最大の値に関連付けられた領域番号を出力し、ロガーブロック２２３は、この領域番号に対応する領域に、記憶領域を切り替えてもよい。
【０１３７】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【０１３８】
本発明は、データの高速な書き込み、又はデータの高速な読み出しに適している。
【符号の説明】
【０１３９】
１０００  ＰＬＣシステム、  １００  ＰＬＣ、  １０  ＣＰＵユニット、  １１  メモリ、  １１１  パラメータ、  １１２  ラダープログラム、  １２  演算部、  １３  ＰＣインタフェース、  １４  通信インタフェース、  ２０  データ制御装置、  ２１０  データ制御部、  ２１１  デジタル入力ブロック、  ２１２  デジタル出力ブロック、  ２１３  ＡＤ変換ブロック、  ２１４  ＤＡ変換ブロック、  ２２１  カウンタブロック、  ２２２  カムスイッチブロック、  ２２３  ロガーブロック、  ２２４  波形出力ブロック、  ２２５  比較演算ブロック、  ２２６  論理演算ブロック、  ２２７  四則演算ブロック、  ２２８  フィルタブロック、  ２２９  クロックブロック、  ２１１ａ，２１２ａ，２１３ａ，２１４ａ，２２１ａ，２２２ａ，２２３ａ，２２４ａ，２２５ａ，２２６ａ，２２７ａ，２２８ａ，２２９ａ  レジスタ、  ２１１ｂ，２１２ｂ，２１３ｂ，２１４ｂ，２２１ｂ，２２２ｂ，２２２ｃ，２２２ｄ，２２３ｂ，２２４ｂ，２２５ｂ，２２６ｂ，２２７ｂ，２２８ｂ，２２９ｂ  端子、  ２３０  回路ブロック切替バス、  ２４１  デジタル信号入力インタフェース、  ２４２  デジタル信号出力インタフェース、  ２４３  アナログ信号入力インタフェース、  ２４４  アナログ信号出力インタフェース、  ２５０  記憶部、  ２５１，２５１ａ，２５２，２５２ａ  記憶領域、  ２６０  通信インタフェース、  ２７０  内部メモリ、  ２８０  演算部、  ２９０  不揮発性メモリ、  ２９１  共有メモリ、  ３０  通信バス、  ５０  ＰＣ、  ５１  エンジニアリングツール、  ５２  通信インタフェース、  ５００  ロジック回路作成ツール、  ５１０  設定情報、  ５１１  ロジック回路データ、  ５１２  動作パラメータ、  ５２０  関連情報、  ５２１  領域切替テーブル、  ５２２  領域ポインタテーブル、  ５３０  波形管理部、  ５４０  波形情報、  ５４１  波形パターン、  ５４２  ワークテーブル、  ５４３  領域格納イメージ、  ６０〜６５  機器、  ６１ａ  エンコーダ、  ６３ａ  レーザ変位センサ、  ７１  ウェハ、  ２５００  記憶装置。
【要約】
データ制御装置（２０）は、第１の機器（６３）からアナログ信号を受信するアナログ信号入力インタフェース（２４３）と、記憶部（２５０）に含まれる複数の記憶領域（２５１，２５２）それぞれのアドレスと、この記憶領域（２５１，２５２）に関連付けられた条件値と、を示す関連情報を受信する通信インタフェース（２６０）と、アナログ信号から生成されるデジタル値を複数の記憶領域（２５１，２５２）のいずれかに書き込むデータ制御部（２１０）と、を備える。データ制御部（２１０）は、第２の機器（６０）から入力される入力信号から生成される参照信号を取得して、参照信号の値と条件値とを比較するカムスイッチブロックと、デジタル値が書き込まれる記憶領域（２５１，２５２）を、カムスイッチブロックによる比較に基づいて切り替えて、デジタル値を書き込むロガーブロックと、を有する。【図１】
0006625278.tif 000002
【図２】
0006625278.tif 000003
【図３】
0006625278.tif 000004
【図４】
0006625278.tif 000005
【図５】
0006625278.tif 000006
【図６】
0006625278.tif 000007
【図７】
0006625278.tif 000008
【図８】
0006625278.tif 000009
【図９】
0006625278.tif 000010
【図１０】
0006625278.tif 000011
【図１１】
0006625278.tif 000012
【図１２】
0006625278.tif 000013
【図１３】
0006625278.tif 000014
【図１４】
0006625278.tif 000015
【図１５】
0006625278.tif 000016
【図１６】
0006625278.tif 000017
【図１７】
0006625278.tif 000018
【図１８】
0006625278.tif 000019
【図１９】
0006625278.tif 000020
【図２０】
0006625278.tif 000021
【図２１】
0006625278.tif 000022
【図２２】
0006625278.tif 000023
【図２３】
0006625278.tif 000024
【図２４】
0006625278.tif 000025
【図２５】
0006625278.tif 000026
【図２６】
0006625278.tif 000027
【図２７】
0006625278.tif 000028
【図２８】
0006625278.tif 000029