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