(57)【要約】【課題】データ記録手段への書き込み処理を少なくし且つ１回当たりの書き込みデータ量を増やして書き込みオーバーヘッドを少なくし、高速サンプリングで集録点数の大規模なサンプリングデータを保証したデータ記録装置を得る。【解決手段】計測データを取り込むデータ入力手段１と、計測データを転送するデータバス手段２と、データバス手段２を介して転送された計測データを記録するデータ記録手段４と、計測データをデータ記録手段４に記録するためのデータ記録制御を行うデータ制御手段３と、計測データを一時的に蓄えるためのバッファ領域６を含むデータ緩衝記憶手段５を備えている。データ制御手段３は、計測データをバッファ領域６に一時的に蓄えてから、最終的にデータ記録手段４に記録する。【選択図】図１
2006309315.tif 000002
【特許請求の範囲】
【請求項１】
検査または測定の対象となる信号を計測データとして取り込むデータ入力手段と、
前記計測データを転送するデータバス手段と、
前記データバス手段を介して転送された計測データを記録するデータ記録手段と、
前記計測データを前記データ記録手段に記録するためのデータ記録制御を行うデータ制御手段と
を備えたデータ記録装置において、
前記計測データを一時的に蓄えるためのバッファ領域を含むデータ緩衝記憶手段をさらに備え、
前記データ制御手段は、前記データ入力手段から前記データバス手段を介して取得した計測データを、前記バッファ領域に一時的に蓄えてから、最終的に前記データ記録手段に記録するようにデータ記録制御を行うことを特徴とするデータ記録装置。
【請求項２】
前記データ緩衝記憶手段は、前記バッファ領域として複数のバッファ領域を含み、
前記データ制御手段は、前記データ入力手段から前記データバス手段を介して取得した今回の計測データを、前記複数のバッファ領域のうちの一方のバッファ領域に一時的に蓄えると同時に、前記複数のバッファ領域のうちの他方のバッファ領域に既に蓄えられている前回の計測データを前記データ記録手段に記録するようにデータ記録制御を行うことを特徴とする請求項１に記載のデータ記録装置。
【請求項３】
前記データ制御手段は、前記バッファ領域を動的にアロケートすることを特徴とする請求項１または請求項２に記載のデータ記録装置。
【請求項４】
前記データ制御手段は、前記計測データのサンプリング周期に応じたサイズで、前記バッファ領域を動的にアロケートすることを特徴とする請求項３に記載のデータ記録装置。
【請求項５】
前記データ制御手段は、前記計測データのチャネル数に応じたサイズで、前記バッファ領域を動的にアロケートすることを特徴とする請求項３に記載のデータ記録装置。
【請求項６】
前記データ制御手段は、前記データ記録手段がデータ記録動作に要する時間に応じたサイズで、前記バッファ領域を動的にアロケートすることを特徴とする請求項３に記載のデータ記録装置。
【請求項７】
前記データ制御手段は、前記データ記録手段がデータ記録動作に要する時間を実測し、実測時間に応じたサイズで、前記バッファ領域を動的にアロケートすることを特徴とする請求項６に記載のデータ記録装置。
【請求項８】
前記データ記録手段は複数のデータ記録手段を含み、
前記データ制御手段は、前記データ入力手段から前記データバス手段を介して取得した計測データを、前記バッファ領域に一時的に蓄えてから、最終的に前記複数のデータ記録手段に記録するようにデータ記録制御を行うことを特徴とする請求項１から請求項７までのいずれか１項に記載のデータ記録装置。
【請求項９】
前記データ制御手段は、前記複数のデータ記録手段のそれぞれのデータ記録動作に要する時間またはその実測時間について、各時間または各実測時間を加味して、大きい方の時間値に応じたサイズまたは加算時間値に応じたサイズで、前記バッファ領域を動的にアロケートすることを特徴とする請求項８に記載のデータ記録装置。
【請求項１０】
前記データ制御手段は、前記データ記録手段におけるデータ記録処理の種類の数に対応するように、複数のデータ制御手段を含むことを特徴とする請求項１から請求項９までのいずれか１項に記載のデータ記録装置。
【請求項１１】
前記データ制御手段は、前記データ記録手段におけるデータ記録処理の種類の数に対応するように、前記データ記録手段に対するデータ記録制御を行うことを特徴とする請求項１から請求項９までのいずれか１項に記載のデータ記録装置。
【請求項１２】
前記データ記録装置に記録された計測データを用いて、検査処理を実行することを特徴とする請求項１から請求項１１までのいずれか１項に記載のデータ記録装置を備えた検査装置。
【請求項１３】
前記データ記録装置に記録された計測データを用いて、シーケンス制御処理またはモーション制御処理を実行することを特徴とする請求項１から請求項１１までのいずれか１項に記載のデータ記録装置を備えた制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検査または計測の対象となる計測データを転送して記録するためのデータ記録装置に関し、特に、データ入力手段からの計測データを、データバス手段を介してデータ記録手段に転送して記録するためのデータ制御手段を備えたデータ記録装置に関するものである。
また、この発明は、上記のようなデータ記録装置を備えた検査装置（インテリジェント検査ユニット）および制御装置（シーケンサ、モーションコントローラ、数値制御装置、ロボットなどのＦＡ機器）に関するものである。
【背景技術】
【０００２】
従来から、検査計測対象となる信号を計測データとして時系列的に記録するデータ記録装置はよく知られている。
この種の従来装置において、検査計測対象となるアナログ電気信号は、データバスを介して取り込まれ、データ入力部によりＡＤ変換されてデジタルデータとなり、データ入力部からデータ記録部に転送され、データ記録部に記録されるようになっている。
【０００３】
第１の従来装置として、インテリジェント検査ユニットにおけるデータ記録装置は、ＡＤボード、ｃＰＣＩバス（ｃｏｍｐａｃｔ  ＰＣＩバス）およびメモリを備え、ＡＤボードからｃＰＣＩバスを介してＡＤデータを取得し、メモリに格納するように構成されている（たとえば、非特許文献１参照）。
【０００４】
上記非特許文献１に記載の第１の従来装置では、プログラムの制御下で、ＡＤボードが保持している現在データ値を、ｃＰＣＩバスを介して取得してメモリに格納しており、たとえば、Ｇｅｔ  Ｎｅｗ  Ｄａｔａ［Ｖ］ＦＢでＡＤボードから１点のデータを取得し、Ｄデバイスに浮動小数点型で格納するようになっている。
したがって、メモリの許す範囲内のデータ数を取得することができるが、サンプリング周期（計測周期）は、プログラムのスピードに依存しており、データのチャネル（ＣＨ）数が多くなると、サンプリング周期が大きくなる。
【０００５】
また、上記非特許文献１に記載された第２の従来装置として、高性能なＡＤボードを用いて、ＡＤボード上でデータを所定サンプル数分だけ保存し、集録が完了後に、ｃＰＣＩバス経由でメモリに格納するものも提案されている。
この場合、Ｈｉｇｈ−ＳｐｅｅｄのＤＡＱ  ＦＢを用いて、１ＭＨｚで１００サンプル集録後、集録データをＤＢＬデバイスに格納しており、最大で１ＭＨｚの集録を実現することができるが、１秒しかサンプリングすることができない。
【０００６】
上記のように、第１および第２の従来装置は、いずれの場合も、大容量のサンプリングを高速で実現するという要望に応えることができない。
たとえば、第１の従来装置に大容量の記憶媒体（ＨＤＤ）を付加して、メモリの代わりにＨＤＤに集録データを格納しようとした場合、ＨＤＤへの１回当たりの書き込み時間が長いので、ＡＤボードが保持している現在値を取得してメモリに格納する場合と比べて、ＡＤボードが保持している現在値を取得してＨＤＤに格納するまでに長い時間を要し、結果的に、所望のサンプリング周期に間に合わないことになる。
ここで、１回当たりＮ個のデータをＨＤＤに書き込むのに要する時間ｔ（Ｎ）は、以下の式（１）で表すことができる。
【０００７】
ｔ（Ｎ）＝δ×Ｎ＋κ  ・・・（１）
【０００８】
ただし、式（１）において、δは１個のデータをＨＤＤに書き込むのに要する時間、κは（データ個数に関わらず）１回当たりにＨＤＤに書き込むのに要する時間（オーバーヘッド）である。
一方、１回当たり１個のデータをＨＤＤに書き込む、という処理を繰り返すのならば、ｎ回の書き込み時間の総和Ｔは、以下の式（２）で表される。
【０００９】
Ｔ＝ｎ×（δ×１＋κ）  ・・・（２）
【００１０】
式（２）の場合、オーバーヘッドκがボトルネックとなる。
【００１１】
同様に、第２の従来装置に大容量の記憶媒体（ＨＤＤ）を付加して、ＨＤＤに集録データを格納しようとした場合には、ボード上で所定サンプル数分のデータ集録が完了後に、ｃＰＣＩバス経由でＨＤＤに格納した後、引き続きボード上で所定サンプル数分の次のデータ集録が完了後に、またｃＰＣＩバス経由でＨＤＤに格納し、・・・の処理を繰り返せばよいが、前回のボード上での所定サンプル数データと、今回のボード上での所定サンプル数データと、次回のボード上での所定サンプル数データと、・・・と繰り返される各所定サンプル数データのそれぞれの間が、欠落することなく、所望のサンプリング周期で連続的につながっている保証はない。
【００１２】
【非特許文献１】三菱インテリジェント検査ユニットＩＵ２シリーズ「プログラミング事例集」（２００４年１月作成）第１７５頁、第１４７頁
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従来のデータ記録装置では、たとえば上記第１の従来装置の場合、第２の従来装置と比べて、集録可能なデータ総数は多いものの、第２の従来装置のようにサンプリング周期の短い高速サンプリングを行うことができないという課題があった。
また、メモリの許す範囲内のデータ数しか取得することができないので、サンプリング周期を短くすると集録時間が短くなってしまい、長い集録時間を確保するためにはサンプリング周期を遅くしなければならず、特に集録ＣＨ数が増えた場合には、さらに高速サンプリングが困難になるという課題があった。
【００１４】
また、上記第２の従来装置の場合には、第１の従来装置と比べて、高速サンプリングを行うことができるものの、第１の従来装置のように多数のデータを集録することができないという課題があった。
また、サンプリング終了後のデータ転送中においては、実質的にデータ集録が不可能になるという課題があった。
【００１５】
この発明は、上記のような課題を解決するためになされたものであり、１回当たりのデータ書き込み時間が長い大容量記憶媒体（ＨＤＤ）を用いた場合でも、高速サンプリング周期で、集録点数の大規模な（つまり、長時間の）サンプリングデータが、欠落することなく連続的につながっていることが保証されたサンプリングを行うことのできるデータ記録装置を得ることを目的とする。
【課題を解決するための手段】
【００１６】
この発明によるデータ記録装置は、検査または測定の対象となる信号を計測データとして取り込むデータ入力手段と、計測データを転送するデータバス手段と、データバス手段を介して転送された計測データを記録するデータ記録手段と、計測データをデータ記録手段に記録するためのデータ記録制御を行うデータ制御手段とを備えたデータ記録装置において、計測データを一時的に蓄えるためのバッファ領域を含むデータ緩衝記憶手段をさらに備え、データ制御手段は、データ入力手段からデータバス手段を介して取得した計測データを、バッファ領域に一時的に蓄えてから、最終的にデータ記録手段に記録するようにデータ記録制御を行うものである。
【発明の効果】
【００１７】
この発明によれば、１回当たりのデータ書き込み時間が長い大容量記憶媒体（ＨＤＤ）への書き込み処理自体を少なくして１回当たりの書き込みデータ量を増やし、相対的に書き込みオーバーヘッドを少なくすることにより、ＨＤＤを用いた場合でも、高速サンプリング周期で、集録点数の大規模なサンプリングデータが欠落することなく、連続的につながっていることが保証されたサンプリングを行うことができる。
【発明を実施するための最良の形態】
【００１８】
実施の形態１．
図１はこの発明の実施の形態１に係るデータ記録装置を示すブロック図である。
図１において、データ記録装置は、データ入力手段１と、データバス手段２と、データバス手段２を介してデータ入力手段１に接続されたデータ制御手段３と、データ制御手段３に接続されたデータ記録手段４およびデータ緩衝記憶手段５とを備えている。
【００１９】
データ入力手段１は、検査または測定の対象となる信号を計測データとして取り込み、必要に応じてデータバス手段２に送出する。具体的には、データ入力手段１は、Ａ／Ｄボードなどからなり、測定対象となる物理データを取り込んでデジタルデータに変換する。
【００２０】
データバス手段２は、データ入力手段１を介して取り込まれた計測データを、データ制御手段３に転送する。具体的には、データバス手段は、デジタルデータが通過するｃＰＣＩバスなどからなり、データ入力手段１（たとえば、Ａ／Ｄボード）とデータ制御手段３との間でのデータ授受の際に機能する。
【００２１】
データ制御手段３は、ＣＰＵ（ＭＰＵ）からなり、計測データをデータ記録手段４に記録するためのデータ記録制御を行う。具体的には、データ制御手段３は、ＣＰＵ（ＭＰＵ）上で動作するプログラム（Ｆ／Ｗ：ファームウエア）からなり、データ入力手段１（Ａ／Ｄボード）に対してデータ取得の指示を行うとともに、データ記録手段４へのデータ記録を指示するための制御を行う。
【００２２】
データ記録手段４は、データ制御手段３の制御下で、データバス手段２を介して転送された計測データを記録する。具体的には、データ記録手段４は、大容量のデジタルデータを記録する媒体からなり、たとえば、ＨＤＤや大容量メモリカードなどによって構成される。
【００２３】
データ緩衝記憶装置５は、計測データを一時的に蓄えるためのバッファ領域６を含む。具体的には、データ緩衝記憶手段５内のバッファ領域６は、データ制御手段３（ＣＰＵ）が使用するメモリ領域（ＲＡＭ）からなり、ＣＰＵのプログラム実行時にデータを保持する際などに使用される。
【００２４】
データ制御手段３は、データ入力手段１からデータバス手段２を介して取得した計測データを、バッファ領域６に一時的に蓄えてから、最終的にデータ記録手段４に記録するようにデータ記録制御を実行するようになっている。
【００２５】
図２は図１に示したデータ記録装置の動作を示すブロック図であり、破線矢印はデータの流れを示している。
図２において、データ制御手段３は、データ取得制御手段３１と、データ記録制御手段３２との２つの動作機能に分けることができる。
【００２６】
データ取得制御手段３１は、データ入力手段１からデータバス手段２を介してデータを取得し、データ緩衝記憶手段５のバッファ領域６に一時的に記憶させる。
データ記録制御手段３２は、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されているデータを読み出して、データ記録手段４に記録させるとともに、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されているデータを消去する。
【００２７】
図３はこの発明の実施の形態１による計測データのサンプリング動作を示すフローチャートであり、図４は図３の動作フローをタイミングチャートで示す説明図である。
以下、図２〜図４を参照しながら、図１に示したこの発明の実施の形態１によるデータ制御手段３の動作について説明する。
【００２８】
図３において、まず、サンプリング条件を指定し、サンプリング条件に応じて、１回当たりの処理データ数Ｎを設定する（ステップＳ１）。
なお、１回当たりＮ個のデータをデータ記録手段４（たとえば、ＨＤＤ）に書き込むのに要する時間ｔ（Ｎ）（後述するステップＳ６の処理時間）は、前述と同様に、以下の式（１）で表すことができる。
【００２９】
ｔ（Ｎ）＝δ×Ｎ＋κ  ・・・（１）
【００３０】
また、式（１）において、δは１個のデータをデータ記録手段４（ＨＤＤ）に書き込むのに要する時間、κは（データ個数に関わらず）１回当たりにデータ記録手段４（ＨＤＤ）に書き込むのに要する時間（オーバーヘッド）である。
ここで、サンプリング周期をτとし、一時記憶処理（後述するステップＳ４）に要する時間をεとすると、１回当たりの処理データ数Ｎは、以下の式（３）を満たすように決定されればよいことになる。
【００３１】
τ−ε＞δ×Ｎ＋κ    ・・・（３）
【００３２】
ただし、サンプリング周期τの限界を考慮する必要があり、全ての場合に、処理データ数Ｎが求まるというのではなく、そもそも、サンプリング周期τが以下の式（４）または式（５）のいずれかの条件を満たす場合には、１回当たりの処理データ数Ｎを設定することはできない。
【００３３】
τ＜δ    ・・・（４）
τ＜κ    ・・・（５）
【００３４】
また、いかなる処理データ数Ｎをもってしても、上記式（３）を満たさないようなサンプリング周期τにおいては、サンプリングが不可能であり、式（３）を満たす処理データ数Ｎが存在するようなサンプリング周期τが、サンプリング可能な限界値でもある。
【００３５】
図３に戻り、データ制御手段３は、サンプリング条件の指定および処理データ数Ｎの設定（ステップＳ１）に続いて、サンプリングを開始し（ステップＳ２）、計測データの数が最終的な集録点数に達したか否かを判定する（ステップＳ３）。
ステップＳ３において、集録点数に達していない（すなわち、ＮＯ）と判定されれば、データ制御手段３内のデータ取得制御手段３１は、サンプリング周期τごとにデータ入力手段１からデータバス手段２を介して計測データを取得し、取得した計測データをデータ緩衝記憶手段５のバッファ領域６に一時的に記憶させる（ステップＳ４）。
【００３６】
続いて、初期設定時に０クリアされ且つステップＳ４の実行直前にインクリメントされる計数カウンタ（図示せず）を参照して、ステップＳ４の処理をＮ回実行した（計数カウンタ値＝Ｎ）か否かを判定し（ステップＳ５）、Ｎ回実行していない（すなわち、ＮＯ）と判定されれば、計数カウンタをインクリメントするとともに、ステップＳ４を再度実行する。
【００３７】
一方、ステップＳ５において、ステップＳ４をＮ回実行した（すなわち、ＹＥＳ）と判定されれば、データ制御手段３内のデータ記録制御手段３２は、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されているＮ個の計測データを読み出してデータ記録手段４に記録させるとともに、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されているＮ個の計測データを消去し（ステップＳ６）、ステップＳ３に戻る。
【００３８】
このとき、図４に示すように、バッファ領域６への一時記憶処理（ステップＳ４）が終了するごとに、サンプリング周期τ内で他の処理が実行される。
同様に、バッファ領域６への一時記憶処理（ステップＳ４）およびデータ記録手段４へのＮデータ記録処理（ステップＳ６）の終了後に、サンプリング周期τ内で他の処理が実行される。
【００３９】
ステップＳ４〜Ｓ６の繰り返し実行により、ステップＳ３において、計測データ数が最終的な集録点数に達した（すなわち、ＹＥＳ）と判定されれば、データ制御手段３内のデータ記録制御手段３２は、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されている全ての計測データを読み出してデータ記録手段４に記録させ、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されている全ての計測データを消去し（ステップＳ７）、図３のサンプリング処理ルーチンを終了する（ステップＳ８）。
【００４０】
上記処理により、データ記録手段４（ＨＤＤ）への書き込み処理自体を少なくして、１回当たりにデータ記録手段４に書き込むデータ量を増やすことができ、相対的にデータ記録手段４への書き込みオーバーヘッドを少なくすることができる。
この結果、データ記録手段４として、１回当たりのデータ書き込み時間が長い大容量記憶媒体（ＨＤＤ）を用いた場合でも、高速なサンプリング周期で且つ集録点数の大規模な（つまり、長時間の）サンプリングデータが、欠落することなく連続的につながっていることが保証されたサンプリングを実現することができる。
【００４１】
また、上記データ集録を実行している最中でも、他の処理への影響を最小限に抑制することができる。
また、上記処理に係る高価な専用設備を特に必要としないので、データ記録装置を安価に実現することができる。
【００４２】
なお、図２においては、データ記録制御手段３２の機能をデータ制御手段３内に設けたが、たとえば図５のように、データ記録制御手段３２をデータ記録手段４内に設けてもよく、この場合も、前述と同等の作用効果を奏する。
【００４３】
実施の形態２．
なお、上記実施の形態１（図１、図２参照）では、データ緩衝記憶手段５内に１つのバッファ領域６を設けたが、複数のバッファ領域を設けてもよい。
たとえば、上記実施の形態１においては、データ記録処理がサンプリング処理と比べてかなり高速な場合を想定しており、バッファ領域６をダブルバッファ構成にする必要がないが、上記よりもサンプリング処理が高速の場合には、データ記録時間がサンプリング間隔に追いつかないので、前述（図１、図２）の構成では実現不可能となる。
【００４４】
したがって、高速サンプリングの場合には、たとえばダブルバッファ方式を採用し、一方のバッファ領域にデータ緩衝（一時記憶）している間に、他方のバッファ領域内の計測データを記録処理することにより、高速サンプリングデータの確実な記録を可能にすることが望ましい。
なお、ダブルバッファの用途は様々であり、ロギングにおいては、データを一括して貯めた後に、データ記録手段にまとめて書き込む方式が一般的である。
【００４５】
図６は複数のバッファ領域６ａ、６ｂを設けたこの発明の実施の形態２に係るデータ記録装置を示すブロック図である。
また、図７は図６に示したデータ記録装置の動作を示すブロック図であり、破線矢印は初期設定されたデータの流れを示している。なお、図７内の１点鎖線矢印は、次回処理時（使用バッファ領域を逆設定時）のデータの流れを示している。
図６、図７において、前述（図１、図２参照）と同様のものについては、前述と同一符号を付して、または符号の後に「Ａ」を付して詳述を省略する。
【００４６】
図６および図７に示すように、データ緩衝記憶手段５Ａは、複数のバッファ領域６ａ、６ｂを有している。
なお、複数のバッファ領域６ａ、６ｂは、バッファ領域６のデータ領域の構造が２重化されたダブルバッファ（外部から見れば単一のバッファ領域）によって実現されてもよく、外観的に複数個のバッファ領域によって実現されてもよい。
【００４７】
また、データ制御手段３は、データ入力手段１からデータバス手段２を介して取得した今回の計測データを、複数のバッファ領域６ａ、６ｂのうちの一方のバッファ領域（たとえば破線矢印で示すように、バッファ領域６ａ）に一時的に蓄えると同時に、複数のバッファ領域６ａ、６ｂのうちの他方のバッファ領域（たとえば破線矢印で示すように、バッファ領域６ｂ）に既に蓄えられている前回の計測データをデータ記録手段４に記録するようにデータ記録制御を行う。
【００４８】
図８はこの発明の実施の形態２による計測データのサンプリング動作を示すフローチャートであり、図９は図８の動作フローをタイミングチャートで示す説明図である。
図８、図９において、前述（図３、図４参照）と同様の処理については、前述と同一符号を付して、または符号の後に「Ａ」を付して詳述を省略する。
【００４９】
以下、図７〜図９を参照しながら、図８に示したこの発明の実施の形態２によるデータ制御手段３の動作について説明する。
図８において、まず、サンプリング条件を指定し、１回当たりの処理データ数Ｎを設定する（ステップＳ１）。
ここで、１回当たりＮ個のデータをデータ記録手段４に書き込むのに要する時間ｔ（Ｎ）（後述するステップＳ６Ａの処理時間）は、前述と同様に、以下の式（１）で表すことができる。
【００５０】
ｔ（Ｎ）＝δ×Ｎ＋κ  ・・・（１）
【００５１】
また、サンプリング周期をτ、一時記憶処理（ステップＳ４Ａ）に要する時間をεとすると、１回当たりの処理データ数Ｎは、以下の式（６）を満たすように決定されればよいことになる。
【００５２】
（τ−ε）×Ｎ＞δ×Ｎ＋κ    ・・・（６）
【００５３】
ただし、前述のように、サンプリング周期τが式（４）または式（５）のいずれかの条件を満たす場合には、処理データ数Ｎの設定は不可能である。
この場合、前述の実施の形態１に比べて、条件的に余裕があるが、前述と同様に、上記式（６）を満たさないようなサンプリング周期τにおいては、サンプリングが不可能であり、式（６）を満たす処理データ数Ｎが存在するようなサンプリング周期τが、サンプリング可能な限界値でもある。
【００５４】
図８に戻り、ステップＳ１に続いて、サンプリングを開始する（ステップＳ２Ａ）。
このとき、データ制御手段３内のデータ取得制御手段３１は、「バッファ領域６ａを使用する」と初期設定する。
次に、集録点数に達したか否かを判定し（ステップＳ３）、集録点数に達していなければ、データ取得制御手段３１は、サンプリング周期τごとに、データ入力手段１からデータバス手段２を介して計測データを取得し、バッファ領域６ａ、６ｂの設定されている方（初期設定時には、バッファ領域６ａ）に一時的に記憶させる（ステップＳ４Ａ）。
【００５５】
続いて、ステップＳ４Ａの処理をＮ回実行したか否かを判定し（ステップＳ５）、Ｎ回実行していなければステップＳ４Ａを再度実行する。
一方、ステップＳ４Ａの処理をＮ回実行していれば、データ取得制御手段３１が使用するバッファ領域を逆（たとえば、６ａ→６ｂ）に設定した後、データ記録制御手段３２は、前回使用したバッファ領域（たとえば、６ｂ）に対して読み出し処理を行い、一時的に記憶されているＮ個の計測データを読み出してデータ記録手段４に記録させ、前回使用したバッファ領域（たとえば、６ｂ）に一時的に記憶されているＮ個の計測データを消去し（ステップＳ６Ａ）、ステップＳ３に戻る。
【００５６】
このとき、図９に示すように、バッファ領域６ａまたは６ｂへの一時記憶処理（ステップＳ４Ａ）が終了するごとに、サンプリング周期τ内で他の処理が実行される。
また、一時記憶処理の実行対象が逆設定（６ａ→６ｂ）された後、ステップＳ６Ａの続きの処理が実行され、ステップＳ６Ａの終了後に、サンプリング周期τ内で他の処理が実行される。
【００５７】
その後、ステップＳ３において、集録点数に達した（すなわち、ＹＥＳ）と判定されれば、データ取得制御手段３１が使用するバッファ領域を逆（たとえば、６ａ→６ｂ）に設定した後、データ記録制御手段３２は、前回使用したバッファ領域（たとえば、６ｂ）に対して読み出し処理を行い、一時的に記憶されている全ての計測データを読み出してデータ記録手段４に記録させ、前回使用したバッファ領域（たとえば、６ｂ）に一時的に記憶されている全ての計測データを消去し（ステップＳ７Ａ）、サンプリングを終了する（ステップＳ８）。
【００５８】
前述の実施の形態１（図３参照）では、サンプリングデータが欠落することなく連続的につながっていることを保証するためには、次回の一時記憶処理（ステップＳ４）が開始されるまでに、Ｎ回実行の判定処理（ステップＳ５）が必ず完了する必要があり、ステップＳ５が１回当たりの処理データ数Ｎを、設定されたサンプリング周期τに応じて厳密に調整する必要があった。
【００５９】
しかし、この発明の実施の形態２（図８参照）によれば、Ｎ回実行判定後のＮデータ記録処理（ステップＳ６Ａ）が、複数回の一時記憶処理（ステップＳ４Ａ）にわたって干渉して実行されても、サンプリングデータが欠落することなく連続的につながっていることを保証することができる。
したがって、ステップＳ６Ａが一度に処理するデータ個数Ｎを、設定されたサンプリング周期τに応じて厳密に調整する必要のない、ロバストなサンプリングを行うことができる。
【００６０】
具体的には、前述の実施の形態１では、サンプリング周期τが短くなってサンプリングが高速化されれば、Ｎ個をどのように調整しても、今回のステップＳ４Ａと次回のステップＳ４Ａとの間にステップＳ６Ａが完了しない場合が起こり得るが、この発明の実施の形態２では、ステップＳ６Ａが複数のステップＳ４Ａにまたがって実行されてもよいので、サンプリング周期τが短く（サンプリング高速化）になっても対応することができる。
【００６１】
また、この発明の実施の形態２においても、サンプリングデータが欠落することなく連続的につながっていることを保証するためには、データ個数Ｎの調整は必要であり、ステップＳ４ＡがＮ回実行される間にステップＳ６Ａが完了するように、データ個数Ｎを調整すればよい。
さらに、前述と同様に、上記処理に係る高価な専用設備を必要としないので、データ記録装置を安価に実現することができる。
【００６２】
実施の形態３．
なお、上記実施の形態１、２では、バッファ領域のアロケート（確保）について言及しなかったが、データ制御手段３は、バッファ領域６（６ａ、６ｂ）を動的にアロケートしてもよい。
図１０はこの発明の実施の形態３に係るデータ記録装置の動作を部分的に示すフローチャートであり、バッファ領域を動的にアロケートする場合を示している。
【００６３】
図１０において、前述（図３、図８参照）と同様の処理については、前述と同一符号を付して、または図示を省略して、詳述を省略する。
また、この発明の実施の形態３によるデータ記録装置の構成としては、図１、図２、図５〜図７のいずれかに示したものが適用可能である。
【００６４】
まず、データ制御手段３は、サンプリング条件を指定し、サンプリング条件に応じてＮを設定した後（ステップＳ１）、Ｎに応じてバッファ領域を動的にアロケートする（ステップＳ１０）。
以下、前述と同様に、サンプリングを開始する（ステップＳ２、Ｓ２Ａ）。
【００６５】
たとえば、前述の実施の形態１、２では、サンプリングデータが欠落することなく連続的につながっていることを保証するためには、データ個数Ｎの調整が必要であり、一時記憶処理（ステップＳ４、Ｓ４Ａ）がＮ回実行される間に、Ｎ回実行判定後のＮデータ記録処理（ステップＳ６Ａ）が完了するように、データ個数Ｎを調整する必要がある。
【００６６】
このとき、データ個数Ｎの調整を左右する要素として、サンプリング周期、サンプリングＣＨ数、データ記録手段４への１回当たりのアクセス処理時間のオーバーヘッドなどが存在するので、これらの要素を加味したデータ個数Ｎを設定する必要がある。
つまり、サンプリング条件に応じてデータ個数Ｎが調整されるが、バッファ領域６（６ａ、６ｂ）は、Ｎ個の計測データを格納できるようなサイズに確保しておく必要がある。
【００６７】
したがって、前述の実施の形態１、２では、サンプリングデータが欠落することなく連続的につながっていることを保証するためには、いかなるサンプリング条件の設定においてもＮ個のデータが入るようなサイズ（起こり得る最大個数Ｎのデータが入るようなサイズ）を確保する必要がある。
このことは、非効率（無駄）であり、場合によっては、システムとして、より大きなメモリを搭載する必要がある、という課題があった。
【００６８】
これに対し、この発明の実施の形態３では、サンプリング条件に応じて設定される１回当たりの処理データ数Ｎに応じて、動的にバッファを確保（アロケート）することにより、上述の無駄をなくし、結果として、システム全体で限られたメモリを効率的に使用することができる。
【００６９】
すなわち、データ制御手段３は、計測データのサンプリング周期に応じたサイズで、または、計測データのチャネル数に応じたサイズで、または、データ記録手段４へのアクセス処理時間に応じたサイズで、バッファ領域６（６ａ、６ｂ）を動的にアロケートすることにより、メモリを効率的に使用することができる。
また、上記処理に係る高価な専用設備を必要としないので、データ記録装置を安価に実現することができる。
【００７０】
実施の形態４．
なお、上記実施の形態３では、処理データ数Ｎを決定する際に用いられるＨＤＤ書込時間δやオーバーヘッド時間κの値として、あらかじめ指定される固定値を用いることを想定して説明したが、データ制御手段３は、データ記録手段４がデータ記録動作に要するアクセス処理時間を実測し、実測時間に応じたサイズで、バッファ領域６（６ａ、６ｂ）を動的にアロケートしてもよい。
【００７１】
たとえば、固定値のδ、κを用いた場合、実際のシステムの値とはかけ離れてしまい、より正確な処理データ数Ｎを決定することができなくなり、データ記録処理において動作不具合を起こす可能性がある。したがって、動的なアロケートにより、データ記録処理の動作不具合を回避することが望ましい。
図１１はこの発明の実施の形態４に係るデータ記録装置の動作を示すフローチャートであり、実測時間に応じたサイズで、バッファ領域６（６ａ、６ｂ）を動的にアロケートする場合を示している。
【００７２】
図１１において、前述（図３、図８、図１０参照）と同様の処理については、前述と同一符号を付して、または図示を省略して、詳述を省略する。
また、この発明の実施の形態４によるデータ記録装置の構成としては、図１、図２、図５〜図７のいずれかに示したものが適用可能である。
この場合、データ制御手段３は、データ記録手段４がデータ記録動作に要する時間に応じたサイズで、バッファ領域６（６ａ、６ｂ）を動的にアロケートする。
【００７３】
まず、データ制御手段３は、サンプリング条件を指定し（ステップＳ１Ａ）、設定されたデータ記録手段４に対してダミーの書き込みを行い、処理時間を計測することにより、１回当たりのアクセス処理時間のオーバーヘッドを実測する（ステップＳ１Ｂ）。
続いて、設定されたサンプリング条件および実測されたオーバーヘッドの実測時間に応じたデータ個数Ｎを設定し（ステップＳ１Ｃ）、データ個数Ｎに応じてバッファ領域６（６ａ、６ｂ）を動的にアロケートする（ステップＳ１０）。
以下、前述と同様に、サンプリングを開始する（ステップＳ２、Ｓ２Ａ）。
【００７４】
なお、１回当たりのアクセス処理時間のオーバーヘッド実測処理（ステップＳ１Ｂ）は、具体的には、以下のステップＳ１１〜Ｓ１３により実行される。
まず、比較的少ないデータ量の書き込みに要する時間Ｔ１を実測し（ステップＳ１１）、続いて、比較的多いデータ量の書き込みに要する時間Ｔ２を実測する（ステップＳ１２）。
最後に、実測時間Ｔ２、Ｔ１の時間差（Ｔ２−Ｔ１）を用いてオーバーヘッドの実測時間を算出する（ステップＳ１３）。
具体的には、前述の式（１）に基づく以下の連立方程式（１ａ）、（１ｂ）を解くことにより、式（７）、式（８）のように書込時間δおよびオーバーヘッド時間κを求める。
【００７５】
Ｔ１＝ｔ（Ｎ１）＝δ×Ｎ１＋κ              ・・・（１ａ）
Ｔ２＝ｔ（Ｎ２）＝δ×Ｎ２＋κ              ・・・（１ｂ）
δ＝（Ｔ１−Ｔ２）／（Ｎ１−Ｎ２）          ・・・（７）
κ＝Ｔ１−Ｎ１（Ｔ１−Ｔ２）／（Ｎ１−Ｎ２）・・・（８）
【００７６】
たとえば、前述の実施の形態３では、サンプリング条件に応じて設定されるデータ個数Ｎに応じて、動的にバッファを確保（アロケート）していたが（ステップＳ１０）、このとき、サンプリング条件に応じてデータ個数Ｎを設定する際の要素として加味される「データ記録手段４への１回当たりのアクセス処理時間のオーバーヘッド」は、データ記録手段４の種類によって異なる。
【００７７】
したがって、実際には、データ記録手段４として想定されるものの最大のオーバーヘッドによってデータ個数Ｎを設定する必要がある。つまり、動的に確保するバッファ領域６（６ａ、６ｂ）のサイズも、最大のオーバーヘッドに応じて大きめにアロケートされることになり、非効率（無駄）である、という課題があった。
【００７８】
これに対し、この発明の実施の形態４では、サンプリング条件で設定されたデータ記録手段４に対して、１回当たりのアクセス処理時間のオーバーヘッドを実測し、実測時間を用いて１回当たりの処理データ数Ｎを設定し、設定されたデータ個数Ｎに応じてアロケートするバッファ領域６（６ａ、６ｂ）のサイズを設定するので、上述のような無駄をなくし、結果としてシステム全体で限られたメモリを効率的に使用することができる。
また、上記処理に係る高価な専用設備を必要としないので、データ記録装置を安価に実現することができる。
【００７９】
実施の形態５．
なお、上記実施の形態１〜４では、１つのデータ記録手段４を用いたが、複数のデータ記録手段を設けてもよい。
図１２は複数のデータ記録手段４ａ、４ｂを設けたこの発明の実施の形態５に係るデータ記録装置を示すブロック図である。
【００８０】
図１２において、前述（図１参照）と同様のものについては、前述と同一符号を付して詳述を省略する。また、データ制御手段３は、たとえば図２に示すように、データ取得制御手段３１およびデータ記録制御手段３２を含むものとする。
この場合、データ制御手段３は、データ入力手段１からデータバス手段２を介して取得した計測データを、データ緩衝記憶手段５のバッファ領域６に一時的に蓄えてから、最終的に複数のデータ記録手段４ａ、４ｂに記録するようにデータ記録制御を実行するようになっている。
【００８１】
また、データ制御手段３は、複数のデータ記録手段４ａ、４ｂのそれぞれのデータ記録動作に要する時間またはその実測時間について、各時間または各実測時間を加味して、大きい方のオーバーヘッド（時間差分値）に応じたサイズまたは加算時間値に応じたサイズで、バッファ領域６を動的にアロケートする。
【００８２】
次に、図１３のフローチャートを参照しながら、図１２に示したこの発明の実施の形態５によるサンプリング処理動作について説明する。
図１３において、前述（図３参照）と同様の処理については、前述と同一符号を付して、詳述を省略する。
【００８３】
まず、データ制御手段３は、サンプリング条件を指定し、データ記録手段４ａ、４ｂへのオーバーヘッドの大きい方に応じてデータ個数Ｎを設定する（ステップＳ１Ｄ）。
以下、サンプリングを開始して（ステップＳ２）、ステップＳ３〜Ｓ５を実行し、ステップＳ４をＮ回実行した時点で、一時記憶処理（ステップＳ６Ｄ）を実行する。
【００８４】
このとき、ステップＳ６Ｄにおいて、データ制御手段３内のデータ記録制御手段３２は、データ緩衝記憶手段５のバッファ領域６に一時的に記憶されているＮ個の計測データを読み出してデータ記録手段４ａ、４ｂに記録させ、バッファ領域６に一時的に記憶されているＮ個の計測データを消去する。
以下、ステップＳ３において、集録点数に達した（すなわち、ＹＥＳ）と判定されれば、ステップＳ７およびＳ８を実行して、図１３のサンプリング処理ルーチンを終了する。
【００８５】
なお、図１２においては、２つのデータ記録手段４ａ、４ｂを設けた場合を示したが、３つ以上のデータ記録手段を設けてもよい。
この発明の実施の形態５によれば、複数のデータ記録手段４ａ、４ｂ（ＨＤＤ記録媒体）に対してサンプリングデータを記録することができるので、冗長性による信頼性を確保することができる。
【００８６】
すなわち、複数のデータ記録手段４ａ、４ｂのうちの一方の記録媒体になんらかのトラブル（たとえば、データ制御手段３とデータ記録手段４ａ、４ｂとの間の通信線のトラブル、または、データ記録手段４ａ、４ｂの動作自体のトラブル）が発生した場合でも、他方の記録媒体に記録されている計測データを使用することができ、安全２重化のデータロギングシステムを構築することができる。
また、上記処理に係る高価な専用設備を必要としないので、データ記録装置を安価に実現することができる。
さらに、この場合も、複数のデータ記録手段４ａ、４ｂへのアクセス処理時間に応じたサイズで、バッファ領域６を動的にアロケートすることにより、メモリを効率的に使用することができる。
【００８７】
実施の形態６．
なお、上記実施の形態１〜５では、１つのデータ制御手段３を設けたが、複数のデータ制御手段を設けてもよい。
図１４は複数のデータ制御手段３ａ、３ｂを設けたこの発明の実施の形態６に係るデータ記録装置を示すブロック図である。
【００８８】
図１４において、並列に設置されたデータ制御手段３ａ、３ｂは、それぞれのデータ緩衝記憶手段５ａ、５ｂを備えており、各データ緩衝記憶手段５ａ、５ｂは、個別のバッファ領域６ａ、６ｂを有している。つまり、この場合、外観的にも、複数個のバッファ領域６ａ、６ｂを備えていてもよい。
また、データ記録手段４Ｅは、各データ制御手段３ａ、３ｂに個別に対応したデータ記録領域７ａ、７ｂを有している。データ記録領域７ａ、７ｂは、具体的には、データ記録ファイルからなる。
【００８９】
この場合、データ制御手段３ａ、３ｂは、データ記録手段４Ｅ内のデータ記録領域７ａ、７ｂにおけるデータ記録処理の種類の数に対応している。
つまり、データ制御手段３ａ、３ｂは、データ記録手段４Ｅにおけるデータ記録処理の種類の数に対応するように、データ記録手段４Ｅに対するデータ記録制御を行う。
【００９０】
図１５は図１４に示す装置の動作を一部タイミングチャートで示す説明図である。
図１５において、点線よりも下段側は時間の流れ（タイミングチャート）を示し、点線よりも上段側はデータの流れを示し、破線枠はデータ記録制御処理を示している。
また、ステップＳ４ａ、Ｓ４ｂは、前述のステップＳ４（Ｓ４Ａ）と同様の処理であり、それぞれ、図１４内のデータ制御手段３ａ、３ｂの動作に対応している。
同様に、ステップＳ６ａ、Ｓ６ｂは、前述のステップＳ６（Ｓ６Ａ、Ｓ６Ｄ）と同様の処理であり、それぞれ、図１４内のデータ制御手段３ａ、３ｂの動作に対応している。
また、各データ制御手段３ａ、３ｂのサンプリング条件として、サンプリングａ（ＣＨ１）の周波数ｆ１は、１ｋＨｚ、サンプリングｂ（ＣＨ２）の周波数ｆ２は、２ｋＨｚとする。
【００９１】
この場合、まず、ステップＳ４ｂにおいて、サンプリングｂ（２ｋＨｚ）の条件下でＣＨ２の「値１」がバッファ領域６ｂに一時記憶され、他の処理に続いて、次のステップＳ４ｂにおいて、サンプリングｂ（２ｋＨｚ）の条件下でＣＨ２の「値２」がバッファ領域６ｂに一時記憶される。
【００９２】
次に、他の処理に続くステップＳ４ａにおいて、サンプリングａ（１ｋＨｚ）の条件下でＣＨ１の「値３」がバッファ領域６ａに一時記憶され、他の処理に続くステップＳ４ｂにおいて、サンプリングｂ（２ｋＨｚ）の条件下でＣＨ２の「値４」がバッファ領域６ｂに一時記憶される。
【００９３】
続いて、ＣＨ２の「値４」の一時記憶処理（ステップＳ４ｂ）の直後のステップＳ６ｂにおいて、バッファ領域６ｂ内の計測データ「値１、値２、値４」は、データ記録手段７Ｅ内のデータ記録領域７ｂに転送される。
【００９４】
データ記録領域７ｂへのデータ転送処理（ステップＳ６ｂ）に続いて、他の処理の実行後のステップＳ４ｂにおいては、必要に応じてＣＨ２のデータ値がバッファ領域６ｂに一時記憶される。
次に、他の処理に続くステップＳ４ａにおいて、サンプリングａ（１ｋＨｚ）の条件下でＣＨ１の「値６」がバッファ領域６ａに一時記憶される。
【００９５】
続いて、ＣＨ１の「値６」の一時記憶処理（ステップＳ４ａ）の直後のステップＳ６ａにおいて、バッファ領域６ａ内の計測データ「値３、値６」は、データ記録手段７Ｅ内のデータ記録領域７ａに転送される。
以下、データ制御手段３ａ、３ｂは、最終的な集録点数に達するまで上記処理を繰り返し実行する。
【００９６】
この発明の実施の形態６によれば、異なる条件のサンプリングが複数あった場合でも、それぞれ独立したタスク（処理）によるサンプリング処理が実行可能なので、異なる条件のサンプリングを同時に実行することができ、異なるサンプリングの複数のロギングを同時に実行することができる。
【００９７】
また、この発明の実施の形態６の場合、上記処理中のステップＳ４ａ、Ｓ４ｂおよびステップＳ６ａ、Ｓ６ｂに要する処理内容が、前述の実施の形態５に比べて簡単なので、全体としての処理に要する負荷が軽減され、結果として、システム全体で処理を高速に実行することができる。
また、上記処理に係る高価な専用設備を必要としないので、データ記録装置を安価に実現することができる。
【００９８】
ただし、図１５から明らかなように、サンプリングａ、ｂは、互いに独立に動作しており、データ記録領域７ａとデータ記録領域７ｂとの間での時間軸は一致しない（同じ時間軸でロギングを実行していない）ので、データ記録領域７ａ、７ｂを同じグラフで表示しても意味がない。つまり、サンプリングａ、ｂは、異なるサンプリング周波数ｆ１、ｆ２でロギングを実行しているので、サンプリングａ、ｂの各計測データの差分を取るなどの処理を実行しても全く意味がない。
【００９９】
実施の形態７．
なお、上記実施の形態６（図１４参照）では、２つのデータ制御手段３ａ、３ｂ（２つのタスク）を用いて、それぞれのバッファ領域６ａ、６ｂに対して個別のＣＨ処理を実行したが、１つのデータ制御手段３（１つのタスク）を用いて、ダブルバッファ構成の１つのバッファ領域６に対して複数ＣＨの処理を実行してもよい。
図１６はこの発明の実施の形態７に係るデータ記録装置を示すブロック図であり、１つのデータ制御手段３を用いてデータ記録領域７ａ、７ｂへのデータ記録を制御する場合を示している。
【０１００】
なお、図１６において、データ緩衝記憶手段５のバッファ領域６をダブルバッファ構成にしてもよく、前述（図６参照）のようにバッファ領域６を複数個設定してもよい。
また、上記を組み合わせて、バッファ領域６を複数個設定するとともに、それぞれをダブルバッファ構成にしてもよい。
【０１０１】
図１７は図１６に示した装置の動作を示すフローチャートであり、前述（図３参照）と同様の処理については、前述と同一符号を付して詳述を省略する。
図１８は図１６の動作フローを一部タイミングチャートで示す説明図であり、前述（図１５参照）と同様に、サンプリング条件として、サンプリングａ（ＣＨ１）の周波数ｆ１は、１ｋＨｚ、サンプリングｂ（ＣＨ２）の周波数ｆ２は、２ｋＨｚとする。
また、図１８はサンプリングａ、ｂの両方を、共通のバッファ領域６にロギングした場合を示している。
【０１０２】
この場合、ＣＨ１およびＣＨ２の各サンプリング周波数ｆ１、ｆ２の最小公倍数に対応したサンプリング周期で、ステップＳ４Ｅの処理が実行される。
つまり、この場合は、結果的に、ＣＨ１のサンプリング周波数ｆ１（＝１ｋＨｚ）の２倍からなるＣＨ２のサンプリング周波数ｆ２（＝２ｋＨｚ）に対応したサンプリング周期τ２（＝１／ｆ２）となる。
【０１０３】
すなわち、図１８においては、ＣＨ２のサンプリング周期τ２で、取得すべきＣＨの計測データのみを取得するようになっている。
なお、取得すべきＣＨのデータが存在しない場合には、ステップＳ４Ｅにおいて、何も処理が実行されない。
【０１０４】
次に、図１７および図１８を参照しながら、図１６に示したこの発明の実施の形態７による動作について説明する。
図１７において、まず、複数のサンプリング条件を指定し（ステップＳ１Ｅ）、サンプリングを開始する（ステップＳ２）。
続いて、集録点数に達していなければ、データ取得制御手段３１は、サンプリング周期τ（＝τ２）ごとに、データ入力手段１からデータバス手段２を介して計測データを取得し、バッファ領域６に一時的に記憶させる（ステップＳ４Ｅ）。
【０１０５】
ステップＳ４Ｅを繰り返し、ステップＳ４ＥがＮ回実行された時点で、データ記録制御手段３２は、バッファ領域６に一時的に記憶されている計測データを読み出し、サンプリング条件に応じて、データ記録手段４Ｅのデータ記録領域７ａまたは７ｂに記録させ、バッファ領域６に一時的に記憶されている計測データを消去する（ステップＳ６Ｅ）。
以下、最終的な集録点数に達した時点で、ステップＳ７およびＳ８を実行し、図１７のサンプリング処理ルーチンを終了する。
【０１０６】
具体的には、たとえば図１８のように、まず、ステップＳ４Ｅにおいて、ＣＨ２の「値１」がバッファ領域６に一時記憶され、続くステップＳ４Ｅにおいて、ＣＨ２の「値２」およびＣＨ１の「値３」がバッファ領域６に一時記憶される。
また、次のステップＳ４Ｅにおいて、ＣＨ２の「値４」がバッファ領域６に一時記憶され、続くステップＳ４Ｅにおいて、ＣＨ２の「値５」およびＣＨ１の「値６」がバッファ領域６に一時記憶される。
【０１０７】
次に、ステップＳ６Ｅにおいて、バッファ領域６内のＣＨ２の「値１、値２、値４、値５」がデータ記録手段４Ｅのデータ記録領域７ｂに転送され、バッファ領域６内のＣＨ１の「値３、値６」がデータ記録手段４Ｅのデータ記録領域７ａに転送される。
以下、上記処理が繰り返し実行される。
【０１０８】
この発明の実施の形態７によれば、異なる条件のサンプリングを同時に実行することができる。
また、データ記録領域７ａとデータ記録領域７ｂとの間での時間軸が一致するので、データ記録領域７ａ、７ｂを同じグラフで表示しても意味があり、異なる条件のサンプリング処理を同時に実行した場合に、後で結果を合わせて解析することができる。
また、複数ファイル間の時間軸が一致していることにより、たとえば温度変化のような遅いデータ変化と、流量のような速いデータ変化とのロギングを、データ量が爆発的に増えることなく効率的に実行することができ、且つ、後で精査する際に時間軸の一致した正しい解析を行うことができる。
【０１０９】
なお、図１８においては、ＣＨ１、ＣＨ２に対して１つのバッファ領域６を共通に用いた場合を示したが、図１９のように、たとえばダブルバッファ構成を適用して分割された複数のバッファ領域６ａ、６ｂを用いてもよい。
図１９はサンプリングａ、ｂをそれぞれ個別のバッファ領域６ａ、６ｂにロギングした場合を示している。この場合、サンプリングごとに複数のバッファ領域６ａ、６ｂ（ダブルバッファ）が設けられている。
【０１１０】
図１９において、ステップＳ４Ｅごとに、一方のバッファ領域６ａには、ＣＨ１の「値３、値６」が順次に一時記憶され、他方のバッファ領域６ｂには、ＣＨ２の「値１、値２、値４、値５」が順次に一時記憶される。
以下、ステップＳ６Ｅにおいて、各バッファ領域６ａ、６ｂ内のデータ値が、それぞれ、データ記録手段４Ｅの内のデータ記録領域７ａ、７ｂに転送される。
図１９に示したダブルバッファ構成の場合、前述（図１８参照）での効果に加えて、前述（図６〜図９参照）の実施の形態２における効果も得られる。
【０１１１】
さらに、図２０のように、前述とは異なるサンプリング条件（ＣＨ４、ＣＨ５）に対しても、図１９の場合と同様の構成を適用することができる。
図２０の構成および処理は、基本的に図１９の場合と同一であり、サンプリングａ、ｂを、それぞれ個別のバッファ領域６ａ、６ｂにロギングした場合を示している。
【０１１２】
ただし、図２０において、サンプリング条件として、サンプリングａ（ＣＨ４）の周波数ｆ４は、２ｋＨｚであり、サンプリングｂ（ＣＨ５）の周波数ｆ５は、３ｋＨｚである。
したがって、ＣＨ４およびＣＨ５の各サンプリング周波数ｆ４、ｆ５の最小公倍数は、６ｋＨｚ（＝２×３［ｋＨｚ］）となり、サンプリング周波数６ｋＨｚに対応したサンプリング周期で一時記憶処理（ステップＳ４Ｅ）が実行されることになる。
【０１１３】
つまり、図２０においては、ＣＨ４およびＣＨ５の各サンプリング周波数の最小公倍数に対応した周期でステップＳ４Ｅの処理が実行され、取得すべきＣＨの計測データのみが取得される。
なお、図２０において、バッファ領域６ａへのＣＨ４の「値５」の一時記憶処理（ステップＳ４Ｅ）に続くステップＳ４Ｅのように、取得すべきＣＨの計測データが存在しない場合には、ステップＳ４Ｅにおいて、何も処理が実行されない。
【０１１４】
図２０に示したデータ記録処理においては、２つのサンプリングａ、ｂ（ＣＨ４、ＣＨ５）の関係が、一方のサンプリング周波数が他方のサンプリング周波数の整数倍ではないので、各サンプリング周波数の最小公倍数に対応した周期でサンプリング処理（ステップＳ４Ｅ）が実行される。
また、各サンプリング処理（ステップＳ４Ｅ）においては、該当する計測データが存在するサンプリングＣＨのみをサンプリングし、それ以外のＣＨに対しては何もサンプリング処理が実行されないので、図２０のように、一方のサンプリング周期が他方のサンプリング周期の整数倍の関係でない場合であっても、上記作用効果が得られる。
【０１１５】
また、データ制御手段３（図１６参照）は、計測データのサンプリング周期に応じたサイズで、バッファ領域６を動的にアロケートするとともに、計測データのチャネル数に応じたサイズで、バッファ領域６を動的にアロケートする。
これにより、無駄がなくなり、システム全体で限られたメモリを効率的に使用することができる。
【０１１６】
また、図２１のように、特に異なるサンプリング条件の間で共通にログされるＣＨが存在する場合には、複数回集録される必要はなく、前述（図１９参照）と同様のダブルバッファ構成に対して、１回の集録で複数先に書き込まれることになる。
ここで、図２１におけるサンプリング条件として、サンプリングａ（ＣＨ１およびＣＨ２）の周波数ｆ１２を１ｋＨｚ（ＣＨ１、ＣＨ２の両方を１ｋＨｚで集録）とし、サンプリングｂ（ＣＨ２）の周波数ｆ２を２ｋＨｚとする。
この場合、最初の一時記憶処理（ステップＳ４Ｅ）において、ＣＨ２の「値１」がバッファ領域６ｂに書き込まれ、続くステップＳ４Ｅにおいて、ＣＨ２の「値２」がバッファ領域６ａ、６ｂに書き込まれるとともに、ＣＨ１の「値３」がバッファ領域６ａに書き込まれる。
【０１１７】
以下、同様に、次のステップＳ４Ｅにおいて、ＣＨ２の「値４」がバッファ領域６ｂに書き込まれ、続くステップＳ４Ｅにおいて、ＣＨ２の「値５」がバッファ領域６ａ、６ｂに書き込まれるとともに、ＣＨ１の「値６」がバッファ領域６ａに書き込まれる。
その後、ステップＳ６Ｅにおいて、各バッファ領域６ａ、６ｂ内のデータ値が、それぞれ、データ記録手段４Ｅの内のデータ記録領域７ａ、７ｂに転送される。
図２１に示したデータ記録処理の場合も、上記作用効果を奏する。
【０１１８】
特に、複数ファイル間で共通にロギングされるＣＨは、複数回にわたって集録される必要はなく、１回の集録で、複数先に書き込まれるのみなので、全体としてロギングに要する負荷は軽減される。
つまり、データ入力手段１（ＡＤボード）のＣＨからのデータ取得処理が６回に対して、データ記録手段４Ｅへのデータ書き込み処理を８回実行することになるので、ＡＤボードのＣＨからのデータ取得に関する処理の冗長性がなく、その分だけ、ＡＤボードのＣＨからのデータ取得に関する処理を高速化することができる。
また、上記処理に係る高価な専用設備を必要としないので、データ記録装置を安価に実現することができる。
【０１１９】
実施の形態８．
なお、上記実施の形態１〜７では、特に言及しなかったが、いずれかのデータ記録装置を備えた検査装置を構成しても同等の効果を奏する。
この場合、インテリジェント検査ユニットからなる検査装置において、データ記録装置に記録された計測データを用いて検査処理を実行することにより、安価な検査装置を実現することができる。
【０１２０】
実施の形態９．
また、上記実施の形態１〜７のいずれかのデータ記録装置を備えた制御装置を構成しても同等の効果を奏する。
この場合、シーケンサ、モーションコントローラ、数値制御装置、ロボットなどのＦＡ機器からなる制御装置において、データ記録装置に記録された計測データを用いて、シーケンス制御処理またはモーション制御処理を実行することにより、安価な制御装置を実現することができる。
【図面の簡単な説明】
【０１２１】
【図１】この発明の実施の形態１に係るデータ記録装置を示すブロック図である。
【図２】この発明の実施の形態１に係るデータ記録装置の動作を示すブロック図である。
【図３】この発明の実施の形態１に係るデータ記録装置のサンプリング動作を示すフローチャートである。
【図４】この発明の実施の形態１に係るデータ記録装置のサンプリング動作をタイミングチャートで示す説明図である。
【図５】この発明の実施の形態１に係るデータ記録装置の他の動作例を示すブロック図である。
【図６】この発明の実施の形態２に係るデータ記録装置を示すブロック図である。
【図７】この発明の実施の形態２に係るデータ記録装置の動作を示すブロック図である。
【図８】この発明の実施の形態２に係るデータ記録装置のサンプリング動作を示すフローチャートである。
【図９】この発明の実施の形態２に係るデータ記録装置のサンプリング動作をタイミングチャートで示す説明図である。
【図１０】この発明の実施の形態３に係るデータ記録装置の動作を部分的に示すフローチャートである。
【図１１】この発明の実施の形態４に係るデータ記録装置の動作を示すフローチャートである。
【図１２】この発明の実施の形態５に係るデータ記録装置を示すブロック図である。
【図１３】この発明の実施の形態５に係るデータ記録装置のサンプリング動作を示すフローチャートである。
【図１４】この発明の実施の形態６に係るデータ記録装置を示すブロック図である。
【図１５】この発明の実施の形態６に係るデータ記録装置のサンプリング動作をタイミングチャートで示す説明図である。
【図１６】この発明の実施の形態７に係るデータ記録装置を示すブロック図である。
【図１７】この発明の実施の形態７に係るデータ記録装置の動作を示すフローチャートである。
【図１８】この発明の実施の形態７に係るデータ記録装置の第１のサンプリング動作を一部タイミングチャートで示す説明図である。
【図１９】この発明の実施の形態７に係るデータ記録装置の第２のサンプリング動作を一部タイミングチャートで示す説明図である。
【図２０】この発明の実施の形態７に係るデータ記録装置の第３のサンプリング動作を一部タイミングチャートで示す説明図である。
【図２１】この発明の実施の形態７に係るデータ記録装置の第４のサンプリング動作を一部タイミングチャートで示す説明図である。
【符号の説明】
【０１２２】
１  データ入力手段、２  データバス手段、３、３ａ、３ｂ  データ制御手段、４、４ａ、４ｂ、４Ｅ  データ記録手段、５、５Ａ、５ａ、５ｂ  データ緩衝記憶手段、６、６ａ、６ｂ  バッファ領域、τ、τ２  サンプリング周期。
【図１】
2006309315.tif 000003
【図２】
2006309315.tif 000004
【図３】
2006309315.tif 000005
【図４】
2006309315.tif 000006
【図５】
2006309315.tif 000007
【図６】
2006309315.tif 000008
【図７】
2006309315.tif 000009
【図８】
2006309315.tif 000010
【図９】
2006309315.tif 000011
【図１０】
2006309315.tif 000012
【図１１】
2006309315.tif 000013
【図１２】
2006309315.tif 000014
【図１３】
2006309315.tif 000015
【図１４】
2006309315.tif 000016
【図１５】
2006309315.tif 000017
【図１６】
2006309315.tif 000018
【図１７】
2006309315.tif 000019
【図１８】
2006309315.tif 000020
【図１９】
2006309315.tif 000021
【図２０】
2006309315.tif 000022
【図２１】
2006309315.tif 000023