(57)【特許請求の範囲】
【請求項１】
データ収集対象である複数の対象装置と、前記対象装置内のデータを前記複数の対象装置から収集して記録するロギング装置とを備えて構成されるロギングシステムであって、
前記ロギング装置は、
既定のタイミングで外部の標準時刻に同期して時刻が補正される第１時計と、
前記ロギング装置の起動時に前記第１時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない第２時計と、
前記複数の対象装置から取得した前記データを前記対象装置毎に格納するデータ記憶部と、
前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得し、前記データ毎に前記対象装置から前記データを取得した際の前記第１時計の時刻と前記第２時計の時刻とを付加して前記データ記憶部に格納するデータ取得部と、
前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させるデータ整列部と、
前記結合されたデータを格納する結合データ記憶部と、
を備え、
前記データ整列部は、前記データ記憶部に格納された前記データに付加された前記第２時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、
を特徴とするロギングシステム。
【請求項２】
被制御装置の制御を行う複数の対象装置と通信可能に接続されて、前記対象装置内のデータを前記複数の対象装置から収集して記録するロギング装置であって、
既定のタイミングで外部の標準時刻に同期して時刻が補正される第１時計と、
前記ロギング装置の起動時に前記第１時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない第２時計と、
前記複数の対象装置から取得した前記データを前記対象装置毎に格納するデータ記憶部と、
前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得し、前記データ毎に前記対象装置から前記データを取得した際の前記第１時計の時刻と前記第２時計の時刻とを付加して前記データ記憶部に格納するデータ取得部と、
前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させるデータ整列部と、
前記結合されたデータを格納する結合データ記憶部と、
を備え、
前記データ整列部は、前記データ記憶部に格納された前記データに付加された前記第２時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、
を特徴とするロギング装置。
【請求項３】
前記収集時間間隔が、前記複数の対象装置間で異なり、
前記データ整列部は、前記複数の対象装置のうちいずれか１つの対象装置から取得された前記データに付加された前記第２時計の時刻を基準にして、前記複数の対象装置から取得された前記データを前記時系列順に並び替えて結合させること、
を特徴とする請求項２に記載のロギング装置。
【請求項４】
前記データ整列部は、前記複数の対象装置間で、取得された前記データの数量が異なる場合に、前記データの補間または前記データの間引きを行うこと、
を特徴とする請求項３に記載のロギング装置。
【請求項５】
前記結合されたデータと前記第１時計の時刻とがファイルとして前記結合データ記憶部以外の外部記憶手段に出力され、
前記ファイルが、該ファイルが作成された前記ロギング装置の情報を含むこと、
を特徴とする請求項２から４のいずれか１つに記載のロギング装置。
【請求項６】
前記ロギング装置の情報として、前記ファイルが作成された前記ロギング装置の識別情報、前記第１時計の時刻の出力形式、前記結合されたデータに含まれる前記データが取得された前記対象装置を識別する情報が含まれること、
を特徴とする請求項５に記載のロギング装置。
【請求項７】
前記対象装置が、被制御装置の制御を行う制御装置であり、
前記データが、前記制御装置が被制御装置の制御を行う際に発生する制御データであること、
を特徴とする請求項２から６のいずれか１つに記載のロギング装置。
【請求項８】
複数の対象装置内のデータを前記対象装置から収集してロギング装置に記録するデータロギング方法であって、
前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得する第１工程と、
前記取得したデータに対して前記データ毎に前記対象装置から前記データを取得した際の第１時計の時刻と第２時計の時刻とを付加して前記ロギング装置内のデータ記憶部に前記対象装置毎に記憶する第２工程と、
前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させる第３工程と、
前記結合されたデータを前記ロギング装置内の結合データ記憶部に前記対象装置毎に記憶する第４工程と、
を含み、
前記第１時計は、既定のタイミングで外部の標準時刻に同期して時刻が補正される時計であり、
前記第２時計は、前記ロギング装置の起動時に前記第１時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない時計であり、
前記第３工程では、前記データ記憶部に格納された前記データに付加された前記第２時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、
を特徴とするデータロギング方法。
【請求項９】
前記収集時間間隔が、前記複数の対象装置間で異なり、
前記第３工程では、前記複数の対象装置のうちいずれか１つの対象装置から取得された前記データに付加された前記第２時計の時刻を基準にして、前記複数の対象装置から取得された前記データを前記時系列順に並び替えて結合させること、
を特徴とする請求項８に記載のデータロギング方法。
【請求項１０】
前記第３工程では、前記複数の対象装置間で、取得された前記データの数量が異なる場合に、前記データの補間または前記データの間引きを行うこと、
を特徴とする請求項９に記載のデータロギング方法。
【請求項１１】
前記対象装置が、被制御装置の制御を行う制御装置であり、
前記データが、前記制御装置が被制御装置の制御を行う際に発生する制御データであること、
を特徴とする請求項８から１０のいずれか１つに記載のデータロギング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロギングシステム、ロギング装置、データロギング方法に関する。
【背景技術】
【０００２】
ロギングシステムでは、ロギング装置により制御装置から制御データが収集される。収集された制御データであるロギングデータは、タイムスタンプが付加されてファイルに格納される。複数の制御装置がある場合には、ロギング装置が各制御装置からデータを収集する間隔を、制御装置毎にそれぞれ個別に指定することができる。そして、指定した一定間隔ごとにロギング装置が各制御装置からデータを収集し、収集したロギングデータをファイルに出力する（たとえば、特許文献１参照）。【０００３】
この際、ロギングシステム全体の時計を統一するために、ロギングデータに付加されるタイムスタンプは、ロギング装置に備えられている共通タイマを基準としている。共通タイマは、各制御装置からロギングデータを収集した時刻を正しく把握するために、外部システムの標準時刻に同期をし、時計を補正している。また、ロギング装置の時計素子と外部システムの時計素子とが異なっているため、共通タイマの時計の補正は、時刻のずれを防ぐために定期的に実施する必要がある。【０００４】
このような処理を実施することにより、制御装置から収集したデータをまとめ、タイムスタンプを比較することで、時系列ごとの生産情報を表示することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１５９９４２号公報
【特許文献２】国際公開第０１／０２０４５６号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、共通タイマを外部システムに問い合わせて時計を補正した際に、共通タイマの値が外部システムの標準時刻より進んでいる場合には、共通タイマの時計の時刻が巻き戻ることがある。共通タイマの時計の時刻が巻き戻った場合には、ロギングデータに付加されるタイムスタンプが、既に発行されたタイムスタンプよりも古い時刻または同じ時刻になることがある。【０００７】
各制御装置の稼働状況をまとめて表示するためには、タイムスタンプを基準にロギングデータを並び替える必要がある。しかし、時刻同期による共通タイマの時計の補正が実施された場合、各制御装置が収集したロギングデータのタイムスタンプが時系列順になっている保証がないため、稼動した時系列順にロギングデータを並び替えることができない、という問題があった。【０００８】
また、ロギングデータの並び替えの際には、基準となる間隔を指定することにより、間隔ごとのタイムスタンプにより各装置のデータを横並びにしてまとめることができる。しかし、対象とする複数の制御装置へのデータ収集の周期を全て同一にしないと、ロギングデータが存在しないタイムスタンプが頻発し、出力データが「ＮＵＬＬ」または「データなし」を示す情報となってしまう。このため、まとめた収集データをトレンドグラフなどで可視化する際に、データなし部分にはロギングデータが表示されないことがあった。【０００９】
なお、稼動した時系列データを保証する手段として、動作トレース情報に時刻を付加するたびにカウントアップするカウンタ値をタイムスタンプと合わせて付加する手段がある（たとえば、特許文献２参照）。しかし、この場合は、複数の制御装置のうち任意の制御装置のみのデータをまとめて表示したい場合に、カウンタ値の前後を知るためには、全ての制御装置の情報を調べなくてはならない。このため、制御装置の規模が大きくなるほど手間とコストがかかる。【００１０】
本発明は、上記に鑑みてなされたものであって、ロギング装置により対象装置からデータが収集されるロギングシステムにおいて、対象装置のデータを容易に且つ確実に、時系列順に並び替えることが可能なロギングシステム、ロギング装置、データロギング方法を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明にかかるロギングシステムは、データ収集対象である複数の対象装置と、前記対象装置内のデータを前記複数の対象装置から収集して記録するロギング装置とを備えて構成されるロギングシステムであって、前記ロギング装置は、既定のタイミングで外部の標準時刻に同期して時刻が補正される第１時計と、前記ロギング装置の起動時に前記第１時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない第２時計と、前記複数の対象装置から取得した前記データを前記対象装置毎に格納するデータ記憶部と、前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得し、前記データ毎に前記対象装置から前記データを取得した際の前記第１時計の時刻と前記第２時計の時刻とを付加して前記データ記憶部に格納するデータ取得部と、前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させるデータ整列部と、前記結合されたデータを格納する結合データ記憶部と、を備え、前記データ整列部は、前記データ記憶部に格納された前記データに付加された前記第２時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、を特徴とする。
【発明の効果】
【００１２】
本発明によれば、ロギング装置により対象装置からデータが収集されるロギングシステムにおいて、対象装置のデータを容易に且つ確実に、時系列順に並び替えることができる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態にかかるロギングシステムの構成を示す図である。
【図２】図２は、本発明の実施の形態にかかるロギング装置の共通タイマに時計データを書き込む処理を説明するフローチャートである。
【図３】図３は、本発明の実施の形態にかかるロギング装置におけるデータ取得部のデータ取得処理手順を示すフローチャートである。
【図４】図４は、本発明の実施の形態にかかるロギングシステムにおいて、複数の制御装置から制御データを収集する構成例を示す図である。
【図５】図５は、本発明の実施の形態にかかるロギングシステムにおいて、ロギング装置が制御データを並び替えて結合する処理を説明するフローチャートである。
【図６】図６は、本発明の実施の形態にかかるロギング装置内における制御データを示す図である。
【図７】図７は、本発明の実施の形態にかかるロギング装置において、不足分のデータを同値補間した場合の制御データを示す図である。
【図８】図８は、本発明の実施の形態にかかるロギング装置において、不足分のデータを同値補間した場合に出力したファイルを示す図である。
【図９】図９は、本発明の実施の形態にかかるロギング装置において、不足分のデータを線形補間した場合の制御データを示す図である。
【図１０】図１０は、本発明の実施の形態にかかるロギング装置において、不足分のデータを線形補間した場合に記憶メディアに出力したファイルのデータを示す図である。
【図１１】図１１は、制御装置、サーバパーソナルコンピュータ、パーソナルコンピュータおよびロギング装置としての機能を実現するコンピュータ装置の構成の一例を模式的に示すブロック図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかるロギングシステム、ロギング装置、データロギング方法の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１５】
実施の形態１．
図１は、本発明の実施の形態１にかかるロギングシステムの構成を示す図である。図１に示すように本実施の形態にかかるロギングシステムは、被制御装置（図示せず）に対して既定の制御を実行するための演算を行う制御装置１０と、取得した制御データをロギングするロギング装置１００と、ロギング装置１００に装着された記憶メディア５０と、ロギングパラメータを設定するパーソナルコンピュータ４０と、時刻同期のためのサーバパーソナルコンピュータ３０とを備えて構成される。制御装置１０とロギング装置１００とは、バス２０を介して互いに接続されている。パーソナルコンピュータ４０およびサーバパーソナルコンピュータ３０は、Ｅｔｈｅｒｎｅｔ（登録商標）などのケーブル６０を介してロギング装置１００に接続されている。また、サーバパーソナルコンピュータ３０は、ケーブル６０を介して制御装置１０と接続されている。なお、図１中に示される矢印は、ロギング対象のデータである制御装置のデータの動きを示している。
【００１６】
制御装置１０は、制御実行部１２と、制御データ格納部１５と、制御データ転送部１６と、通信部１７と、これらを動作させるＣＰＵ１１とを備える。制御実行部１２は、被制御装置に対して制御装置１０が制御を実行するための制御プログラム１３を備え、該制御プログラム１３に従って演算を行って制御装置１０を動作させ、被制御装置の制御を行う。制御データ格納部１５は、被制御装置に対して制御装置１０が制御を実行した際に発生する制御データ１４を格納し、保持する。
【００１７】
制御データ転送部１６は、既定の一定周期または制御プログラムの動作周期で、ロギング装置１００が備える共有メモリ１０５に制御データ格納部１５の制御データ１４の値を転送し、制御データ１４を共有メモリ１０５に格納したことをロギング装置１００に通知する。すなわち、ロギング装置１００は、既定の一定の間隔または制御プログラムの動作間隔で制御データ１４を取得する。制御データ転送部１６は、制御データ１４が発生した時系列順に該制御データ１４を転送する。通信部１７は、外部機器との間で通信を行う。
【００１８】
パーソナルコンピュータ４０は、ソフトウェアにより実現されるロギング設定ツール４１と、通信部４２とを有する。ロギング設定ツール４１は、ロギング用の設定データを作成し、該設定データをロギング装置１００に設定する機能を有する。設定データは、ロギング装置１００が制御装置１０から収集するデータの数および種類、データを収集する周期、ロギング実行条件、データを結合する設定の選択、データ補間方法、時刻同期タイミングなどの設定内容に関するデータである。したがって、パーソナルコンピュータ４０は、ロギング用設定データ作成・設定装置として機能する。通信部４２は、外部機器との間で通信を行う。
【００１９】
パーソナルコンピュータ４０を構成するコンピュータ装置の詳細な構成は後述する。なお、パーソナルコンピュータ４０は、上記機能を有する専用装置により構成されてもよい。また、パーソナルコンピュータ４０は、作成された設定データのロギング装置１００への設定時に必要であり、ロギング装置１００が稼動中には、ロギング装置１００との接続は切断されてもよい。
【００２０】
サーバパーソナルコンピュータ３０は、ＳＮＴＰサーバとして動作し、サーバパーソナルコンピュータ３０の時刻をＳＮＴＰクライアントに配信する時刻配信部３１と、通信部３２とを備える。時刻配信部３１は、ＳＮＴＰクライアントからの時刻同期要求を受けた場合に、時刻情報を配信する。ここでのＳＮＴＰクライアントは、ロギング装置１００および制御装置１０である。通信部３２は、外部機器との間で通信を行う。サーバパーソナルコンピュータ３０を構成するコンピュータ装置の詳細な構成は後述する。なお、サーバパーソナルコンピュータ３０は、ＳＮＴＰ機能を有する専用装置により構成されてもよい。
【００２１】
ロギング装置１００は、ＣＰＵ１０１と、データ取得部１０２と、内部メモリ１０３と、データ記憶部１０４と、共有メモリ１０５と、結合ファイル作成部１０７と、絶対時刻タイマ１１０と、共通タイマ１１１と、時刻同期要求部１１２と、通信部１１５と、を備えて構成される。
【００２２】
共通タイマ１１１は、ロギングシステム全体の時計を統一するために備えられる時計である。共通タイマ１１１は、サーバパーソナルコンピュータ３０の時刻に同期する。制御データに付加されるタイムスタンプは、共通タイマ１１１の値を基準としている。
【００２３】
絶対時刻タイマ１１０は、ロギング装置１００の電源起動後に、１回だけ共通タイマ１１１と時刻を同期し、時計を補正する。その後、絶対時刻タイマ１１０は、共通タイマ１１１におけるサーバパーソナルコンピュータ３０との時計補正、すなわち共通タイマ１１１がサーバパーソナルコンピュータ３０と時刻の同期を実行する際に該同期の影響を受けず、一定間隔で値を更新し続ける。すなわち、絶対時刻タイマ１１０は、ロギング装置１００の電源起動直後に共通タイマ１１１と時刻を同期した後はロギング装置１００の電源をオフにするまで補正されない絶対時刻を更新し続けて動作する時計である。絶対時刻タイマ１１０は、たとえば共通タイマ１１１と同じ時計素子を備える。制御データに付加される絶対時刻データは、絶対時刻タイマ１１０の値を基準としている。
【００２４】
時刻同期要求部１１２は、時刻同期要求を発行してサーバパーソナルコンピュータ３０に送信することによりサーバパーソナルコンピュータ３０から時刻情報を取得する。そして、時刻同期要求部１１２は、該取得した時刻情報を共通タイマ１１１に設定・反映させて共通タイマ１１１の時刻を更新する。すなわち、時刻同期要求部１１２は、パーソナルコンピュータ４０から設定された設定データの時刻同期周期に従って、サーバパーソナルコンピュータ３０へ時刻同期要求を実行する。そして、時刻同期要求部１１２は、時刻取得要求を実行した結果取得した時刻情報を、共通タイマ１１１に書き込む。
【００２５】
共有メモリ１０５は、制御装置１０から転送された制御データ１４を制御データ１０６として一時的に格納する領域を有する。共有メモリ１０５には、制御データ１４を１制御周期分の制御データ１０６だけを格納する領域を各制御装置１０に対して１つ有する。共有メモリ１０５は、制御装置１０およびロギング装置１００の両方からアクセス可能である。また、共有メモリ１０５は、ロギング対象となる制御装置１０の数に合わせて、制御データ１０６を格納するためにメモリ領域を分割することができる。
【００２６】
内部メモリ１０３は、制御装置１０から転送された制御データ１０６をまとめて格納する制御データ記憶部である。内部メモリ１０３は、たとえば揮発性メモリが用いられる。内部メモリ１０３は、データ取得部１０２とデータ記憶部１０４と結合ファイル作成部１０７とからアクセス可能である。内部メモリ１０３には、たとえば、制御装置１０から転送された多数の制御データを既定の制御周期分格納可能なリングバッファ領域１１３と、ロギングパラメータ１１４とを有する。
【００２７】
リングバッファ領域１１３は、制御データ１０６を記憶するための十分な容量があるＲＡＭメモリ等である。リングバッファ領域１１３は、概念上、環状に配置されたメモリ構成となり、書き込みポインタと読み込みポインタとにより管理される。この場合、データ取得部１０２がリングバッファ領域１１３に制御データ１０６を書き込んだ場合に、書き込みポインタが進む。そして、リングバッファ領域１１３に書き込まれた制御データ１０６をデータ記憶部１０４が読み込むと、読み込みポインタが進む。読み込みポインタは、書き込みポインタの位置まで制御データ１０６を読み込むことができる。
【００２８】
リングバッファ領域１１３は、上記の制御データ１０６に加え、共通タイマ１１１から発行されたタイムスタンプと、絶対時刻タイマ１１０から発行された絶対時刻データとを、制御装置１０から制御データ１０６を取得した時系列順に記憶する。例えば共通タイマ１１１からのタイムスタンプは、タイムスタンプ（１）、タイムスタンプ（２）、・・・、タイムスタンプ（ｍ）、タイムスタンプ（ｎ）のように記録される。（）内の数字は、各タイムスタンプがリングバッファ領域１１３に記憶された順番を示す。ここでは、タイムスタンプ（１）が時系列順に一番古い時間であり、タイムスタンプ（ｎ）が時系列順に一番新しい時間である。
【００２９】
また、同様に、絶対時刻タイマ１１０から発行された絶対時刻データは、絶対時刻データ（１）、絶対時刻データ（２）、・・・、絶対時刻データ（ｍ）、絶対時刻データ（ｎ）のように記録される。（）内の数字は、各絶対時刻データがリングバッファ領域１１３に記憶された順番を示す。ここでは、絶対時刻データ（１）が時系列順に一番古い時間であり、絶対時刻データ（ｎ）が時系列順に一番新しい時間である。そして、リングバッファ領域１１３には、たとえば図１に示されるように、制御データ（ｎ）、該制御データのタイムスタンプ（ｎ）および絶対時刻データ（ｎ）、の順で格納されている。
【００３０】
ロギングパラメータ１１４は、ロギング対象となる制御データおよびロギングを実施する周期などを指定するロギング条件を有する。ロギングパラメータ１１４は、パーソナルコンピュータ４０から設定された設定データより設定される。
【００３１】
データ取得部１０２は、制御装置１０から収集されて共有メモリ１０５に格納された制御データ１０６にタイムスタンプと絶対時刻データとを付加して、内部メモリ１０３に書き込む。データ取得部１０２は、制御装置１０の制御データ転送部１６が共有メモリ１０５に制御データ１４を書き込んだ際に制御データ転送部１６から送信される制御データ１４の書き込みの通知を受信して動作し、共有メモリ１０５の制御データ１０６を読み込む。そして、データ取得部１０２は、読み込んだ制御データ１０６のそれぞれにタイムスタンプと絶対時刻データとを付加して内部メモリ１０３のリングバッファ領域１１３に書き込む。
【００３２】
すなわち、データ取得部１０２は、制御データ１０６を内部メモリ１０３のリングバッファ領域１１３に書き込む際に、共通タイマ１１１からタイムスタンプを取得するとともに絶対時刻タイマ１１０から絶対時刻データを取得する。そして、データ取得部１０２は、取得したタイムスタンプと絶対時刻データとを制御データ１０６に付加し、制御データ１０６とタイムスタンプと絶対時刻データとを１つの単位としてリングバッファ領域１１３に書き込む。
【００３３】
データ記憶部１０４は、内部メモリ１０３にまとめて格納された制御データおよび該制御データに対応するタイムスタンプと絶対時刻データとを読み出して記憶する。また、データ記憶部１０４は、結合ファイル作成部１０７で作成された結合された制御データおよび該制御データに対応するタイムスタンプと絶対時刻データとを記憶する。すなわち、データ記憶部１０４は、結合データ記憶部としての機能を有する。
【００３４】
そして、データ記憶部１０４は、これらの制御データをタイムスタンプとともに記憶メディア５０に書き込む。データ記憶部１０４は、ロギングパラメータ１１４に指定されたロギング実行条件に従って、内部メモリ１０３内のリングバッファ領域１１３から読み込みポインタに従って制御データを読み込み、読み込んだ制御データを記憶メディア５０に書き込む。また、データ記憶部１０４は、結合ファイル作成部１０７で並び替え、結合された結合制御データをタイムスタンプとともに記憶メディア５０に書き込む。なお、データ記憶部１０４は、内部メモリ１０３の制御データとタイムスタンプとを合わせて記憶メディア５０に記憶させるが、絶対時刻データは記憶メディア５０に記憶させない。
【００３５】
データ記憶部１０４は、記憶メディア５０に制御データを書き込む際には、制御データを加工して書き込むこともできる。制御データの加工としては、たとえば四則演算による加工、バイナリデータを文字列型データに変換する加工などを行うことができる。
【００３６】
結合ファイル作成部１０７は、複数の制御装置１０から取得した制御データを並び替え、結合して結合制御データを作成し、データ記憶部１０４にファイルとして出力する。結合ファイル作成部１０７は、制御データ整列部１０８と、制御データ補間部１０９とを有する。制御データ整列部１０８は、複数の制御装置１０から収集されて内部メモリ１０３にまとめられた制御データをそれぞれ読み込み、ロギングパラメータ１１４で指定された設定に従って、読み込まれた制御データの結合を行う。結合ファイル作成部１０７で並び替え、結合された結合制御データは、データ記憶部１０４に記憶され、データ記憶部１０４から記憶メディア５０に書き込まれる。
【００３７】
制御データの並び替え、結合は、各制御装置１０から制御データの収集を行うための設定単位で指定することができる。すなわち、収集した各制御装置１０の制御データの並び替えの際に、基準となる間隔をロギングパラメータ１１４において指定することができる。この間隔としては、制御装置１０のデータ収集間隔を指定できる。そして、ある制御装置のデータ収集間隔に合わせて、制御装置１０から取得した制御データを時系列順に並び替え、結合する。制御データの並び替えは、絶対時刻データの値に基づいて行われる。
【００３８】
また、制御データの結合を行う際、複数の制御装置１０の制御データのうちの１つの制御装置１０の制御データの収集の時間間隔に合わせて制御データを並び替えた場合に、制御データの収集周期がこの制御装置と異なる他の制御装置１０の制御データにおいては、タイムスタンプおよび絶対時刻データに対応する制御データが存在しない場合がある。このように、ある制御装置１０の制御データにおいてはデータが存在しないタイムスタンプおよび絶対時刻データが存在する場合には、制御データ補間部１０９において、ロギングパラメータ１１４で指定された設定に従い、制御データの補間を実行する。
【００３９】
記憶メディア５０は、ロギング装置１００に装着された外部記憶手段であり、たとえばコンパクトフラッシュ（登録商標）カードである。記憶メディア５０は、内部メモリ１０３の制御データとタイムスタンプとを合わせて記憶するが、絶対時刻データは記憶しない。
【００４０】
通信部１１５は、外部機器との間で通信を行う。ＣＰＵ１０１は、ロギング装置１００内の各部の動作全体を制御する制御部である。
【００４１】
つぎに、本実施の形態にかかるロギング装置１００における時刻同期処理手順について図２を参照しながら説明する。図２は、本実施の形態にかかるロギング装置１００の共通タイマ１１１に時計データを書き込む処理を説明するフローチャートである。
【００４２】
まず、共通タイマ１１１は、ロギング装置１００が起動した状態では初期状態であるため、初期化が行われる。共通タイマ１１１の初期化は、時刻同期要求部１１２が、サーバパーソナルコンピュータ３０の時刻配信部３１から取得した時刻情報の時刻を共通タイマ１１１に書き込んで反映させることにより行われる。これにより、共通タイマ１１１の時刻がサーバパーソナルコンピュータ３０の時刻に同期され、共通タイマ１１１が初期化される。
【００４３】
時刻同期要求部１１２は、サーバパーソナルコンピュータ３０の時刻配信部３１からの時刻情報の取得による共通タイマ１１１の時刻同期に失敗した場合には、バス２０を経由して制御装置１０から時刻情報を取得し、制御装置１０の時刻情報の時刻を共通タイマ１１１に書き込んで反映させる。これにより、共通タイマ１１１の時刻が制御装置１０の時刻に同期され、共通タイマ１１１が初期化される。
【００４４】
共通タイマ１１１の初期化後、時刻同期要求部１１２は、ロギングパラメータ１１４で指定された設定に従って既定の動作周期で動作し、動作するたびに、図２のフローチャートの動作を行う。
【００４５】
すなわち、時刻同期要求部１１２は、動作を開始すると共通タイマ１１１から時刻を取得する（ステップＳ１１０）。つぎに、時刻同期要求部１１２は、取得した時刻がロギングパラメータ１１４において指定された、時刻同期を実施する条件を満たしたか、すなわち時刻同期を実施する時刻になっているか否かを判定する（ステップＳ１２０）。取得した時刻が時刻同期を実施する時刻になっていない場合は（ステップＳ１２０、Ｎｏ）、時刻同期要求部１１２は、ステップＳ１１０に戻って処理を継続する。
【００４６】
取得した時刻が時刻同期を実施する時刻になっていた場合は（ステップＳ１２０、Ｙｅｓ）、時刻同期要求部１１２は、時刻同期処理を開始する。時刻同期処理は、時刻同期要求部１１２が時刻同期要求を発行してサーバパーソナルコンピュータ３０に送信する（ステップＳ１３０）。そして、時刻同期要求部１１２は、サーバパーソナルコンピュータ３０の時刻配信部３１から時刻を取得できたか否かを判定する（ステップＳ１４０）。
【００４７】
サーバパーソナルコンピュータ３０の時刻配信部３１から時刻を取得できた場合は（ステップＳ１４０、Ｙｅｓ）、時刻同期要求部１１２は、取得した時刻情報の時刻を共通タイマ１１１に書き込んで共通タイマ１１１の時刻を更新する（ステップＳ１５０）。そして、時刻同期要求部１１２は、一連の共通タイマ１１１の同期処理を終了する。
【００４８】
一方、サーバパーソナルコンピュータ３０の時刻配信部３１から時刻を取得できていない場合は（ステップＳ１４０、Ｎｏ）、時刻同期要求部１１２は、時刻同期要求のタイムアウト時間が経過したか否か判定する（ステップＳ１６０）。時刻同期要求のタイムアウト時間が経過した場合は（ステップＳ１６０、Ｙｅｓ）、時刻同期要求部１１２は、時刻同期失敗の情報を時刻同期要求部１１２内に記録し、一連の共通タイマ１１１の同期処理を終了する。
【００４９】
一方、時刻同期要求のタイムアウト時間が経過していない場合は（ステップＳ１６０、ＮＯ）、時刻同期要求部１１２は、ステップＳ１３０に戻って、ロギングパラメータ１１４において指定されたタイミングで時刻同期要求を再度発行し、送信する。
【００５０】
つぎに、本実施の形態にかかるロギング装置１００におけるデータ取得部１０２のデータ取得処理手順について図３を参照しながら説明する。図３は、ロギング装置１００におけるデータ取得部１０２のデータ取得処理手順を示すフローチャートである。
【００５１】
ロギング装置１００が起動されて共通タイマ１１１が初期化された後、制御データ転送部１６は、既定の一定周期または制御プログラムの動作周期で、ロギング装置１００が備える共有メモリ１０５に制御データ格納部１５の制御データ１４の値を転送し、さらに制御データ１４の書き込みの通知をロギング装置１００のデータ取得部１０２に送信する。
【００５２】
データ取得部１０２は、制御装置１０の制御データ転送部１６から送信される制御データ１４の書き込みの通知を受信して、制御データ１４の格納処理を開始する。データ取得部１０２は、まず制御データ１４の書き込みの通知があるか否か、すなわち制御装置１０の制御データ転送部１６から制御データ１４の書き込みの通知を受信したか否かを判定する（ステップＳ２１０）。
【００５３】
制御データ１４の書き込みの通知が無い場合、すなわち制御装置１０の制御データ転送部１６から制御データ１４の書き込みの通知を受信していない場合は（ステップＳ２１０、Ｎｏ）、データ取得部１０２は、通知があるまでステップＳ２１０を繰り返し行う。
【００５４】
一方、制御データ１４の書き込みの通知があった場合、すなわち制御装置１０の制御データ転送部１６から制御データ１４の書き込みの通知を受信した場合は（ステップＳ２１０、Ｙｅｓ）、データ取得部１０２は、内部メモリ１０３のリングバッファ領域１１３に空き容量があるか否かを判定する（ステップＳ２２０）。リングバッファ領域１１３に空き容量が無い場合は（ステップＳ２２０、Ｎｏ）、データ取得部１０２は、エラー情報を制御装置１０に返して、一連の制御データ１４の格納処理を終了する。
【００５５】
一方、リングバッファ領域１１３に空き容量がある場合は（ステップＳ２２０、Ｙｅｓ）、データ取得部１０２は、共有メモリ１０５の制御データ１０６をリングバッファ領域１１３へコピーする（ステップＳ２３０）。つぎに、データ取得部１０２は、共通タイマ１１１の値、すなわち時刻をリングバッファ領域１１３へコピーして、先にリングバッファ領域１１３にコピーした制御データ１０６にタイムスタンプとして付加する（ステップＳ２４０）。さらに、データ取得部１０２は、絶対時刻タイマ１１０の値、すなわち時刻をリングバッファ領域１１３にコピーして、先にリングバッファ領域１１３にコピーして共通タイマ１１１の値を付加した制御データ１０６に絶対時刻データとして付加する（ステップＳ２５０）。
【００５６】
このようにして、リングバッファ領域１１３に、制御データ（１）、該制御データ（１）のタイムスタンプ（１）および絶対時刻データ（１）、制御データ（２）、該制御データのタイムスタンプ（２）および絶対時刻データ（２）・・・の順で、制御データ、タイムスタンプおよび絶対時刻データが時系列順に格納される。そして、データ取得部１０２は、上記のデータのコピーが完了したときに、リングバッファ領域１１３の書き込みポインタを進め、一連の制御データの格納処理を終了する。
【００５７】
データ記憶部１０４では、リングバッファ領域１１３に格納されたデータを書き込みポインタの位置になるまで読み込みポインタから順に読み込み、ファイルに出力する。この際、データ記憶部１０４は、制御データおよびタイムスタンプは出力するが、絶対時刻データは出力しない。
【００５８】
つぎに、本実施の形態にかかるロギング装置１００の結合ファイル作成部１０７における、複数の制御装置１０から取得した制御データの並び替えと結合処理との流れについて、図４および図５を用いて説明する。図４は、実施の形態にかかるロギングシステムにおいて、複数の制御装置から制御データを収集する構成例を示す図である。図５は、実施の形態にかかるロギングシステムにおいて、ロギング装置１００が制御データを並び替えて結合する処理を説明するフローチャートである。
【００５９】
ここでは、制御装置Ａ１０Ａから収集した制御データＡおよび制御装置Ｂ１０Ｂから収集した制御データＢをロギング装置１００の内部メモリ１０３のリングバッファ領域１１３にタイムスタンプと絶対時刻データを付加して格納している。図４においては、制御装置Ａ１０Ａの制御データに関する要素の符号の末尾には「Ａ」を、制御装置Ｂ１０Ｂの制御データに関する要素の符号には末尾に「Ｂ」を付している。また、図４においては、制御データの流れに注目して示しており、一部の構成の図示を省略している。
【００６０】
制御データ結合処理では、制御データ整列部１０８が、制御データの並び替えの基準を設定した並び替え基準設定をロギングパラメータ１１４から読み出して取得する（ステップＳ３１０）。また、ここでは、制御データＡを基準にして、すなわち制御データＡの収集の時間間隔を基準にして、制御装置Ａ１０Ａおよび制御装置Ｂ１０Ｂから収集した制御データを並び替えて結合する場合について説明する。したがって、ここでの並び替え基準設定は、制御データＡの収集の時間間隔を並び替えの基準とする設定情報とされる。
【００６１】
つぎに、制御データ整列部１０８は、該並び替え基準設定に従って、並び替え設定の対象となる制御データを格納した複数のリングバッファ領域１１３から、該リングバッファ領域１１３に格納されたデータをリングバッファ領域１１３毎に全て読み出す（ステップＳ３２０）。たとえば制御データ整列部１０８は、リングバッファ領域Ａ１１３Ａに格納されたデータを全て読み出す。つぎに、制御データ整列部１０８は、リングバッファ領域Ｂ１１３Ｂに格納されたデータを全て読み出す。
【００６２】
図６は、本実施の形態にかかるロギング装置内における制御データを示す図である。図６（ａ）は、制御装置Ａから取得されてリングバッファ領域Ａ１１３Ａに格納された制御データＡおよび該制御データＡに付加されたタイムスタンプおよび絶対時刻データを示している。図６（ｂ）は、制御装置Ｂから取得されてリングバッファ領域Ｂ１１３Ｂに格納された制御データＢおよび該制御データＢに付加されたタイムスタンプおよび絶対時刻データを示している。図６（ｃ）は、制御データＡおよび制御データＢを、制御データＡを基準に並び替えて結合された制御データを示している。
【００６３】
たとえばリングバッファ領域Ａ１１３Ａには、制御装置Ａから取得された制御データＡとして、図６（ａ）に示される制御データＡ（１）〜制御データＡ（ｎ）が、それぞれ対応するタイムスタンプおよび絶対時刻データとともに格納されている。（）内の数字は、各制御データＡがリングバッファ領域Ａ１１３Ａに記憶された順番を示す。また、たとえばリングバッファ領域Ｂ１１３Ｂには、制御装置Ｂから取得された制御データＢとして、図６（ｂ）に示される制御データＢ（１）〜制御データＢ（ｎ）が、それぞれ対応するタイムスタンプおよび絶対時刻データとともに格納されている。（）内の数字は、各制御データＢがリングバッファ領域Ｂ１１３Ｂに記憶された順番を示す。
【００６４】
制御データＡ（ｎ）としては、図６（ａ）に示すように、制御データＡ（１）としてのデータ：１、制御データＡ（２）としてのデータ：２、・・・制御データＡ（８）としてのデータ：８が格納されている。ロギング装置１００では、絶対時刻データにおける１４：１０：０３の経過後に、再び共通タイマ１１１のサーバパーソナルコンピュータ３０との同期処理が行われている。このため、制御データＡ（３）：３と制御データＡ（４）：４とのタイムスタンプの時刻が逆転し、制御データＡ（３）：３と制御データＡ（５）：５とのタイムスタンプの時刻が同じになっている。
【００６５】
一方、絶対時刻タイマ１１０は、ロギング装置１００の起動直後に共通タイマ１１１との時間の同期が行われた後は時間の補正が行われない。このため、絶対時刻タイマ１１０の絶対時刻データは、図６（ａ）に示すように制御データＡがリングバッファ領域Ａ１１３Ａに格納された順に時系列順を保持している。また、制御データＡの収集の時間間隔は１秒周期となっている。
【００６６】
一方、制御データＢ（ｎ）としては、図６（ｂ）に示すように、制御データＢ（１）としてのデータ：１００、制御データＢ（２）としてのデータ：１５０、制御データＢ（３）としてのデータ：２００が格納されている。制御データＢでは、図６（ｂ）に示すように、タイムスタンプの時刻が逆転しているまたは同じになっている制御データＢは存在しないが、データの収集の時間間隔が制御データＡと異なり、３秒周期となっている。
【００６７】
つぎに、制御データ整列部１０８は、以下のステップＳ３５０〜ステップＳ３７０に該当する処理を、制御データの並び替えの対象設定数分だけ、すなわち制御データが並び替えの対象となる制御装置１０の数だけ繰り返す（ステップＳ３３０ａ：開始、ステップＳ３３０ｂ：終了）。また、ステップＳ３３０ａ〜ステップＳ３３０ｂにおける処理の繰り返しにおいては、１つの制御装置１０から取得した制御データ数分だけ、以下のステップＳ３５０〜ステップＳ３７０に該当する処理を繰り返す（ステップＳ３４０ａ：開始、ステップＳ３４０ｂ：終了）。
【００６８】
制御データ整列部１０８は、ステップＳ３２０で複数のリングバッファ領域１１３から読み出したデータから絶対時刻データの値を読み出し、絶対時刻データの値が一致する制御データが存在するか否かを判定する（ステップＳ３５０）。絶対時刻データの値が一致する制御データが存在する場合は（ステップＳ３５０、Ｙｅｓ）、該制御データの値を取得し、制御データ整列部１０８内において記録する（ステップＳ３６０）。ここでは、制御データＡの収集の時間間隔を基準としているため、すなわち制御データＡの収集の時間間隔に適合する絶対時刻データを基準としているため、制御データＡの絶対時刻データと同一の絶対時刻データが付加された制御データＢの値を取得して、制御データ整列部１０８内においてたとえば図６（ｃ）に示すようなテーブルに記録する。
【００６９】
一方、絶対時刻データの値が一致する制御データが存在しない場合は（ステップＳ３５０、Ｎｏ）、制御データ整列部１０８内において制御データの欄に「データなし」の情報を記録する（ステップＳ３７０）。ここでは、制御データＡの収集の時間間隔を基準としているため、すなわち制御データＡの収集の時間間隔に適合する絶対時刻データを基準としているため、制御データＡの絶対時刻データと同一の絶対時刻データが付加された制御データＢが存在しない場合は、たとえば図６（ｃ）に示すようなテーブルの制御データＢの欄に「データなし」の情報を記録する。
【００７０】
そして、ステップＳ３５０〜ステップＳ３７０の処理を、１つの制御装置１０から取得した制御データ数分だけ繰り返し、（ステップＳ３４０ａ：開始、ステップＳ３４０ｂ：終了）、さらに制御データの並び替えの対象設定数分だけ、すなわち制御データが並び替えの対象となる制御装置１０の数だけ繰り返す（ステップＳ３３０ａ：開始、ステップＳ３３０ｂ：終了）。そして、終了条件を満たした時点で処理を終了する。
【００７１】
制御データの並び替えの結果、データ記憶部１０４に出力されるファイルの元となる制御データは図６（ｃ）のようになる。この場合、共通タイマ１１１の時刻がサーバパーソナルコンピュータ３０との時刻同期処理によってタイムスタンプが巻き戻されていても、絶対時刻タイマ１１０の絶対時刻データを基準にして制御データを整列させることにより、制御装置１０から制御データを取得した時系列順に、すなわち、制御装置１０において制御データが発生した時系列順に制御データが並べられる。
【００７２】
このように並び替えられて結合された制御データは、ファイルとしてデータ記憶部１０４に格納され、記憶メディア５０にファイル出力される。ただし、記憶メディア５０にファイル出力される際には、絶対時刻タイマ１１０の値は出力されない。絶対時刻タイマ１１０の値は出力されないことで、ファイルの容量が大きくなることを防止でき、記憶メディア５０における容量の負担の増加を防止できる。
【００７３】
一方で、記憶メディア５０に出力されるファイルには、時刻同期をした結果である共通タイマ１１１のタイムスタンプも出力されるため、どの時間にどのようなデータを収集したのかを、制御装置１０を含む外部機器の時計と照らし合わせて確認できる。
【００７４】
また、上記の並び替えの結果、絶対時刻データの値が一致する制御データが存在しない、「データなし」が記録された絶対時刻データが存在した場合、制御データ補間部１０９は、該絶対時刻データに対応する不足分の制御データの補間を実施する。制御データの補間は、対象となる設定の制御データが２つ以上存在する場合のみ実施する。対象となる設定の制御データが２つ以上存在しない場合は、制御データ補間部１０９は、ロギングパラメータ１１４にあらかじめ設定された固定値を出力する。また、ロギングパラメータ１１４に固定値があらかじめ設定されていない場合は、制御データ補間部１０９は、０を出力する。
【００７５】
つぎに、並び替えの結果、絶対時刻データの値が一致する制御データが存在しない、「データなし」が記録された絶対時刻データが存在した場合における制御データの補間方法を説明する。データの補間方法としてロギングパラメータ１１４においてたとえば同値補間が指定されている場合、制御データ補間部１０９は、補間対象となる制御データより前に記録された制御データと同じ値を出力する。図６（ｃ）に示された並び替えデータを補間する場合は、制御データＢにおいて直前に記録された制御データと同じ値を出力する。この場合は、最終的にできあがる結合制御データは、図７のようになる。また、結合および補間がされた最終的にできあがった結合制御データが、データ記憶部１０４に格納された後に記憶メディア５０にファイル出力される際のデータは、図８のようになる。図７は、本実施の形態にかかるロギング装置１００において、不足分のデータを同値補間した場合の制御データを示す図である。図８は、本実施の形態にかかるロギング装置１００において、不足分のデータを同値補間した場合に記憶メディア５０に出力したファイルのデータを示す図である。
【００７６】
図７においては、絶対時刻データ「１４：１０：０２」に対応する制御データＢとして、「１００」が補間される。絶対時刻データ「１４：１０：０３」に対応する制御データＢとして、「１００」が補間される。絶対時刻データ「１４：１０：０５」に対応する制御データＢとして、「１５０」が補間される。絶対時刻データ「１４：１０：０６」に対応する制御データＢとして、「１５０」が補間される。絶対時刻データ「１４：１０：０８」に対応する制御データＢとして、「２００」が補間される。
【００７７】
また、記憶メディア５０にファイル出力される際のデータは、図８に示すように、図７に示したデータから絶対時刻データが省かれたデータとなる。また、記憶メディア５０に出力されるファイルのフォーマットには、結合された制御データを含んで記憶メディア５０に出力されたファイルが作成されたロギング装置に関する情報が含まれる。記憶メディア５０に出力されるファイルのフォーマットには、たとえば図８に示されるようにファイルヘッダ部１２０が設けられる。ファイルヘッダ部１２０には、結合された制御データを含んで記憶メディア５０に出力されたファイルが作成されたロギング装置に関する情報として、ロギング装置の識別情報、時刻の出力形式、ファイルに含まれる結合された制御データがどの設定から結合されたデータであるかを判別するための情報が含まれる。たとえば図８においては、ロギング装置の識別情報として「ロギング装置＿Ｘ」の情報が含まれており、Ｘがロギング装置の製品型名を示す。また、たとえば図８においては、時刻の出力形式、すなわち時刻の表示形式として、「タイムスタンプ（ｈｈ：ｍｍ：ｓｓ）」の情報が含まれており、ｈｈ、ｍｍ、ｓｓはそれぞれタイムスタンプにおける時、分、秒を示す。また、たとえば図８においては、ファイルに含まれる結合された制御データがどの設定から結合されたデータであるかを判別するための情報として、結合された制御データの収集元の制御装置を判別できる情報、すなわち結合された制御データに含まれるデータが取得された制御装置を識別する情報である「制御データＡ」および「制御データＢ」の情報が含まれている。
【００７８】
一方、制御データの補間方法としてロギングパラメータ１１４においてたとえば線形補間が指定されている場合、制御データ補間部１０９は、補間対象となる制御データを下記の式（１）を用いて補間する。すなわち、（ｘｉ，ｙｉ），（ｘｉ＋１，ｙｉ＋１）が判明しており、ｘｉ≦ｘ≦ｘｉ＋１を満たす値の場合、下記の式（１）により値を求める。
【００７９】
ｙ＝ｙｉ＋（ｙｉ＋１−ｙｉ）×（ｘ−ｘｉ）÷（ｘｉ＋１−ｘｉ）・・・（１）
【００８０】
式（１）を図６（ｃ）に示された並び替えデータにあてはめる場合について説明する。たとえば、絶対時刻データ「１４：１０：０２」の制御データＢを求める場合、ｘ＝秒（ミリ秒単位）、ｙ＝制御データＢとすると、
ｙ＝１００＋（１５０−１００）×（２０００−１０００）÷（４０００−１０００）
となり、ｙ＝１１７となる。同様にその他の制御データを補間した場合、最終的にできあがる結合データは図９のようになる。また、結合および補間がされた最終的にできあがった結合データが、データ記憶部１０４に格納された後に記憶メディア５０にファイル出力される際のデータは、図１０のようになる。図９は、本実施の形態にかかるロギング装置１００において、不足分の制御データを線形補間した場合の制御データを示す図である。図１０は、本実施の形態にかかるロギング装置１００において、不足分の制御データを線形補間した場合に記憶メディア５０に出力したファイルのデータを示す図である。
【００８１】
図９においては、絶対時刻データ「１４：１０：０２」に対応する制御データＢとして、「１１７」が補間される。絶対時刻データ「１４：１０：０３」に対応する制御データＢとして、「１３３」が補間される。絶対時刻データ「１４：１０：０５」に対応する制御データＢとして、「１６７」が補間される。絶対時刻データ「１４：１０：０６」に対応する制御データＢとして、「１８３」が補間される。絶対時刻データ「１４：１０：０８」に対応する制御データＢとして、「２１７」が補間される。
【００８２】
また、記憶メディア５０にファイル出力される際のデータは、図１０に示すように、図９に示したデータから絶対時刻データが省かれたデータとなる。
【００８３】
このように、制御装置Ａの収集間隔ごとにまとめた際の制御データＢの不足分を補間することにより、並び替えてまとめた制御データをトレンドグラフなど視覚的に見やすい形式にする際に、データ解析が容易になる。また、同様に、複数の制御装置１０から収集した制御データをまとめる際に、所望の制御データを間引くことで、並び替えてまとめた制御データをトレンドグラフなど視覚的に見やすい形式にする際に、データ解析が容易になる。そして、収集した制御データを、指定した所望の制御装置１０の制御データの収集間隔で並び替えてまとめることができるため、指定した制御装置１０を基準とした解析データを取得できる。
【００８４】
つぎに、上述した実施の形態にかかるロギングシステムにおける制御装置１０、サーバパーソナルコンピュータ３０、パーソナルコンピュータ４０およびロギング装置１００において実行される機能を、該機能の処理手順が格納されたプログラムとして構成し、このプログラムを図１１に示すようにＣＰＵ、記憶装置等を有するコンピュータ装置で実行することによって実現することができる。
【００８５】
図１１は、上述した制御装置１０、サーバパーソナルコンピュータ３０、パーソナルコンピュータ４０およびロギング装置１００としての機能を実現するコンピュータ装置２００の構成の一例を模式的に示すブロック図である。図１１に示されるように、コンピュータ装置２００は、ＬＣＤ（Liquid  Crystal  Display）などの表示装置２０１、キーボードなどの入力装置２０２、演算を行うＣＰＵ２０３、ＲＯＭ（Read  Only  Memory）などの不揮発性メモリ２０４、ＲＡＭ（Random  Access  Memory）などの揮発性メモリ２０５、表示装置２０１に表示する表示画面を記憶する表示用メモリ２０６、フラッシュメモリなどの着脱可能な外部メモリとのインタフェースである外部メモリインタフェース２０７、外部機器との間で通信を行う通信インタフェース２０８などが内部バス２０９を介して接続された構成を有する。
【００８６】
そして、不揮発性メモリ２０４に格納された上記のデータロギング方法の処理手順が記述されたプログラムが揮発性メモリ２０５にロードされ、ＣＰＵ２０３によって実行される。このプログラムは、ハードディスク、ＣＤ（Compact  Disk）、ＲＯＭ（Read  Only  Memory）、ＭＯ（Magneto-Optical  disk）、ＤＶＤ（Digital  Versatile  DiskまたはDigital  Video  Disk）などのコンピュータ装置で読取可能な記録媒体に記録され、または、このプログラムは、インターネットなどのコンピュータネットワーク通信回線を介して配布することもできる。この場合には、通信インタフェース２０８を介して接続された情報処理端末からプログラムが不揮発性メモリ２０４上に格納される。
【００８７】
上述したように、本実施の形態にかかるロギングシステムでは、ロギング装置１００が、外部のサーバパーソナルコンピュータ３０の標準時刻に既定のタイミングで同期して時刻が補正される共通タイマ１１１と、絶対時刻タイマ１１０とを備える。絶対時刻タイマ１１０は、ロギング装置１００の電源起動直後に、共通タイマ１１１の時刻に同期して時刻が補正された後はロギング装置１００の稼働中において時刻の補正が行われない。
【００８８】
また、ロギング装置１００が制御装置１０から制御データを収集する際には、共通タイマ１１１からのタイムスタンプと絶対時刻タイマ１１０からの絶対時刻データとを制御データに付加して内部メモリ１０３に格納する。そして、絶対時刻タイマ１１０の値を基準にして、内部メモリ１０３に格納した制御データを制御装置１０から取得した時系列順に並び替えする。これにより、共通タイマ１１１において外部の標準時刻との時刻同期による時計補正があっても、制御装置１０の制御データを収集した時系列順に並び替えることができ、各制御装置１０の稼働状況を容易に且つ確実に時系列順にまとめることができる。
【００８９】
このように、本実施の形態にかかるロギングシステムでは、外部の標準時刻に同期する際に共通タイマ１１１の時刻が巻き戻った場合であっても、時刻同期の影響を受けない絶対時刻タイマ１１０の時刻を並び替えの基準に使用する。これにより、収集した制御データ１４について、制御装置１０から制御データ１４を取得した時系列順を判別することができ、また制御データ１４が発生した時系列順を判別することができる。
【００９０】
また、データを出力する際には、時刻同期をした結果である共通タイマ１１１のタイムスタンプを出力するため、どの時間にどのようなデータを収集したのかを、制御装置１０を含む外部機器の時計と照らし合わせて確認できる。
【００９１】
また、本実施の形態にかかるロギングシステムでは、収集した各制御装置１０の制御データの並び替えの際に、基準となる間隔をロギングパラメータ１１４において指定することができる。この間隔としては、制御装置１０のデータ収集間隔を指定できる。収集した各制御装置１０の制御データの並び替えの結果、制御データの存在しない絶対時刻データの時刻が発生した場合、存在しない制御データを、ロギングパラメータ１１４において指定した形式で補間することができる。補間の形式としては、線形補間、同値補間などによる近似値補間が利用可能である。
【００９２】
したがって、本実施の形態にかかるロギングシステムによれば、制御装置１０で発生した制御データを容易に且つ確実に、発生した時系列順に並び替えることができる、という効果を奏する。
【産業上の利用可能性】
【００９３】
以上のように、本発明にかかる、ロギングシステムは、制御装置で発生した制御データを容易に且つ確実に、発生した時系列順に並び替える場合に有用である。
【符号の説明】
【００９４】
１０  制御装置、１１  ＣＰＵ、１２  制御実行部、１３  制御プログラム、１４  制御データ、１５  制御データ格納部、１６  制御データ転送部、１７  通信部、２０  バス、３０  サーバパーソナルコンピュータ、３１  時刻配信部、３２  通信部、４０  パーソナルコンピュータ、４１  ロギング設定ツール、４２  通信部、５０  記憶メディア、６０  ケーブル、１００  ロギング装置、１０１  ＣＰＵ、１０２  データ取得部、１０３  内部メモリ、１０４  データ記憶部、１０５  共有メモリ、１０６  制御データ、１０７  結合ファイル作成部、１０８  制御データ整列部、１０９  制御データ補間部、１１０  絶対時刻タイマ、１１１  共通タイマ、１１２  時刻同期要求部、１１３  リングバッファ領域、１１４  ロギングパラメータ、１１５  通信部、２００  コンピュータ装置、２０１  表示装置、２０２  入力装置、２０３  ＣＰＵ、２０４  不揮発性メモリ、２０５  揮発性メモリ、２０６  表示用メモリ、２０７  外部メモリインタフェース、２０８  通信インタフェース、２０９  内部バス。
【図１】
0006053996.tif 000002
【図２】
0006053996.tif 000003
【図３】
0006053996.tif 000004
【図４】
0006053996.tif 000005
【図５】
0006053996.tif 000006
【図６】
0006053996.tif 000007
【図７】
0006053996.tif 000008
【図８】
0006053996.tif 000009
【図９】
0006053996.tif 000010
【図１０】
0006053996.tif 000011
【図１１】
0006053996.tif 000012