特許第6053996号(P6053996)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧
特許6053996ロギングシステム、ロギング装置、データロギング方法
<>
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000002
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000003
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000004
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000005
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000006
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000007
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000008
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000009
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000010
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000011
  • 特許6053996-ロギングシステム、ロギング装置、データロギング方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6053996
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】ロギングシステム、ロギング装置、データロギング方法
(51)【国際特許分類】
   G06F 11/34 20060101AFI20161219BHJP
【FI】
   G06F11/34 176
【請求項の数】11
【全頁数】20
(21)【出願番号】特願2016-527579(P2016-527579)
(86)(22)【出願日】2014年6月12日
(86)【国際出願番号】JP2014065651
(87)【国際公開番号】WO2015189969
(87)【国際公開日】20151217
【審査請求日】2016年9月6日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】森 祥彦
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開2009−259054(JP,A)
【文献】 特開2004−199410(JP,A)
【文献】 特開2008−210234(JP,A)
【文献】 特開平7−281732(JP,A)
【文献】 特開2006−268688(JP,A)
【文献】 米国特許出願公開第2010/0042632(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/30
G06F11/34
G06F13/00
G05B23/02
(57)【特許請求の範囲】
【請求項1】
データ収集対象である複数の対象装置と、前記対象装置内のデータを前記複数の対象装置から収集して記録するロギング装置とを備えて構成されるロギングシステムであって、
前記ロギング装置は、
既定のタイミングで外部の標準時刻に同期して時刻が補正される第1時計と、
前記ロギング装置の起動時に前記第1時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない第2時計と、
前記複数の対象装置から取得した前記データを前記対象装置毎に格納するデータ記憶部と、
前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得し、前記データ毎に前記対象装置から前記データを取得した際の前記第1時計の時刻と前記第2時計の時刻とを付加して前記データ記憶部に格納するデータ取得部と、
前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させるデータ整列部と、
前記結合されたデータを格納する結合データ記憶部と、
を備え、
前記データ整列部は、前記データ記憶部に格納された前記データに付加された前記第2時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、
を特徴とするロギングシステム。
【請求項2】
制御装置の制御を行う複数の対象装置と通信可能に接続されて、前記対象装置内のデータを前記複数の対象装置から収集して記録するロギング装置であって、
既定のタイミングで外部の標準時刻に同期して時刻が補正される第1時計と、
前記ロギング装置の起動時に前記第1時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない第2時計と、
前記複数の対象装置から取得した前記データを前記対象装置毎に格納するデータ記憶部と、
前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得し、前記データ毎に前記対象装置から前記データを取得した際の前記第1時計の時刻と前記第2時計の時刻とを付加して前記データ記憶部に格納するデータ取得部と、
前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させるデータ整列部と、
前記結合されたデータを格納する結合データ記憶部と、
を備え、
前記データ整列部は、前記データ記憶部に格納された前記データに付加された前記第2時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、
を特徴とするロギング装置。
【請求項3】
前記収集時間間隔が、前記複数の対象装置間で異なり、
前記データ整列部は、前記複数の対象装置のうちいずれか1つの対象装置から取得された前記データに付加された前記第2時計の時刻を基準にして、前記複数の対象装置から取得された前記データを前記時系列順に並び替えて結合させること、
を特徴とする請求項2に記載のロギング装置。
【請求項4】
前記データ整列部は、前記複数の対象装置間で、取得された前記データの数量が異なる場合に、前記データの補間または前記データの間引きを行うこと、
を特徴とする請求項3に記載のロギング装置。
【請求項5】
前記結合されたデータと前記第1時計の時刻とがファイルとして前記結合データ記憶部以外の外部記憶手段に出力され、
前記ファイルが、該ファイルが作成された前記ロギング装置の情報を含むこと、
を特徴とする請求項2から4のいずれか1つに記載のロギング装置。
【請求項6】
前記ロギング装置の情報として、前記ファイルが作成された前記ロギング装置の識別情報、前記第1時計の時刻の出力形式、前記結合されたデータに含まれる前記データが取得された前記対象装置を識別する情報が含まれること、
を特徴とする請求項5に記載のロギング装置。
【請求項7】
前記対象装置が、被制御装置の制御を行う制御装置であり、
前記データが、前記制御装置が被制御装置の制御を行う際に発生する制御データであること、
を特徴とする請求項2から6のいずれか1つに記載のロギング装置。
【請求項8】
複数の対象装置内のデータを前記対象装置から収集してロギング装置に記録するデータロギング方法であって、
前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得する第1工程と、
前記取得したデータに対して前記データ毎に前記対象装置から前記データを取得した際の第1時計の時刻と第2時計の時刻とを付加して前記ロギング装置内のデータ記憶部に前記対象装置毎に記憶する第2工程と、
前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させ第3工程と、
前記結合されたデータを前記ロギング装置内の結合データ記憶部に前記対象装置毎に記憶する第4工程と、
を含み、
前記第1時計は、既定のタイミングで外部の標準時刻に同期して時刻が補正される時計であり、
前記第2時計は、前記ロギング装置の起動時に前記第1時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない時計であり、
前記第3工程では、前記データ記憶部に格納された前記データに付加された前記第2時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、
を特徴とするデータロギング方法。
【請求項9】
前記収集時間間隔が、前記複数の対象装置間で異なり、
前記第3工程では、前記複数の対象装置のうちいずれか1つの対象装置から取得された前記データに付加された前記第2時計の時刻を基準にして、前記複数の対象装置から取得された前記データを前記時系列順に並び替えて結合させること、
を特徴とする請求項8に記載のデータロギング方法。
【請求項10】
前記第3工程では、前記複数の対象装置間で、取得された前記データの数量が異なる場合に、前記データの補間または前記データの間引きを行うこと、
を特徴とする請求項9に記載のデータロギング方法。
【請求項11】
前記対象装置が、被制御装置の制御を行う制御装置であり、
前記データが、前記制御装置が被制御装置の制御を行う際に発生する制御データであること、
を特徴とする請求項8から10のいずれか1つに記載のデータロギング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロギングシステム、ロギング装置、データロギング方法に関する。
【背景技術】
【0002】
ロギングシステムでは、ロギング装置により制御装置から制御データが収集される。収集された制御データであるロギングデータは、タイムスタンプが付加されてファイルに格納される。複数の制御装置がある場合には、ロギング装置が各制御装置からデータを収集する間隔を、制御装置毎にそれぞれ個別に指定することができる。そして、指定した一定間隔ごとにロギング装置が各制御装置からデータを収集し、収集したロギングデータをファイルに出力する(たとえば、特許文献1参照)。
【0003】
この際、ロギングシステム全体の時計を統一するために、ロギングデータに付加されるタイムスタンプは、ロギング装置に備えられている共通タイマを基準としている。共通タイマは、各制御装置からロギングデータを収集した時刻を正しく把握するために、外部システムの標準時刻に同期をし、時計を補正している。また、ロギング装置の時計素子と外部システムの時計素子とが異なっているため、共通タイマの時計の補正は、時刻のずれを防ぐために定期的に実施する必要がある。
【0004】
このような処理を実施することにより、制御装置から収集したデータをまとめ、タイムスタンプを比較することで、時系列ごとの生産情報を表示することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2012−159942号公報
【特許文献2】国際公開第01/020456号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、共通タイマを外部システムに問い合わせて時計を補正した際に、共通タイマの値が外部システムの標準時刻より進んでいる場合には、共通タイマの時計の時刻が巻き戻ることがある。共通タイマの時計の時刻が巻き戻った場合には、ロギングデータに付加されるタイムスタンプが、既に発行されたタイムスタンプよりも古い時刻または同じ時刻になることがある。
【0007】
各制御装置の稼働状況をまとめて表示するためには、タイムスタンプを基準にロギングデータを並び替える必要がある。しかし、時刻同期による共通タイマの時計の補正が実施された場合、各制御装置が収集したロギングデータのタイムスタンプが時系列順になっている保証がないため、稼動した時系列順にロギングデータを並び替えることができない、という問題があった。
【0008】
また、ロギングデータの並び替えの際には、基準となる間隔を指定することにより、間隔ごとのタイムスタンプにより各装置のデータを横並びにしてまとめることができる。しかし、対象とする複数の制御装置へのデータ収集の周期を全て同一にしないと、ロギングデータが存在しないタイムスタンプが頻発し、出力データが「NULL」または「データなし」を示す情報となってしまう。このため、まとめた収集データをトレンドグラフなどで可視化する際に、データなし部分にはロギングデータが表示されないことがあった。
【0009】
なお、稼動した時系列データを保証する手段として、動作トレース情報に時刻を付加するたびにカウントアップするカウンタ値をタイムスタンプと合わせて付加する手段がある(たとえば、特許文献2参照)。しかし、この場合は、複数の制御装置のうち任意の制御装置のみのデータをまとめて表示したい場合に、カウンタ値の前後を知るためには、全ての制御装置の情報を調べなくてはならない。このため、制御装置の規模が大きくなるほど手間とコストがかかる。
【0010】
本発明は、上記に鑑みてなされたものであって、ロギング装置により対象装置からデータが収集されるロギングシステムにおいて、対象装置のデータを容易に且つ確実に、時系列順に並び替えることが可能なロギングシステム、ロギング装置、データロギング方法を得ることを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するために、本発明にかかるロギングシステムは、データ収集対象である複数の対象装置と、前記対象装置内のデータを前記複数の対象装置から収集して記録するロギング装置とを備えて構成されるロギングシステムであって、前記ロギング装置は、既定のタイミングで外部の標準時刻に同期して時刻が補正される第1時計と、前記ロギング装置の起動時に前記第1時計の時刻に同期して時刻が補正された後は前記ロギング装置の稼働中において時刻の補正が行われない第2時計と、前記複数の対象装置から取得した前記データを前記対象装置毎に格納するデータ記憶部と、前記複数の対象装置からそれぞれ既定の収集時間間隔で前記データを取得し、前記データ毎に前記対象装置から前記データを取得した際の前記第1時計の時刻と前記第2時計の時刻とを付加して前記データ記憶部に格納するデータ取得部と、前記データ記憶部に格納された前記複数の対象装置の前記データを、前記データを前記対象装置から取得した時系列順に並び替えて結合させるデータ整列部と、前記結合されたデータを格納する結合データ記憶部と、を備え、前記データ整列部は、前記データ記憶部に格納された前記データに付加された前記第2時計の時刻を基準にして前記複数の対象装置の前記データを前記時系列順に並び替えて結合させること、を特徴とする。
【発明の効果】
【0012】
本発明によれば、ロギング装置により対象装置からデータが収集されるロギングシステムにおいて、対象装置のデータを容易に且つ確実に、時系列順に並び替えることができる、という効果を奏する。
【図面の簡単な説明】
【0013】
図1図1は、本発明の実施の形態にかかるロギングシステムの構成を示す図である。
図2図2は、本発明の実施の形態にかかるロギング装置の共通タイマに時計データを書き込む処理を説明するフローチャートである。
図3図3は、本発明の実施の形態にかかるロギング装置におけるデータ取得部のデータ取得処理手順を示すフローチャートである。
図4図4は、本発明の実施の形態にかかるロギングシステムにおいて、複数の制御装置から制御データを収集する構成例を示す図である。
図5図5は、本発明の実施の形態にかかるロギングシステムにおいて、ロギング装置が制御データを並び替えて結合する処理を説明するフローチャートである。
図6図6は、本発明の実施の形態にかかるロギング装置内における制御データを示す図である。
図7図7は、本発明の実施の形態にかかるロギング装置において、不足分のデータを同値補間した場合の制御データを示す図である。
図8図8は、本発明の実施の形態にかかるロギング装置において、不足分のデータを同値補間した場合に出力したファイルを示す図である。
図9図9は、本発明の実施の形態にかかるロギング装置において、不足分のデータを線形補間した場合の制御データを示す図である。
図10図10は、本発明の実施の形態にかかるロギング装置において、不足分のデータを線形補間した場合に記憶メディアに出力したファイルのデータを示す図である。
図11図11は、制御装置、サーバパーソナルコンピュータ、パーソナルコンピュータおよびロギング装置としての機能を実現するコンピュータ装置の構成の一例を模式的に示すブロック図である。
【発明を実施するための形態】
【0014】
以下に、本発明にかかるロギングシステム、ロギング装置、データロギング方法の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0015】
実施の形態1.
図1は、本発明の実施の形態1にかかるロギングシステムの構成を示す図である。図1に示すように本実施の形態にかかるロギングシステムは、被制御装置(図示せず)に対して既定の制御を実行するための演算を行う制御装置10と、取得した制御データをロギングするロギング装置100と、ロギング装置100に装着された記憶メディア50と、ロギングパラメータを設定するパーソナルコンピュータ40と、時刻同期のためのサーバパーソナルコンピュータ30とを備えて構成される。制御装置10とロギング装置100とは、バス20を介して互いに接続されている。パーソナルコンピュータ40およびサーバパーソナルコンピュータ30は、Ethernet(登録商標)などのケーブル60を介してロギング装置100に接続されている。また、サーバパーソナルコンピュータ30は、ケーブル60を介して制御装置10と接続されている。なお、図1中に示される矢印は、ロギング対象のデータである制御装置のデータの動きを示している。
【0016】
制御装置10は、制御実行部12と、制御データ格納部15と、制御データ転送部16と、通信部17と、これらを動作させるCPU11とを備える。制御実行部12は、被制御装置に対して制御装置10が制御を実行するための制御プログラム13を備え、該制御プログラム13に従って演算を行って制御装置10を動作させ、被制御装置の制御を行う。制御データ格納部15は、被制御装置に対して制御装置10が制御を実行した際に発生する制御データ14を格納し、保持する。
【0017】
制御データ転送部16は、既定の一定周期または制御プログラムの動作周期で、ロギング装置100が備える共有メモリ105に制御データ格納部15の制御データ14の値を転送し、制御データ14を共有メモリ105に格納したことをロギング装置100に通知する。すなわち、ロギング装置100は、既定の一定の間隔または制御プログラムの動作間隔で制御データ14を取得する。制御データ転送部16は、制御データ14が発生した時系列順に該制御データ14を転送する。通信部17は、外部機器との間で通信を行う。
【0018】
パーソナルコンピュータ40は、ソフトウェアにより実現されるロギング設定ツール41と、通信部42とを有する。ロギング設定ツール41は、ロギング用の設定データを作成し、該設定データをロギング装置100に設定する機能を有する。設定データは、ロギング装置100が制御装置10から収集するデータの数および種類、データを収集する周期、ロギング実行条件、データを結合する設定の選択、データ補間方法、時刻同期タイミングなどの設定内容に関するデータである。したがって、パーソナルコンピュータ40は、ロギング用設定データ作成・設定装置として機能する。通信部42は、外部機器との間で通信を行う。
【0019】
パーソナルコンピュータ40を構成するコンピュータ装置の詳細な構成は後述する。なお、パーソナルコンピュータ40は、上記機能を有する専用装置により構成されてもよい。また、パーソナルコンピュータ40は、作成された設定データのロギング装置100への設定時に必要であり、ロギング装置100が稼動中には、ロギング装置100との接続は切断されてもよい。
【0020】
サーバパーソナルコンピュータ30は、SNTPサーバとして動作し、サーバパーソナルコンピュータ30の時刻をSNTPクライアントに配信する時刻配信部31と、通信部32とを備える。時刻配信部31は、SNTPクライアントからの時刻同期要求を受けた場合に、時刻情報を配信する。ここでのSNTPクライアントは、ロギング装置100および制御装置10である。通信部32は、外部機器との間で通信を行う。サーバパーソナルコンピュータ30を構成するコンピュータ装置の詳細な構成は後述する。なお、サーバパーソナルコンピュータ30は、SNTP機能を有する専用装置により構成されてもよい。
【0021】
ロギング装置100は、CPU101と、データ取得部102と、内部メモリ103と、データ記憶部104と、共有メモリ105と、結合ファイル作成部107と、絶対時刻タイマ110と、共通タイマ111と、時刻同期要求部112と、通信部115と、を備えて構成される。
【0022】
共通タイマ111は、ロギングシステム全体の時計を統一するために備えられる時計である。共通タイマ111は、サーバパーソナルコンピュータ30の時刻に同期する。制御データに付加されるタイムスタンプは、共通タイマ111の値を基準としている。
【0023】
絶対時刻タイマ110は、ロギング装置100の電源起動後に、1回だけ共通タイマ111と時刻を同期し、時計を補正する。その後、絶対時刻タイマ110は、共通タイマ111におけるサーバパーソナルコンピュータ30との時計補正、すなわち共通タイマ111がサーバパーソナルコンピュータ30と時刻の同期を実行する際に該同期の影響を受けず、一定間隔で値を更新し続ける。すなわち、絶対時刻タイマ110は、ロギング装置100の電源起動直後に共通タイマ111と時刻を同期した後はロギング装置100の電源をオフにするまで補正されない絶対時刻を更新し続けて動作する時計である。絶対時刻タイマ110は、たとえば共通タイマ111と同じ時計素子を備える。制御データに付加される絶対時刻データは、絶対時刻タイマ110の値を基準としている。
【0024】
時刻同期要求部112は、時刻同期要求を発行してサーバパーソナルコンピュータ30に送信することによりサーバパーソナルコンピュータ30から時刻情報を取得する。そして、時刻同期要求部112は、該取得した時刻情報を共通タイマ111に設定・反映させて共通タイマ111の時刻を更新する。すなわち、時刻同期要求部112は、パーソナルコンピュータ40から設定された設定データの時刻同期周期に従って、サーバパーソナルコンピュータ30へ時刻同期要求を実行する。そして、時刻同期要求部112は、時刻取得要求を実行した結果取得した時刻情報を、共通タイマ111に書き込む。
【0025】
共有メモリ105は、制御装置10から転送された制御データ14を制御データ106として一時的に格納する領域を有する。共有メモリ105には、制御データ14を1制御周期分の制御データ106だけを格納する領域を各制御装置10に対して1つ有する。共有メモリ105は、制御装置10およびロギング装置100の両方からアクセス可能である。また、共有メモリ105は、ロギング対象となる制御装置10の数に合わせて、制御データ106を格納するためにメモリ領域を分割することができる。
【0026】
内部メモリ103は、制御装置10から転送された制御データ106をまとめて格納する制御データ記憶部である。内部メモリ103は、たとえば揮発性メモリが用いられる。内部メモリ103は、データ取得部102とデータ記憶部104と結合ファイル作成部107とからアクセス可能である。内部メモリ103には、たとえば、制御装置10から転送された多数の制御データを既定の制御周期分格納可能なリングバッファ領域113と、ロギングパラメータ114とを有する。
【0027】
リングバッファ領域113は、制御データ106を記憶するための十分な容量があるRAMメモリ等である。リングバッファ領域113は、概念上、環状に配置されたメモリ構成となり、書き込みポインタと読み込みポインタとにより管理される。この場合、データ取得部102がリングバッファ領域113に制御データ106を書き込んだ場合に、書き込みポインタが進む。そして、リングバッファ領域113に書き込まれた制御データ106をデータ記憶部104が読み込むと、読み込みポインタが進む。読み込みポインタは、書き込みポインタの位置まで制御データ106を読み込むことができる。
【0028】
リングバッファ領域113は、上記の制御データ106に加え、共通タイマ111から発行されたタイムスタンプと、絶対時刻タイマ110から発行された絶対時刻データとを、制御装置10から制御データ106を取得した時系列順に記憶する。例えば共通タイマ111からのタイムスタンプは、タイムスタンプ(1)、タイムスタンプ(2)、・・・、タイムスタンプ(m)、タイムスタンプ(n)のように記録される。()内の数字は、各タイムスタンプがリングバッファ領域113に記憶された順番を示す。ここでは、タイムスタンプ(1)が時系列順に一番古い時間であり、タイムスタンプ(n)が時系列順に一番新しい時間である。
【0029】
また、同様に、絶対時刻タイマ110から発行された絶対時刻データは、絶対時刻データ(1)、絶対時刻データ(2)、・・・、絶対時刻データ(m)、絶対時刻データ(n)のように記録される。()内の数字は、各絶対時刻データがリングバッファ領域113に記憶された順番を示す。ここでは、絶対時刻データ(1)が時系列順に一番古い時間であり、絶対時刻データ(n)が時系列順に一番新しい時間である。そして、リングバッファ領域113には、たとえば図1に示されるように、制御データ(n)、該制御データのタイムスタンプ(n)および絶対時刻データ(n)、の順で格納されている。
【0030】
ロギングパラメータ114は、ロギング対象となる制御データおよびロギングを実施する周期などを指定するロギング条件を有する。ロギングパラメータ114は、パーソナルコンピュータ40から設定された設定データより設定される。
【0031】
データ取得部102は、制御装置10から収集されて共有メモリ105に格納された制御データ106にタイムスタンプと絶対時刻データとを付加して、内部メモリ103に書き込む。データ取得部102は、制御装置10の制御データ転送部16が共有メモリ105に制御データ14を書き込んだ際に制御データ転送部16から送信される制御データ14の書き込みの通知を受信して動作し、共有メモリ105の制御データ106を読み込む。そして、データ取得部102は、読み込んだ制御データ106のそれぞれにタイムスタンプと絶対時刻データとを付加して内部メモリ103のリングバッファ領域113に書き込む。
【0032】
すなわち、データ取得部102は、制御データ106を内部メモリ103のリングバッファ領域113に書き込む際に、共通タイマ111からタイムスタンプを取得するとともに絶対時刻タイマ110から絶対時刻データを取得する。そして、データ取得部102は、取得したタイムスタンプと絶対時刻データとを制御データ106に付加し、制御データ106とタイムスタンプと絶対時刻データとを1つの単位としてリングバッファ領域113に書き込む。
【0033】
データ記憶部104は、内部メモリ103にまとめて格納された制御データおよび該制御データに対応するタイムスタンプと絶対時刻データとを読み出して記憶する。また、データ記憶部104は、結合ファイル作成部107で作成された結合された制御データおよび該制御データに対応するタイムスタンプと絶対時刻データとを記憶する。すなわち、データ記憶部104は、結合データ記憶部としての機能を有する。
【0034】
そして、データ記憶部104は、これらの制御データをタイムスタンプとともに記憶メディア50に書き込む。データ記憶部104は、ロギングパラメータ114に指定されたロギング実行条件に従って、内部メモリ103内のリングバッファ領域113から読み込みポインタに従って制御データを読み込み、読み込んだ制御データを記憶メディア50に書き込む。また、データ記憶部104は、結合ファイル作成部107で並び替え、結合された結合制御データをタイムスタンプとともに記憶メディア50に書き込む。なお、データ記憶部104は、内部メモリ103の制御データとタイムスタンプとを合わせて記憶メディア50に記憶させるが、絶対時刻データは記憶メディア50に記憶させない。
【0035】
データ記憶部104は、記憶メディア50に制御データを書き込む際には、制御データを加工して書き込むこともできる。制御データの加工としては、たとえば四則演算による加工、バイナリデータを文字列型データに変換する加工などを行うことができる。
【0036】
結合ファイル作成部107は、複数の制御装置10から取得した制御データを並び替え、結合して結合制御データを作成し、データ記憶部104にファイルとして出力する。結合ファイル作成部107は、制御データ整列部108と、制御データ補間部109とを有する。制御データ整列部108は、複数の制御装置10から収集されて内部メモリ103にまとめられた制御データをそれぞれ読み込み、ロギングパラメータ114で指定された設定に従って、読み込まれた制御データの結合を行う。結合ファイル作成部107で並び替え、結合された結合制御データは、データ記憶部104に記憶され、データ記憶部104から記憶メディア50に書き込まれる。
【0037】
制御データの並び替え、結合は、各制御装置10から制御データの収集を行うための設定単位で指定することができる。すなわち、収集した各制御装置10の制御データの並び替えの際に、基準となる間隔をロギングパラメータ114において指定することができる。この間隔としては、制御装置10のデータ収集間隔を指定できる。そして、ある制御装置のデータ収集間隔に合わせて、制御装置10から取得した制御データを時系列順に並び替え、結合する。制御データの並び替えは、絶対時刻データの値に基づいて行われる。
【0038】
また、制御データの結合を行う際、複数の制御装置10の制御データのうちの1つの制御装置10の制御データの収集の時間間隔に合わせて制御データを並び替えた場合に、制御データの収集周期がこの制御装置と異なる他の制御装置10の制御データにおいては、タイムスタンプおよび絶対時刻データに対応する制御データが存在しない場合がある。このように、ある制御装置10の制御データにおいてはデータが存在しないタイムスタンプおよび絶対時刻データが存在する場合には、制御データ補間部109において、ロギングパラメータ114で指定された設定に従い、制御データの補間を実行する。
【0039】
記憶メディア50は、ロギング装置100に装着された外部記憶手段であり、たとえばコンパクトフラッシュ(登録商標)カードである。記憶メディア50は、内部メモリ103の制御データとタイムスタンプとを合わせて記憶するが、絶対時刻データは記憶しない。
【0040】
通信部115は、外部機器との間で通信を行う。CPU101は、ロギング装置100内の各部の動作全体を制御する制御部である。
【0041】
つぎに、本実施の形態にかかるロギング装置100における時刻同期処理手順について図2を参照しながら説明する。図2は、本実施の形態にかかるロギング装置100の共通タイマ111に時計データを書き込む処理を説明するフローチャートである。
【0042】
まず、共通タイマ111は、ロギング装置100が起動した状態では初期状態であるため、初期化が行われる。共通タイマ111の初期化は、時刻同期要求部112が、サーバパーソナルコンピュータ30の時刻配信部31から取得した時刻情報の時刻を共通タイマ111に書き込んで反映させることにより行われる。これにより、共通タイマ111の時刻がサーバパーソナルコンピュータ30の時刻に同期され、共通タイマ111が初期化される。
【0043】
時刻同期要求部112は、サーバパーソナルコンピュータ30の時刻配信部31からの時刻情報の取得による共通タイマ111の時刻同期に失敗した場合には、バス20を経由して制御装置10から時刻情報を取得し、制御装置10の時刻情報の時刻を共通タイマ111に書き込んで反映させる。これにより、共通タイマ111の時刻が制御装置10の時刻に同期され、共通タイマ111が初期化される。
【0044】
共通タイマ111の初期化後、時刻同期要求部112は、ロギングパラメータ114で指定された設定に従って既定の動作周期で動作し、動作するたびに、図2のフローチャートの動作を行う。
【0045】
すなわち、時刻同期要求部112は、動作を開始すると共通タイマ111から時刻を取得する(ステップS110)。つぎに、時刻同期要求部112は、取得した時刻がロギングパラメータ114において指定された、時刻同期を実施する条件を満たしたか、すなわち時刻同期を実施する時刻になっているか否かを判定する(ステップS120)。取得した時刻が時刻同期を実施する時刻になっていない場合は(ステップS120、No)、時刻同期要求部112は、ステップS110に戻って処理を継続する。
【0046】
取得した時刻が時刻同期を実施する時刻になっていた場合は(ステップS120、Yes)、時刻同期要求部112は、時刻同期処理を開始する。時刻同期処理は、時刻同期要求部112が時刻同期要求を発行してサーバパーソナルコンピュータ30に送信する(ステップS130)。そして、時刻同期要求部112は、サーバパーソナルコンピュータ30の時刻配信部31から時刻を取得できたか否かを判定する(ステップS140)。
【0047】
サーバパーソナルコンピュータ30の時刻配信部31から時刻を取得できた場合は(ステップS140、Yes)時刻同期要求部112は、取得した時刻情報の時刻を共通タイマ111に書き込んで共通タイマ111の時刻を更新する(ステップS150)。そして、時刻同期要求部112は、一連の共通タイマ111の同期処理を終了する。
【0048】
一方、サーバパーソナルコンピュータ30の時刻配信部31から時刻を取得できていない場合は(ステップS140、No)、時刻同期要求部112は、時刻同期要求のタイムアウト時間が経過したか否か判定する(ステップS160)。時刻同期要求のタイムアウト時間が経過した場合は(ステップS160、Yes)、時刻同期要求部112は、時刻同期失敗の情報を時刻同期要求部112内に記録し、一連の共通タイマ111の同期処理を終了する。
【0049】
一方、時刻同期要求のタイムアウト時間が経過していない場合は(ステップS160、NO)、時刻同期要求部112は、ステップS130に戻って、ロギングパラメータ114において指定されたタイミングで時刻同期要求を再度発行し、送信する。
【0050】
つぎに、本実施の形態にかかるロギング装置100におけるデータ取得部102のデータ取得処理手順について図3を参照しながら説明する。図3は、ロギング装置100におけるデータ取得部102のデータ取得処理手順を示すフローチャートである。
【0051】
ロギング装置100が起動されて共通タイマ111が初期化された後、制御データ転送部16は、既定の一定周期または制御プログラムの動作周期で、ロギング装置100が備える共有メモリ105に制御データ格納部15の制御データ14の値を転送し、さらに制御データ14の書き込みの通知をロギング装置100のデータ取得部102に送信する。
【0052】
データ取得部102は、制御装置10の制御データ転送部16から送信される制御データ14の書き込みの通知を受信して、制御データ14の格納処理を開始する。データ取得部102は、まず制御データ14の書き込みの通知があるか否か、すなわち制御装置10の制御データ転送部16から制御データ14の書き込みの通知を受信したか否かを判定する(ステップS210)。
【0053】
制御データ14の書き込みの通知が無い場合、すなわち制御装置10の制御データ転送部16から制御データ14の書き込みの通知を受信していない場合は(ステップS210、No)、データ取得部102は、通知があるまでステップS210を繰り返し行う。
【0054】
一方、制御データ14の書き込みの通知があった場合、すなわち制御装置10の制御データ転送部16から制御データ14の書き込みの通知を受信した場合は(ステップS210、Yes)、データ取得部102は、内部メモリ103のリングバッファ領域113に空き容量があるか否かを判定する(ステップS220)。リングバッファ領域113に空き容量が無い場合は(ステップS220、No)、データ取得部102は、エラー情報を制御装置10に返して、一連の制御データ14の格納処理を終了する。
【0055】
一方、リングバッファ領域113に空き容量がある場合は(ステップS220、Yes)、データ取得部102は、共有メモリ105の制御データ106をリングバッファ領域113へコピーする(ステップS230)。つぎに、データ取得部102は、共通タイマ111の値、すなわち時刻をリングバッファ領域113へコピーして、先にリングバッファ領域113にコピーした制御データ106にタイムスタンプとして付加する(ステップS240)。さらに、データ取得部102は、絶対時刻タイマ110の値、すなわち時刻をリングバッファ領域113にコピーして、先にリングバッファ領域113にコピーして共通タイマ111の値を付加した制御データ106に絶対時刻データとして付加する(ステップS250)。
【0056】
このようにして、リングバッファ領域113に、制御データ(1)、該制御データ(1)のタイムスタンプ(1)および絶対時刻データ(1)、制御データ(2)、該制御データのタイムスタンプ(2)および絶対時刻データ(2)・・・の順で、制御データ、タイムスタンプおよび絶対時刻データが時系列順に格納される。そして、データ取得部102は、上記のデータのコピーが完了したときに、リングバッファ領域113の書き込みポインタを進め、一連の制御データの格納処理を終了する。
【0057】
データ記憶部104では、リングバッファ領域113に格納されたデータを書き込みポインタの位置になるまで読み込みポインタから順に読み込み、ファイルに出力する。この際、データ記憶部104は、制御データおよびタイムスタンプは出力するが、絶対時刻データは出力しない。
【0058】
つぎに、本実施の形態にかかるロギング装置100の結合ファイル作成部107における、複数の制御装置10から取得した制御データの並び替えと結合処理との流れについて、図4および図5を用いて説明する。図4は、実施の形態にかかるロギングシステムにおいて、複数の制御装置から制御データを収集する構成例を示す図である。図5は、実施の形態にかかるロギングシステムにおいて、ロギング装置100が制御データを並び替えて結合する処理を説明するフローチャートである。
【0059】
ここでは、制御装置A10Aから収集した制御データAおよび制御装置B10Bから収集した制御データBをロギング装置100の内部メモリ103のリングバッファ領域113にタイムスタンプと絶対時刻データを付加して格納している。図4においては、制御装置A10Aの制御データに関する要素の符号の末尾には「A」を、制御装置B10Bの制御データに関する要素の符号には末尾に「B」を付している。また、図4においては、制御データの流れに注目して示しており、一部の構成の図示を省略している。
【0060】
制御データ結合処理では、制御データ整列部108が、制御データの並び替えの基準を設定した並び替え基準設定をロギングパラメータ114から読み出して取得する(ステップS310)。また、ここでは、制御データAを基準にして、すなわち制御データAの収集の時間間隔を基準にして、制御装置A10Aおよび制御装置B10Bから収集した制御データを並び替えて結合する場合について説明する。したがって、ここでの並び替え基準設定は、制御データAの収集の時間間隔を並び替えの基準とする設定情報とされる。
【0061】
つぎに、制御データ整列部108は、該並び替え基準設定に従って、並び替え設定の対象となる制御データを格納した複数のリングバッファ領域113から、該リングバッファ領域113に格納されたデータをリングバッファ領域113毎に全て読み出す(ステップS320)。たとえば制御データ整列部108は、リングバッファ領域A113Aに格納されたデータを全て読み出す。つぎに、制御データ整列部108は、リングバッファ領域B113Bに格納されたデータを全て読み出す。
【0062】
図6は、本実施の形態にかかるロギング装置内における制御データを示す図である。図6(a)は、制御装置Aから取得されてリングバッファ領域A113Aに格納された制御データAおよび該制御データAに付加されたタイムスタンプおよび絶対時刻データを示している。図6(b)は、制御装置Bから取得されてリングバッファ領域B113Bに格納された制御データBおよび該制御データBに付加されたタイムスタンプおよび絶対時刻データを示している。図6(c)は、制御データAおよび制御データBを、制御データAを基準に並び替えて結合された制御データを示している。
【0063】
たとえばリングバッファ領域A113Aには、制御装置Aから取得された制御データAとして、図6(a)に示される制御データA(1)〜制御データA(n)が、それぞれ対応するタイムスタンプおよび絶対時刻データとともに格納されている。()内の数字は、各制御データAがリングバッファ領域A113Aに記憶された順番を示す。また、たとえばリングバッファ領域B113Bには、制御装置Bから取得された制御データBとして、図6(b)に示される制御データB(1)〜制御データB(n)が、それぞれ対応するタイムスタンプおよび絶対時刻データとともに格納されている。()内の数字は、各制御データBがリングバッファ領域B113Bに記憶された順番を示す。
【0064】
制御データA(n)としては、図6(a)に示すように、制御データA(1)としてのデータ:1、制御データA(2)としてのデータ:2、・・・制御データA(8)としてのデータ:8が格納されている。ロギング装置100では、絶対時刻データにおける14:10:03の経過後に、再び共通タイマ111のサーバパーソナルコンピュータ30との同期処理が行われている。このため、制御データA(3):3と制御データA(4):4とのタイムスタンプの時刻が逆転し、制御データA(3):3と制御データA(5):5とのタイムスタンプの時刻が同じになっている。
【0065】
一方、絶対時刻タイマ110は、ロギング装置100の起動直後に共通タイマ111との時間の同期が行われた後は時間の補正が行われない。このため、絶対時刻タイマ110の絶対時刻データは、図6(a)に示すように制御データAがリングバッファ領域A113Aに格納された順に時系列順を保持している。また、制御データAの収集の時間間隔は1秒周期となっている。
【0066】
一方、制御データB(n)としては、図6(b)に示すように、制御データB(1)としてのデータ:100、制御データB(2)としてのデータ:150、制御データB(3)としてのデータ:200が格納されている。制御データBでは、図6(b)に示すように、タイムスタンプの時刻が逆転しているまたは同じになっている制御データBは存在しないが、データの収集の時間間隔が制御データAと異なり、3秒周期となっている。
【0067】
つぎに、制御データ整列部108は、以下のステップS350〜ステップS370に該当する処理を、制御データの並び替えの対象設定数分だけ、すなわち制御データが並び替えの対象となる制御装置10の数だけ繰り返す(ステップS330a:開始、ステップS330b:終了)。また、ステップS330a〜ステップS330bにおける処理の繰り返しにおいては、1つの制御装置10から取得した制御データ数分だけ、以下のステップS350〜ステップS370に該当する処理を繰り返す(ステップS340a:開始、ステップS340b:終了)。
【0068】
制御データ整列部108は、ステップS320で複数のリングバッファ領域113から読み出したデータから絶対時刻データの値を読み出し、絶対時刻データの値が一致する制御データが存在するか否かを判定する(ステップS350)。絶対時刻データの値が一致する制御データが存在する場合は(ステップS350、Yes)、該制御データの値を取得し、制御データ整列部108内において記録する(ステップS360)。ここでは、制御データAの収集の時間間隔を基準としているため、すなわち制御データAの収集の時間間隔に適合する絶対時刻データを基準としているため、制御データAの絶対時刻データと同一の絶対時刻データが付加された制御データBの値を取得して、制御データ整列部108内においてたとえば図6(c)に示すようなテーブルに記録する。
【0069】
一方、絶対時刻データの値が一致する制御データが存在しない場合は(ステップS350、No)、制御データ整列部108内において制御データの欄に「データなし」の情報を記録する(ステップS370)。ここでは、制御データAの収集の時間間隔を基準としているため、すなわち制御データAの収集の時間間隔に適合する絶対時刻データを基準としているため、制御データAの絶対時刻データと同一の絶対時刻データが付加された制御データBが存在しない場合は、たとえば図6(c)に示すようなテーブルの制御データBの欄に「データなし」の情報を記録する。
【0070】
そして、ステップS350〜ステップS370の処理を、1つの制御装置10から取得した制御データ数分だけ繰り返し、(ステップS340a:開始、ステップS340b:終了)、さらに制御データの並び替えの対象設定数分だけ、すなわち制御データが並び替えの対象となる制御装置10の数だけ繰り返す(ステップS330a:開始、ステップS330b:終了)。そして、終了条件を満たした時点で処理を終了する。
【0071】
制御データの並び替えの結果、データ記憶部104に出力されるファイルの元となる制御データは図6(c)のようになる。この場合、共通タイマ111の時刻がサーバパーソナルコンピュータ30との時刻同期処理によってタイムスタンプが巻き戻されていても、絶対時刻タイマ110の絶対時刻データを基準にして制御データを整列させることにより、制御装置10から制御データを取得した時系列順に、すなわち、制御装置10において制御データが発生した時系列順に制御データが並べられる。
【0072】
このように並び替えられて結合された制御データは、ファイルとしてデータ記憶部104に格納され、記憶メディア50にファイル出力される。ただし、記憶メディア50にファイル出力される際には、絶対時刻タイマ110の値は出力されない。絶対時刻タイマ110の値は出力されないことで、ファイルの容量が大きくなることを防止でき、記憶メディア50における容量の負担の増加を防止できる。
【0073】
一方で、記憶メディア50に出力されるファイルには、時刻同期をした結果である共通タイマ111のタイムスタンプも出力されるため、どの時間にどのようなデータを収集したのかを、制御装置10を含む外部機器の時計と照らし合わせて確認できる。
【0074】
また、上記の並び替えの結果、絶対時刻データの値が一致する制御データが存在しない、「データなし」が記録された絶対時刻データが存在した場合、制御データ補間部109は、該絶対時刻データに対応する不足分の制御データの補間を実施する。制御データの補間は、対象となる設定の制御データが2つ以上存在する場合のみ実施する。対象となる設定の制御データが2つ以上存在しない場合は、制御データ補間部109は、ロギングパラメータ114にあらかじめ設定された固定値を出力する。また、ロギングパラメータ114に固定値があらかじめ設定されていない場合は、制御データ補間部109は、0を出力する。
【0075】
つぎに、並び替えの結果、絶対時刻データの値が一致する制御データが存在しない、「データなし」が記録された絶対時刻データが存在した場合における制御データの補間方法を説明する。データの補間方法としてロギングパラメータ114においてたとえば同値補間が指定されている場合、制御データ補間部109は、補間対象となる制御データより前に記録された制御データと同じ値を出力する。図6(c)に示された並び替えデータを補間する場合は、制御データBにおいて直前に記録された制御データと同じ値を出力する。この場合は、最終的にできあがる結合制御データは、図7のようになる。また、結合および補間がされた最終的にできあがった結合制御データが、データ記憶部104に格納された後に記憶メディア50にファイル出力される際のデータは、図8のようになる。図7は、本実施の形態にかかるロギング装置100において、不足分のデータを同値補間した場合の制御データを示す図である。図8は、本実施の形態にかかるロギング装置100において、不足分のデータを同値補間した場合に記憶メディア50に出力したファイルのデータを示す図である。
【0076】
図7においては、絶対時刻データ「14:10:02」に対応する制御データBとして、「100」が補間される。絶対時刻データ「14:10:03」に対応する制御データBとして、「100」が補間される。絶対時刻データ「14:10:05」に対応する制御データBとして、「150」が補間される。絶対時刻データ「14:10:06」に対応する制御データBとして、「150」が補間される。絶対時刻データ「14:10:08」に対応する制御データBとして、「200」が補間される。
【0077】
また、記憶メディア50にファイル出力される際のデータは、図8に示すように、図7に示したデータから絶対時刻データが省かれたデータとなる。また、記憶メディア50に出力されるファイルのフォーマットには、結合された制御データを含んで記憶メディア50に出力されたファイルが作成されたロギング装置に関する情報が含まれる。記憶メディア50に出力されるファイルのフォーマットには、たとえば図8に示されるようにファイルヘッダ部120が設けられる。ファイルヘッダ部120には、結合された制御データを含んで記憶メディア50に出力されたファイルが作成されたロギング装置に関する情報として、ロギング装置の識別情報、時刻の出力形式、ファイルに含まれる結合された制御データがどの設定から結合されたデータであるかを判別するための情報が含まれる。たとえば図8においては、ロギング装置の識別情報として「ロギング装置_X」の情報が含まれており、Xがロギング装置の製品型名を示す。また、たとえば図8においては、時刻の出力形式、すなわち時刻の表示形式として、「タイムスタンプ(hh:mm:ss)」の情報が含まれており、hh、mm、ssはそれぞれタイムスタンプにおける時、分、秒を示す。また、たとえば図8においては、ファイルに含まれる結合された制御データがどの設定から結合されたデータであるかを判別するための情報として、結合された制御データの収集元の制御装置を判別できる情報、すなわち結合された制御データに含まれるデータが取得された制御装置を識別する情報である「制御データA」および「制御データB」の情報が含まれている。
【0078】
一方、制御データの補間方法としてロギングパラメータ114においてたとえば線形補間が指定されている場合、制御データ補間部109は、補間対象となる制御データを下記の式(1)を用いて補間する。すなわち、(xi,yi),(xi+1,yi+1)が判明しており、xi≦x≦xi+1を満たす値の場合、下記の式(1)により値を求める。
【0079】
y=yi+(yi+1−yi)×(x−xi)÷(xi+1−xi)・・・(1)
【0080】
式(1)を図6(c)に示された並び替えデータにあてはめる場合について説明する。たとえば、絶対時刻データ「14:10:02」の制御データBを求める場合、x=秒(ミリ秒単位)、y=制御データBとすると、
y=100+(150−100)×(2000−1000)÷(4000−1000)
となり、y=117となる。同様にその他の制御データを補間した場合、最終的にできあがる結合データは図9のようになる。また、結合および補間がされた最終的にできあがった結合データが、データ記憶部104に格納された後に記憶メディア50にファイル出力される際のデータは、図10のようになる。図9は、本実施の形態にかかるロギング装置100において、不足分の制御データを線形補間した場合の制御データを示す図である。図10は、本実施の形態にかかるロギング装置100において、不足分の制御データを線形補間した場合に記憶メディア50に出力したファイルのデータを示す図である。
【0081】
図9においては、絶対時刻データ「14:10:02」に対応する制御データBとして、「117」が補間される。絶対時刻データ「14:10:03」に対応する制御データBとして、「133」が補間される。絶対時刻データ「14:10:05」に対応する制御データBとして、「167」が補間される。絶対時刻データ「14:10:06」に対応する制御データBとして、「183」が補間される。絶対時刻データ「14:10:08」に対応する制御データBとして、「217」が補間される。
【0082】
また、記憶メディア50にファイル出力される際のデータは、図10に示すように、図9に示したデータから絶対時刻データが省かれたデータとなる。
【0083】
このように、制御装置Aの収集間隔ごとにまとめた際の制御データBの不足分を補間することにより、並び替えてまとめた制御データをトレンドグラフなど視覚的に見やすい形式にする際に、データ解析が容易になる。また、同様に、複数の制御装置10から収集した制御データをまとめる際に、所望の制御データを間引くことで、並び替えてまとめた制御データをトレンドグラフなど視覚的に見やすい形式にする際に、データ解析が容易になる。そして、収集した制御データを、指定した所望の制御装置10の制御データの収集間隔で並び替えてまとめることができるため、指定した制御装置10を基準とした解析データを取得できる。
【0084】
つぎに、上述した実施の形態にかかるロギングシステムにおける制御装置10、サーバパーソナルコンピュータ30、パーソナルコンピュータ40およびロギング装置100において実行される機能を、該機能の処理手順が格納されたプログラムとして構成し、このプログラムを図11に示すようにCPU、記憶装置等を有するコンピュータ装置で実行することによって実現することができる。
【0085】
図11は、上述した制御装置10、サーバパーソナルコンピュータ30、パーソナルコンピュータ40およびロギング装置100としての機能を実現するコンピュータ装置200の構成の一例を模式的に示すブロック図である。図11に示されるように、コンピュータ装置200は、LCD(Liquid Crystal Display)などの表示装置201、キーボードなどの入力装置202、演算を行うCPU203、ROM(Read Only Memory)などの不揮発性メモリ204、RAM(Random Access Memory)などの揮発性メモリ205、表示装置201に表示する表示画面を記憶する表示用メモリ206、フラッシュメモリなどの着脱可能な外部メモリとのインタフェースである外部メモリインタフェース207、外部機器との間で通信を行う通信インタフェース208などが内部バス209を介して接続された構成を有する。
【0086】
そして、不揮発性メモリ204に格納された上記のデータロギング方法の処理手順が記述されたプログラムが揮発性メモリ205にロードされ、CPU203によって実行される。このプログラムは、ハードディスク、CD(Compact Disk)、ROM(Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile DiskまたはDigital Video Disk)などのコンピュータ装置で読取可能な記録媒体に記録され、または、このプログラムは、インターネットなどのコンピュータネットワーク通信回線を介して配布することもできる。この場合には、通信インタフェース208を介して接続された情報処理端末からプログラムが不揮発性メモリ204上に格納される。
【0087】
上述したように、本実施の形態にかかるロギングシステムでは、ロギング装置100が、外部のサーバパーソナルコンピュータ30の標準時刻に既定のタイミングで同期して時刻が補正される共通タイマ111と、絶対時刻タイマ110とを備える。絶対時刻タイマ110は、ロギング装置100の電源起動直後に、共通タイマ111の時刻に同期して時刻が補正された後はロギング装置100の稼働中において時刻の補正が行われない。
【0088】
また、ロギング装置100が制御装置10から制御データを収集する際には、共通タイマ111からのタイムスタンプと絶対時刻タイマ110からの絶対時刻データとを制御データに付加して内部メモリ103に格納する。そして、絶対時刻タイマ110の値を基準にして、内部メモリ103に格納した制御データを制御装置10から取得した時系列順に並び替えする。これにより、共通タイマ111において外部の標準時刻との時刻同期による時計補正があっても、制御装置10の制御データを収集した時系列順に並び替えることができ、各制御装置10の稼働状況を容易に且つ確実に時系列順にまとめることができる。
【0089】
このように、本実施の形態にかかるロギングシステムでは、外部の標準時刻に同期する際に共通タイマ111の時刻が巻き戻った場合であっても、時刻同期の影響を受けない絶対時刻タイマ110の時刻を並び替えの基準に使用する。これにより、収集した制御データ14について、制御装置10から制御データ14を取得した時系列順を判別することができ、また制御データ14が発生した時系列順を判別することができる。
【0090】
また、データを出力する際には、時刻同期をした結果である共通タイマ111のタイムスタンプを出力するため、どの時間にどのようなデータを収集したのかを、制御装置10を含む外部機器の時計と照らし合わせて確認できる。
【0091】
また、本実施の形態にかかるロギングシステムでは、収集した各制御装置10の制御データの並び替えの際に、基準となる間隔をロギングパラメータ114において指定することができる。この間隔としては、制御装置10のデータ収集間隔を指定できる。収集した各制御装置10の制御データの並び替えの結果、制御データの存在しない絶対時刻データの時刻が発生した場合、存在しない制御データを、ロギングパラメータ114において指定した形式で補間することができる。補間の形式としては、線形補間、同値補間などによる近似値補間が利用可能である。
【0092】
したがって、本実施の形態にかかるロギングシステムによれば、制御装置10で発生した制御データを容易に且つ確実に、発生した時系列順に並び替えることができる、という効果を奏する。
【産業上の利用可能性】
【0093】
以上のように、本発明にかかる、ロギングシステムは、制御装置で発生した制御データを容易に且つ確実に、発生した時系列順に並び替える場合に有用である。
【符号の説明】
【0094】
10 制御装置、11 CPU、12 制御実行部、13 制御プログラム、14 制御データ、15 制御データ格納部、16 制御データ転送部、17 通信部、20 バス、30 サーバパーソナルコンピュータ、31 時刻配信部、32 通信部、40 パーソナルコンピュータ、41 ロギング設定ツール、42 通信部、50 記憶メディア、60 ケーブル、100 ロギング装置、101 CPU、102 データ取得部、103 内部メモリ、104 データ記憶部、105 共有メモリ、106 制御データ、107 結合ファイル作成部、108 制御データ整列部、109 制御データ補間部、110 絶対時刻タイマ、111 共通タイマ、112 時刻同期要求部、113 リングバッファ領域、114 ロギングパラメータ、115 通信部、200 コンピュータ装置、201 表示装置、202 入力装置、203 CPU、204 不揮発性メモリ、205 揮発性メモリ、206 表示用メモリ、207 外部メモリインタフェース、208 通信インタフェース、209 内部バス。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11