(57)【要約】【課題】より有用なデータの収集を可能にする。【解決手段】モータ５を制御するサーボアンプ４と、同期通信及び非同期通信を介して通信可能に接続されたサーボアンプ４を制御するコントローラ３とを備える産業機器のデータ収集システム１００であって、コントローラ３は、同期通信を介してサーボアンプ４へトレーストリガを送信するステップＳ４の制御手順を実行し、サーボアンプ４は、モータ５に関するトレースデータをトレースするステップＳ８の制御手順と、トレーストリガを受信してからトレースを開始するまでの遅れ時間ｔｄを計時するステップＳ６の制御手順と、非同期通信を介してトレースデータと遅れ時間ｔｄをコントローラ３に送信するステップＳ９、Ｓ１０の制御手順と、を実行する。
2020044908.tif 000002
【特許請求の範囲】
【請求項１】
電気機器を制御する下位制御装置と、同期通信及び非同期通信を介して通信可能に接続された前記下位制御装置を制御する上位制御装置とを備える産業機器のデータ収集システムであって、
前記上位制御装置は、
前記同期通信を介して前記下位制御装置へタイミング基準信号を送信する基準信号送信部、
を有し、
前記下位制御装置は、
前記電気機器に関するデータを記録するデータ記録部と、
前記タイミング基準信号を受信してから前記データ記録部がデータ記録を開始するまでの遅れ時間を計時する遅れ計時部と、
前記非同期通信または前記同期通信を介して前記データと前記遅れ時間を前記上位制御装置に送信するデータ送信部と、
を有することを特徴とする産業機器のデータ収集システム。
【請求項２】
前記上位制御装置は、
前記基準信号送信部が前記タイミング基準信号を送信した際の送信時刻を記憶する送信時刻記憶部と、
前記下位制御装置から受信した前記遅れ時間と前記送信時刻に基づいて、前記データに含まれる各データ単位で記録時刻を付与したロギングデータを生成するロギング部と、
を有することを特徴とする請求項１記載の産業機器のデータ収集システム。
【請求項３】
前記上位制御装置は、
前記データ記録部におけるデータ記録設定情報を前記下位制御装置へ送信する設定情報送信部を有することを特徴とする請求項２記載の産業機器のデータ収集システム。
【請求項４】
前記データ記録設定情報は、
前記データとして時系列データをデータ記録する際のサンプリング周期が含まれており、
前記ロギング部は、
前記遅れ時間、前記送信時刻、及び前記サンプリング周期に基づいて前記記録時刻を付与することを特徴とする請求項３記載の産業機器のデータ収集システム。
【請求項５】
前記遅れ計時部は、
前記サンプリング周期の最小設定値以下の時間周期で前記遅れ時間を計時することを特徴とする請求項４記載の産業機器のデータ収集システム。
【請求項６】
前記ロギング部は、
当該上位制御装置自体でデータ記録したデータに対しても前記送信時刻を基準とした記録時刻を付与して前記ロギングデータに含めることを特徴とする請求項２乃至５のいずれか１項に記載の産業機器のデータ収集システム。
【請求項７】
前記データ記録部は、
前記電気機器に接続されている外部機器がデータ記録したデータも受信し、
前記遅れ計時部は、
前記タイミング基準信号を受信してから前記外部機器がデータ記録を開始するまでの遅れ時間も計時し、
前記データ送信部は、
前記外部機器がデータ記録した前記データと前記遅れ時間も前記上位制御装置に送信することを特徴とする請求項２乃至６のいずれか１項に記載の産業機器のデータ収集システム。
【請求項８】
前記タイミング基準信号は、前記同期通信中の特定タイミングで送受されるビット情報であることを特徴とする請求項２乃至７のいずれか１項に記載の産業機器のデータ収集システム。
【請求項９】
前記下位制御装置は、
所定の周期毎に所定の制御処理を実行する周期制御機能を有することを特徴とする請求項２乃至８のいずれか１項に記載の産業機器のデータ収集システム。
【請求項１０】
前記下位制御装置は、
前記電気機器としてモータを駆動制御するモータ制御装置であって、
前記上位制御装置は、
前記モータ制御装置に制御指令を送信するコントローラであることを特徴とする請求項９記載の産業機器のデータ収集システム。
【請求項１１】
前記上位制御装置は、
前記コントローラに制御指令を送信可能であって、前記コントローラから前記ロギングデータを受信可能な管理制御装置を有していることを特徴とする請求項１０記載の産業機器のデータ収集システム。
【請求項１２】
前記コントローラ又は前記管理制御装置の少なくとも一方が前記基準信号送信部と前記送信時刻記憶部を有することを特徴とする請求項１１記載の産業機器のデータ収集システム。
【請求項１３】
前記データ送信部は、
前記非同期通信を介して前記データと前記遅れ時間を前記上位制御装置に送信することを特徴とする請求項１乃至１２のいずれか１項に記載の産業機器のデータ収集システム。
【請求項１４】
同期通信及び非同期通信を介して通信可能に接続されたコントローラから受信した制御指令に基づいてモータを駆動制御するモータ制御装置であって、
前記モータに関するデータを記録するデータ記録部と、
前記同期通信を介して前記コントローラからタイミング基準信号を受信してから前記データ記録部がデータ記録を開始するまでの遅れ時間を計時する遅れ計時部と、
前記非同期通信または前記同期通信を介して前記データと前記遅れ時間を前記コントローラに送信するデータ送信部と、
を有することを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、産業機器のデータ収集システム及びモータ制御装置に関する。
【背景技術】
【０００２】
特許文献１には、モータを制御するとともにモータに関するトレースデータを収集するモータ制御装置と、モータ制御装置を制御するとともにモータ制御装置に対してトレース開始信号を送出するコントローラとを備えたデータ収集システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６２８８１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら上記従来技術では、コントローラが受信したトレースデータが制御シーケンスにおけるどのタイミングでトレースされたものか保証されずトレースされたデータの有用性に課題があった。【０００５】
本発明はこのような問題点に鑑みてなされたものであり、より有用なデータの収集が可能な産業機器のデータ収集システム及びモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、電気機器を制御する下位制御装置と、同期通信及び非同期通信を介して通信可能に接続された前記下位制御装置を制御する上位制御装置とを備える産業機器のデータ収集システムであって、前記上位制御装置は、前記同期通信を介して前記下位制御装置へタイミング基準信号を送信する基準信号送信部、を有し、前記下位制御装置は、前記電気機器に関するデータを記録するデータ記録部と、前記タイミング基準信号を受信してから前記データ記録部がデータ記録を開始するまでの遅れ時間を計時する遅れ計時部と、前記非同期通信または前記同期通信を介して前記データと前記遅れ時間を前記上位制御装置に送信するデータ送信部と、を有する産業機器のデータ収集システムが適用される。【０００７】
また、本発明の別の観点によれば、同期通信及び非同期通信を介して通信可能に接続されたコントローラから受信した制御指令に基づいてモータを駆動制御するモータ制御装置であって、前記モータに関するデータを記録するデータ記録部と、前記同期通信を介して前記コントローラから前記タイミング基準信号を受信してから前記データ記録部がデータ記録を開始するまでの遅れ時間を計時する遅れ計時部と、前記非同期通信または前記同期通信を介して前記データと前記遅れ時間を前記コントローラに送信するデータ送信部と、を有するモータ制御装置が適用される。
【発明の効果】
【０００８】
本発明によれば、より有用なデータの収集が可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態のデータ収集システムの概略的なブロック構成を表す図である。
【図２】一般的なコントローラとサーボアンプ間のデータ送受手法を表すタイムチャートである。
【図３】トレースデータとその他データとのデータ同期が取れない場合を説明する図である。
【図４】実施形態におけるトレースデータの収集工程、及びロギングデータの生成工程を表すシーケンスチャートである。
【図５】実施形態における各種データの収集形態を説明する図である。
【図６】図４中におけるＡ部分を拡大し、トレーストリガの送信時刻の前後において同期通信で送受されるシリアルビット列を模式的に表す図である。
【図７】非同期通信を介してサーボアンプからコントローラへ送信された遅れ時間とトレースデータを模式的に表す図である。
【図８】データ同期されたデータで作成したロギングデータを表す図である。
【図９】作成したロギングデータ模式的に表す図である。
【図１０】サーバが都銀具データを作成する場合のトレースデータの収集工程、及びロギングデータの生成工程を表すシーケンスチャートである。
【図１１】サーバが主体的にデータ収集する場合のデータ収集システムの概略的なブロック構成を表す図である。
【発明を実施するための形態】
【００１０】
以下、一実施の形態について図面を参照しつつ説明する。
【００１１】
＜データ収集システムの全体構成＞
図１を参照しつつ、本実施形態に係る産業機器のデータ収集システムの全体構成の一例について説明する。
【００１２】
図１は、データ収集システムの概略的なブロック構成を表している。なお本実施形態の例では、産業機器である駆動機械の駆動を制御する制御システムであるとともに、その異常予知や最適化を図ることを目的としたデータも収集可能なシステムとして説明する。図１に示すように、データ収集システム１００は、駆動機械１と、サーバ２と、コントローラ３と、サーボアンプ４と、モータ５とを有している。
【００１３】
駆動機械１は、当該データ収集システム１００によってその駆動が制御されるとともに、その駆動や状態に関するデータが収集される対象の機械システムである。この駆動機械１の内部構成として、そのほとんどは後述のモータ５から入力されるトルクや推力によりその動作が制御される機構部分である。また本実施例における駆動機械１は、その他にも後述のコントローラ３から直接的に制御されるランプなどの表示装置、又はソレノイドやエアシリンダなどの各種アクチュエータ６を備えている。他にも駆動機械１は、その状態や検出値を後述のコントローラ３が直接的に検知可能な各種のスイッチやセンサ７なども備えている。
【００１４】
サーバ２は、例えば特に図示しないＣＰＵやＲＯＭ、ＲＡＭなどのメモリを備えた汎用パーソナルコンピュータで構成され、駆動機械１に所望の工程に従った駆動動作を行わせるための上位制御指令を、例えばＥＴＨＥＲＮＥＴ（登録商標）などの通信ネットワーク８を介して後述のコントローラ３に出力する。また本実施形態の例において、このサーバ２は、ユーザからの入力操作や所定の設定条件に応じて駆動機械に関する各種データを取得するよう当該データ収集システム１００全体を制御する機能や、また取得された各種データが時系列的にまとめられた後述のロギングデータをコントローラ３から受信し、そのデータ解析に基づいて駆動機械１の異常予知や制御の最適化を行う機能も有している。
【００１５】
コントローラ３は、特に図示しないＣＰＵやＲＯＭ、ＲＡＭなどのメモリなどを備えたコンピュータで構成され、上記サーバ２から入力された上位制御指令に基づいて駆動機械１に所望の経時的動作を行わせるよう制御する制御装置である。この動作制御機能の形態として具体的には、駆動機械１の主要動力源である後述のモータ５に対して所望のモーション動作をリアルタイムかつ高精度に指示するモーション制御指令を、いわゆるフィールドネットワーク９を介して後述のサーボアンプ４に対し出力するモーション制御機能を有している。また、他の動作制御の形態として、当該コントローラ３が備える特に図示しないＩ／Ｏポートなどのインターフェースを介して、駆動機械１が備える上記ランプや各種アクチュエータ６等に対し経時的な動作を指示するシーケンス制御指令を出力するシーケンス制御機能も有している。またこの例のコントローラ３は、特に図示しないＩ／Ｏポートなどのインターフェースを介して、駆動機械１が備える上記各種のスイッチやセンサ７からの状態情報やセンサ値などを逐次読み取る機能も有している（後述の図２参照）。そして本実施形態の例では、上記Ｉ／Ｏポートで読み取った状態情報やセンサ値と併せて、後述のサーボアンプ４から受信した駆動機械１に関する各種データを時系列的に整理してロギングデータとして生成し、上記サーバ２へ送信する機能を有している（詳しくは後述する）。
【００１６】
サーボアンプ４は、特に図示しないＣＰＵやＲＯＭ、ＲＡＭなどのメモリなどを備えたコンピュータで構成され、上記コントローラ３から受信したモーション制御指令についてリアルタイムかつ高精度に追従するよう後述のモータ５に駆動電力を給電し駆動制御するモータ制御装置である。また本実施形態の例においてサーボアンプ４は、駆動電力を給電する過程で生成されるトルク指令や、実際にモータから出力された出力速度及び出力位置等の各種データを時系列的なトレースデータとして逐次取得して上記メモリに記録し（後述の図２参照）、上記コントローラ３へ出力する機能も有している。
【００１７】
モータ５は、例えば回転型や直動型のモータであり、サーボアンプ４から給電された駆動電力により上記駆動機械１の動作を駆動するトルクや推力を発生する。なお、この例におけるモータ５は回転型を想定しており、当該モータ５にはその出力位置（回転位置）を光学的に検出するエンコーダ１０（外部機器）が設けられている。なお、モータ５が直動型の場合は上記エンコーダ１０に代えてリニアスケールなどが設けられる。
【００１８】
なお以上のシステム構成において、特にコントローラ３とサーボアンプ４との間で情報を送受させるフィールドネットワーク９においては、モーション制御指令を送受する際のリアルタイム性を確保するための同期通信と、比較的優先度の低い情報を送受するための非同期通信を切り替えて行うことが可能である（後に詳述する）。このようなフィールドネットワーク９は、同期通信と非同期通信を同一のケーブルラインで同一のプロトコルにより実装してもよいし、または同期通信と非同期通信で別体に実装してもよい。
【００１９】
また、上記のサーバ２とコントローラ３のそれぞれにおいては、当該データ収集システム１００の運用場所が属する時間帯の標準時刻に準拠して「年／月／日／時／分／秒」の絶対時刻で表記されたカレンダ情報を生成するカレンダＩＣ１１、１２を備えている。コントローラ３は上記カレンダＩＣ１２のカレンダ情報に基づいて、上記トレースデータを含む各種データに対しそれら個々のデータ単位で取得時刻の情報を付与したロギングデータを生成する（後に詳述する）。そしてそのロギングデータを受信したサーバ２は、個々の取得時刻とカレンダＩＣ１１のカレンダ情報との対比に基づいたデータの解析により、駆動機械１の異常予知や制御の最適化を行う。
【００２０】
なお、以上のシステム構成において、モータ５が各請求項記載の電気機器に相当し、サーボアンプ４が各請求項記載の下位制御装置に相当し、サーバ２及びコントローラ３が各請求項記載の上位制御装置に相当し、サーバ２が各請求項記載の管理制御装置に相当し、モータ５及び駆動機械１が各請求項記載の産業機器に相当する。
【００２１】
＜コントローラとサーボアンプ間におけるデータ送受手法について＞
次に上記データ収集システムにおけるコントローラ３とサーボアンプ４間のデータ送受手法について図２を参照しつつ説明する。上述したように、コントローラ３とサーボアンプ４の２つのノードは、それぞれ個別に駆動機械１の動作制御や状態に関する各種のデータを逐次取得して記憶可能となっている。図示する例では、コントローラ３自体がそのＩ／Ｏポートを介して駆動機械１が備えるセンサ７からその状態を表すセンサ値を独自に検出し、時系列データとして記録される。この場合は、コントローラ３のＣＰＵがその割り込み処理によって所定周期でセンサ値を読み取るが、個々のデータの取得時刻は当該コントローラ３が備えるカレンダＩＣ１２からのカレンダ情報、または上記割り込み処理のカウンタ値などを参照して管理できる（特に図示せず）。
【００２２】
また図示する例では、コントローラ３がモータ５に出力させるよう演算した速度指令をモーション制御指令としてサーボアンプ４に出力する場合、すなわち速度制御を行う場合を示しており、このモーション制御指令は上述したフィールドネットワーク９の同期通信にてコントローラ３からサーボアンプ４へ送受される。このとき、コントローラ３とサーボアンプ４のそれぞれが備えているフィールドネットワーク９用の通信制御装置（特に図示せず）は、互いに位相差が十分小さくまた十分短い同一周期（以下、同期通信周期という）でモーション制御指令を逐次送受する。これによりコントローラ３から送信するモーション制御指令が経時的に変動する場合でも、サーボアンプ４は十分なリアルタイム性をもってそのモーション制御指令の変動に対応した追従制御を行える。
【００２３】
そして図示する例では、サーボアンプ４は、上記同期通信で受信したモーション制御指令を追従制御した結果モータ５から実際に出力された出力速度、出力位置、及びその追従制御の過程で生成されるトルク指令等の各種データを時系列的なトレースデータとして逐次取得して記録する。なお、出力速度については、エンコーダ１０から検出した出力位置を時間微分等の演算により算出すればよい。
【００２４】
ここでサーボアンプ４は、上述したモーション制御指令の追従制御を同期通信周期と同期した同期タスクとして実行するが、その一方で各種データのトレース処理を独自の制御周期で実行する（後に詳述する）。しかし、同期通信周期がとても短い期間であるため、サーボアンプ４が各種トレースデータを各同期通信周期ごとにコントローラ３へ逐次返信することは困難である。そのため、サーボアンプ４が取得したデータ容量の大きいトレースデータをコントローラ３へ返信するには、上記同期タスクの非実行期間中において任意のタイミングで行われる非同期通信でまとめて返信する必要がある。
【００２５】
そしてコントローラ３は、当該コントローラ３自体が検出したセンサ値やモーション制御指令の時系列データとともに、サーボアンプ４から受信した各種トレースデータとを併せてまとめ、それら個々のデータ単位で取得時刻の情報を付与したロギングデータを生成する。なお、紙面の都合から図２に示す時系列データの種類は限られているが、図示する以外にもコントローラ３が駆動機械１に直接出力するシーケンス制御指令や、サーボアンプ４で検出可能な速度偏差や推定外乱、またはサーボアンプ４内部における温度や湿度等の状態データなどの多様な時系列データをロギングデータ（トレースデータ）に含めてもよい。
【００２６】
＜本実施形態の特徴＞
以上説明したように、一般的な産業機器システムの制御構成としては、当該産業機器（この例の駆動機械１）が備える電気機器（この例のモータ５）を制御する下位制御装置（この例のサーボアンプ４）と、その下位制御装置を制御する上位制御装置（この例のサーバ２及びコントローラ３）を備える場合が多い。これら下位制御装置と上位制御装置は、優先度の高い重要な制御指令（この例のモーション制御指令）などを所定周期の同期通信で送受し、優先度の低い情報を非同期通信で送受することが通常行われている。
【００２７】
そして近年では、産業機器システムの運用制御における異常予知や最適化を目的として、電気機器の制御に関する各種データの収集技術と解析技術の開発が進められている。そこで上述したような産業機器システムの制御構成においては、各制御装置の処理リソースの都合上、下位制御装置が電気機器に関するデータ、例えば当該電機機器の制御に関する時系列データなどのデータを直接トレースして収集し、上位制御装置がそのデータに対して解析が容易となるよう整理してまとめるといった処理の分担を行う必要がある。しかしながら、トレースするデータはデータ容量が大きいため上記同期通信では送受が困難であり、そのため非同期通信でデータを送受する場合が多い。一方、送受タイミングが任意である非同期通信では、図３に示すように、受信したデータが上位制御装置の制御シーケンスにおけるどのタイミングでトレースされたものかが不明確となり、取得タイミングの自明性が高い精度で要求されるデータ解析への適用が困難となる。
【００２８】
これに対して本実施形態では、上位制御装置であるコントローラ３が同期通信を介して下位制御装置であるサーボアンプ４へトレーストリガを送信する。そして、サーボアンプ４が電気機器であるモータ５に関するデータをトレースして記録するとともに、上記トレーストリガを受信してから各種データのトレースを開始するまでの遅れ時間を計時し、非同期通信を介してデータと遅れ時間をコントローラ３に送信する。
【００２９】
これにより、非同期通信を介してデータとともに遅れ時間を受信したコントローラ３は、当該コントローラ３自体が送信したトレーストリガの送信タイミングを基準として、遅れ時間を考慮したデータの同期を取ることができる。つまり、コントローラ３はそれ自体の制御シーケンスにおけるどのタイミングでデータがトレースされたものかを認識でき、データ解析が容易となるようそのデータを整理してまとめることができる。以下、このようなデータ同期手法について順次、詳細に説明する。
【００３０】
＜本実施形態におけるトレースデータの収集工程について＞
上述したデータ同期を図るために本実施形態のデータ収集システムにおいて実行されるトレースデータの収集工程、及びロギングデータの生成工程を表すシーケンスチャートを図４に示す。なお、この図４に示すシーケンスチャートは、サーバ２とコントローラ３とサーボアンプ４の各ノード間において行われるデータ収集に関した各種情報の送受や処理のみを示しており、これとはまた別に駆動機械１の駆動制御に関する通常処理も時分割的に並行して行われているものとする。この通常処理としては、例えばコントローラ３においてモーション制御指令を生成、記録するとともに同期通信を介してサーボアンプ４に送信したり、また上記Ｉ／Ｏポートを介して駆動機械１に送信したシーケンス制御指令や駆動機械１から受信したセンサ値などを記録する処理などが含まれる。
【００３１】
また、図示する例のコントローラ３は、そのＣＰＵの割り込み処理によって同期タスクと非同期タスクの２種類のタスクを時分割的に実行するよう構成されている。同期タスクとは、上述したモーション制御指令の生成送信処理のように同期通信周期と同期して最優先で実行されるタスクであり、非同期タスクとは、同期タスクの実行に影響がないよう比較的優先度の低い処理を非同期で実行するタスクである。
【００３２】
まず初めに、ステップＳ１において、サーバ２のＣＰＵは、ユーザからの入力操作や所定の設定条件に対応して、駆動機械１の制御に関するロギングデータの生成を開始するようコントローラ３の非同期タスクにロギング開始指令を送信する。
【００３３】
次に、ステップＳ２において、コントローラ３のＣＰＵは非同期タスクにより、上記ロギングタスク指令を受けてトレース設定情報をサーボアンプ４に非同期通信で送信する。このトレース設定情報は、サーボアンプ４におけるデータトレース処理の詳細を設定する情報であり、具体的にはどの種類のデータをトレースするかを指定するトレース対象情報や、データをトレースする際のサンプリング周期Δｔ、トレースを開始するためのトレース開始条件などが含まれている。
【００３４】
次に、ステップＳ３において、サーボアンプ４のＣＰＵは、上記トレース設定情報を受けてそれに含まれているトレース開始条件を満たすよう前準備の処理を開始する。
【００３５】
次に、ステップＳ４において、コントローラ３のＣＰＵは同期タスクにより、トレーストリガをサーボアンプ４に同期通信で送信する。このトレーストリガは、当該データ収集システム１００全体におけるデータトレース処理の時間的基準を示す情報であり、コントローラ３からサーボアンプ４へ同期通信で送受されるシリアルビット列中の特定のタイミングで送受されるビット情報である。なお、このトレーストリガが各請求項記載のタイミング基準信号に相当する。また、このトレーストリガのビット情報の形態については、後述の図６で詳細に説明する。
【００３６】
次に、ステップＳ５において、コントローラ３のＣＰＵは同期タスクにより、上記ステップＳ４でトレーストリガを送信した際の送信時刻ｔｌを記憶（ラッチ）する。本実施形態の例でこの送信時刻ｔｌの情報は、当該コントローラ３が備えているカレンダＩＣ１２で計時された絶対時刻表記（「年／月／日／時／分／秒」）のカレンダ情報で取得される。
【００３７】
また、ステップＳ６において、サーボアンプ４のＣＰＵは、上記ステップＳ４でトレーストリガを受信した際に当該サーボアンプ４の内部で独自に用意した整数のカウンタ値をリセットし、すぐに所定の計時周期でそのカウンタ値をカウントアップ（インクリメント）する処理を開始する。
【００３８】
次にステップＳ７において、コントローラ３のＣＰＵは非同期タスクにより、トレース開始指令をサーボアンプ４に非同期通信で送信する。本実施形態の例においてこのトレース開始指令の送受は、上記ステップＳ３で受信したトレース設定情報に含まれているトレース開始条件の１つとして設定されている。また本実施形態の例におけるトレース開始条件には、他にもサーボアンプ４が各種データのトレース処理を実行するために必要な多様な準備処理の完遂などが含まれている。つまりサーボアンプ４は、上記のトレーストリガを受信した直後すぐにトレース処理を開始することができず、必要な開始指令の受信や多様な準備処理を完遂するなどのトレース開始条件を全て満たした際に次のステップＳ８でトレース処理を開始できる。
【００３９】
ステップＳ８において、サーボアンプ４のＣＰＵは、トレースデータを取得する。つまり、駆動機械１に関する各種データのトレース処理を実行する。なお、このトレース処理では、上記ステップＳ２でトレース設定情報として設定したサンプリング周期Δｔで各種データをトレースする。また、このトレース処理を開始した時点ｔｓで上記カウンタ値のカウントアップも終了する。このときのカウンタ値は、実際にトレーストリガを受信してからこのステップＳ８でトレース処理が開始されるまでの遅れ時間ｔｄを計時しており、そのカウンタ値とカウントアップの計時周期とを積算することで遅れ時間ｔｄの実際の時間長を算出できる。
【００４０】
次にステップＳ９において、サーボアンプ４のＣＰＵは、上記ステップＳ８で計時した遅れ時間ｔｄを非同期通信でコントローラ３へ送信する。
【００４１】
またステップＳ１０において、サーボアンプ４のＣＰＵは、上記ステップ８で取得したトレースデータも非同期通信でコントローラ３へ送信する。なお、上記ステップＳ９と当該ステップＳ１０で送信した情報は、いずれもコントローラ３の非同期タスクで受信する。
【００４２】
次にステップＳ１１において、コントローラ３のＣＰＵは同期タスクにより、上記ステップＳ５で記憶した送信時刻ｔｌを非同期タスクで処理可能に受け渡す。
【００４３】
次にステップＳ１２において、コントローラ３のＣＰＵは非同期タスクにより、当該コントローラ３の通常処理で生成、記録した各種制御指令及びセンサ値などのデータについて時刻補正を行う。この時刻補正について具体的には、トレーストリガの送信時刻ｔｌと、上記ステップＳ９で受信した遅れ時間ｔｄと、上記ステップＳ２でトレース設定情報として設定したサンプリング周期Δｔとに基づいて、トレースデータと同等のトレース期間、サンプリング周期Δｔでの時系列データの形態に補正する（後述の図８参照）。
【００４４】
次にステップＳ１３において、コントローラ３のＣＰＵは非同期タスクにより、上記ステップＳ１２で時刻補正したコントローラ３の制御指令及びデータや、上記ステップＳ１０でサーボアンプ４から受信したトレースデータの間で上記トレーストリガの送信時刻ｔｌを基準とした同期を取り、さらに個々のデータ単位で送信時刻ｔｌに基づいた取得時刻の情報を付与したロギングデータを作成する（後述の図９参照）。
【００４５】
次にステップＳ１４において、コントローラ３のＣＰＵは非同期タスクにより、上記ステップＳ１３で作成したロギングデータをサーバ２へ送信する。
【００４６】
次にステップＳ１５において、サーバ２のＣＰＵは、コントローラ３から受信したロギングデータを保存し、後のデータ解析に利用する。
【００４７】
以上説明したシーケンスチャートの工程により、図５に示すような各種データの収集が行われる。すなわち、コントローラ３側で各種制御指令やセンサ値が逐次記録されている最中に、同期通信周期と同期したトレーストリガがコントローラ３からサーボアンプ４へ送信される。そのトレーストリガの送信後でトレース開始条件を全て満たした際にサーボアンプ４でトレース処理が開始されるが、そのトレーストリガの送信から実際にトレース処理が開始されるまでの遅れ時間ｔｄが別途計時される。つまりこの遅れ時間ｔｄは、トレーストリガの送信時刻ｔｌを基準時刻として、それに対するトレースデータの最初のデータの取得時刻ｔｓとの間の相対時間差（いわゆるタイムスタンプ）に相当する。また、サーボアンプ４でのトレース処理はサンプリング周期Δｔで行われる。このように取得されたトレースデータが遅れ時間ｔｄとともにコントローラ３へ送信されることで、コントローラ３側で取得された他の制御指令やデータに対してもトレーストリガの送信時刻ｔｌを基準としたデータ間の同期を取ることができる（後述）。
【００４８】
以上において、上記ステップＳ４の制御手順が各請求項記載のトリガ送信部に相当し、上記ステップＳ８の制御手順が各請求項記載のトレース部に相当し、上記ステップＳ６からのカウンタ値のカウントアップ処理が各請求項記載の遅れ計時部に相当し、上記ステップＳ９及びステップＳ１０の制御手順が各請求項記載のデータ送信部に相当し、上記ステップＳ５の制御手順が各請求項記載の送信時刻記憶部に相当し、上記ステップＳ１２とステップＳ１３の制御手順が各請求項記載のロギング部に相当し、上記ステップＳ２の制御手順が各請求項記載の設定情報送信部に相当する。
【００４９】
＜トレーストリガの伝送形態について＞
図６は、上記図４中におけるＡ部分を拡大し、トレーストリガの送信時刻ｔｌの前後において同期通信で送受されるシリアルビット列を模式的に示している。図示するように、この例のフィールドネットワーク９における同期通信はいわゆるシリアル通信で行われ、一定時間間隔の同期通信周期Ｓでモーション制御指令などを含む情報が経時的なシリアルビット列Ｑの伝送形態で繰り返し送受される。そして一度に送受されるシリアルビット列Ｑのビット長はモーション制御指令などの内容によって変動する不定長であるが、そのうちの特定位置のｎビット目（図中では「ｎｂｉｔ」と表記）の内容がトレーストリガに割り当てられる。この例では、そのｎビット目の内容が「１」（つまり正論理）である場合にトレーストリガがＯＮされたことになる。
【００５０】
このようにシリアルビット列Ｑ中におけるトレーストリガのビット位置があらかじめ固定位置で規定されていることで、それを受信するサーボアンプ４側でもトレーストリガの受信有無を簡易かつ迅速に認識できる。そして一般的にコントローラ３とサーボアンプ４の間のフィールドネットワーク９で行われる同期通信は十分高速に情報を伝達できる性能を有しているため、それらノード間におけるトレーストリガの伝達にわずかな時間差が生じてもデータ解析上の観点では十分に許容可能な範囲に収めることができる。
【００５１】
＜トレースデータ、ロギングデータの詳細について＞
図７は、非同期通信を介してサーボアンプ４からコントローラ３へ送信される遅れ時間ｔｄとトレースデータを模式的に示している。図示する例では、遅れ時間ｔｄが実時間長（μｓ）で送信されるが、上記のカウンタ値そのもので送信してもよい。この場合には、カウンタ値をカウントアップする計時周期も併せて送信し、コントローラ３側でそのカウンタ値を実時間長に変換すればよい。またトレースデータにおいては、出力速度、出力位置、トルク指令などの各種データで、それぞれトレース開始時ｔｓのデータを先頭に同じサンプリング周期Δｔ、同じトレース期間の時系列データの形態で取得できる。
【００５２】
そしてこれら遅れ時間ｔｄとトレースデータを受信したコントローラ３は、当該コントローラ３が生成、記録した各種制御情報及びデータと併せて図８に示すようにデータ同期できる。つまり、コントローラ３側の各種制御指令及びデータについては、上記ステップＳ１２の時刻補正により、トレーストリガの送信時刻ｔｌに遅れ時間ｔｄを加算したトレース開始時刻ｔｓから同じトレース期間分だけを抽出し、それを同じサンプリング周期Δｔで標本化しなおす。これにより、コントローラ３側のデータとサーボアンプ４側のトレースデータとを同じタイミング、同じ期間、同じサンプリング周期で正規化でき、すなわちデータ同期できる。
【００５３】
そして、図９に示すように、各データ単位でその取得時刻（トレース時刻）を付与することでロギングデータを作成できる。例えばｎ番目（ｎ＝０、１、２、・・・）のデータのトレース時刻は、絶対時刻表記のカレンダ情報として取得されたトレーストリガ送信時刻ｔｌと遅れ時間ｔｄを加算したトレース開始時刻ｔｓに、ｎ×サンプリング周期Δｔを加算して算出できる。このようにロギングデータ中における各データ単位で絶対時刻表記のトレース時刻が付与されていることにより、大量のデータを取得、記憶した場合でもそのデータ単位でトレース時刻を一意的に認識できる。
【００５４】
＜本実施形態の効果＞
以上説明したように、本実施形態のデータ収集システム１００によれば、コントローラ３によるステップＳ４の制御手順が同期通信を介してサーボアンプ４へトレーストリガを送信し、サーボアンプ４によるステップＳ８の制御手順がモータ５（駆動機械１）に関するデータをトレースする。それとともに、サーボアンプ４によるステップＳ６からのカウンタ値のカウントアップ処理が、トレーストリガを受信してからトレースを開始するまでの遅れ時間ｔｄを計時し、ステップＳ９及びステップＳ１０の制御手順が非同期通信を介してトレースデータと遅れ時間ｔｄをコントローラ３に送信する。
【００５５】
これにより、非同期通信を介してトレースデータとともに遅れ時間ｔｄを受信したコントローラ３は、当該コントローラ３自体が送信したトレーストリガの送信時刻ｔｌを基準として、遅れ時間ｔｄを考慮したデータの同期を取ることができる。つまり、コントローラ３はそれ自体の制御シーケンスにおけるどのタイミングでトレースデータがトレースされたものを認識でき、データ解析が容易となるようそのデータを整理してまとめることができる。この結果、より有用なデータの収集が可能となる。
【００５６】
また、本実施形態では特に、コントローラ３は、トレーストリガを送信した際の送信時刻ｔｌをステップＳ５で記憶し、サーボアンプ４から受信した遅れ時間ｔｄと送信時刻ｔｌに基づいて、各種データに含まれる各データ単位でトレース時刻（ｔｌ＋ｔｄ＋ｎ×Δt：カレンダ情報）を付与したロギングデータをステップＳ１２とステップＳ１３で生成する。これにより、コントローラ３は、受信したトレースデータを絶対時刻（いわゆるグローバル時刻）で整理したロギングデータとして加工し、データ解析への適用度をさらに向上できる。なお、以上においてロギングデータに付与するトレース時刻は、コントローラ３のカレンダＩＣ１２が生成する絶対時刻に基づいた送信時刻ｔｌを基準としているが、これに限られない。他にも、コントローラ３自体が、カレンダＩＣ１２の所定基準時刻から独自に所定周期でカウンタ値のカウントを開始し、そのカウンタ値に基づいて生成された実時刻で送信時刻ｔｌ及びトレース時刻を計時してもよい。この場合、一般的に流通している既製品のカレンダＩＣ１２では計時し得ないμｓ程度のオーダーまで計時できる。
【００５７】
また、本実施形態では特に、コントローラ３は、トレーストリガの送信後のステップＳ２でトレース設定情報をサーボアンプ４へ送信する。これにより、サーボアンプ４がどのようなサンプリング周期Δｔやトレース開始条件で、どのような種類のデータをトレースすべきかなどのトレース処理の柔軟な設定が可能となる。そして、本実施形態では、このようなトレース設定の影響でどのようにトレース開始の遅れ時間ｔｄが変動した場合でもデータを同期させることができる。なお、コントローラ３によるトレース設定情報の送信は、トレーストリガと同時に送信してもよい。
【００５８】
また、本実施形態では特に、トレース設定情報は、データとして時系列データをトレースする際のサンプリング周期Δtが含まれており、ステップＳ１２とステップＳ１３でロギングデータを作成する際には遅れ時間ｔｄ、送信時刻ｔｌ、及びサンプリング周期Δｔに基づいてトレース時刻を付与する。これにより、サーボアンプ４がどのような時間間隔で時系列データをトレースするかを任意に設定でき、その時間間隔に対応した高い精度で時刻付与したロギングデータの生成が可能となる。
【００５９】
なお、サーボアンプ４におけるステップＳ６からのカウンタ値のカウントアップ処理、すなわち遅れ時間ｔｄの計時処理は、サンプリング周期Δｔの最小設定値以下の時間周期で遅れ時間ｔｄを計時することが望ましい。これにより、サンプリング周期Δｔと同等以上に高い精度で時系列データのトレース開始タイミングｔｓを定義でき、ロギングデータの同期時刻精度を確保できる。
【００６０】
また、本実施形態では特に、ステップＳ１２及びステップＳ１３の制御手順で、当該コントローラ３自体でトレースした各種制御指令やデータに対しても送信時刻ｔｌを基準としたトレース時刻を付与してロギングデータに含める。これにより、サーボアンプ４を介さずに例えばＩ／Ｏポートからコントローラ３自体でトレースした各種制御指令やデータに対しても、トレーストリガの送信時刻ｔｌを基準として同期させ、ロギングデータに含めることが可能となる。
【００６１】
また、本実施形態では特に、トレーストリガは、同期通信中の特定タイミングで送受されるビット情報であることにより、サーボアンプ４はあらかじめ規定された正確な受信タイミングでトレーストリガの受信有無を簡易かつ迅速に認識でき、それだけ遅れ時間ｔｄの計時精度を向上できる。
【００６２】
なお、サーボアンプ４は、例えばモーション制御以外にも外部機器との通信を行うように所定の周期毎に所定の制御処理を実行する周期制御機能を有していてもよい。このようにサーボアンプ４が周期制御機能を有する場合であっても、同期通信の通信周期に依存する本実施形態のデータ同期機能は上記周期制御機能の影響を受けずにデータ同期の高い精度を維持可能である点で特に好適である。
【００６３】
また、本実施形態では特に、サーボアンプ４はモータ５を駆動制御するモータ制御装置であって、コントローラ３はそのモータ制御装置に制御指令を送信する制御装置である。本実施形態のデータ同期機能は、サーボアンプ４がモータ制御装置であり、コントローラ３がその上位制御装置である場合に特に好適である。
【００６４】
また、本実施形態では特に、コントローラ３に制御指令を送信可能であって、コントローラ３からロギングデータを受信可能なサーバ２を有している。これにより、ユーザがサーバ２を介して任意のタイミングで直接的にロギングを開始させたり、ロギングデータのデータ解析をサーバ２に分担させるなど利便性が向上する。
【００６５】
また、本実施形態では特に、サーボアンプ４によるステップＳ９及びステップＳ１０の制御手順が、非同期通信を介してトレースデータと遅れ時間ｔｄをコントローラ３に送信する。これにより、例えば時系列データなどのデータ容量が大きいデータでもまとめて確実にコントローラ３へ送信できる。なお、例えばトレースデータのデータ容量が十分小さい場合（例えば１回だけデータをトレースする場合など）には、サーボアンプ４が同期通信を介してトレースデータと遅れ時間ｔｄをコントローラ３へ送信してもよい。
【００６６】
＜変形例＞
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
【００６７】
＜サーバがロギングデータを作成する場合＞
上記実施形態では、コントローラ３が主体となってデータ収集とロギングデータの作成を行っていたが、これに限られない。例えば、上記図４に対応する図１０に示すように、サーバ２が主体となってデータ収集とロギングデータの作成を行ってもよい。
【００６８】
具体的には、コントローラ３による上記ステップＳ２に代えて、サーバ２がステップＳ２１でトレース設定情報を送信してもよく、それを受信したサーボアンプ４がステップＳ２２でトレース開始条件を満たすよう前準備の処理を開始する。また、コントローラ３の同期タスクによる上記ステップＳ２３でトレーストリガを同期通信でサーボアンプ４に送信し、その送信時刻ｔｌをステップＳ２４でサーバ２へ送信する。そしてトレーストリガを受信したサーボアンプ４はステップＳ２６でカウンタ値のカウントアップ処理を開始し、サーバ２によるステップＳ２７でサーボアンプ４へトレース開始指令を送信する。
【００６９】
その後にサーボアンプ４がトレース開始条件を全て満たした際にステップＳ２８でトレース処理を行うとともに、カウンタ値のカウントアップ処理を終了する。そしてサーボアンプ４のステップＳ２９及びステップＳ３０で遅れ時間ｔｄとトレースデータをサーバ２へ送信する。その遅れ時間ｔｄとトレースデータを受信したサーバ２が、ステップＳ３１とステップＳ３２でデータ時刻補正とロギングデータの作成を行う。
【００７０】
このようにサーバ２がデータ収集とロギングデータの作成を行うことでコントローラ３の処理負担が軽減され、余裕のあるモーション制御指令の生成と同期通信が可能となる。なお、同期通信を介したトレーストリガの送信はサーバ２とコントローラ３のいずれで行ってもよいが、その送信時刻ｔｌの記憶はそのトレーストリガを送信したノード自体で行うことが望ましい。このように、コントローラ３又はサーバ２のいずれかのノードでトレーストリガの送信とその送信時刻ｔｌの記憶の両方を行うことで、サーボアンプ４へトレーストリガを送信した際の送信時刻ｔｌの正確性を担保でき、データ同期機能の精度を確保できる。なお、以上のようにサーバ２とコントローラ３が別体で構成する以外にも、サーバ２とコントローラ３が機器として一体に構成していてもよい。
【００７１】
＜エンコーダから延長して接続する外部機器からデータを収集する場合＞
上記実施形態では、データを収集するのがサーボアンプ４とコントローラ３だけであったが、これに限られない。例えば、上記図１に対応する図１１に示すように、エンコーダ１０から延長して接続するセンサ１３からデータ収集する場合にも同じデータ同期手法を適用できる。
【００７２】
図１１に示す例では、サーボアンプ４に接続するエンコーダ１０がさらに駆動機械１に備えられたセンサ１３にも接続しており、当該センサ１３が検出したデータがエンコーダ１０を介してサーボアンプ４に送信可能となっている。この場合には、サーボアンプ４がエンコーダ１０を介してそのセンサ１３がトレースしたデータを受信し、トレーストリガを受信してからそのセンサ１３がトレースを開始するまでの遅れ時間も別途計時する。
【００７３】
そしてサーボアンプ４は、当該サーボアンプ４のトレースデータと遅れ時間ｔｄとはまた個別に、そのセンサ１３のトレースデータとそれに対応する遅れ時間を別途コントローラ３へ送信する。この場合、コントローラ３はそれぞれの遅れ時間を考慮してそれぞれのトレースデータのデータ同期を取って、一つのロギングデータにまとめればよい。これにより、サーボアンプ４は、当該サーボアンプ４自体が直接的にトレースできないデータも取得でき、これに対しても同様に同期させることができる。
【００７４】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００７５】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００７６】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００７７】
１            駆動機械（産業機器）
２            サーバ（上位制御装置、管理制御装置）
３            コントローラ（上位制御装置）
４            サーボアンプ（下位制御装置、モータ制御装置）
５            モータ（産業機器、電気機器）
６            ランプ、アクチュエータ
７            スイッチ、センサ
８            通信ネットワーク
９            フィールドネットワーク
１０          エンコーダ（外部機器）
１１、１２    カレンダＩＣ
１３          センサ
１００        データ収集システム
、２００
【図１】
2020044908.tif 000003
【図２】
2020044908.tif 000004
【図３】
2020044908.tif 000005
【図４】
2020044908.tif 000006
【図５】
2020044908.tif 000007
【図６】
2020044908.tif 000008
【図７】
2020044908.tif 000009
【図８】
2020044908.tif 000010
【図９】
2020044908.tif 000011
【図１０】
2020044908.tif 000012
【図１１】
2020044908.tif 000013
【国際調査報告】
2020044908.tif 000014
2020044908.tif 000015