(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-13
(45)【発行日】2024-06-21
(54)【発明の名称】データロガー及びデータ収集システム
(51)【国際特許分類】
G08C 15/00 20060101AFI20240614BHJP
G01D 9/00 20060101ALI20240614BHJP
G05B 23/02 20060101ALI20240614BHJP
B23K 9/10 20060101ALN20240614BHJP
【FI】
G08C15/00 E
G01D9/00 A
G05B23/02 301U
B23K9/10 Z
(21)【出願番号】P 2021127516
(22)【出願日】2021-08-03
【審査請求日】2023-12-13
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】永尾 剣一
(72)【発明者】
【氏名】錦 尚志
(72)【発明者】
【氏名】吉永 忠史
(72)【発明者】
【氏名】中島 佳之
(72)【発明者】
【氏名】松原 敬信
(72)【発明者】
【氏名】山科 勇輔
【審査官】藤澤 和浩
(56)【参考文献】
【文献】特開2018-173865(JP,A)
【文献】特開2018-133650(JP,A)
【文献】特開2019-174872(JP,A)
【文献】特開2007-18211(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08C 13/00-25/04
G01D 9/00- 9/42
G05B 23/02
B23K 9/10
(57)【特許請求の範囲】
【請求項1】
一つ又は複数のセンサからデータを収集するデータ収集部と、
前記データを収集した順に時系列に並べたデータセットを作成するデータ整列部と、
前記データセットを出力する出力部と、
を備えるPLC(Programmable Logic Controller)と、
前記PLCが出力した前記データセットを取得し、前記データセットに含まれる各データを所定の固定長データに変換しつつ自装置の時刻に基づいてタイムスタンプを付与し、前記データセットを所定のデータ形式に整形するデータ整形部と、
整形後の前記データセットを所定の周期で他装置へ送信する送信部と、
を備えるゲートウェイと、
を備えるデータロガー。
【請求項2】
前記データ整形部は、前記データを16進数表記に変換して所定のデータサイズが割り当てられたデータ領域へ格納することにより前記固定長データに変換し、前記データセットをJSON(JavaScript Object Notation)形式に整形する、
請求項1に記載のデータロガー。
【請求項3】
前記データ整列部は、第1の周期で収集した前記データを前記第1の周期より長い第2の周期ごとのデータに平滑化して、平滑化後の前記データを時系列順に蓄積する、
請求項1または請求項2に記載のデータロガー。
【請求項4】
前記データ整列部は、前記データを1ミリ秒単位で収集して、収集した前記データを時系列順に蓄積する、
請求項1から請求項3の何れか1項に記載のデータロガー。
【請求項5】
前記送信部は、VPN(Virtual Private Network)通信により前記データセットを前記他装置へ送信する、
請求項1から請求項4の何れか1項に記載のデータロガー。
【請求項6】
前記出力部は、UDP(User Datagram Protocol)により前記データセットを前記ゲートウェイへ出力する、
請求項1から請求項5の何れか1項に記載のデータロガー。
【請求項7】
前記ゲートウェイは、
NTP(Network Time Protocol)サーバと時刻の同期を行う時刻同期部、をさらに備える請求項1から請求項6の何れか1項に記載のデータロガー。
【請求項8】
前記センサからのデータ収集周期が複数存在し、前記データ整列部は収集周期の異なるデータ別に前記データセットを作成する、
請求項1から請求項7の何れか1項に記載のデータロガー。
【請求項9】
前記ゲートウェイは、
前記送信部が送信した前記データセットを記憶媒体に記録する記録部、をさらに備える請求項1から請求項8の何れか1項に記載のデータロガー。
【請求項10】
請求項1から請求項9の何れか1項に記載のデータロガーと、
サーバと、監視端末と、
を備え、
前記サーバは、前記データロガーが送信した前記データセットを受信し、受信した前記データセットの欠落を検出すると、前記データセットの欠落を前記監視端末へ通知する、データ収集システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データロガー及びデータ収集システムに関する。
【背景技術】
【0002】
溶接の作業現場では、溶接品質の安定化、手戻りの低減など作業の効率化が求められている。溶接品質を安定化するためには、溶接の実施中に、センサ等で計測した溶接パラメータの値を遅延なく高速に取得し、取得した溶接パラメータから現在の溶接品質を分析し、その分析結果を溶接士にフィードバックする必要がある。
【0003】
特許文献1には、地震等の広範囲に影響する事象に関するリアルタイムな状況把握、解析等を実現するために、国内外の広範囲に設置された多数のセンサから計測値を収集し、それらの時刻同期を行って、各観測点から得られた情報をわかりやすく表示するセンサ・クラウドシステムが開示されている。しかし、特許文献1には、溶接作業に要求されるような高速なデータ収集に関する記載は無い。
【0004】
また、市場において、高速なデータ収集が可能な機器が提供されているが、このような機器は高価であり、拡張性に乏しいなどの理由で使用できない場合がある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
遅延なく高速にデータ収集できるデータロガーが求められている。
【0007】
本開示は、上記課題を解決することができるデータロガー及びデータ収集システムを提供する。
【課題を解決するための手段】
【0008】
本開示のデータロガーは、PLCと、ゲートウェイと、を備える。PLCは、一つ又は複数のセンサからデータを収集するデータ収集部と、前記データを収集した順に時系列に並べたデータセットを作成するデータ整列部と、前記データセットを出力する出力部と、を備える。ゲートウェイは、前記PLCが出力した前記データセットを取得し、前記データセットに含まれる各データを所定の固定長データに変換しつつ自装置の時刻に基づいてタイムスタンプを付与し、前記データセットを所定のデータ形式に整形するデータ整形部と、整形後の前記データセットを所定の周期で他装置へ送信する送信部と、を備える。
【0009】
本開示のデータ収集システムは、上記のデータロガーと、サーバと、監視端末とを備え、前記サーバは、前記データロガーが送信した前記データセットを受信し、受信した前記データセットの欠落を検出すると、前記データセットの欠落を前記監視端末へ通知する。
【発明の効果】
【0010】
上述のデータロガー及びデータ収集システムによれは、遅延なく高速にデータを収集することができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係るデータ収集システムの一例を示す図である。
【
図2】実施形態に係るデータロガーの一例を示す機能ブロック図である。
【
図3】実施形態に係るデータ処理について説明する第1の図である。
【
図4】実施形態に係るデータ処理について説明する第2の図である。
【
図5】実施形態に係るデータロガーの動作の一例を示すフロー図である。
【
図6】実施形態に係るデータ収集システムの動作の一例を示すフロー図である。
【
図7】実施形態に係るデータ収集システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本開示のデータロガー及びデータ収集システムについて、
図1~
図7を参照して説明する。
<実施形態>
(システム構成)
図1に、本実施形態に係るデータ収集システム10を溶接現場に適用した、溶接支援システム100の構成例を示す。溶接支援システム100は、溶接機1と、データ収集システム10と、表示装置6と、を備える。溶接機1は、溶接電流などの溶接条件を調整するためのレバー、スイッチ等と計器類が設けられた操作パネルを備えている。溶接士80は、溶接機1の操作パネルで溶接条件を調整しながら、溶接機1に接続された溶接棒2を用いて、被溶接物3の溶接を実施する。データ収集システム10のデータロガー4は、溶接機1および溶接部位付近に設置された図示しないセンサと接続されていて、溶接中に、溶接機1が備えるセンサ、溶接部位付近に設けられたセンサが計測した計測値(プロセスデータ)をリアルタイムに取得する。データロガー4によって取得される計測値を溶接パラメータとよぶ。溶接パラメータは、溶接の品質や状態を判定するために必要な情報である。溶接パラメータには、溶接電圧、溶接電流など、溶接の品質等の判断に必要とされる複数のパラメータが含まれている。
【0013】
データ収集システム10は、データロガー4と、エッジサーバ5と、クラウドサーバ7と、NTP(Network Time Protocol)サーバ8と、監視端末9と、を備える。データ収集システム10は、データロガー4が収取したデータを、エッジサーバ5とクラウドサーバ7の両方へ送信し、各サーバでデータロガー4が収集したデータを活用したり、蓄積したりすることができる。エッジサーバ5と、クラウドサーバ7と、NTPサーバ8と、監視端末9は、コンピュータで構成されたサーバ端末装置やPC(personal computer)等である。エッジサーバ5は、データロガー4の比較的近くに設置されていて、データロガー4とエッジサーバ5とはローカルなネットワークで通信可能に接続されている。
図1の溶接支援システム100の場合、エッジサーバ5には、溶接士80の溶接作業を支援する機能が搭載されている。例えば、エッジサーバ5は、データロガー4が収集した溶接パラメータから作業中の溶接品質が良好かどうかを判定する学習済みの判定モデルを備えている。エッジサーバ5は、データロガー4からリアルタイムに送られてくる溶接パラメータを学習済みの判定モデルによって判定し、その判定結果を表示装置6へ表示する。溶接士80は、表示装置6に表示される情報を参考にしながら溶接作業を行う。
【0014】
また、クラウドサーバ7は、データセンタなどに設置されており、データロガー4とクラウドサーバ7とは、携帯電話通信網(キャリア網)やインターネット網などのネットワークNWを経由したVPN(Virtual Private Network)接続によるセキュアな閉域網を介して通信可能に接続されている。溶接支援システム100では、データロガー4は、収集した溶接パラメータをリアルタイムにエッジサーバ5へ送信するとともにクラウドサーバ7へ送信し、クラウドサーバ7は、図示しないストレージシステムにデータロガー4から受信したデータを蓄積する。蓄積されたデータは、例えば、上述の判定モデルを構築する際の学習データとして用いられる。
【0015】
NTPサーバ8は、ネットワークNWを介してデータロガー4と通信可能に接続されている。NTPサーバ8は時刻を管理するサーバ端末装置であり、データロガー4の時刻同期に用いられる。エッジサーバ5とクラウドサーバ7は、データロガー4から受信したデータに欠落が無いかどうかを検出する機能を有している。欠落があった場合、エッジサーバ5とクラウドサーバ7は、監視端末9へエラーを通知する。監視端末9は、エッジサーバ5とローカルなネットワークで通信可能に接続され、クラウドサーバ7とネットワークNWを介して通信可能に接続されている。監視端末9は、エッジサーバ5またはクラウドサーバ7からエラーが通知されると、データの欠落を通知する表示などを行う。
【0016】
溶接品質を判定するためには、例えば、1msec程度の高周期で遅延なく溶接パラメータを取得する必要があり、このような周期でデータを収集する高速データロガーは一般に提供されていない。また、仮に存在したとしても高速データロガーは高価で、そのうえ、継続的にデータを取得するうえでストレージ容量の確保が困難、外部のストレージシステムにデータを蓄積する場合に安全性が確保できないなどの課題を有する場合が多い。そこで、本実施形態では、これらの要求を満たすデータロガー4およびデータ収集システム10を提供する。
【0017】
(データロガーの構成)
図2に実施形態に係るデータロガーの一例を示す機能ブロック図を示す。
データロガー4は、PLC(Programmable Logic Controller)41と、PLC42と、ゲートウェイ43(以下、GW43のように記載する。)と、を備える。PLC41、42は、一般に市場で提供されているプログラマブルロジックコントローラである。GW43は、一般に市場で提供されているゲートウェイ端末装置である。本実施形態では、これらの汎用品を組み合わせて、高速データロガーを構成する。
【0018】
(PLC:高速系)
PLC41は、高速系のデータを収集するために設けられたPLCである。高速系のデータとは、例えば、溶接電流や溶接電圧などの1msec単位で収集する必要があるデータである。PLC41は、入力部411と、データ整列部412と、出力部413とを備える。
入力部411は、センサによる計測値を入力する入力ポート等のインタフェースを含んで構成され、各種センサから計測値などのデータを取得する。例えば、入力部411は、溶接電流などの溶接パラメータ(連続値)を取得する。
データ整列部412は、入力部411が取得したデータから所定の周期ごとのデータをサンプリングして、入力部411によって取得された順にサンプリングしたデータを並べたデータセットを作成する。データ整列部412は、データセットに含まれるデータ数が所定個となるまで(又は所定時間だけ)、データセットの最後に次々と新たにサンプリングしたデータを追加しながら、このデータセットをPLC41のメモリ上に保持する。例えば、入力部411が、溶接電流値を連続して取得している場合、データ整列部412は、連続的に取得された電流値から1msecごとの値を選択して、時系列にこの値を並べて管理する。ここで、1msecとは、PLCの処理速度の限界に近い速度、周期である。
出力部413は、データ出力用の出力ポート等のインタフェースを含んで構成され、データ整列部412によって作成、保持されたデータセットをGW43へ出力する。例えば、出力部413は、データ処理速度を確保するためにイーサネットポートからUDP(User Datagram Protocol)によりデータセットをGW43へ送信する。イーサネットポートは出力ポートの一例である。
【0019】
(PLC:低速系)
PLC42は、低速系のデータを収集するために設けられたPLCである。低速系のデータとは、1msecといった高速、高周期で収集する必要がないデータである。PLC42は、入力部421と、データ整列部422と、出力部423とを備える。
入力部421は、センサの計測値等を入力するインタフェースを含んで構成され、各種センサから計測値などのデータを取得する。
データ整列部422は、入力部421が取得したデータから所定の周期ごとのデータをサンプリングして、これを平滑化し、平滑化後のデータを、入力部421によって取得された順に並べたデータセットを作成する。データ整列部422は、データセットに含まれるデータ数が所定個となるまで(又は所定時間だけ)、データセットの最後に次々と平滑化後のデータを追加しながら、このデータセットを保持する。例えば、入力部421が、ある計測値を10msecごとに取得し(又は連続して取得し)、データをサンプリングする周期が50msecであるとすると、データ整列部422は、50msecの間に10msecごとに取得した5個のデータを用いて平滑化処理を行う。平滑化処理とは、例えば、外れ値の除去や、平均値、中央値などを計算することである。データ整列部422は、例えば、5個のデータの平均値を計算して、1つ前のデータセットの最後にこの値を追加する。計測値が連続して得られる場合には、データ整列部422は、50msecごとに直前の50msecの間に取得された計測値の平均値を計算して、計算後の値を時系列順に並べて管理する。
出力部423は、データ出力のインタフェースを含んで構成され、データ整列部422によって作成、保持されたデータセットをGW43へ出力する。例えば、出力部423は、データ処理速度を確保するためにイーサネットポートからUDP(User Datagram Protocol)によりデータセットをGW43へ送信する。
【0020】
(ゲートウェイ)
GW43は、通信装置である。GW43は、PLC41、42が出力したデータセットを取得し、各データセットにタイムスタンプを付与し、さらに処理負荷低減のためにデータサイズを小さくする工夫を行って、エッジサーバ5とクラウドサーバ7へ整形後のデータを送信する。
GW43は、データ取得部431と、時刻同期部432と、タイムスタンプ付与部433と、データ形式変換部434と、データ管理部435と、送信部436と、記憶媒体記録部437と、を備える。
データ取得部431は、イーサネットポート等の入力用インタフェースを含んで構成され、PLC41、42が出力したデータセット群を取得する。
時刻同期部432は、NTPサーバ8と通信を行って、GW43の時刻同期を行う。
タイムスタンプ付与部433は、PLC41、42から取得したデータセットごとに、それぞれのデータが取集された時刻のタイムスタンプを付与する。
データ形式変換部434は、データサイズを小さくするために、タイムスタンプ付与後のデータセットを整形する。データ形式変換部434は、データセットを構成する各データ(可変長の計測値)を16進数に変換して所定のデータサイズを割り当てたデータ領域に格納することで固定長データに変換する。数値を16進数表記に変換することでデータサイズを小さくすることができるので、元の計測値が占めるデータサイズよりも小さなデータサイズを有する固定長のデータ領域に計測値を格納することができる。また、データ形式変換部434は、固定長に変換され、タイムスタンプが付与されたデータセットをJSON(JavaScript Object Notation)形式に変換する。データセットを簡易なJSON形式にすることでデータサイズを抑えることができる。
データ管理部435は、データ形式変換部434が作成した整形後のデータを保持し、1秒ごとに送信部436へデータ送信を指示する。送信されるデータの中には、例えば、1msec単位でサンプリングされたデータが1000個含まれ、50msec単位でサンプリングされたデータが20個含まれる。
送信部436は、イーサネットポート等の出力用インタフェースと通信用モジュールを含んで構成され、データ管理部435の指示に基づいて、JSON形式に変換されたデータをエッジサーバ5とクラウドサーバ7へ送信する。
記憶媒体記録部437は、SDメモリカードの読み書きができるSDカードユニットおよびそのドライバ等を含んで構成され、データ送信に失敗した場合のバックアップ用として、SDメモリカードへ送信対象のデータを記録する。なお、記憶媒体はSDメモリカードに限定されず、他の記憶媒体でも良い。
【0021】
(高速系のデータ処理)
次に
図3、
図4を用いて、センサからデータを収集してからエッジサーバ5等へデータを送信するまでのデータ処理について説明する。
図3に、高速系のデータ処理の概要を示す。例えば、PLC41は、1msec単位でパラメータ1~5の5種類のデータをサンプリングするとする。時刻tに取得されたパラメータ1~5をそれぞれV1
t、V2
t、V3
t、V4
t、V5
tとすると、データ整列部412は、V1
t~V5
tを1つのデータセット(データセット1とする。)としてPLC41が備えるメモリに書き込んで保持する。データセット内のV1
t~V5
tのデータの並び順は任意に定められた所定の並び順であり、以降も同様である。次に1msec後の時刻t+1にパラメータ1~5のデータV1
t1~V5
t1をサンプリングすると、データ整列部412は、V1
t1~V5
t1を1つのデータセット(データセット2とする。)として、データセット1の後ろにデータセット2を追加してメモリ上に保持する。さらに1msec後にV1
t2~V5
t2をサンプリングすると、データ整列部412は、V1
t2~V5
t2を同様に並べたデータセット3をデータセット2の後ろに追加してメモリ上で保持する。データ整列部412は、メモリ上に保持するデータセットの数がK個となるまで、データセットの並び順をサンプリングした順番(時系列順)に管理しながら、同様の処理を繰り返す。保持しているデータセットの数がK個となると、PLC41は、K個のデータセットの並び順を維持したまま、K個のデータセット群をGW43へ出力する。
【0022】
GW43では、タイムスタンプ付与部433が、K個のデータセットごとにタイムスタンプを付与する。例えば、タイムスタンプ付与部433は、NTPサーバ8と同期させた現在時刻から「K×1msec」分だけ過去の時刻を計算し(必要に応じて、PLC41からGW43へ転送されタイムスタンプを付与するまでの時間の分を考慮して、その時間の分だけさらに過去に遡った時刻を計算してもよい。)、計算した時刻を高速系のデータセット1に対するタイムスタンプとして付与し、さらにその1msec後の時刻を高速系のデータセット2に対するタイムスタンプとして付与する。また、データ形式変換部434は、高速系のデータセット1のV1
t~V5
tを16進数に変換して固定長データとし、タイムスタンプと16進数変換後のデータを含めて、高速系のデータセット1をJSON形式のデータに変換する(
図3の下段)。GW43は、高速系のデータセット2~データセットKについても同様に処理する。データ管理部435は、整形後の高速系データセット1~データセットKをGW43が備えるメモリ上に保持する。
【0023】
このように本実施形態では、1msecの高速データ収集を実現するために、PLC41ではデータロギング処理に注力し、タイムスタンプ付与などの後処理は、GW43にて実行するように処理負荷を分散するように設計されている。
【0024】
PLC41は、K個のデータセットをUDP通信によりGW43に出力すると、その後も、次々とセンサから送信されるパラメータ1~5のデータに対して1msec周期でサンプリングし、新たにデータセット1~データセットKからなるデータセット群を作成、保持し、KmsecごとにK個のデータセット群をGW43へ出力するという処理を繰り返し行う。例えば、K=200であれば、PLC41は、200msecごとに時系列順に並べた200個のデータセット群をGW43へ出力する。
【0025】
GW43は、KmsecごとにK個のデータセット群をPLC41から受け取り、データセット単位でタイムスタンプ付与、データセット内の各データの固定長データへの変換、データセット単位でJSON形式に変換、という処理を継続して行う。データ管理部435は、タイムスタンプが古い順にデータセットを並べてメモリ上に保持し、所定の周期(例えば1秒)で、保持したデータセット群をエッジサーバ5とクラウドサーバ7へ送信する。
【0026】
(低速系のデータ処理)
図4に、低速系のデータ処理の概要を示す。PLC42は、例えば、50msec単位でパラメータ6~15の10種類のデータをサンプリングするとする。データ整列部422は、時刻t~時刻t+Δt(Δtは50msec)に得られたデータ(所定の周期で取得されたデータでも連続して取得されたデータでも良い)の平均値を計算し、この値を時刻t+Δtにサンプリングしたパラメータ6~15の値(それぞれV6
t、V7
t、・・・、V15
t)とする。データ整列部422は、V6
t~V15
tを1つのデータセット(データセット1とする。)としてPLC42が備えるメモリに書き込んで保持する。データセット内のV6
t~V15
tのデータの並び順は任意に定められた所定の並び順であり、以降も同様である。データ整列部422は、次の50msec間に取得されたデータについても同様の処理を行って時刻t+2ΔtにサンプリングしたデータV6
t1~V15
t1を計算する。データ整列部412は、V6
t1~V15
t1をデータセット2として、データセット1の後ろに追加してメモリ上にて保持する。データ整列部422は、メモリ上に保持するデータセットの数がN個となるまで、データセットの並び順をサンプリングした順番(時系列順)に管理しながら、同様の処理を繰り返す。保持しているデータセットの数がN個となると、PLC42は、N個のデータセットの並び順を維持したまま、N個のデータセット群をUDP通信によりGW43へ出力する。
【0027】
PLC42(低速系)からGW43へデータセット群を出力する処理と、PLC41(高速系)からGW43へデータセット群を出力する処理は同期して行われてもよいし(例えば、両方が200msecごと)、非同期的に行われてもよい(例えば、一方が200msecごと、他方が250msecごと)。
【0028】
GW43では、タイムスタンプ付与部433が、PLC42から取得したN個のデータセットごとにタイムスタンプを付与する。この処理は、PLC41から取得したK個のデータセットに対する処理と同様である。また、データ形式変換部434は、低速系のデータセット1のV6
t~V15
tを16進数に変換して固定長データとし、タイムスタンプと16進数変換後のデータを含めて、低速系のデータセット1をJSON形式のデータに変換する(
図4の下段)。GW43は、低速系のデータセット2~データセットNについても同様に処理する。データ管理部435は、整形後の低速系データセット1~データセットNをメモリ上に保持する。
【0029】
このように本実施形態では、PLC処理速度の限界までには至らない周期で収集するデータについては、平滑化処理を行って所定の周期でデータをサンプリングし記録する。低速系においても、PLC42ではデータロギング処理に注力し、タイムスタンプ付与などの後処理は、GW43にて実行するように構成されている。
【0030】
PLC42は、N個のデータセット群をGW43に出力すると、その後も次々と取得されるパラメータ6~15のデータに対して50msec周期でサンプリングし、新たにデータセット1~データセットNからなるデータセット群を作成、保持し、N×50msecごとにN個のデータセット群をGW43へ出力するという処理を繰り返し行う。例えば、N=5であれば、PLC42は、250msecごとに時系列順に並べた5個のデータセット群をGW43へ出力する。
【0031】
GW43は、N×50msecごとにN個のデータセット群をPLC42から受け取り、データセット単位でタイムスタンプ付与、データセット内の各データの固定長データへの変換、データセット単位でJSON形式に変換、という処理を継続して行う。データ管理部435は、タイムスタンプが古い順に低速系のデータセットを並べてメモリ上に保持する。データ管理部435は、PLC41から受け取った高速系のデータセットと、PLC42から受け取った低速系のデータセットとを別々に管理する。例えば、データ管理部435は、高速系のデータを1つの電子ファイル、低速系のデータを高速系とは別の1つの電子ファイルに保存する。データ管理部435は、例えば1秒単位で、直前の1秒間に蓄積された高速系と低速系のデータセット群をエッジサーバ5とクラウドサーバ7へ送信する。例えば、高速系において1msec単位でサンプリングしたデータを1秒単位で送信し、低速系において50msec単位でサンプリングしたデータを1秒単位で送信する場合、データ管理部435は、1秒間に得られた高速系の1000個のデータセット群と低速系の20個のデータセット群とを同時にエッジサーバ5等へ送信する。このようにデータ管理部435は、異なる周期でサンプリングされた高速系と低速系のデータを別々に管理し、1秒ごとにこれらを同期してエッジサーバ5等へ送信する。
【0032】
(動作)
[データロガーの動作]
次に
図5を参照してデータロガー4の動作について説明する。
図5は、実施形態に係るデータロガーの動作の一例を示すフロー図である。
【0033】
・高速系の処理
PLC41では、入力部411が、高速サンプリングが必要な溶接パラメータのデータを取得する。データ整列部412は、入力部411が取得したデータを所定の周期(例えば、1msec)でサンプリングする(ステップS10)。データ整列部412は、データセットの並び順をサンプリングした順に管理しながらメモリ上でデータセット群を保持する(ステップS11)。データ整列部412は、データセットをK個蓄積したか判定する(ステップS12)。又は、データ整列部412は、最初のデータセットを保持してからKmsecが経過したかどうかを判定する。K個蓄積していない場合(ステップS12;No)、ステップS10~S11の処理を繰り返し行う。K個蓄積すると(ステップS12;Yes)、出力部413が、K個のデータセット群をGW43へ出力する(ステップS13)。GWへの出力後も、PLC41では、ステップS10~S13の処理が繰り返し実行される。
【0034】
GW43では、データ取得部431が、PLC41からデータセット群を取得する(ステップS14)。タイムスタンプ付与部433は、各データセットにタイムスタンプを付与する(ステップS15)。GW43では、所定の制御周期で時刻同期部432が、NTPサーバ8と通信を行ってGW43のシステム時刻がNTPサーバ8の時刻に合うようにシステム時刻の調整を行っている。タイムスタンプ付与部433は、NTPサーバ8と同期した時刻を使って、各データセットに含まれるデータがPLC41に取得された時刻(又はセンサによって計測された時刻)を逆算し、逆算した時刻をタイムスタンプとして各データセットに付与する。タイムスタンプは後に各時刻のセンサ値と溶接品質との関係を評価、分析等する際に重要な情報となる。また、データ形式変換部434は、各データセットに含まれる各計測値の可変長データを16進数表記に変換し、固定長データに整形する(ステップS16)。ステップS15とステップS16の処理順は任意であって、同時並行的に実行されてもよいし、ステップS16、S15の順で実行されてもよい。次にデータ形式変換部434は、タイムスタンプが付与され、固定長データに変換された各データセットをJSON形式に変換する(ステップS17)。データ管理部435は、データ形式変換部434によって整形された各時刻のデータセットを送信タイミングが到来するまでの間、メモリ上で蓄積する(ステップS18)。
【0035】
・低速系の処理
PLC42では、PLC41とは独立して以下の処理を行う。まず、入力部421が、高速サンプリングが不要な溶接パラメータのデータを取得する(ステップS20)。データ整列部422は、入力部421が取得した所定期間分(=サンプリング周期の長さ)のデータを、平均値を計算する等して平滑化し、平滑化後のデータをサンプリングした値として取得する(ステップS21)。データ整列部422は、データセットの並び順をサンプリングした順に管理しながらメモリ上で保持する(ステップS22)。データ整列部422は、データセットをN個蓄積したか判定する(ステップS23)。又は、データ整列部412は、最初のデータセットを保持してからN×(サンプリング周期)msecが経過したかどうかを判定する。N個蓄積していない場合(ステップS23;No)、ステップS20~S22の処理を繰り返し行う。N個蓄積すると(ステップS23;Yes)、出力部423は、N個のデータセット群をGW43へ出力する(ステップS24)。GW43への出力後も、PLC42では、ステップS20~S24の処理が繰り返し実行される。
【0036】
GW43では、データ取得部431が、PLC42からデータセット群を取得する(ステップS25)。タイムスタンプ付与部433は、各データセットにタイムスタンプ付与する(ステップS26)。タイムスタンプ付与部433は、NTPサーバ8と同期した時刻を使って、各データセットに含まれるデータがPLC42に取得された時刻(又はセンサによって計測された時刻)を逆算し、逆算した時刻をタイムスタンプとして各データセットに付与する。例えば、時刻t~時刻t+Δtの間に取得されたデータをサンプリングして得られたデータセットについて、タイムスタンプ付与部433は、時刻t+Δtや時刻t、又は(時刻t+時刻t+Δt)÷2などのタイムスタンプを付与する。また、データ形式変換部434は、各データセットに含まれる各計測値の可変長データを16進数表記に変換し、固定長データに整形する(ステップS27)。ステップS26とステップS27の処理順は任意であって、同時並行的に実行されてもよいし、ステップS26、S27の順で実行されてもよい。次にデータ形式変換部434は、タイムスタンプが付与され、固定長データに変換された各データセットをJSON形式に変換する(ステップS28)。データ管理部435は、データ形式変換部434によって整形された各時刻のデータセットを送信タイミングが到来するまでの間、メモリ上で蓄積する(ステップS29)。
【0037】
・送信処理
次にデータ管理部435は、送信タイミングが到来したかどうかを判定する(ステップS30)。例えば、1秒ごとに高速系と低速系のデータセット群を送信する場合、1秒ごとの送信タイミングが到来しない間は(ステップS30;No)、GW43は、ステップS14~S18の処理と、ステップS25~S29の処理とを、それぞれPLC41、PLC42からデータセット群を取得したタイミングに合わせて実行し、データ管理部435は、GW43が備えるメモリ上で、高速系のデータセット群と低速系のデータセット群とを別々の電子ファイルに蓄積する。
【0038】
送信タイミングが到来すると(ステップS30;Yes)。データ管理部435は、メモリ上に蓄積した高速系のデータセット群を含む電子ファイルと低速系のデータセット群を含む電子ファイルの送信を通信部446に指示する。通信部446は、高速系と低速系の電子ファイルをエッジサーバ5とクラウドサーバ7へ送信する。次に記憶媒体記録部437は、GW43が備えるSDカードユニットに装着されたSDメモリカードへ、ステップS36にて送信したものと同じ高速系の電子ファイルと低速系の電子ファイルを書き込んで保存する(ステップS37)。データロガー4は、
図5の処理を繰り返し実行する。
【0039】
これにより、エッジサーバ5とクラウドサーバ7には、時刻同期された高速系のデータセット群と低速系のデータセット群が1秒ごとに継続して送信される。例えば、エッジサーバ5では、1秒間に収集された溶接パラメータを判定モデルによって評価し、その判定結果を表示装置6へ出力する。これにより、溶接士80は、溶接品質をリアルタイムに確認しながら作業を進め、要すれば溶接条件の調整を行って溶接品質を維持しながら作業を継続することができる。
【0040】
[データ収集システムの動作]
次に
図6を参照してデータ収集システム10の動作について説明する。
図6は、実施形態に係るデータ収集システムの動作の一例を示すフロー図である。
まず、
図5で説明した処理により、データロガー4は、高速系と低速系のデータセット群を含んだ電子ファイルをエッジサーバ5とクラウドサーバ7へ送信する(ステップS40)。クラウドサーバ7は、データに欠落があるかどうかを判定する(ステップS41)。例えば、高速系の電子ファイルに1000個のデータセットが含まれていない場合、クラウドサーバ7は、データの欠落があると判定する。あるいは、高速系の電子ファイルの各データセットのタイムスタンプが1msec単位に並んでおらず、抜けがある場合、クラウドサーバ7は、高速系にデータの欠落があると判定する。また、低速系については、例えば、低速系の電子ファイルに20個のデータセットが含まれていない場合、クラウドサーバ7は、データの欠落があると判定する。あるいは、低速系の電子ファイルの各データセットのタイムスタンプが50msec単位に並んでおらず、抜けがある場合、クラウドサーバ7は、低速系にデータの欠落があると判定する。高速系と低速系の何れにもデータの欠落が無い場合(ステップS41;No)、クラウドサーバ7は、データロガー4から1秒ごとに送信される高速系と低速系のデータセット群の受信処理を継続する。高速系と低速系の何れかでデータの欠落がある場合(ステップS41;Yes)、クラウドサーバ7は、データ欠落が検知されたことを示すエラー通知を監視端末9へ送信する(ステップS42)。エラー通知には、高速系と低速系の何れでデータの欠落があったか、欠落が推測される時刻などの情報が含まれていてもよい。
【0041】
一方、エッジサーバ5においても、高速系と低速系のそれぞれについてデータの欠落があるかどうかを判定する(ステップS43)。判定の方法は、クラウドサーバ7と同様である。高速系と低速系の何れにもデータの欠落が無い場合(ステップS43;No)、エッジサーバ5は、データロガー4から送信される高速系と低速系のデータセット群の受信処理を継続する。高速系と低速系の何れかでデータの欠落がある場合(ステップS43;Yes)、エッジサーバ5は、欠落の検知を示すエラー通知を監視端末9へ送信する(ステップS44)。監視端末9は、エッジサーバ5又はクラウドサーバ7からエラー通知を受信すると、アラームを通知する(ステップS45)。監視端末9からアラームが通知されると、監視員は、ステップS32の処理でSDメモリカードに保存されたデータなどを使ってデータのリカバリを行ってもよい。データ収集システム10は、
図6の処理を繰り返し実行する。
【0042】
(効果)
以上説明したように、本実施形態のデータ収集システム10によれば、データロガー4にて1msecの高周期でデータを収集し、VPN接続により、クラウドサーバ7等へリアルタイム(1秒)にデータを送信することができる。また、上述したコスト面、安全性、ストレージ容量制限などに対する要求を満たすデータロガー4およびデータ収集システム10を実現している。具体的には、高速なデータ収集とセキュアなデータ送信を実現するために、データ収取が得意なPLC41~42と、データ通信が得意なGW43の2段構成としたうえで各機器に必要な機能を搭載し、これらを組み合わせることによってデータロガー4を構成する。例えば、GW43がNTPサーバ8との同期を定期的に行い、GW43が時刻同期を保証しながらタイムスタンプを付与することで各プロセスデータの時間管理を行う。これと引き換えにPLC41等では、データのサンプリングとサンプリングしたデータの並びを時系列順に保持することに処理を制限し高速化を実現している。また、GW43によって、送信データ形式をJSON形式にすることでファイルサイズを下げ、さらに各プロセスデータのアナログ値を16進数として扱うことで可変長データサイズの固定化を図り、処理速度の改善、データ軽量化による通信負担の軽減を実現している。また、通信の安全性については、VPN通信を介してデータ送信し、セキュアな環境で管理されているクラウドサーバ7やストレージシステムにデータを蓄積することでセキュアな環境を実現している。また、データ容量の制限については、外部のクラウドサーバ7やストレージシステムにデータを蓄積することで制限なくデータを収集できるように構成している。また、PLC41~42、GW43、クラウドサーバ7、エッジサーバ5については、一般的に提供されている汎用品を用いることができるので、データロガー4およびデータ収集システム10を低コストで構築することができる。また、汎用品の組み合わせにより拡張性、耐環境性に優れるデータロガー4およびデータ収集システム10を構築することができる。
【0043】
上述の実施形態では、データ収集システム10を溶接現場へ適用する場合を例として説明を行ったが、これに限定されない。データ収集システム10は、各種データ分析、機械学習等に必要なサンプリング周期で多数のプロセスデータを収集し、時系列データとしてそれらを蓄積するような任意の用途に用いることができる。また、実施形態のデータロガー4では、PLCが2台構成となっているが、PLCは1台だけでもよいし、3台以上備える構成としてもよい。また、GW43は、1台に限定されない。例えば、PLC41、42毎にGWを設ける構成としてもよい。
【0044】
図7は、実施形態に係るデータ収集システムのハードウェア構成の一例を示す図である。コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。データロガー4、エッジサーバ5、クラウドサーバ7、監視端末9は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0045】
データロガー4、エッジサーバ5、クラウドサーバ7、監視端末9の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0046】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0047】
<付記>
各実施形態に記載のデータロガー及びデータ収集システムは、例えば以下のように把握される。
【0048】
(1)第1の態様に係るデータロガー4は、一つ又は複数のセンサからデータを収集するデータ収集部(入力部411、421)と、前記データを収集した順に時系列に並べたデータセットを作成するデータ整列部412、422と、前記データセットを出力する出力部413、423と、を備えるPLC41、42と、前記PLCが出力した前記データセットを取得し、前記データセットに含まれる各データを所定の固定長データに変換しつつ自装置の時刻に基づいてタイムスタンプを付与し、前記データセットを所定のデータ形式に整形するデータ整形部(タイムスタンプ付与部433、データ形式変換部434)と、整形後の前記データセットを所定の周期で他装置へ送信する送信部(データ管理部435、送信部436)と、を備えるゲートウェイ(GW43)と、を備える。
これにより、遅延なく高速にデータを収集することができる。また、PLCとGWを組み合わせてデータロガーを構築することで汎用的なデータロガーとすることができる。
【0049】
(2)第2の態様に係るデータロガーは、(1)のデータロガーであって、前記データ整形部は、前記データを16進数表記に変換して所定のデータサイズが割り当てられたデータ領域へ格納することにより前記固定長データに変換し、前記データセットをJSON(JavaScript Object Notation)形式に整形する。
これにより数値を16進数表記にすることによりデータサイズを小さくし、データ送信の負荷を低減することができる。データセットをJSON形式で表すことにより、データサイズを小さくし、データ送信の負荷を低減することができる。
【0050】
(3)第3の態様に係るデータロガーは、(1)~(2)のデータロガーであって、前記データ収集部は、第1の周期で収取(データ取得)した前記データを前記第1の周期より長い第2の周期ごとのデータに平滑化して、平滑化後の前記データを時系列に蓄積する。
これにより、外れ値等の影響を除外してデータ収集することができる。
【0051】
(4)第4の態様に係るデータロガーは、(1)~(3)のデータロガーであって、前記データ収集部は、前記データを1ミリ秒単位で収集(サンプリング)して、収集した前記データを時系列に蓄積する。
1msecという高周期でデータを収集することができる。
【0052】
(5)第5の態様に係るデータロガーは、(1)~(4)のデータロガーであって、前記送信部は、VPN(Virtual Private Network)通信により前記データセットをサーバへ送信する。
これにより、閉域網を使ったセキュアな通信を確立して収集したデータを送信することができる。
【0053】
(6)第6の態様に係るデータロガーは、(1)~(5)のデータロガーであって、前記出力部は、UDP(User Datagram Protocol)により前記データセットを前記ゲートウェイへ出力する。
これにより、PLCとGW間のデータ受け渡しの処理速度を高速に維持することができる。
【0054】
(7)第7の態様に係るデータロガーは、(1)~(6)のデータロガーであって、前記ゲートウェイは、NTP(Network Time Protocol)サーバと時刻の同期を行う時刻同期部をさらに備える。
これにより、データセットに付与するタイムスタンプ時刻の精度を保つことができる。
【0055】
(8)第8の態様に係るデータロガーは、(1)~(7)のデータロガーであって、前記センサからのデータ収集周期が複数存在し、前記データ整列部は収集周期の異なるデータ別に前記データセットを作成する。
これにより。例えば、高速系、低速系などサンプリング周期が異なるデータを混合すること無く管理することができる。
【0056】
(9)第9の態様に係るデータロガーは、(1)~(8)のデータロガーであって、前記ゲートウェイは、前記送信部が送信した前記データセットを記憶媒体に記録する記録部をさらに備える。
何らかの理由により送信に失敗した場合でもデータを確保することができる。
【0057】
(10)第10の態様に係るデータ収集システムは、(1)~(9)のデータロガーと、サーバと、監視端末と、を備え、前記サーバは、前記データロガーが送信した前記データセットを受信し、受信した前記データセットの欠落を検出すると、前記データセットの欠落を前記監視端末へ通知する。
これにより、データロガーが収取したデータをサーバにて蓄積することができる。また、送信データに欠落があれば、その欠落を把握することができる。
【符号の説明】
【0058】
1・・・溶接機
2・・・溶接棒
4・・・データロガー
5・・・エッジサーバ
6・・・表示装置
7・・・クラウドサーバ
8・・・NTPサーバ
9・・・監視端末
10・・・データ収集システム
41、42・・・PLC
411、421・・・入力部
412、422・・・データ整列部
413、423・・・出力部
43・・・ゲートウェイ
431・・・データ取得部
432・・・時刻同期部
433・・・タイムスタンプ付与部
434・・・データ形式変換部
435・・・データ管理部
436・・・送信部
437・・・記憶媒体記録部
100・・・溶接支援システム
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース