(57)【要約】【課題】作業機械の外部から、当該作業機械に係るデータを、当該作業機械に搭載されるコンポーネントの個別プロトコルによらずに取得する。【解決手段】収集部は、コンポーネントから、当該コンポーネントの個別プロトコルに従ってデータを収集する。変換部は、収集されたデータを所定のフォーマットに変換することで、統一データオブジェクトを生成する。データ送信部は、統一データオブジェクトを外部に送信する。【選択図】図４
2020056178.tif 000002
【特許請求の範囲】
【請求項１】
作業機械に搭載されたコンポーネントからデータを収集するデータ収集装置であって、
前記コンポーネントから、車載ネットワークを介してデータを収集する収集部と、
収集された前記データを所定のフォーマットに変換することで、統一データオブジェクトを生成する変換部と、
前記統一データオブジェクトを外部に送信するデータ送信部と
を備える作業機械のデータ収集装置。
【請求項２】
物理的に分けられた、リアルタイムＯＳが稼働する第１基板と汎用ＯＳが稼働する第２基板とを備え、
前記収集部は、前記第１基板に備えられ、
前記データ送信部は、前記第２基板に備えられる
請求項１に記載の作業機械のデータ収集装置。
【請求項３】
前記変換部は、前記第１基板に備えられ、
前記データ送信部は、前記第１基板から取得した前記統一データオブジェクトを、外部に送信する
請求項２に記載の作業機械のデータ収集装置。
【請求項４】
前記コンポーネントから取得可能なデータの種類と、当該データを取得するための収集方法とを格納する収集方法テーブルを参照して、前記収集方法を特定する収集方法特定部を備える
請求項１または請求項２に記載の作業機械のデータ収集装置。
【請求項５】
前記変換部は、前記収集方法に格納されたデータのオフセットおよびデータ長に基づき、前記統一データオブジェクトに変換する、
請求項４に記載の作業機械のデータ収集装置。
【請求項６】
前記統一データオブジェクトに係るデータを前記作業機械に搭載された他のコンポーネントに出力するデータ出力部を備え、
前記変換部は、前記統一データオブジェクトを前記車載ネットワークに係るフォーマットのデータに変換し、
前記データ出力部は、前記車載ネットワークに係るフォーマットのデータを出力する
請求項１から請求項５のいずれか１項に記載の作業機械のデータ収集装置。
【請求項７】
請求項１に記載のデータ収集装置を備える複数の作業機械と、
前記複数の作業機械のそれぞれが備えるデータ収集装置から前記統一データオブジェクトを受信するデータサーバと
を備え、
前記データサーバは、
前記データ収集装置から前記統一データオブジェクトを受信するデータ受信部と、
外部から前記作業機械の識別情報を含むデータ提示リクエストを受信し、前記識別情報に対応する作業機械のデータ収集装置から受信した前記統一データオブジェクトを送信するデータ送信部とを備える
作業機械のデータ提供システム。
【請求項８】
前記統一データオブジェクトは、データの種類を特定する識別子と前記データの値とを含むデータ構造を有し、
前記データ送信部は、識別子と当該識別子に係るデータの表示名とを関連付けて記憶する定義情報を参照して、受信した前記統一データオブジェクトに係るデータの値と、前記表示名とを関連付けて送信する
請求項７に記載の作業機械のデータ提供システム。
【請求項９】
作業機械に搭載されたコンポーネントからデータを収集するデータ収集方法であって、
前記コンポーネントから、車載ネットワークを介してデータを収集するステップと、
収集された前記データを所定のフォーマットに変換することで、統一データオブジェクトを生成するステップと、
前記統一データオブジェクトを外部に送信するステップと
を備える作業機械のデータ収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機械に搭載されたコンポーネントからデータを収集するデータ収集装置、データ提供システム、およびデータ収集方法に関する。
【背景技術】
【０００２】
特許文献１には、作業機械から作業機械に関する情報を収集する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７７８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
作業機械に搭載されるコンポーネントは、一般的にＣＡＮ(Controller Area Network)に接続される。ＣＡＮの通信で用いられるデータフレームは、値を格納するための最大８バイトのデータ部を有する。ＣＡＮのデータフレームは、通常、データ部に複数種類のデータの値を格納して伝送される。データ部に格納される値の内容および格納位置は、データフレームのフォーマットによって定められ、当該フォーマットはコンポーネントの種類および型によって異なる。そのため、特許文献１に記載の技術において、コンポーネントからデータを取得するためには、予めそのコンポーネントにおいて用いられるデータフレームのフォーマットを知っておく必要がある。しかしながら、データの収集対象となる作業機械がどのようなコンポーネントを備えており、またそのコンポーネントがどのようなフォーマットに従って値を格納するのかを予め知っておくことは困難である。
本発明の目的は、作業機械の外部から、当該作業機械に係る所望のデータを容易に取得することができる作業機械のデータ収集装置、作業機械のデータ提供システム、および作業機械のデータ収集方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、データ収集装置は、作業機械に搭載されたコンポーネントからデータを収集するデータ収集装置であって、前記コンポーネントから、当該コンポーネントの個別プロトコルに従ってデータを収集する収集部と、収集された前記データを所定のフォーマットに変換することで、統一データオブジェクトを生成する変換部と、前記統一データオブジェクトを外部に送信するデータ送信部とを備える。
【発明の効果】
【０００６】
上記態様のうち少なくとも１つの態様によれば、作業機械の外部から、当該作業機械に係る所望のデータを容易に取得することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るデータ提供システムの構成図である。
【図２】統一フォーマットの形式を示す図である。
【図３】作業機械の外観を示す斜視図である。
【図４】作業機械の制御系統の構成を示すブロック図である。
【図５】データの収集および変換の例を示す図である。
【図６】収集方法テーブルのデータ構造を示す図である。
【図７】処理条件テーブルのデータ構造を示す図である。
【図８】収集可能テーブルのデータ構造を示す図である。
【図９】データテーブルのデータ構造を示す図である。
【図１０】第１の実施形態に係るデータサーバの構成を示すブロック図である。
【図１１】第１の実施形態に係る定義データベースが記憶する情報の例を示す図である。
【図１２】第１の実施形態に係るデータ提供システムにおける処理条件の設定方法を示すシーケンス図である。
【図１３】第１の実施形態に係るデータ提供システムにおけるデータの収集方法を示すシーケンス図である。
【図１４】第１の実施形態に係るデータ提供システムにおけるデータの送信方法を示すシーケンス図である。
【図１５】第１の実施形態に係るデータ提供システムにおけるデータの提示方法を示すシーケンス図である。
【発明を実施するための形態】
【０００８】
〈第１の実施形態〉
図１は、第１の実施形態に係るデータ提供システム１の構成図である。
データ提供システム１は、複数の作業機械１０に係るデータをユーザによる利用のために提供する。データ提供システム１は、複数の作業機械１０と、データサーバ３０と、定義データベース５０と、ユーザ装置７０とを備える。各作業機械１０は、当該作業機械１０に係るデータを収集し、データサーバ３０に送信する。データサーバ３０は、複数の作業機械１０から収集したデータを記憶し、当該データをユーザ装置７０に提供する。定義データベース５０は、データサーバ３０によるデータの提供の際に必要な情報を記憶する。ユーザ装置７０は、作業機械１０に収集させるデータの条件を設定し、またデータサーバ３０から作業機械１０に係るデータを取得する。図１において、作業機械１０として油圧ショベルが図示されているが、その他の作業機械でもよく、例えばブルドーザ、ダンプトラック、ホイールローダであってもよい。
【０００９】
作業機械１０とデータサーバ３０との間、およびデータサーバ３０とユーザ装置７０との間において、作業機械１０に係るデータの通信を行う場合、統一フォーマットに係る単位データを用いた通信がなされる。統一フォーマットは、１種類のデータの値を格納する単位データフォーマットである。作業機械１０は、各コンポーネントから収集したＣＡＮの単位データに含まれる複数の値を、それぞれ統一フォーマットの単位データに格納してデータサーバ３０に送信する。単位データは、データフレーム、パケット、ＰＤＵ（Protocol Data Unit）とも呼ばれる。
以下、統一フォーマットの形式のデータを、統一データオブジェクトとよぶ。
【００１０】
図２は、統一フォーマットの形式を示す図である。
統一フォーマットは、データの種類を示す識別子と、当該データの値と、コンポーネントが当該データを取得した時刻を示すタイムスタンプとを格納する。１つの統一データオブジェクトには、識別子、値およびタイムスタンプがそれぞれ１つだけ格納される。
【００１１】
《作業機械１０の構成》
図３は、作業機械１０の外観を示す斜視図である。
作業機械である作業機械１０は、油圧により作動する作業機１１００と、作業機１１００を支持する旋回体１２００と、旋回体１２００を支持する走行体１３００とを備える。
【００１２】
《作業機１１００》
作業機１１００は、ブーム１１１０と、アーム１１２０と、バケット１１３０と、ブームシリンダ１１４０と、アームシリンダ１１５０と、バケットシリンダ１１６０とを備える。
【００１３】
ブーム１１１０は、アーム１１２０およびバケット１１３０を支える支柱である。ブーム１１１０の基端部は、旋回体１２００の前部にピンを介して取り付けられる。
アーム１１２０は、ブーム１１１０とバケット１１３０とを連結する。アーム１１２０の基端部は、ブーム１１１０の先端部にピンを介して取り付けられる。
バケット１１３０は、土砂などを掘削するための刃を有する容器である。バケット１１３０の基端部は、アーム１１２０の先端部にピンを介して取り付けられる。
【００１４】
ブームシリンダ１１４０は、ブーム１１１０を作動させるための油圧シリンダである。ブームシリンダ１１４０の基端部は、旋回体１２００に取り付けられる。ブームシリンダ１１４０の先端部は、ブーム１１１０に取り付けられる。
アームシリンダ１１５０は、アーム１１２０を駆動するための油圧シリンダである。アームシリンダ１１５０の基端部は、ブーム１１１０に取り付けられる。アームシリンダ１１５０の先端部は、アーム１１２０に取り付けられる。
バケットシリンダ１１６０は、バケット１１３０を駆動するための油圧シリンダである。バケットシリンダ１１６０の基端部は、アーム１１２０に取り付けられる。バケットシリンダ１１６０の先端部は、バケット１１３０に取り付けられる。
【００１５】
《旋回体１２００》
旋回体１２００には、オペレータが搭乗する運転室１２１０が備えられる。運転室１２１０は、旋回体１２００の前方かつ作業機１１００の左側に備えられる。
【００１６】
運転室１２１０の内部には、作業機１１００を操作するための操作装置１２１１が設けられる。操作装置１２１１の操作量に応じて、ブームシリンダ１１４０、アームシリンダ１１５０、およびバケットシリンダ１１６０に作動油が供給され、作業機１１００が駆動する。
【００１７】
《コンポーネント》
作業機械１０は、位置方位演算器１２３０、傾斜検出器１２４０を備える。位置方位演算器１２３０、傾斜検出器１２４０は、コンポーネントの一例である。また、作業機械１０は、作業機械１０に係るデータを収集し、データサーバ３０に送信するデータ収集装置１１を備える。データ収集装置１１は、運転室１２１０内に設けられている。後述する制御コンポーネント１２および拡張コンポーネント１４は、同様に運転室１２１０内に設けられてもよいし、例えば旋回体１２００上の運転室１２１０の外に設けられてもよい。
【００１８】
位置方位演算器１２３０は、旋回体１２００の位置および旋回体１２００が向く方位を演算する。位置方位演算器１２３０は、ＧＮＳＳ（Global Navigation Satellite System）を構成する人工衛星から測位信号を受信する第１受信器１２３１および第２受信器１２３２を備える。第１受信器１２３１および第２受信器１２３２は、それぞれ旋回体１２００の異なる位置に設置される。位置方位演算器１２３０は、第１受信器１２３１が受信した測位信号に基づいて、現場座標系における旋回体１２００の代表点Ｏ（車体座標系の原点）の位置を検出する。
位置方位演算器１２３０は、第１受信器１２３１が受信した測位信号と、第２受信器１２３２が受信した測位信号とを用いて、検出された第１受信器１２３１の設置位置に対する第２受信器１２３２の設置位置の関係として、旋回体１２００の方位を演算する。
【００１９】
傾斜検出器１２４０は、旋回体１２００の加速度および角速度を計測し、計測結果に基づいて旋回体１２００の傾き（例えば、Ｘｍ軸に対する回転を表すロール、Ｙｍ軸に対する回転を表すピッチ、およびＺｍ軸に対する回転を表すヨー）を検出する。傾斜検出器１２４０は、例えば運転室１２１０の下面に設置される。傾斜検出器１２４０は、例えば、慣性計測装置であるＩＭＵ（Inertial Measurement Unit）を用いることができる。
【００２０】
図４は、作業機械１０の制御系統の構成を示すブロック図である。
データ収集装置１１は、物理的に分かれた第１基板１００と第２基板２００とを備える。第１基板１００は、リアルタイムＯＳ（Operating System）を稼働させるコンピュータを構成する。第２基板２００は、汎用ＯＳを稼働させるコンピュータを構成する。
【００２１】
第１基板１００は、第１プロセッサ１１０、第１メインメモリ１３０、第１ストレージ１５０、第１インタフェース１７０を備える。第１プロセッサ１１０は、第１ストレージ１５０からプログラムを読み出して第１メインメモリ１３０に展開し、当該プログラムに従って所定の処理を実行する。第１インタフェース１７０は、第１ネットワークＮ１を介して作業機械１０を制御するための複数の制御コンポーネント１２と接続される。制御コンポーネント１２の例としては、エンジン関連の各種データをセンサにより取得しエンジン関連を制御するエンジン制御コンポーネント、作業機１１００の動作を制御する油圧機器関連の各種データをセンサにより取得し当該油圧機器を制御する油圧制御コンポーネント、作業機械１０の各種センサからデータを取得し図示しないモニタの表示制御を行うモニタ制御コンポーネント、外部のサーバ等と通信を行うための通信機器を制御し、作業機械の各種センサからデータを取得する通信コンポーネント等が挙げられる。第１ネットワークＮ１は、例えばＣＡＮである。また第１インタフェース１７０は、作業機械１０の状態量を検出するセンサ１３が接続される。制御コンポーネント１２およびセンサ１３は、作業機械１０に搭載されるコンポーネントの一例である。第１ネットワークＮ１に接続される制御コンポーネント１２により、作業機械１０の基本的な動作制御が行われる。
【００２２】
第２基板２００は、第２プロセッサ２１０、第２メインメモリ２３０、第２ストレージ２５０、第２インタフェース２７０を備える。第２プロセッサ２１０は、第２ストレージ２５０からプログラムを読み出して第２メインメモリ２３０に展開し、当該プログラムに従って所定の処理を実行する。第２インタフェース２７０は、第２ネットワークＮ２を介して作業機械１０の機能を拡張するための複数の拡張コンポーネント１４と接続される。拡張コンポーネント１４の例としては、カメラで撮像した画像に対して所定の画像処理を行い表示制御をする画像表示コンポーネント、施工現場の設計面と作業機械１０との位置関係などをオペレータにガイダンスするためのガイダンスモニタを表示制御するマシンガイダンスコンポーネント、作業機１１００により掘削した土量を計測するためのペイロードコンポーネント等が挙げられる。第２ネットワークＮ２は、例えばＣＡＮまたはEthernet（登録商標）である。拡張コンポーネント１４は、作業機械１０に搭載されるコンポーネントの一例である。第２ネットワークＮ２に接続される拡張コンポーネント１４により、作業機械１０およびオペレータに拡張的な情報の提供が行われる。
第１インタフェース１７０と第２インタフェース２７０は、互いに通信可能に接続される。
【００２３】
第１ストレージ１５０または第２ストレージ２５０に記憶されるプログラムは、第１基板１００または第２基板２００に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、第１ストレージ１５０または第２ストレージ２５０に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、第１基板１００または第２基板２００は、上記構成に加えて、または上記構成に代えてＰＬＤ（Programmable Logic Device）などのカスタムＬＳＩ（Large Scale Integrated Circuit）を備えてもよい。ＰＬＤの例としては、ＰＡＬ(Programmable Array Logic)、ＧＡＬ(Generic Array Logic)、ＣＰＬＤ(Complex Programmable Logic Device)、ＦＰＧＡ（Field Programmable Gate Array）が挙げられる。この場合、第１基板１００または第２基板２００によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【００２４】
第１ストレージ１５０および第２ストレージ２５０の例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。第１ストレージ１５０および第２ストレージ２５０は、バス線に直接接続された内部メディアであってもよいし、第１インタフェース１７０または通信回線を介してデータ収集装置１１に接続される外部メディアであってもよい。また、このプログラムが通信回線によってデータ収集装置１１に配信され、第１プロセッサ１１０または第２プロセッサ２１０が当該プログラムを実行してもよい。少なくとも１つの実施形態において第１ストレージ１５０および第２ストレージ２５０は、一時的でない有形の記憶媒体である。
【００２５】
第１プロセッサ１１０は、第１ストレージ１５０が記憶するプログラムの実行により、収集指示入力部１１１、収集部１１２、変換部１１３、およびデータ出力部１１４として機能する。
【００２６】
収集指示入力部１１１は、第２基板２００からデータの収集方法（Collection method）を含む収集指示の入力を受け付ける。当該収集方法は、制御コンポーネント１２またはセンサ１３が生成するＣＡＮフォーマットに係る単位データのデータ部において収集対象の値が格納される領域を特定するための情報である。
【００２７】
図５は、データの収集および変換の例を示す図である。単位データＰは、ヘッダ部Ｈとデータ部Ｄとを有する。ヘッダ部Ｈとは、単位データＰに関する各種情報が格納されており、例えば単位データＰの種別が格納されている。単位データＰの種別によって、当該単位データＰのデータ部Ｄに格納されるデータの収集方法が特定される。単位データＰの種別として、例えばJ1939のID番号：１といったものがある。値とは、データ部Ｄに割り当てられる所定のデータ値であり、データ部Ｄの所定領域に格納される。値は、データ部Ｄの先頭から値の始点までのビット数を示すオフセットと、値のサイズを示すデータ長とによって特定される。図５に示す例では、単位データＰのデータ部Ｄには、３つの値Ｃ１、Ｃ２、Ｃ３が割り当てられる。値Ｃ１は、オフセットＯ１およびデータ長Ｌ１によって特定される。値Ｃ２は、オフセットＯ２およびデータ長Ｌ２によって特定される。値Ｃ３は、オフセットＯ３およびデータ長Ｌ３によって特定される。値Ｃ１には、例えばエンジン回転数が、値Ｃ２には、例えばエンジントルクが、値Ｃ３には、例えばエンジン水温が格納される。なお、データ部Ｄにおける値の割り当ては図５に示すものに限られない。例えば値の数は２つ以下または４つ以上であってもよいし、各値の内容が異なるものであってもよい。
【００２８】
制御コンポーネント１２およびセンサ１３の種類および型によって、ＣＡＮを介した通信において扱う単位データのフォーマットが異なる。単位データのフォーマットの例としては、SAE J1939などが挙げられる。単位データのフォーマットは任意に設計者によってルールを定められてもよい。また、ＣＡＮの単位データには、最大８バイトのデータ部に複数の値が設定され、所定の格納領域に格納される。そのため、同じ種類のデータの値であっても、単位データのフォーマットによって、データ部に格納される値の位置およびサイズが異なる可能性がある。
そのため、収集方法は、フォーマットの種類、オフセットの値およびデータ長の値を含む。
【００２９】
収集部１１２は、収集指示入力部１１１に入力された収集指示に含まれる収集方法に従って制御コンポーネント１２またはセンサ１３からデータを収集する。具体的には、収集部１１２は、収集方法に基づいて、ヘッダ部から単位データの種別を特定した後に、収集対象の値が格納される格納領域を特定し、制御コンポーネント１２またはセンサ１３から送信される単位データから、特定した格納領域に格納された値を収集する。
【００３０】
変換部１１３は、収集部１１２が収集したデータを統一フォーマットのデータに変換することで、統一データオブジェクトを生成する。具体的には、変換部１１３は、図５に示すように、ＣＡＮデータの単位データＰから収集された複数の値のそれぞれについて、収集された値と当該値に係るデータの種類を示す識別子とを格納する統一データオブジェクトを生成する。図５に示す例では、変換部１１３は、値Ｃ１に基づいて統一データオブジェクトＵ１を生成し、値Ｃ２に基づいて統一データオブジェクトＵ２を生成し、値Ｃ３に基づいて統一データオブジェクトＵ３を生成する。統一データオブジェクトＵ１には、値Ｃ１のデータの種別を示す識別子Ｉ１、当該値Ｃ１の取得時刻を示すタイムスタンプＴ１が含まれる。統一データオブジェクトＵ２には、値Ｃ２のデータの種別を示す識別子Ｉ２、当該値Ｃ２の取得時刻を示すタイムスタンプＴ２が含まれる。統一データオブジェクトＵ３には、値Ｃ３のデータの種別を示す識別子Ｉ３、当該値Ｃ３の取得時刻を示すタイムスタンプＴ３が含まれる。
【００３１】
第１プロセッサ１１０は、所定の単位データのフォーマットのルールを収集方法テーブルから参照することで、当該単位データの中から１つの値を抽出し、当該値の統一データフォーマットにおける識別子とタイムスタンプを付与して１つの統一データフォーマットに変換する。そうすることにより、１つの任意のデータ値に対して１つの識別子を紐づけて統一データフォーマットとしてデータ管理を行うことで、容易にデータを活用することが可能になる。
【００３２】
データ出力部１１４は、変換部１１３が生成した統一データオブジェクトを第２基板２００に出力する。
【００３３】
第２プロセッサ２１０は、第２ストレージ２５０が記憶するプログラムの実行により、処理条件受信部２１１、収集判定部２１２、収集方法特定部２１３、収集指示出力部２１４、データ取得部２１５、収集部２１６、変換部２１７、データ登録部２１８、収集可能リスト通知部２１９、データ送信部２２０として機能する。また、第２ストレージ２５０には、収集方法テーブル２５１、処理条件テーブル２５２、収集可能テーブル２５３、およびデータテーブル２５４の記憶領域が確保される。
【００３４】
図６は、収集方法テーブル２５１のデータ構造を示す図である。収集方法テーブル２５１は、予め、各コンポーネント（制御コンポーネント１２、センサ１３、および拡張コンポーネント１４）のそれぞれについて、当該コンポーネントから取得可能なデータの種類を示す識別子と、当該データの収集方法とを関連付けて記憶する。データの収集方法は、例えば単位データの種別、単位データのデータ部に割り当てられた値のオフセット、値のデータ長などを含む。
なお、データの種類として、各コンポーネントがセンサから取得するデータに限られず、例えば各コンポーネントが異常を検知した異常データ、作業機械１０の周囲に存在する人を含む障害物を検知した障害物データ、作業機械１０に設置した図示しないカメラにより撮像した画像データ、作業機械１０の外部における外気温データや湿度データを含む外部環境データ、作業機械１０の周囲の現況地形の計測結果である現況地形データを含めてもよい。
【００３５】
図７は、処理条件テーブル２５２のデータ構造を示す図である。処理条件テーブル２５２は、データ収集装置１１が収集すべきデータの種類を示す識別子と、当該データの配信方式と、収集周期、送信周期とを関連付けて記憶する。データの配信方式は、例えばコンポーネントがデータリクエストを受けることによってデータを配信するＰＵＬＬ方式と、コンポーネントが自発的にデータを配信するＰＵＳＨ方式とが挙げられる。ＰＵＳＨ方式には、コンポーネントが所定周期ごとにデータを配信する方式と、所定のイベントの発生時にデータを配信する方式とが含まれる。収集周期は、配信方式がＰＵＬＬである場合に規定される条件である。つまり、データ収集装置１１は、収集周期に係るタイミングでコンポーネントにデータリクエストを送信する。なお、他の実施形態においては、処理条件テーブル２５２においてさらにデータの加工条件を規定してもよい。この場合、処理条件テーブル２５２は、識別子に関連付けて、さらに図示しない加工条件を記憶してよい。
【００３６】
図８は、収集可能テーブル２５３のデータ構造を示す図である。収集可能テーブル２５３は、作業機械１０に搭載された複数のコンポーネントにおいて収集することができるすべてのデータに係る識別子を記憶する。収集可能テーブル２５３は、収集方法テーブル２５１の各コンポーネントに関連付けられたすべての識別子をマージしたものと等価である。収集可能テーブル２５３は、さらに当該データの初期値、最小値、最大値、収集周期などを記憶してもよい。
【００３７】
図９は、データテーブル２５４のデータ構造を示す図である。データテーブル２５４は、データ収集装置１１が収集したデータを格納する。データテーブル２５４は、ローデータテーブル２５４Ａと、時系列データテーブル２５４Ｂとを備える。ローデータテーブル２５４Ａは、収集された統一データオブジェクトそのものを格納する。つまり、ローデータテーブル２５４Ａは、データの識別子と、当該データの値と、タイムスタンプとを関連付けて記憶する。ＰＵＬＬ形式のデータの収集周期は、処理条件テーブル２５２において定められるため、すべてのデータが同じ周期で収集されるとは限らない。また、ＰＵＳＨ形式のデータの送信周期は、コンポーネントごとに異なる可能性がある。したがって、ローデータテーブル２５４Ａに記録されるデータのタイムスタンプの値は、複数のデータの間でそろわないことがある。例えば、図９に示すように、ローデータテーブル２５４Ａにおいて、時刻ＸＸＸＸ／ＸＸ／ＸＸ  ００：００：０２において、識別子Ｘ１および識別子Ｘ３に係るデータの値は記録されているが、識別子Ｘ４および識別子Ｘ９に係るデータの値は記録されていない。
そのため、時系列データテーブル２５４Ｂには、一の時刻が指定されたときに、収集対象のすべての識別子に係るデータの値を得ることができるように、タイムスタンプがそろった統一データオブジェクトが格納される。つまり、時系列データテーブル２５４Ｂには、収集された統一データオブジェクトと、当該統一データオブジェクトの加工によって生成された統一データオブジェクトとが格納される。
【００３８】
処理条件受信部２１１は、データサーバ３０から、作業機械１０に係るデータの収集に係る条件である収集条件（Collection condition）、および送信に係る条件である送信条件を規定する処理条件情報を受信する。収集条件に係る処理条件情報は、例えば収集するデータの種類を表す識別子と、当該データの配信方式と、収集周期とを含む。収集周期は、収集方式がＰＵＬＬである場合に規定される。送信条件に係る処理条件情報は、送信するデータの種類を表す識別子と、当該データの送信周期とを含む。なお、配信方式を処理条件テーブル２５２に格納せず、収集方法テーブル２５１に格納してもよい。
処理条件受信部２１１は、受信した処理条件情報に基づいて処理条件テーブル２５２を更新する。
【００３９】
収集判定部２１２は、所定の処理周期に係るタイミングごとに処理条件テーブル２５２を参照し、現在のタイミングで収集すべきデータがあるか否かを判定する。収集判定部２１２は、収集すべきデータがある場合、収集すべきデータの識別子を特定する。
【００４０】
収集方法特定部２１３は、収集方法テーブル２５１を参照し、収集判定部２１２によって特定された各識別子について、データの収集方法を特定する。また収集方法特定部２１３は、各識別子について、当該識別子に係るデータを生成するコンポーネントが第１基板１００に接続されるか第２基板２００に接続されるかを特定する。
【００４１】
収集指示出力部２１４は、収集すべきデータのうち、第１基板１００に接続されるコンポーネントすなわち制御コンポーネント１２またはセンサ１３が生成するデータについて、第１基板１００にデータの収集指示を出力する。収集指示には、データの識別子と、収集方法特定部２１３が特定した収集方法とが含まれる。
【００４２】
データ取得部２１５は、第１基板１００が収集指示に従って収集されたデータを、第１基板１００から取得する。つまりデータ取得部２１５は第１基板１００から統一データオブジェクトを取得する。
【００４３】
収集部２１６は、収集すべきデータのうち、第２基板２００に接続されるコンポーネントすなわち拡張コンポーネント１４が生成するデータを、収集方法特定部２１３が特定した収集方法に従って取得する。
【００４４】
変換部２１７は、収集部２１６が収集したデータを統一フォーマットのデータに変換することで、統一データオブジェクトを生成する。また変換部２１７は、統一データオブジェクトを、ＣＡＮ通信に係るフォーマットに変換する。つまり、変換部２１７は、複数の統一データオブジェクトに係る値をデータ部に格納したＣＡＮの単位データを生成する。
【００４５】
データ登録部２１８は、データ取得部２１５が取得した統一データオブジェクトおよび変換部２１７が変換した統一データオブジェクトを、データテーブル２５４のローデータテーブル２５４Ａおよび時系列データテーブル２５４Ｂに登録する。また、データ登録部２１８は、当該タイミングにおいて収集しなかった識別子に係る統一データオブジェクトを生成し、時系列データテーブル２５４Ｂに登録する。
【００４６】
収集可能リスト通知部２１９は、収集可能テーブル２５３が記憶する識別子のリストである収集可能リストを、データサーバ３０に通知する。例えば、収集可能リスト通知部２１９は、収集可能テーブル２５３が更新されたタイミングで収集可能リストを通知してよい。
【００４７】
データ送信部２２０は、処理周期に係るタイミングごとに処理条件テーブル２５２を参照し、現在のタイミングで送信すべき統一データオブジェクトをデータテーブル２５４から読み出し、データサーバ３０に送信する。なお、他の実施形態に係るデータ送信部２２０は、データサーバ３０以外の装置に送信してもよい。例えばデータ送信部２２０は、データ収集装置１１が備える第２基板２００と異なる装置に統一データオブジェクトを送信してもよい。すなわちデータ送信部２２０は、統一データオブジェクトを外部に送信する。
また、データ送信部２２０は、拡張コンポーネント１４の要求に応じて、変換部によって生成された単位データを拡張コンポーネント１４に出力する。
【００４８】
《データサーバ３０の構成》
図１０は、第１の実施形態に係るデータサーバ３０の構成を示すブロック図である。
データサーバ３０は、プロセッサ３１０、メインメモリ３３０、ストレージ３５０、インタフェース３７０を備える。プロセッサ３１０は、ストレージ３５０からプログラムを読み出してメインメモリ３３０に展開し、当該プログラムに従って所定の処理を実行する。インタフェース３７０は、データ収集装置１１、定義データベース５０およびユーザ装置７０と通信可能に接続される。
【００４９】
ストレージ３５０に記憶されるプログラムは、データサーバ３０に発揮させる機能の一部を実現するためのものであってもよい。また、他の実施形態においては、データサーバ３０は、上記構成に加えて、または上記構成に代えてＰＬＤなどのカスタムＬＳＩを備えてもよい。この場合、データサーバ３０によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【００５０】
ストレージ３５０の例としては、ＨＤＤ、ＳＳＤ、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。ストレージ３５０は、バス線に直接接続された内部メディアであってもよいし、インタフェース３７０または通信回線を介してデータサーバ３０に接続される外部メディアであってもよい。また、このプログラムが通信回線によってデータサーバ３０に配信され、プロセッサ３１０が当該プログラムを実行してもよい。少なくとも１つの実施形態においてストレージ３５０は、一時的でない有形の記憶媒体である。
【００５１】
プロセッサ３１０は、ストレージ３５０が記憶するプログラムの実行により、収集可能リスト受信部３１１、定義受信部３１２、収集可能データ提示部３１３、処理条件受信部３１４、処理条件送信部３１５、データ受信部３１６、データ送信部３１７として機能する。また、ストレージ３５０には、収集可能テーブル３５１、およびデータテーブル３５２の記憶領域が確保される。
【００５２】
収集可能テーブル３５１は、複数の作業機械１０それぞれにおいて収集することができるすべてのデータに係る識別子を記憶する。つまり、収集可能テーブル３５１は、作業機械１０の機械ＩＤとデータの識別子とを関連付けて記憶する。機械ＩＤは、作業機械の識別情報の一例である。
【００５３】
データテーブル３５２は、複数の作業機械１０それぞれから送信された統一データオブジェクトを記憶する。つまり、収集可能テーブル３５１は、作業機械１０の機械ＩＤと、データの識別子と、当該データの値と、タイムスタンプとを関連付けて記憶する。
【００５４】
収集可能リスト受信部３１１は、作業機械１０のデータ収集装置１１から収集可能リストを受信する。収集可能リスト受信部３１１は、受信した収集可能リストに基づいて収集可能テーブル３５１を更新する。
【００５５】
定義受信部３１２は、定義データベース５０から、統一データオブジェクトの識別子に係るデータの定義を示す定義情報を受信する。定義情報は、少なくともデータの表示名および説明文を含む。データの表示名は、例えば「エンジン回転数」などの自然言語で表された文字列である。定義情報については後述する。
【００５６】
収集可能データ提示部３１３は、ユーザ装置７０に、収集可能テーブル３５１が記憶する作業機械１０ごとの収集可能なデータのリストを提示する。このとき、収集可能データ提示部３１３が生成する収集可能なデータのリストには、定義情報に含まれる表示名および説明文が含まれる。これにより、ユーザは、作業機械１０が収集可能なデータの意味を理解することができる。より具体的には、収集可能データ提示部３１３は、ユーザ装置７０から作業機械１０の機械ＩＤの入力を受け付け、当該作業機械１０が収集可能なデータのリストを、処理条件情報の入力フォームとともに、ユーザ装置７０に提示する。
【００５７】
処理条件受信部３１４は、ユーザ装置７０から処理条件情報を受信する。ユーザは、収集可能データ提示部３１３が提示するリストに基づいて、処理条件情報を入力する。入力される処理条件情報は、機械ＩＤに関連付けられる。処理条件受信部３１４は、入力された処理条件情報が表示名によって定義される場合、定義受信部３１２が取得した定義情報に基づいて当該表示名を識別子に置換する。
【００５８】
処理条件送信部３１５は、処理条件受信部３１４に入力された処理条件情報を、関連付けられた機械ＩＤに係るデータ収集装置１１に送信する。
【００５９】
データ受信部３１６は、データ収集装置１１から統一データオブジェクトを受信する。
【００６０】
データ送信部３１７は、受信した統一データオブジェクトと、当該統一データオブジェクトに係る定義情報とをユーザ装置７０に送信する。これにより、ユーザ装置７０は、統一データオブジェクトに係るデータを表示する際に、定義情報に含まれる表示名等を併せて表示することができる。このとき、データ送信部３１７は、統一データオブジェクトに係る識別子を定義情報に含まれる表示名に置換した上でユーザ装置７０に送信してもよいし、統一データオブジェクトに表示名および説明文を付加した上でユーザ装置７０に送信してもよい。
【００６１】
《定義データベース５０》
図１１は、第１の実施形態に係る定義データベース５０が記憶する情報の例を示す図である。
定義データベース５０は、統一フォーマットに係る識別子に関連付けて、当該識別子が付与されるデータの定義情報を記憶する。定義情報は、表示名、説明文、タグ、データ型、サイズ、単位、ゲイン、オフセット、ユーザタイプごとのアクセス権限を含む。表示名および説明文は、ユーザがデータの種類を認識するための名称および説明文である。アクセス権限の例としては、アクセス禁止（−−）、読み込み専用（ｒ−）、読み書き可能（ｒｗ）が挙げられる。ユーザタイプの例としては、管理者（Admin権限）、ユーザ（User権限）などが挙げられる。その他のユーザタイプとして、開発者、サービス提供者、販売者などを含んでいてもよい。
【００６２】
《処理条件の設定方法》
図１２は、第１の実施形態に係るデータ提供システム１における処理条件の設定方法を示すシーケンス図である。
まず、ユーザは、ユーザ装置７０を操作し、データサーバ３０にアクセスする。このとき、ユーザは、予め設定された自身のアカウントによってデータサーバ３０にログインする。アカウントには、予めユーザタイプが割り当てられている。
【００６３】
ユーザ装置７０は、データサーバ３０に処理条件の設定のリクエストを送信する（ステップＳ１）。データサーバ３０が処理条件の設定のリクエストを受信すると、収集可能データ提示部３１３は、ユーザ装置７０に設定対象の作業機械１０の機械ＩＤの入力画面を表示させる（ステップＳ２）。入力画面は、テキストボックスに機械ＩＤを直接入力させるものであってもよいし、リストボックスから機械ＩＤを選択させるものであってもよい。
ユーザは、表示された入力画面に従って、設定対象の作業機械１０の機械ＩＤを入力する。ユーザ装置７０は、入力された機械ＩＤをデータサーバ３０に送信する（ステップＳ３）。
【００６４】
収集可能データ提示部３１３は、ユーザ装置７０から機械ＩＤを受信すると、収集可能テーブル３５１を参照し、受信した機械ＩＤに関連付けられた収集可能リストに含まれる識別子を検索する（ステップＳ４）。定義受信部３１２は、検索によって特定された収集可能リスト内の識別子に係る定義情報のリクエストを、定義データベース５０に送信する（ステップＳ５）。定義データベース５０は、データサーバ３０から受信したリクエストに従って、識別子に関連付けられた定義情報をデータサーバ３０に送信する（ステップＳ６）。収集可能データ提示部３１３は、受信した定義情報を参照し、検索された識別子から、ログインしているユーザの権限において読み取りができないものを除外する（ステップＳ７）。収集可能データ提示部３１３は、受信した定義情報に基づいて、収集可能かつ当該ユーザが読取可能なすべてのデータの表示名および説明文、ならびに当該データを収集するか否か、収集条件および送信条件の入力フォームを含む、処理条件入力画面を生成し、当該処理条件入力画面をユーザ装置７０に表示させる（ステップＳ８）。
【００６５】
ユーザは、ユーザ装置７０に表示された処理条件入力画面を参照し、各データに関連付けられた入力フォームに収集の要否を入力する。収集が必要なデータについては、ユーザは、当該データに関連付けられた入力フォームに収集条件および送信条件を入力する。ユーザ装置７０は、入力された処理条件情報をデータサーバ３０に送信する（ステップＳ９）。処理条件受信部３１４がユーザ装置７０から処理条件情報を受信すると、処理条件送信部３１５は、受信した処理条件情報を、ステップＳ３で送信された機械ＩＤに係るデータ収集装置１１へ送信する（ステップＳ１０）。
データ収集装置１１の処理条件受信部２１１は、受信した処理条件情報に基づいて処理条件テーブル２５２を更新する（ステップＳ１１）。
これにより、ユーザが指定した処理条件を、設定対象の作業機械１０に設定することができる。
【００６６】
《データの収集方法》
図１３は、第１の実施形態に係るデータ提供システム１におけるデータの収集方法を示すシーケンス図である。
データ収集装置１１は、所定の制御周期ごとに図１３に示すデータ収集処理を実行する。収集判定部２１２は、処理条件テーブル２５２から読み出していない処理条件を１つ読み出す（ステップＳ３１）。収集判定部２１２は、読み出した処理条件に係る収集方式がＰＵＬＬであるか否かを判定する（ステップＳ３２）。
【００６７】
収集方式がＰＵＬＬである場合（ステップＳ３２：ＹＥＳ）、現在の処理タイミングが、読み出した処理条件に係る収集周期に係るタイミングであるか否かを判定する（ステップＳ３３）。現在の処理タイミングが収集周期に係るタイミングでない場合（ステップＳ３３：ＮＯ）、当該処理条件に係るデータの収集を行わない。
【００６８】
他方、収集方式がＰＵＳＨである場合（ステップＳ３２：ＮＯ）、または収集方式がＰＵＬＬでありかつ現在の処理タイミングが収集周期に係るタイミングである場合（ステップＳ３３：ＹＥＳ）、収集方法特定部２１３は、収集方法テーブル２５１を参照し、読み出した処理条件に係る識別子に関連付けられた収集方法を読み出す（ステップＳ３４）。収集方法特定部２１３は、対象のデータを収集可能なコンポーネントが第２基板２００に接続されたコンポーネントであるか否かを判定する（ステップＳ３５）。
【００６９】
対象のコンポーネントが第２基板２００に接続されている場合（ステップＳ３５：ＹＥＳ）、収集部２１６は、ステップＳ３４で読みだした収集方法に従ってコンポーネントからデータを収集する（ステップＳ３６）。具体的には、収集部２１６は、収集対象のデータがＰＵＬＬ方式で配信されるデータである場合、収集方法に従ってコンポーネントにデータリクエストを送信し、応答として送信された単位データから値を取得する。収集部２１６は、収集対象のデータがＰＵＳＨ方式で配信されるデータである場合、ネットワークＮ２を流れる単位データまたはコンポーネントから直接配信された単位データから収集対象のデータの値を取得する。なお、配信方式がＰＵＳＨである場合、当該制御タイミングにおいて必ずしもデータを取得できるとは限らない。収集部２１６は、データを収集した時刻をタイムスタンプとして特定する（ステップＳ３７）。変換部２１７は、収集したデータを統一データオブジェクトに変換する（ステップＳ３８）。具体的には、収集部２１６は、単位データのデータ部のうち、収集方法において規定されたオフセットおよびデータ長によって特定される値のみを抽出することで、統一オブジェクトを生成する。
【００７０】
他方、対象のコンポーネントが第１基板１００に接続されている場合（ステップＳ３５：ＮＯ）、収集指示出力部２１４は、収集対象のデータの識別子とステップＳ３４で読みだした収集方法とを含むデータの収集指示を、第１基板１００に出力する（ステップＳ３９）。第１基板１００の収集指示入力部１１１が第２基板２００から収集指示の入力を受け付けると、収集部１１２は、受け付けた収集指示に含まれる収集方法に従ってコンポーネントからデータを収集する（ステップＳ４０）。具体的には、収集部１１２は、収集対象のデータがＰＵＬＬ方式で配信されるデータである場合、収集方法に従ってコンポーネントにデータリクエストを送信し、応答として送信された単位データから値を取得する。収集部１１２は、収集対象のデータがＰＵＳＨ方式で配信されるデータである場合、ネットワークＮ１を流れる単位データまたはコンポーネントから直接配信された単位データから収集対象のデータの値を取得する。なお、配信方式がＰＵＳＨである場合、当該制御タイミングにおいて必ずしもデータを取得できるとは限らない。収集部２１６は、データを収集した時刻をタイムスタンプとして特定する（ステップＳ４１）。変換部１１３は、収集したデータを統一データオブジェクトに変換する（ステップＳ４２）。データ出力部１１４は、変換された統一データオブジェクトを、第２基板２００に出力する（ステップＳ４３）。
【００７１】
次に、データ登録部２１８は、ステップＳ３１で読み出した処理条件に係るデータを取得したか否かを判定する（ステップＳ４４）。なお、収集方式がＰＵＬＬであって、コンポーネントが当該制御タイミングにおいてデータを送信しない場合、および収集方式がＰＵＳＨでありかつ現在の処理タイミングが収集周期に係るタイミングでない場合（ステップＳ３３：ＮＯ）に、処理条件に係るデータを取得できない。
【００７２】
処理条件に係るデータを取得した場合（ステップＳ４４：ＹＥＳ）、データ登録部２１８は、収集した統一データオブジェクトを、ローデータテーブル２５４Ａおよび時系列データテーブル２５４Ｂに登録する（ステップＳ４５）。他方、処理条件に係るデータを取得していない場合（ステップＳ４４：ＮＯ）、データ登録部２１８は、時系列データテーブル２５４Ｂから、最新のタイムスタンプに関連付けられた処理条件に係る統一データオブジェクトを読み出し、タイムスタンプを現在の時刻に書き換えることで、新たな統一データオブジェクトを生成する（ステップＳ４６）。データ登録部２１８は、生成した統一データオブジェクトを、時系列データテーブル２５４Ｂに登録する（ステップＳ４７）。
【００７３】
収集判定部２１２は、処理条件テーブル２５２からすべての処理条件を読み出したか否かを判定する（ステップＳ４８）。読み出していない処理条件がある場合（ステップＳ４８：ＮＯ）、データ収集装置１１は、ステップＳ３１に処理を戻し、次の処理条件を読み出す。他方、すべての処理条件を読み出した場合（ステップＳ４８：ＹＥＳ）、データ収集装置１１は、データ収集処理を終了する。
【００７４】
これにより、処理条件に係るデータは指定された周期で収集される。収集されたデータは、データ送信部２２０によって指定された送信周期ごとにデータサーバ３０に送信される。
【００７５】
図１４は、第１の実施形態に係るデータ提供システム１におけるデータの送信方法を示すシーケンス図である。
データ収集装置１１は、所定の制御周期ごとに図１４に示すデータ送信処理を実行する。データ送信部２２０は、処理条件テーブル２５２から読み出していない送信条件を１つ読み出す（ステップＳ５１）。データ送信部２２０は、現在の処理タイミングが、読み出した処理条件に係る送信周期に係るタイミングであるか否かを判定する（ステップＳ５２）。現在の処理タイミングが送信周期に係るタイミングでない場合（ステップＳ５２：ＮＯ）、当該処理条件に係るデータの送信を行わない。
【００７６】
他方、現在の処理タイミングが送信周期に係るタイミングである場合（ステップＳ５２：ＹＥＳ）、データ送信部２２０は、データテーブル２５４から読み出した処理条件に係る統一データオブジェクトを取得し、データサーバ３０に送信する（ステップＳ５３）。このとき、データ送信部２２０は、識別子を表示名に置換した統一データオブジェクトを送信してもよい。
【００７７】
データサーバ３０のデータ受信部３１６は、データ収集装置１１から統一データオブジェクトを受信すると、データテーブル３５２に受信した統一データオブジェクトを記憶させる（ステップＳ５４）。
【００７８】
データ送信部２２０は、処理条件テーブル２５２からすべての処理条件を読み出したか否かを判定する（ステップＳ５５）。読み出していない処理条件がある場合（ステップＳ５５：ＮＯ）、データ収集装置１１は、ステップＳ５１に処理を戻し、次の処理条件を読み出す。他方、すべての処理条件を読み出した場合（ステップＳ５５：ＹＥＳ）、データ収集装置１１は、データ送信処理を終了する。
【００７９】
図１５は、第１の実施形態に係るデータ提供システム１におけるデータの提示方法を示すシーケンス図である。
まず、ユーザは、ユーザ装置７０を操作し、データサーバ３０にアクセスする。このとき、ユーザは、予め設定された自身のアカウントによってデータサーバ３０にログインする。アカウントには、予めユーザタイプが割り当てられている。
【００８０】
ユーザ装置７０は、データサーバ３０にデータ提示のリクエストを送信する（ステップＳ６１）。データサーバ３０がデータ提示のリクエストを受信すると、データ送信部３１７は、ユーザ装置７０に提示対象の作業機械１０の機械ＩＤの入力画面を表示させる（ステップＳ６２）。入力画面は、テキストボックスに機械ＩＤを直接入力させるものであってもよいし、リストボックスから機械ＩＤを選択させるものであってもよい。入力画面は、複数の機械ＩＤの選択を受け付け可能であってよい。
【００８１】
ユーザは、表示された入力画面に従って、設定対象の作業機械１０の機械ＩＤを入力する。ユーザ装置７０は、入力された機械ＩＤをデータサーバ３０に送信する（ステップＳ６３）。
【００８２】
データ送信部３１７は、ユーザ装置７０から機械ＩＤを受信すると、データテーブル３５２を参照し、受信した機械ＩＤに関連付けられた統一データオブジェクトを検索する（ステップＳ６４）。つまり、データ送信部３１７は、実際に収集されたデータを検索する。定義受信部３１２は、検索によって特定された統一データオブジェクトの識別子に係る定義情報のリクエストを、定義データベース５０に送信する（ステップＳ６５）。定義データベース５０は、データサーバ３０から受信したリクエストに従って、識別子に関連付けられた定義情報をデータサーバ３０に送信する（ステップＳ６６）。
データ送信部３１７は、受信した定義情報を参照し、検索された統一データオブジェクトから、ログインしているユーザの権限において読み取りができないものを除外する（ステップＳ６７）。データ送信部３１７は、ログインしているユーザの権限において読み取り可能なデータに係る統一データオブジェクトと、当該統一データオブジェクトに係る定義情報とをユーザ装置７０に送信する（ステップＳ６８）。ユーザ装置７０は、データサーバ３０から統一データオブジェクトおよび定義情報を受信すると、受信した統一データオブジェクトおよび定義情報を表示する（ステップＳ６９）。ユーザ装置７０は、例えば統一データオブジェクトに含まれる識別子を定義情報に係る表示名に置換して表示してもよい。これにより、ユーザ装置７０は、指定した機械ＩＤに係る作業機械１０から収集されたデータを取得することができる。
【００８３】
《作用・効果》
このように、第１の実施形態によれば、データ収集装置１１は、作業機械１０に設けられたコンポーネントから、当該コンポーネントの個別プロトコルに従ってデータを収集し、収集されたデータを統一データオブジェクトに変換し、統一データオブジェクトをデータサーバ３０に送信する。これにより、データサーバ３０は、収集対象の所望のデータを容易に得ることができる。なお、他の実施形態においては、データ収集装置１１は、データサーバ３０と異なる外部の装置に統一データオブジェクトを送信してもよい。例えばデータ収集装置１１は、第２基板２００に接続されたサービスツールへ統一データオブジェクトを送信してもよい。サービスツールとは、サービスマンや販売者が作業のために作業機械１０に接続する端末である。サービスツールの例としては、専用端末およびＰＣが挙げられる。
【００８４】
また、第１の実施形態によれば、データ収集装置１１は、物理的に分けられた第１基板１００と第２基板２００とを備える。そして、第１基板１００は収集部１１２を備え、第２基板２００はデータ送信部２２０を備える。これにより、外部装置から直接的に第１基板１００に接続されるコンポーネントへのアクセスがなされることを防ぎつつ、第１基板１００に接続されるコンポーネントが取得したデータを外部へ送信することができる。
第１の実施形態に係る第１基板１００には、制御コンポーネント１２が接続されるため、拡張コンポーネント１４によって制御コンポーネント１２の動作が阻害されることを防ぐことができる。また、第１基板１００と第２基板２００とを分けることで、それぞれを異なるＯＳで動作させることができる。つまり、第１基板１００でリアルタイムＯＳを稼働させ、第２基板２００で汎用ＯＳを稼働させることができる。これにより、第１基板１００においてリアルタイム性の高いデータ処理を実現することができるとともに、第２基板２００において処理能力の高いデータ処理を行うことができる。
また、第１の実施形態に係る第１基板１００は、変換部１１３を備える。これにより、第１基板１００および第２基板２００は、互いにデータを送受信することができる。これにより第１基板１００と第２基板２００とを接続する通信回線は、ＣＡＮに対応する回線である必要がない。つまり、第１の実施形態によれば、第１基板１００と第２基板２００との間の通信構成を簡略化することができる。また、多くのコンポーネントが生成するデータは、ＣＡＮに流れているので、リアルタイムＯＳが稼働する第１基板１００でタイムスタンプを付与することにより、時間精度の高いデータを収集することができる。また、他の実施形態においては、第１基板１００がデータテーブル２５４を記憶してもよい。これにより、リアルタイムＯＳによってデータテーブル２５４にデータが格納されるので、データ収集装置１１は、時間精度の高いデータテーブルを構築することができる。
【００８５】
なお、他の実施形態においては、１つの基板がデータ収集装置１１のすべての機能を有していてもよい。また他の実施形態においては、データ収集装置１１が３つ以上の基板を備えてもよい。また、他の実施形態においては、データ収集装置１１が備える複数の基板の役割は、第１の実施形態と異なるものであってもよい。
また他の実施形態においては、データ収集装置１１が、プロセッサ、メモリ、またはストレージを１つだけ備えるものであってもよい。また他の実施形態においては、第１基板１００が変換部１１３を備えず、第２基板２００が第１基板１００からコンポーネントの個別プロトコルに従ってデータを受信してもよい。
【００８６】
また、第１の実施形態によれば、データ収集装置１１は、データの種類と個別プロトコルとを格納する収集方法テーブルを参照して、個別プロトコルを特定する。これにより、データ収集装置１１は、容易に指定されたデータを収集するための個別プロトコルを特定することができる。
【００８７】
また、第１の実施形態によれば、データ収集装置１１は、統一データオブジェクトを個別プロトコルに係るフォーマットに変換し、個別プロトコルに従って他のコンポーネントへ出力することができる。これにより、データ収集装置１１は、統一フォーマットに対応していないコンポーネントにも、収集したデータを出力することができる。なお、他の実施形態に係るデータ収集装置１１は、統一データオブジェクトの個別プロトコルに変換して出力する機能を有しなくてもよい。
【００８８】
また、第１の実施形態によれば、データサーバ３０は、定義データベースを参照して、データ収集装置１１から受信した統一データオブジェクトに係るデータの値と、その表示名とを関連付けて提供する。これにより、データサーバ３０は、識別子の値が意味を有しない文字列であったとしても、ユーザにデータの意味を理解させることができる。なお、他の実施形態においては、データサーバ３０は、ユーザに表示名を提示しなくてもよい。この場合、ユーザは、識別子が示すデータの種類を別途調べる必要がある。また、他の実施形態においては、識別子の値を、表示名のようなデータの意味を理解できる文字列にすることで、定義情報に基づく表示名の提供を省略してもよい。また、他の実施形態においては、データサーバ３０またはユーザ装置７０が定義情報を記憶し、これを参照してデータを提供してもよい。
【００８９】
また、第１の実施形態によれば、１つの作業機械１０に対して、複数のユーザそれぞれが収集条件などの処理条件を設定することができる。また第１の実施形態によれば、１人の登録者が複数の処理条件を設定することもできる。複数のユーザは異なる権限を有するユーザを含むものであってよい。
【００９０】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、第１の実施形態に係る統一データオブジェクトは、図２に示す統一フォーマットの構造を有するが、これに限られない。例えば他の実施形態においては、統一データオブジェクトがタイムスタンプを有しなくてもよい。また例えば統一データオブジェクトが他の情報を有していてもよい。
【００９１】
また、第１の実施形態に係る処理条件は、収集条件と送信条件とを含むが、これに限られない。例えば、他の実施形態に係る処理条件はデータを加工するための加工条件を含んでもよい。また他の実施形態に係る処理条件は、収集条件のみまたは送信条件のみを含むものであってもよい。
【００９２】
また、第１の実施形態に係るデータ収集装置１１は、ＰＵＳＨ方式またはＰＵＬＬ方式によって配信されたデータを収集するが、これに限られない。例えば他の実施形態に係るコンポーネントが内部の記憶装置にデータを記憶させる場合、データ収集装置１１は、コンポーネントの記憶装置にアクセスしてデータを読み出すことで収集してもよい。
【符号の説明】
【００９３】
１…データ提供システム  １０…作業機械  １１…データ収集装置  １００…第１基板  ２００…第２基板  １１０…第１プロセッサ  １３０…第１メインメモリ  １５０…第１ストレージ  １７０…第１インタフェース  ２１０…第２プロセッサ  ２３０…第２メインメモリ  ２５０…第２ストレージ  ２７０…第２インタフェース  １２…制御コンポーネント  １３…センサ  １４…拡張コンポーネント  Ｎ１…第１ネットワーク  Ｎ２…第２ネットワーク  １１１…収集指示入力部  １１２…収集部  １１３…変換部  １１４…データ出力部  ２１１…処理条件受信部  ２１２…収集判定部  ２１３…収集方法特定部  ２１４…収集指示出力部  ２１５…データ取得部  ２１６…収集部  ２１７…変換部  ２１８…データ登録部  ２１９…収集可能リスト通知部  ２２０…データ送信部  ２５１…収集方法テーブル  ２５２…処理条件テーブル  ２５３…収集可能テーブル  ２５４…データテーブル  ２５４Ａ…ローデータテーブル  ２５４Ｂ…時系列データテーブル  ３０…データサーバ  ３１０…プロセッサ  ３３０…メインメモリ  ３５０…ストレージ  ３７０…インタフェース  ３１１…収集可能リスト受信部  ３１２…定義受信部  ３１３…収集可能データ提示部  ３１４…処理条件受信部  ３１５…処理条件送信部  ３１６…データ受信部  ３１７…データ送信部  ３５１…収集可能テーブル  ３５２…データテーブル  ５０…定義データベース  ７０…ユーザ装置  
【図１】
2020056178.tif 000003
【図２】
2020056178.tif 000004
【図３】
2020056178.tif 000005
【図４】
2020056178.tif 000006
【図５】
2020056178.tif 000007
【図６】
2020056178.tif 000008
【図７】
2020056178.tif 000009
【図８】
2020056178.tif 000010
【図９】
2020056178.tif 000011
【図１０】
2020056178.tif 000012
【図１１】
2020056178.tif 000013
【図１２】
2020056178.tif 000014
【図１３】
2020056178.tif 000015
【図１４】
2020056178.tif 000016
【図１５】
2020056178.tif 000017