(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
B60L 3/00 20190101AFI20240909BHJP
B61L 25/04 20060101ALI20240909BHJP
【FI】
B60L3/00 N
B61L25/04
(21)【出願番号】P 2021051580
(22)【出願日】2021-03-25
【審査請求日】2023-12-20
【新規性喪失の例外の表示】特許法第30条第2項適用 令和2年11月5日開催の第57回鉄道サイバネ・シンポジウムにて、状態監視記録データ自動変換システムの開発についての公開
(73)【特許権者】
【識別番号】000221616
【氏名又は名称】東日本旅客鉄道株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】堀 恵治
【審査官】大内 俊彦
(56)【参考文献】
【文献】特開2017-54262(JP,A)
【文献】国際公開第2019/159226(WO,A1)
【文献】特開2007-137118(JP,A)
【文献】米国特許出願公開第2022/0035818(US,A1)
【文献】特開2009-211504(JP,A)
【文献】特開2009-169707(JP,A)
【文献】国際公開第2006/009287(WO,A1)
【文献】特開2005-301371(JP,A)
【文献】特開2009-101964(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60L 3/00- 3/12
B61L 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
鉄道車両に搭載された複数の機器からの出力データに基づいて生成されたバイナリデータを、所定のデータ形式のデータに変換するデータ変換手段を備え、
前記バイナリデータは、複数のデータブロックを含み、
前記複数のデータブロックの各々は、前記複数の機器からの出力データに対応する複数のデータ項目を含み、
前記バイナリデータには、対応する構造定義情報及び変換定義情報が予め定められており、
前記構造定義情報は、前記バイナリデータにおける前記複数のデータブロックの構造に係る情報を含み、
前記変換定義情報は、前記複数のデータブロックの各々を前記データ形式に変換する規則に係る情報を含み、
前記データ変換手段は、
前記構造定義情報に基づいて前記複数のデータブロックを特定し、
特定した前記複数のデータブロックの各々を前記変換定義情報に基づいて前記データ形式のデータに変換することを特徴とする情報処理装置。
【請求項2】
前記複数のデータブロックの各々は、データ長が同一であり、
前記構造定義情報は、前記バイナリデータに含まれる前記データブロックの数及び前記データ長の情報を含むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複数のデータブロックの各々は、前記複数の機器から所定のサンプリング期間に出力された出力データに基づいて生成されていることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記変換定義情報は、前記データブロックにおける前記複数のデータ項目の各々の位置に係る情報を含むことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記変換定義情報は、前記複数のデータ項目の各々について、当該データ項目を前記データ形式に変換する変換規則に係る変換規則情報を含むことを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
ユーザからの指示に基づいて前記変換定義情報を生成する定義情報生成手段を備えることを特徴とする請求項1~5のいずれか一項に記載の情報処理装置。
【請求項7】
ユーザからの指示に基づいて前記変換定義情報を生成する定義情報生成手段を備え、
前記定義情報生成手段は、
既存の一又は二以上の前記変換定義情報に含まれる複数の前記変換規則情報のうち一部の変換規則情報を選択するユーザ操作を受け付け、
前記ユーザ操作により選択された前記変換規則情報を含む前記変換定義情報を生成することを特徴とする請求項5に記載の情報処理装置。
【請求項8】
前記定義情報生成手段は、生成した前記変換定義情報に基づいて前記データブロックのデータ長を特定し、当該データ長の情報を含む前記構造定義情報を生成することを特徴とする請求項6又は7に記載の情報処理装置。
【請求項9】
情報処理装置に設けられたコンピューターを、鉄道車両に搭載された複数の機器からの出力データに基づいて生成されたバイナリデータを、所定のデータ形式のデータに変換するデータ変換手段として機能させ、
前記バイナリデータは、複数のデータブロックを含み、
前記複数のデータブロックの各々は、前記複数の機器からの出力データに対応する複数のデータ項目を含み、
前記バイナリデータには、対応する構造定義情報及び変換定義情報が予め定められており、
前記構造定義情報は、前記バイナリデータにおける前記複数のデータブロックの構造に係る情報を含み、
前記変換定義情報は、前記複数のデータブロックの各々を前記データ形式に変換する規則に係る情報を含み、
前記データ変換手段は、
前記構造定義情報に基づいて前記複数のデータブロックを特定し、
特定した前記複数のデータブロックの各々を前記変換定義情報に基づいて前記データ形式のデータに変換することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
従来、鉄道車両に搭載された複数の機器の動作状態を反映した状態監視記録データを、鉄道車両から地上設備の情報処理装置に対して送信する技術が知られている(例えば、特許文献1)。地上設備でこの状態監視記録データを解析することで、各機器の動作状態を監視したり、異常発生時にその原因を特定したりすることができる。
【0003】
上記の状態監視記録データは、各機器からの出力データを所定の規則に従ってバイナリ形式に変換したバイナリデータである。地上設備の情報処理装置は、上記の規則に基づく逆変換処理を行って、このバイナリデータを解析可能なデータ形式(例えばCSV形式)のデータに変換する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、鉄道車両に搭載されている機器の種類や搭載数などが一部でも異なると、これに応じてバイナリデータの構造が変わるため、データ形式の変換のために異なる変換プログラムが必要となる。通常、鉄道車両に搭載される機器の種類や数は線区や車両形式などによって異なり、また搭載される機器は常に新しいものに更新される。このため、線区や車両形式ごとに、また機器の更新のたびに、解析用のデータ形式への変換プログラムを都度用意しなければならず、膨大な手間とコストが掛かるという課題がある。
【0006】
この発明の目的は、バイナリデータをより簡易に所定のデータ形式に変換することができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、請求項1に記載の情報処理装置の発明は、
鉄道車両に搭載された複数の機器からの出力データに基づいて生成されたバイナリデータを、所定のデータ形式のデータに変換するデータ変換手段を備え、
前記バイナリデータは、複数のデータブロックを含み、
前記複数のデータブロックの各々は、前記複数の機器からの出力データに対応する複数のデータ項目を含み、
前記バイナリデータには、対応する構造定義情報及び変換定義情報が予め定められており、
前記構造定義情報は、前記バイナリデータにおける前記複数のデータブロックの構造に係る情報を含み、
前記変換定義情報は、前記複数のデータブロックの各々を前記データ形式に変換する規則に係る情報を含み、
前記データ変換手段は、
前記構造定義情報に基づいて前記複数のデータブロックを特定し、
特定した前記複数のデータブロックの各々を前記変換定義情報に基づいて前記データ形式のデータに変換することを特徴としている。
【0008】
請求項2に記載の発明は、請求項1に記載の情報処理装置において、
前記複数のデータブロックの各々は、データ長が同一であり、
前記構造定義情報は、前記バイナリデータに含まれる前記データブロックの数及び前記データ長の情報を含むことを特徴としている。
【0009】
請求項3に記載の発明は、請求項1又は2に記載の情報処理装置において、
前記複数のデータブロックの各々は、前記複数の機器から所定のサンプリング期間に出力された出力データに基づいて生成されていることを特徴としている。
【0010】
請求項4に記載の発明は、請求項1~3のいずれか一項に記載の情報処理装置において、
前記変換定義情報は、前記データブロックにおける前記複数のデータ項目の各々の位置に係る情報を含むことを特徴としている。
【0011】
請求項5に記載の発明は、請求項1~4のいずれか一項に記載の情報処理装置において、
前記変換定義情報は、前記複数のデータ項目の各々について、当該データ項目を前記データ形式に変換する変換規則に係る変換規則情報を含むことを特徴としている。
【0012】
請求項6に記載の発明は、請求項1~5のいずれか一項に記載の情報処理装置において、
ユーザからの指示に基づいて前記変換定義情報を生成する定義情報生成手段を備えることを特徴としている。
【0013】
請求項7に記載の発明は、請求項5に記載の情報処理装置において、
ユーザからの指示に基づいて前記変換定義情報を生成する定義情報生成手段を備え、
前記定義情報生成手段は、
既存の一又は二以上の前記変換定義情報に含まれる複数の前記変換規則情報のうち一部の変換規則情報を選択するユーザ操作を受け付け、
前記ユーザ操作により選択された前記変換規則情報を含む前記変換定義情報を生成することを特徴としている。
【0014】
請求項8に記載の発明は、請求項6又は7に記載の情報処理装置において、
前記定義情報生成手段は、生成した前記変換定義情報に基づいて前記データブロックのデータ長を特定し、当該データ長の情報を含む前記構造定義情報を生成することを特徴としている。
【0015】
また、上記目的を達成するため、請求項9に記載のプログラムの発明は、
情報処理装置に設けられたコンピューターを、鉄道車両に搭載された複数の機器からの出力データに基づいて生成されたバイナリデータを、所定のデータ形式のデータに変換するデータ変換手段として機能させ、
前記バイナリデータは、複数のデータブロックを含み、
前記複数のデータブロックの各々は、前記複数の機器からの出力データに対応する複数のデータ項目を含み、
前記バイナリデータには、対応する構造定義情報及び変換定義情報が予め定められており、
前記構造定義情報は、前記バイナリデータにおける前記複数のデータブロックの構造に係る情報を含み、
前記変換定義情報は、前記複数のデータブロックの各々を前記データ形式に変換する規則に係る情報を含み、
前記データ変換手段は、
前記構造定義情報に基づいて前記複数のデータブロックを特定し、
特定した前記複数のデータブロックの各々を前記変換定義情報に基づいて前記データ形式のデータに変換することを特徴としている。
【発明の効果】
【0016】
本発明によれば、バイナリデータをより簡易に所定のデータ形式に変換することができる。
【図面の簡単な説明】
【0017】
【
図1】情報処理システムの構成を示す模式図である。
【
図2】情報処理装置の機能構成を示すブロック図である。
【
図4】表形式構造定義ファイル等から構造定義ファイル等への変換処理を説明する図である。
【
図5】バイナリデータからテキストデータへの変換処理を示す図である。
【
図6】データ変換処理の制御手順を示すフローチャートである。
【
図7】表形式構造定義ファイル及び構造定義ファイルの内容例を示す図である。
【
図8】選択中のデータブロックの内容例を示す図である。
【
図9】表形式変換定義ファイル及び変換定義ファイルの内容例を示す図である。
【
図11】表形式変換マスターファイル及び変換マスターファイルの内容例を示す図である。
【
図12】構造の異なるバイナリデータの変換方法を説明する模式図である。
【
図14】変換定義ファイル生成画面を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の情報処理装置及びプログラムに係る実施の形態を図面に基づいて説明する。
【0019】
<情報処理システムの構成>
図1は、情報処理システム1の構成を示す模式図である。
情報処理システム1は、鉄道車両10及び情報処理装置20を備える。情報処理装置20は、例えばパーソナルコンピュータであり、鉄道車両10の外部の地上施設に設けられている。この情報処理システム1では、鉄道車両10から情報処理装置20にバイナリ形式の状態監視記録データ(以下、バイナリデータB(
図2、
図3参照)と記す)が送信される。このバイナリデータBは、情報処理装置20において解析用の所定のデータ形式(例えば、CSV形式等のテキスト形式)のデータ(以下、テキストデータT(
図2参照)と記す)に変換され、解析される。
【0020】
1編成の鉄道車両10は、一又は二以上の車両を有する。
図1では、鉄道車両10の先頭側の3両(1号車10A~3号車10C)が図示されている。1号車10Aには、中央端末装置11、伝送端末装置12A、記録装置13、通信ユニット14、運転台IF15、空調装置16A及びブレーキ装置17Aが設けられている。2号車10Bには、伝送端末装置12B、空調装置16B、ブレーキ装置17B及び駆動装置18が設けられている。3号車10Cには、伝送端末装置12C、空調装置16C及びブレーキ装置17Cが設けられている。これらの運転台IF15、空調装置16A~16C、ブレーキ装置17A~17C、及び駆動装置18は、鉄道車両10に搭載された「複数の機器」の一例である。鉄道車両10に搭載される機器の種類、及び各号車に搭載される機器は、
図1に例示したものに限られない。また、「複数の機器」には中央端末装置11が含まれていてもよい。
【0021】
上記の複数の機器は、データの伝送路19を介して接続されている。詳しくは、1号車10Aの運転台IF15、空調装置16A及びブレーキ装置17Aが伝送端末装置12Aに接続され、2号車10Bの空調装置16B、ブレーキ装置17B及び駆動装置18が伝送端末装置12Bに接続され、3号車10Cの空調装置16C及びブレーキ装置17Cが伝送端末装置12Cに接続され、これらの伝送端末装置12A~12Cが伝送路19を介して相互に接続されているとともに1号車10Aの中央端末装置11に接続されている。図示しない4号車以降の各車両にも、それぞれ所定の機器が搭載されており、これらの機器も中央端末装置11に接続されている。各機器からは、動作状態を反映したデータ(出力データ)が出力され、この出力データは、伝送端末装置12A~12Cを介して中央端末装置11に送信される。
【0022】
運転台IF15は、鉄道車両10の運転席に設けられており、運転士の操作に応じた操作信号を含む出力データを出力する。当該操作信号は、鉄道車両10の各機器の制御に用いられる。
空調装置16A~16Cは、運転台IF15からの制御信号に応じて車両内の冷暖房や換気などを行う。空調装置16A~16Cは、例えば装置の動作状況や室温の検出結果などの情報を含む出力データを出力する。
ブレーキ装置17A~17Cは、運転台IF15からの制御信号に応じて車輪に制動力を伝えて車両を減速、停止させる。ブレーキの方式は、特には限られないが、例えばコンプレッサによる圧縮空気の圧力によって制輪子を車輪に当接させる方式が挙げられる。ブレーキ装置17A~17Cは、ブレーキ動作に応じて変化する物理量(例えば圧縮空気の圧力)などの情報を含む出力データを出力する。
駆動装置18は、例えば走行用モータと、電力を変換して走行用モータに出力するVVVF(可変電圧可変周波数)インバータなどを備え、運転台IF15からの制御信号に応じて走行用モータを動作させて力行運転を行う。駆動装置18は、走行用モータ及びVVVFインバータなどの動作状態を反映した出力データを出力する。
【0023】
中央端末装置11は、上記の各機器から受信した出力データを所定の規則に従ってバイナリ形式に変換し、バイナリデータBを生成する。中央端末装置11は、ハードディスクや半導体メモリといった記録媒体を備えた記録装置13に当該バイナリデータBを格納する。各機器からの出力データのフォーマット、及び当該出力データをバイナリ形式に変換する規則は、機器の機種ごとに予め定められている。また、複数の機器からの出力データをバイナリデータBに組み入れる順序についても予め定められている。バイナリデータBの構造については後に詳述する。
【0024】
通信ユニット14は、情報処理装置20との間で無線通信を行う。なお、通信ユニット14と情報処理装置20との間の通信経路の少なくとも一部は有線であってもよい。中央端末装置11は、通信ユニット14を制御して、記録装置13に格納されたバイナリデータBを情報処理装置20に対して送信させる。中央端末装置11は、鉄道車両10の各機器から継続的に送られてくる出力データに基づいて、所定期間ごとに1つのバイナリデータBを生成する。そして、上記期間ごとに定期的に、バイナリデータBを情報処理装置20に送信する。各バイナリデータBには、上記所定期間における各機器の動作状態に係る情報が含まれているため、バイナリデータBをテキストデータTに変換して解析することで、機器の動作状態を監視したり、異常発生時にその原因を特定したりすることができる。
【0025】
図2は、情報処理装置20の機能構成を示すブロック図である。
情報処理装置20は、制御部21と、操作部22と、表示部23と、通信部24と、記憶部25などを備え、これらの各部はバス26により接続されている。
【0026】
制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、情報処理装置20の各部の動作を統括制御するコンピューターである。このうちCPUは、記憶部25に記憶されている各種プログラムを読み出してRAMに展開し、当該プログラムを実行することで各種処理を行う。制御部21は、CPUがプログラムを実行することで、定義ファイル変換部211(定義ファイル変換手段)、データ変換部212(データ変換手段)及び定義情報生成部213(定義情報生成手段)などとして機能する。定義ファイル変換部211は、後述する表形式の定義ファイルをデータ記述言語の定義ファイルに変換する。データ変換部212は、バイナリデータBをテキストデータTに変換する。定義情報生成部213は、ユーザの指示に基づいて定義ファイルを生成する。また、制御部21は、生成したテキストデータTをユーザの指示に応じて解析し、解析結果を表示部23に表示させる。
【0027】
操作部22は、オペレータからの操作入力を受け付け、当該操作に応じた操作信号を制御部21に出力する。例えば、操作部22は、カーソルキー、文字入力キー及び各種機能キー等を備えたキーボードと、マウス等のポインティングデバイスなどを備え、キーボードに対するキー操作やマウス操作の内容に応じた操作信号を制御部21に出力する。
【0028】
表示部23は、例えば液晶ディスプレイであり、制御部21による制御下で各種情報画面などを表示する。
【0029】
通信部24は、通信インターフェース等により構成され、所定の通信プロトコルを用いて鉄道車両10の通信ユニット14との間でデータの送受信を行う。
【0030】
記憶部25は、HDD(Hard Disk Drive)や不揮発性の半導体メモリ等を備え、各種プログラム、及び当該プログラムの実行時に参照されるパラメーターや各種データ等を記憶している。記憶部25に記憶されるプログラムには、バイナリデータBからテキストデータTへの変換に係る処理を実行するための変換プログラムPが含まれる。この他にも、図示しない表計算プログラムや、テキストデータTを解析するための解析プログラムなどが記憶部25に記憶されている。
また、記憶部25には、鉄道車両10から受信したバイナリデータB、及び当該バイナリデータBを変換して得られたテキストデータTが記憶される。また、記憶部25には、表形式構造定義ファイルF1a、表形式変換定義ファイルF2a、表形式変換マスターファイルF3a、構造定義ファイルF1b(構造定義情報)、変換定義ファイルF2b(変換定義情報)、及び変換マスターファイルF3bが、変換プログラムPとは別個に独立して記憶されている。
【0031】
表形式構造定義ファイルF1aは、バイナリデータBの構造に係る情報を含む、表形式(例えばCSV形式)のファイルである。
表形式変換定義ファイルF2aは、バイナリデータBをテキストデータTに変換する規則に係る情報を含む、表形式(例えばCSV形式)のファイルである。
表形式変換マスターファイルF3aは、バイナリデータBをテキストデータに変換して得られたコードを所定の文字列に変換する際に参照されるテーブルデータを含む。表形式変換マスターファイルF3aも表形式(例えばCSV形式)のファイルである。
【0032】
構造定義ファイルF1b、変換定義ファイルF2b、及び変換マスターファイルF3bは、それぞれ、表形式構造定義ファイルF1a、表形式変換定義ファイルF2a、及び表形式変換マスターファイルF3aを所定のデータ記述言語に変換したものである。データ記述言語の種類は、変換プログラムPに従った処理の実行時に容易に参照可能なものであれば特には限られないが、例えばJSONとすることができる。表形式構造定義ファイルF1a、表形式変換定義ファイルF2a、及び表形式変換マスターファイルF3aから構造定義ファイルF1b、変換定義ファイルF2b、及び変換マスターファイルF3bへの変換処理は、定義ファイル変換部211によって実行される。
【0033】
<バイナリデータの構成>
次に、バイナリデータBの構造について説明する。
図3は、バイナリデータBの構成例を示す図である。
バイナリデータBは、「0」又は「1」のいずれかであるビットデータが複数配列されたデータである。
図3では、説明の便宜上、8ビット(1バイト)ごとにデータ配列を改行し、何バイト目に相当するかによってバイナリデータB内の位置(第0バイト~第900031バイト)を表している。
【0034】
バイナリデータBは、共通ヘッダーh、及び複数のデータブロックbを含む。
共通ヘッダーhは、第0バイトから第31バイトまでの32バイトのデータである。共通ヘッダーhは、例えば、バイナリデータBが生成された鉄道車両10を特定するための車両固有データなどを含む。
【0035】
複数のデータブロックbの各々は、各機器から所定のサンプリング期間に出力された出力データに基づいて生成されている。言い換えると、データブロックbは、サンプリング期間ごとに生成される。サンプリング期間は、中央端末装置11の処理能力などに応じて定められ、例えば数百ミリ秒程度とすることができる。本実施形態では、サンプリング期間が200ミリ秒であるものとする。複数のデータブロックbの各々は、データ長が同一であり、本実施形態では3000バイトである。また、
図3のバイナリデータBは、300回のサンプリング期間(したがって、60秒)に対応する300個のデータブロックbを含む。よって、共通ヘッダーhを含めたバイナリデータBの全体のデータ長は、32+3000×300=900032バイトである。
【0036】
複数のデータブロックbの各々は、鉄道車両10に搭載されている複数の機器からの出力データに対応する複数のデータ項目biを含む。1つのデータ項目biは、いずれか1つの機器(例えば、空調装置16A)からの出力データに対応する。なお、1つの機器からの出力データにより2つ以上のデータ項目biが生成されていてもよい。
【0037】
図3に例示するバイナリデータBでは、第32バイトから第3031バイトまでが1サンプリング目に相当するデータブロックbである。このデータブロックbの先頭(第32バイト~第100バイト)には、列車全体に係るデータが配置されている。この列車全体データには、例えば車両速度に係るデータ項目bi(第49バイト及び第50バイト)のほか、データの取得時刻に係るデータ項目biなどが含まれる。車両速度に係るデータ項目biは、例えば、図示略の機器である速度発電機からの出力データに基づいて生成される。データの取得時刻に係るデータ項目biは、例えば、機器としての中央端末装置11が計数(出力)する時刻データに基づいて生成される。また、データブロックbには、運転台IF15からの出力データに対応するデータ項目bi(第101バイト~第168バイト)、空調装置16Aからの出力データに対応するデータ項目bi(第169バイト~第200バイト)など、出力データの収集対象となっている全ての機器に対応するデータ項目biが含まれている。
【0038】
第3032バイト~第6031バイトは、2サンプリング目に相当するデータブロックbであり、第6032バイト~第9031バイトは、3サンプリング目に相当するデータブロックbである。以降、300サンプリング目までのデータブロックbが順に配列されている。各データブロックbに含まれるデータ項目biの構成は、互いに同一である(個別のデータ値は、機器からの出力データに応じて異なる)。
【0039】
<バイナリデータの変換方法>
次に、情報処理装置20の動作について、バイナリデータBからテキストデータTへの変換処理を中心に説明する。
【0040】
バイナリデータBの変換を行う場合には、表計算プログラムを用いて予め表形式構造定義ファイルF1a、表形式変換定義ファイルF2a、及び表形式変換マスターファイルF3aを作成する。表形式構造定義ファイルF1a、表形式変換定義ファイルF2a、及び表形式変換マスターファイルF3aの内容は、バイナリデータBが生成された鉄道車両10に搭載されている機器の種類や数に応じて定まる。そして、
図4に示すように、生成した表形式構造定義ファイルF1a、表形式変換定義ファイルF2a、及び表形式変換マスターファイルF3aを、JSONで記述された構造定義ファイルF1b、変換定義ファイルF2b、及び変換マスターファイルF3bに変換しておく。当該変換処理は、定義ファイル変換部211によって実行される。
【0041】
図5は、バイナリデータBからテキストデータTへの変換処理を示す図である。
当該変換処理は、データ変換部212によって実行される。バイナリデータBには、対応する構造定義ファイルF1b、変換定義ファイルF2b及び変換マスターファイルF3bが予め定められている。データ変換部212は、これらの構造定義ファイルF1b、変換定義ファイルF2b、及び変換マスターファイルF3bを参照しつつ、変換プログラムPに従ってバイナリデータBに対して所定の処理を実行することで、バイナリデータBをテキストデータTに変換する。以下、このデータ変換処理について
図6のフローチャートを参照して説明する。
【0042】
図6は、データ変換処理の制御部21による制御手順を示すフローチャートである。
データ変換処理は、情報処理装置20が鉄道車両10からバイナリデータBを受信した場合に、ユーザの実行指示に応じて開始される。あるいは、バイナリデータBの受信に応じて自動的に開始されてもよい。
【0043】
データ変換処理が開始されると、制御部21は、構造定義ファイルF1bに基づいて、バイナリデータBに含まれる複数のデータブロックbを特定する(ステップS101)。
【0044】
図7は、表形式構造定義ファイルF1a及び構造定義ファイルF1bの内容例を示す図である。
図7では、表形式構造定義ファイルF1aの一部を示している。構造定義ファイルF1bは、
図7に示す内容をデータ記述言語(JSON)に変換したものであるが、含まれる情報の内容は同一であるため、便宜上、表形式構造定義ファイルF1aと同一図面に記載している。
【0045】
構造定義ファイルF1bは、バイナリデータBにおける複数のデータブロックbの構造に係る情報を含む。
具体的には、構造定義ファイルF1bは、バイナリデータBにおける1サンプリング目のデータブロックbの開始位置(32バイト目)、各データブロックbのデータ長(3000バイト)、及びバイナリデータBあたりのサンプリング数(300)(言い換えると、バイナリデータBに含まれるデータブロックbの数)の情報を含む。これらの情報に基づいて、バイナリデータBを32バイト目から3000バイトごとに区分していくことで、300個のデータブロックbを特定することができる。
なお、構造定義ファイルF1bには、この他に、共通ヘッダーhの位置及びデータ長の情報や、対応する変換定義ファイルF2bのファイル名などの情報が含まれていてもよい。
【0046】
制御部21は、1つのデータブロックbを選択する(
図6のステップS102)。本ステップを実行するのが2回目以降である場合には、前回までに選択済のデータブロックbを除いたデータブロックbのうち、最も先頭に近いものを選択する。
【0047】
制御部21は、データブロックbに含まれる複数のデータ項目biのうち1つのデータ項目biを選択する(ステップS103)。同一のデータブロックbについて本ステップを実行するのが2回目以降である場合には、前回までに選択済のデータ項目biを除いたデータ項目biのうち、最も先頭に近いものを選択する。
【0048】
制御部21は、変換定義ファイルF2bを参照し、変換規則に従ってデータ項目biをテキスト形式に変換する(ステップS104)。
【0049】
図8は、選択中のデータブロックbの内容例を示す図である。
ステップS104の処理では、データブロックbの先頭の位置を第0バイト、末尾の位置が第2999バイトとしてデータブロックb内のデータ項目biの位置が特定される。ここでは、第17バイトから第18バイトまでの車両速度に係るデータ項目biが選択されているものとする。また、各データ行に含まれる8ビットのデータの位置を、図の右端から順に第0ビット~第7ビットで表すものとする。
【0050】
図9は、表形式変換定義ファイルF2a及び変換定義ファイルF2bの内容例を示す図である。
図9では、表形式変換定義ファイルF2aの一部を示している。変換定義ファイルF2bは、
図9に示す内容をデータ記述言語(JSON)に変換したものであるが、含まれる情報の内容は同一であるため、便宜上、表形式変換定義ファイルF2aと同一図面に記載している。
【0051】
変換定義ファイルF2bは、データブロックbをテキスト形式に変換する規則に係る情報を含む。より詳しくは、変換定義ファイルF2bは、複数のデータ項目biの各々について、当該データ項目biをテキスト形式に変換する変換規則に係る変換規則情報tを含む。
図9における1つのデータ列が、1つのデータ項目biについての変換規則情報tに相当する。
【0052】
変換規則情報tは、「No.」、「項目名」、「変換規則」、「開始位置」、「開始ビット」、「サイズ」、「変換比」、「補数変換」、「基準値」及び「変換マスターファイル」のデータ行の項目を含む。このうち「開始位置」及び「開始ビット」は、データブロックbにおける複数のデータ項目biの各々の位置に係る情報に相当する。
「No.」は、データブロックbにおけるデータ項目biの配列順を表す。
「項目名」は、そのデータ項目biの名称を表す。
「変換規則」は、そのデータ項目biをテキスト形式に変換する際に適用される変換規則を表す。変換規則の種類と、各変換規則の処理内容は、例えば
図10に示すものが挙げられる(ただし、これらに限定されない)。例えば、変換規則「DEC」では、データ項目biに含まれるバイナリ形式のデータに対して10進数変換(補数変換が指定されている場合には2の補数で変換)を行い、変換後の値に「変換比」を乗じ、「基準値」を加算して出力する。
「開始位置」は、データブロックbにおけるそのデータ項目biの開始位置(第0バイト~第2999バイトのいずれか)を表す。
「開始ビット」は、「開始位置」で指定された位置の8ビットのデータのうち、データ項目biが開始されるビット(第0ビット~第7ビット)を表す。
「サイズ」は、そのデータ項目biのデータ長(ビット数)を表す。
「変換比」、「補数変換」及び「基準値」は、「変換規則」に応じた変換処理において指定されている場合に参照される。
「変換マスターファイル」は、テキスト形式に変換後のコードをさらに変換マスターファイルF3bに従って変換する場合に指定される。
【0053】
ここで、
図8に示す車両速度のデータ項目biをテキスト形式に変換する処理を例に挙げて説明する。この場合には、
図9の変換定義ファイルF2bのうち、車両速度のデータ項目biに対応する「No.12」の変換規則情報tが参照される。
この変換規則情報tにおいて、開始位置が「第17バイト」、開始ビットが「第7ビット」、サイズが「16ビット」と指定されていることに基づいて、
図8のデータブロックb内で、第17バイトの第7ビットから16ビット分のバイナリデータ、すなわち「0000000001011111」がデータ項目biとして特定される。
また、変換規則情報tにおいて変換規則が「DEC」と指定されており、かつ補数変換が指定されていない(「0」)ため、上記の16ビットのバイナリデータが10進数変換されて「95」が取得される。
また、変換比が「0.1」であるため、得られた「95」にこの変換比を乗じて「9.5」が取得される。なお、基準値が「0」であるため、基準値の加算は行われない。
このようにして、
図8の車両速度のデータ項目biが、車両速度を表すテキスト形式のデータ「9.5」に変換される。
【0054】
なお、変換規則情報tにおいて「変換マスターファイル」が指定されている場合には、変換マスターファイルF3bを参照して、テキスト形式に変換後のコードをさらに別のテキストデータに変換する。
【0055】
図11は、表形式変換マスターファイルF3a及び変換マスターファイルF3bの内容例を示す図である。
図11では、表形式変換マスターファイルF3aの一部を示している。変換マスターファイルF3bは、
図11に示す内容をデータ記述言語(JSON)に変換したものであるが、含まれる情報の内容は同一であるため、便宜上、表形式変換マスターファイルF3aと同一図面に記載している。
図11に示す変換マスターファイルF3bでは、コード「01」、「02」、…に対してそれぞれ駅名の文字列が対応付けられている。例えば、変換規則情報tに従う変換処理で得られたデータが「05」であった場合には、変換マスターファイルF3bが参照されて「上野」の文字列に再変換される。
【0056】
以上の処理により
図6のステップS104が終了すると、制御部21は、データブロックb内の全てのデータ項目biの変換が完了したか否かを判別する(ステップS105)。テキスト形式への変換が完了していないデータ項目biがあると判別された場合には(ステップS105で“NO”)、制御部21は、処理をステップS103に戻して次のデータ項目biを選択する。ステップS103~S105の処理ループを実行することで、制御部21は、データブロックbに含まれる複数のデータ項目biの各々を、変換定義ファイルF2bに基づいてテキスト形式のデータに変換する。
【0057】
データブロックb内の全てのデータ項目biの変換が完了したと判別された場合には(ステップS105で“YES”)、制御部21は、全てのデータブロックbの変換が完了したか否かを判別する(ステップS106)。テキスト形式への変換が完了していないデータブロックbがあると判別された場合には(ステップS106で“NO”)、制御部21は、処理をステップS102に戻して、次のデータブロックbを選択する。ステップS102~S106の処理ループを実行することで、制御部21は、バイナリデータBに含まれる複数のデータブロックbの各々を、変換定義ファイルF2bに基づいてテキスト形式のデータに変換する。
【0058】
バイナリデータB内の全てのデータブロックbの変換が完了したと判別された場合には(ステップS106で“YES”)、制御部21は、バイナリデータBに対応する変換後のテキストデータTを生成して記憶部25に保存する。
ステップS107の処理が終了すると、制御部21は、データ変換処理を終了させる。
【0059】
このように、構造定義ファイルF1b、変換定義ファイルF2b及び変換マスターファイルF3bを参照してバイナリデータBを変換する方法によれば、バイナリデータBの構造が車両形式や線区によって異なっていても、同一の変換プログラムPを用いて簡易に変換を実行することができる。以下では、
図12を参照してこの点について説明する。
【0060】
図12は、構造の異なるバイナリデータBの変換方法を説明する模式図である。
図12の上部に示すように、バイナリデータBの構造は、鉄道車両10の車両形式や線区によって異なる。これは、鉄道車両10に搭載されている機器の種類や数が、車両形式や線区によって異なるためである。
【0061】
例えば、
図12に模式的に示されているように、E235系のバイナリデータBでは、各データブロックbに含まれるデータ項目biが4種類であるのに対し、E353系及びE131系のバイナリデータBでは、各データブロックbに含まれるデータ項目biが3種類となっている。さらに、E353系とE131系では、各データブロックbに含まれるデータ項目biの種類が互いに異なっている。
【0062】
本実施形態では、このようにバイナリデータBの構造が異なる場合には、バイナリデータBの構造ごとに(すなわち、車両形式や線区ごとに)、そのバイナリデータBに対応する構造定義ファイルF1b、変換定義ファイルF2b及び変換マスターファイルF3bが用意される。詳しくは、そのバイナリデータBにおける複数のデータブロックbの構造に係る構造定義ファイルF1bが用意される。また、データブロックbに含まれる複数のデータ項目biの位置やその変換規則に係る変換定義ファイルF2bが用意される。また、変換マスターファイルF3bも、バイナリデータBに含まれるデータ項目biに応じて用意される。そして、バイナリデータBの変換を実行する際に、当該バイナリデータBに対応する構造定義ファイルF1b、変換定義ファイルF2b及び変換マスターファイルF3bを選択して参照することで、同一の変換プログラムPを用いて簡易にバイナリデータBをテキストデータTに変換することができる。
【0063】
<定義ファイルの生成方法>
次に、構造定義ファイルF1b及び変換定義ファイルF2bの作成方法について説明する。以下では、表形式構造定義ファイルF1a及び構造定義ファイルF1bをまとめて「構造定義ファイルF1」と記し、表形式変換定義ファイルF2a及び変換定義ファイルF2bをまとめて「変換定義ファイルF2」と記す。
上述のとおり、構造定義ファイルF1及び変換定義ファイルF2は、車両形式ごとに、また線区ごとに生成する必要があるものの、既存の構造定義ファイルF1及び変換定義ファイルF2と部分的に共通する場合には、以下の方法を用いることで生成の手間を低減することができる。構造定義ファイルF1及び変換定義ファイルF2の生成処理は、定義情報生成部213により実行される。
【0064】
変換定義ファイルF2を生成する場合には、まず
図13に示す流用元選択画面23aが表示部23に表示される。流用元選択画面23aでは、既に変換定義ファイルF2が生成されている車両形式がリストアップされており、各車両形式に選択ボタン231が設けられている。変換定義ファイルF2の内容を一部流用したい一又は二以上の車両形式を、選択ボタン231で選択することができる。車両形式を選択した状態で決定ボタン232を選択することで、流用する変換定義ファイルF2が特定される。なお、
図13では、車両形式がリストアップされているが、これに加えて、又はこれに代えて、線区がリストアップされてもよい。
【0065】
流用する変換定義ファイルF2が特定されると、
図14に示す変換定義ファイル生成画面23bが表示部23に表示される。変換定義ファイル生成画面23bでは、
図13の流用元選択画面23aで選択された車両形式に対応する既存の変換定義ファイルF2が上方に配列される。また、新たに生成する変換定義ファイルF2nの内容が下方に表示される。既存の変換定義ファイルF2には、データ項目biごとに(すなわち変換規則情報tごとに)選択ボタン233が設けられている。制御部21(定義情報生成部213)は、選択ボタン233によって、複数の変換規則情報tのうち一部の変換規則情報tを選択するユーザ操作を受け付け。選択ボタン233によって選択された変換規則情報tの内容は、新たな変換定義ファイルF2nにコピーされる。複数の選択ボタン233を選択することで、対応する複数の変換規則情報tの内容が新たな変換定義ファイルF2nにコピーされる。新たな変換定義ファイルF2nにおいて、いずれかの変換規則情報tを左右方向にドラッグすることで、複数の変換規則情報tの順序を入れ替えることができるようになっていてもよい。新たな変換定義ファイルF2nでは、既存の変換定義ファイルF2から流用せずに新規に変換規則情報tを追加、編集することもできる。決定ボタン234が選択されると、ユーザ操作により選択された変換規則情報tを含む、表示中の内容の新たな変換定義ファイルF2nが生成される。
【0066】
このようにして変換定義ファイルF2が生成された場合に、制御部21(定義情報生成部213)は、生成した変換定義ファイルF2に基づいてデータブロックbのデータ長を特定し、当該データ長の情報を含む構造定義ファイルF1を自動的に生成してもよい。この場合において、構造定義ファイルF1における1サンプリング目のデータブロックbの開始位置 、及びバイナリデータBあたりのサンプリング数などの他の情報については、予め定められている値を用いてもよいし、ユーザからの入力を受け付けてもよい。
【0067】
<効果>
以上のように、本実施形態に係る情報処理装置20は、鉄道車両10に搭載された複数の機器からの出力データに基づいて生成されたバイナリデータBを、所定のデータ形式のデータとしてのテキストデータTに変換するデータ変換部212(制御部21)を備える。バイナリデータBは、複数のデータブロックbを含み、複数のデータブロックbの各々は、複数の機器からの出力データに対応する複数のデータ項目biを含む。バイナリデータBには、対応する構造定義ファイルF1b及び変換定義ファイルF2bが予め定められている。構造定義ファイルF1bは、バイナリデータBにおける複数のデータブロックbの構造に係る情報を含み、変換定義ファイルF2bは、複数のデータブロックbの各々をテキスト形式に変換する規則に係る情報を含む。データ変換部212は、構造定義ファイルF1bに基づいて複数のデータブロックbを特定し、特定した複数のデータブロックbの各々を変換定義ファイルF2bに基づいてテキスト形式のデータに変換する。
このような情報処理装置20によれば、参照する構造定義ファイルF1b及び変換定義ファイルF2bを変更することで、同一の変換プログラムPを用いて、構造の異なる複数のバイナリデータBをテキストデータTに変換することができる。よって、構造の異なる複数のバイナリデータBに対してそれぞれ変換プログラムを用意する必要がないため、手間を低減できるとともに、データ解析に掛かるコストを削減することができる。
【0068】
また、複数のデータブロックbの各々は、データ長が同一であり、構造定義ファイルF1bは、バイナリデータBに含まれるデータブロックbの数及びデータ長の情報を含む。
これにより、構造定義ファイルF1bの内容を簡素化できるとともに、簡易な処理でバイナリデータBに含まれる複数のデータブロックbを特定することができる。
【0069】
また、複数のデータブロックbの各々は、複数の機器から所定のサンプリング期間に出力された出力データに基づいて生成されている。
これにより、サンプリング期間ごとの各機器の動作状態を反映したバイナリデータB及びテキストデータTが得られる。
【0070】
また、変換定義ファイルF2bは、データブロックbにおける複数のデータ項目biの各々の位置に係る情報を含む。
これにより、簡易な処理で、データブロックbに含まれる複数のデータ項目biを特定することができる。
【0071】
また、変換定義ファイルF2bは、複数のデータ項目biの各々について、当該データ項目biをデータ形式に変換する変換規則に係る変換規則情報tを含む。
これにより、各データ項目biについて別個の変換規則を対応付けることができる。よって、各データ項目biが別個の規則でバイナリ形式に変換されている場合においても、各データ項目biを適切な変換規則でテキスト形式に変換することができる。
【0072】
また、情報処理装置20は、ユーザからの指示に基づいて変換定義ファイルF2bを生成する定義情報生成部213(制御部21)を備える。
これにより、既存の変換定義ファイルF2bが適用できない場合であっても、適切な変換定義ファイルF2bを生成してバイナリデータBを変換することができる。
【0073】
また、定義情報生成部213は、例えば
図13及び
図14に示すユーザーインターフェースを用いて、既存の一又は二以上の変換定義ファイルF2bに含まれる複数の変換規則情報tのうち一部の変換規則情報tを選択するユーザ操作を受け付け、ユーザ操作により選択された変換規則情報tを含む変換定義ファイルF2bを生成する。
これにより、既存の変換定義ファイルF2と共通する変換規則情報tについては入力の手間を省きつつ、新たな変換定義ファイルF2nを簡易に生成することができる。
【0074】
また、定義情報生成部213は、生成した変換定義ファイルF2bに基づいてデータブロックbのデータ長を特定し、当該データ長の情報を含む構造定義ファイルF1bを生成する。
これにより、変換定義ファイルF2bの内容に応じて構造定義ファイルF1bを自動的に生成することができる。
【0075】
また、本実施形態に係る変換プログラムPは、情報処理装置20に設けられたコンピューターとしての制御部21をデータ変換部212(データ変換手段)として機能させる。データ変換部212は、鉄道車両10に搭載された複数の機器からの出力データに基づいて生成されたバイナリデータBを、所定のデータ形式のデータとしてのテキストデータTに変換する。バイナリデータBは、複数のデータブロックbを含み、複数のデータブロックbの各々は、複数の機器からの出力データに対応する複数のデータ項目biを含む。バイナリデータBには、対応する構造定義ファイルF1b及び変換定義ファイルF2bが予め定められている。構造定義ファイルF1bは、バイナリデータBにおける複数のデータブロックbの構造に係る情報を含み、変換定義ファイルF2bは、複数のデータブロックbの各々をテキスト形式に変換する規則に係る情報を含む。データ変換部212は、構造定義ファイルF1bに基づいて複数のデータブロックbを特定し、特定した複数のデータブロックbの各々を変換定義ファイルF2bに基づいてテキスト形式のデータに変換する。
このような変換プログラムPによれば、参照する構造定義ファイルF1b及び変換定義ファイルF2bを変更することで、構造の異なる複数のバイナリデータBをテキストデータTに変換することができる。よって、構造の異なる複数のバイナリデータBに対してそれぞれ変換プログラムを用意する必要がないため、手間を低減できるとともに、データ解析に掛かるコストを削減することができる。
【0076】
<その他>
なお、本発明は、上記実施形態及び変形例に限られるものではなく、様々な変更が可能である。
例えば、上記実施形態では、バイナリデータBの変換先のデータ形式として、CSV形式等のテキスト形式を例示したが、これに限定する趣旨ではなく、バイナリ形式以外の任意のデータ形式とすることができる。
【0077】
また、バイナリデータBの全体をテキストデータTに変換する例を用いて説明したが、これに代えて、バイナリデータBのうち予め設定された一部、又はユーザに指定された一部のみを選択的にテキストデータTに変換してもよい。例えば、異常が発生している機器がある場合に、バイナリデータBのうち当該機器の出力データに相当する部分のみをテキストデータTに変換してもよい。
【0078】
また、データ長が等しいデータブロックbが繰り返されている構造のバイナリデータBを例示したが、これに限定する趣旨ではなく、バイナリデータBにおける複数のデータブロックbの構造が構造定義ファイルF1bによって特定できれば、複数のデータブロックbのデータ長が異なっていてもよい。例えば、複数のサンプリング期間に1回の割合で(すなわち、複数のデータブロックbに1つの割合で)特定の機器に対応するデータ項目biが追加されていてもよい。
【0079】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0080】
1 情報処理システム
10 鉄道車両
10A 1号車
10B 2号車
10C 3号車
11 中央端末装置
12A~12C 伝送端末装置
13 記録装置
14 通信ユニット
15 運転台IF
16A~16C 空調装置
17A~17C ブレーキ装置
18 駆動装置
19 伝送路
20 情報処理装置
21 制御部
211 定義ファイル変換部
212 データ変換部
213 定義情報生成部
22 操作部
23 表示部
23a 流用元選択画面
23b 変換定義ファイル生成画面
231、233 選択ボタン
232、234 決定ボタン
24 通信部
25 記憶部
26 バス
B バイナリデータ
b データブロック
bi データ項目
F1a 表形式構造定義ファイル
F1b 構造定義ファイル(構造定義情報)
F2a 表形式変換定義ファイル
F2b 変換定義ファイル(変換定義情報)
F3a 表形式変換マスターファイル
F3b 変換マスターファイル
h 共通ヘッダー
P 変換プログラム
T テキストデータ(所定のデータ形式のデータ)
t 変換規則情報