(57)【要約】  制御装置は、制御対象装置に接続される制御装置において、前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、前記スクリプトを実行し、該実行結果を取得する制御部と、前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有する。
2017154166.tif 000002
【特許請求の範囲】
【請求項１】
制御対象装置に接続される制御装置において、
前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、
前記スクリプトを実行し、該実行結果を取得する制御部と、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有することを特徴とする制御装置。
【請求項２】
前記スクリプトは、前記制御対象装置の応答を待つコマンド、及び前記制御対象装置からデータを読み出した後、前記データを加工して前記制御対象装置に書き込むコマンドの少なくとも一方を含むことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御部は、前記スクリプトを周期的に実行することを特徴とする請求項１または２に記載の制御装置。
【請求項４】
制御対象装置に接続される制御装置と通信するデータ処理装置において、
前記制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信する受信部と、
前記実行結果のデータ処理を行うデータ処理部とを有することを特徴とするデータ処理装置。
【請求項５】
前記スクリプトを格納する格納部と、
前記スクリプトを前記制御装置に送信する送信部とを有することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
制御対象装置に接続される制御装置と、
前記制御装置と通信するデータ処理装置とを有し、
前記制御装置は、
前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、
前記スクリプトを実行し、該実行結果を取得する制御部と、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有し、
前記データ処理装置は、
前記制御装置から前記スクリプトの実行結果を受信する受信部と、
前記実行結果のデータ処理を行うデータ処理部とを有することを特徴とする制御システム。
【請求項７】
前記スクリプトは、前記制御対象装置の応答を待つコマンド、及び前記制御対象装置からデータを読み出した後、前記データを加工して前記制御対象装置に書き込むコマンドの少なくとも一方を含むことを特徴とする請求項６に記載の制御システム。
【請求項８】
前記制御部は、前記スクリプトを周期的に実行することを特徴とする請求項６または７に記載の制御システム。
【請求項９】
前記データ処理装置は、
前記スクリプトを格納する格納部と、
前記スクリプトを前記制御装置に送信する送信処理部とを有することを特徴とする請求項４に記載のデータ処理装置。
【請求項１０】
接続先の制御対象装置にアクセスするコマンドを含むスクリプトを実行する工程と、
該実行結果を取得する工程と、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する工程とを、コンピュータが実行することを特徴とする制御方法。
【請求項１１】
前記スクリプトは、前記制御対象装置の応答を待つコマンド、及び前記制御対象装置からデータを読み出した後、前記データを加工して前記制御対象装置に書き込むコマンドの少なくとも一方を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１２】
前記スクリプトを実行する工程において、前記スクリプトを周期的に実行することを特徴とする請求項１０または１１に記載の制御方法。
【請求項１３】
制御対象装置に接続される制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信する工程と、
前記実行結果のデータ処理を行う工程とを、コンピュータが実行することを特徴とするデータ処理方法。
【請求項１４】
前記スクリプトを前記制御装置に送信する工程を、前記コンピュータが実行することを特徴とする請求項１３に記載のデータ処理方法。
【請求項１５】
接続先の制御対象装置にアクセスするコマンドを含むスクリプトを実行し、
該実行結果を取得し、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する、処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項１６】
前記スクリプトは、前記制御対象装置の応答を待つコマンド、及び前記制御対象装置からデータを読み出した後、前記データを加工して前記制御対象装置に書き込むコマンドの少なくとも一方を含むことを特徴とする請求項１５に記載の制御プログラム。
【請求項１７】
前記スクリプトを実行する処理において、前記スクリプトを周期的に実行することを特徴とする請求項１５または１６に記載の制御プログラム。
【請求項１８】
制御対象装置に接続される制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信し、
前記実行結果のデータ処理を行う、処理をコンピュータに実行させることを特徴とするデータ処理プログラム。
【請求項１９】
前記スクリプトを前記制御装置に送信する、処理を前記コンピュータに実行させることを特徴とする請求項１８に記載のデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、制御装置、データ処理装置、制御システム、制御方法、データ処理方法、制御プログラム、及びデータ処理プログラムに関する。
【背景技術】
【０００２】
例えばセンサ機器の測定結果を無線通信によりパーソナルコンピュータ、スマートフォン、及びクラウドサーバなどに送信する技術が知られている。測定結果を受信した機器は、測定結果の表示やデータ処理などを行う。【０００３】
このようなセンサ機器は、例えばＩ２Ｃ（Inter-Integrated Circuit）やＳＰＩ（Serial Parallel Interface）などの汎用インターフェースを介して制御用のマイクロコンピュータと接続される。マイクロコンピュータは、デバイスドライバと呼ばれるプログラムによりセンサ機器を制御する。デバイスドライバは、例えば、センサ機器に搭載されたセンサデバイスの追加や変更が行われる場合、センサデバイスにあわせて更新する必要がある。【０００４】
デバイスドライバを更新するためには、コンパイラやライブラリなどの開発環境、及びデバイスドライバをＲＯＭ（Read only Memory）に書き込むためのＲＯＭライタなどの特別なツールを用意する必要がある。このため、デバイスドライバの更新には多くの手間がかかる。【０００５】
これに対し、センサデバイスを制御するプログラムを、マイクロコンピュータの種類によらないスクリプトにより記述すれば（例えば特許文献１参照）、開発環境や特別なツールを必要とせずに、簡単にデバイスドライバを更新することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００５／００３９８０号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、マイクロコンピュータがスクリプトを実行するためには、スクリプトの記述内容をバイナリー形式のコードに解釈するプログラム（インタプリタなど）を実行する必要がある。このため、センサ機器の制御処理の負荷は、スクリプトを用いる場合、コンパイラにより生成したバイナリー形式のコードを直接用いる場合より高くなる。これに対し、例えば、高性能プロセッサによりセンサ機器を制御すれば、問題なく制御処理を行うことができるが、装置コストは増加してしまう。【０００８】
また、例えば、パーソナルコンピュータからセンサ機器に対してＩ２Ｃの読み書きのコマンドを送信することにより、マイクロコンピュータの制御処理をセンサデバイスに対するデータの読み書きに限定し、その他の処理をパーソナルコンピュータに割り当てることもできる。この場合、マイクロコンピュータの制御処理の負荷が低減されるが、その反面、パーソナルコンピュータとセンサ機器の間の通信が頻繁に行われるため、通信処理の負荷が増加し、通信の輻輳、処理の遅延、及び消費電力の増加などが生ずる。なお、この問題は、センサ機器の制御装置に限らず、他の機器の制御装置にも存在する。【０００９】
そこで本件は上記の課題に鑑みてなされたものであり、制御処理及び通信処理の負荷が低減された制御装置、データ処理装置、制御システム、制御方法、データ処理方法、制御プログラム、及びデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本明細書に記載の制御装置は、制御対象装置に接続される制御装置において、前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、前記スクリプトを実行し、該実行結果を取得する制御部と、前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有する。【００１１】
本明細書に記載のデータ処理装置は、制御対象装置に接続される制御装置と通信するデータ処理装置において、前記制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信する受信部と、前記実行結果のデータ処理を行うデータ処理部とを有する。【００１２】
本明細書に記載の制御システムは、制御対象装置に接続される制御装置と、前記制御装置と通信するデータ処理装置とを有し、前記制御装置は、前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、前記スクリプトを実行し、該実行結果を取得する制御部と、前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有し、前記データ処理装置は、前記制御装置から前記スクリプトの実行結果を受信する受信部と、前記実行結果のデータ処理を行うデータ処理部とを有する。【００１３】
本明細書に記載の制御方法は、接続先の制御対象装置にアクセスするコマンドを含むスクリプトを実行する工程と、該実行結果を取得する工程と、前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する工程とを、コンピュータが実行する方法である。【００１４】
本明細書に記載のデータ処理方法は、制御対象装置に接続される制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信する工程と、前記実行結果のデータ処理を行う工程とを、コンピュータが実行する方法である。【００１５】
本明細書に記載の制御プログラムは、接続先の制御対象装置にアクセスするコマンドを含むスクリプトを実行し、該実行結果を取得し、前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する、処理をコンピュータに実行させるプログラムである。【００１６】
本明細書に記載のデータ処理プログラムは、制御対象装置に接続される制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信し、前記実行結果のデータ処理を行う、処理をコンピュータに実行させるプログラムである。
【発明の効果】
【００１７】
制御処理及び通信処理の負荷を低減することができる。
【図面の簡単な説明】
【００１８】
【図１】制御システムの一例を示す構成図である。
【図２】制御ユニットの一例を示す構成図である。
【図３】ＡＰＩ（Application Programming Interface）コマンドの一例を示す図である。
【図４】パーソナルコンピュータの一例を示す構成図である。
【図５】制御プログラムの一例を示すフローチャートである。
【図６】スクリプト処理プログラムの一例を示すフローチャートである。
【図７】起動処理の一例を示すシーケンス図である。
【図８】キャリブレーション処理の一例を示すシーケンス図である。
【図９】測定処理の一例を示すシーケンス図である。
【図１０】測定処理の比較例を示すシーケンス図である。
【図１１】測定処理の他例を示すシーケンス図である。
【図１２】制御システムの他例を示す構成図である。
【図１３】制御システムの他例を示す構成図である。
【発明を実施するための形態】
【００１９】
図１は、制御システムの一例を示す構成図である。制御システムは、データ処理装置の一例であるパーソナルコンピュータ（PC: Personal Computer）３と、センサ装置４とを有する。センサ装置４は、制御装置の一例である制御ユニット１と、その制御対象装置の一例であるセンサユニット２とを有する。
【００２０】
本例では、制御ユニット１の制御対象装置として、センサデバイス２０が実装されたセンサユニット２を挙げるが、これに限定されず、他の用途の機器であってもよい。センサデバイス２０としては、例えば温湿度計、気圧計、９軸加速度計などが挙げられるが、限定はない。
【００２１】
ＰＣ３と制御ユニット１は、例えば無線ＬＡＮ（Local Area Network）などにより無線通信を行うが、これに限定されず、ＬＡＮケーブルなどを介した有線通信を行ってもよい。制御ユニット１は、例えばマイクロコンピュータであり、ケーブル９を介しセンサユニット２と接続されている。制御ユニット１とセンサユニット２の間では、例えばＩ２Ｃのインターフェースに従い、バスを介したデータの入出力が行われる。
【００２２】
また、図１には、ＰＣ３及び制御ユニット１の動作の流れが示されている。ＰＣ３は、制御ユニット１に、センサデバイス２０のデバイスドライバを記述したスクリプトを送信する（符号ＳＱ１）。スクリプトを用いると、マイクロコンピュータの種類によらず、開発環境や特別なツールを必要とせずに、簡単にデバイスドライバを更新することができる。スクリプトは、ユーザがＰＣ３により作成したものであってもよいし、他の装置により作成されてＰＣ３に保存されたものであってもよい。
【００２３】
スクリプトは、符号ｄで示されるように、例えば、インデックス（＃１，＃２，＃３，・・・）が付与されたコマンド列、書き込みデータ列、及び処理データ列から構成されている。インデックスは、一例として、時系列に従い増加する数字で表される。
【００２４】
コマンド列には、インデックス単位のコマンドＣＭＤが並んでいる。書き込みデータ列には、インデックス単位の書き込みデータＷ＿ＤＴが並び、処理データ列には、インデックス単位の処理データＰ＿ＤＴが並んでいる。
【００２５】
コマンドＣＭＤは、制御ユニット１がセンサデバイス２０に対し実行する処理を示す。書き込みデータＷ＿ＤＴタは、センサデバイス２０に対して書き込まれるデータである。処理データＰ＿ＤＴは、センサデバイス２０から読み出したデータを加工してフラグチェックするためのデータである。
【００２６】
コマンド列には、例えばセンサデバイス２０にアクセスするコマンドＣＭＤが含まれる。コマンド列で実行される処理としては、例えば、センサデバイス２０に対するデータの書き込み及び読み出し、センサデバイス２０からデータを読み出した後、加工してセンサデバイス２０に書き込む処理（以下、「ReadModifyWrite処理」と表記）、及び待機処理などが挙げられる。
【００２７】
ReadModifyWrite処理は、例えば、センサデバイス２０の動作モードや測定レンジなどの設定変更に用いられる。また、待機処理は、センサデバイス２０に測定の開始を指示した後、測定データが読み出し可能となるまで待つ場合に用いられる。待機処理には、センサデバイス２０に応じた時間だけ待機したり、センサデバイス２０の特定のフラグが立つまでフラグチェックを繰り返したり、データの読み出し要求に対する許可応答が得られるまでその要求を繰り返す処理が含まれる。すなわち、待機処理は、センサデバイス２０の応答を待つコマンドＣＭＤにより実現される。
【００２８】
上記の処理のため、様々なコマンドＣＭＤが用いられる。例えば、センサデバイス２０に対するデータの書き込み、読み出し、読み出したデータの加工及びフラグチェック、指定時間の待機、分岐処理、条件付き分岐処理、及びスクリプトの実行終了を示すコマンドＣＭＤが用いられる。もっとも、上記以外でも、スクリプトの実行を効率化するコマンドＣＭＤや、センサデバイス２０の規格に関して必要なコマンドＣＭＤが用いられてもよい。
【００２９】
制御ユニット１は、ＰＣ３からスクリプトを受信するとＲＯＭに格納する。制御ユニット１は、所定のイベントが発生すると、スクリプトを実行する（符号ＳＱ２参照）。これにより、制御ユニット１とセンサデバイス２０の間でデータが入出力される。
【００３０】
制御ユニット１は、スクリプトの実行結果として、センサデバイス２０から測定データを取得し（符号ＳＱ３）、ＰＣ３に送信する（符号ＳＱ４）。ＰＣ３は、制御ユニット１から測定データを受信すると、測定データの換算や補正などのデータ処理を行う（符号ＳＱ５）。ＰＣ３は、その処理済みデータを、所定のアプリケーションを用いてディスプレイなどに表示したり、解析したりする（符号ＳＱ６）。なお、本例において、制御ユニット１へのスクリプトの送信と測定データのデータ処理は同一のＰＣ３で行われるが、別々のＰＣ３で行われてもよい。また、ＰＣ３に代えて、スマートフォンや、後述するようにサーバが用いられてもよい。
【００３１】
このように、制御ユニット１は、センサデバイス２０にアクセスするコマンドを含むスクリプトを記憶して実行し、その実行結果として測定データをＰＣ３に送信する。ＰＣ３は、測定データの換算や補正などのデータ処理を行う。
【００３２】
したがって、制御ユニット１は、測定データのデータ処理を行う必要がないため、スクリプトにより実行する制御処理が限定され、スクリプトが単純化される。したがって、制御ユニット１は、制御処理の負荷が低減される。
【００３３】
また、ＰＣ３は、制御ユニット１から測定データを受信してデータ処理を行うが、センサデバイス２０へのアクセスは、スクリプトを実行する制御ユニット１により行われる。このため、ＰＣ３は、センサデバイス２０に対するデータの書き込み及び読み出しのコマンドを制御ユニット１に送信する必要が無いため、コマンド送信を行う場合と比較すると、ＰＣ３と制御ユニット１の間の通信の頻度が低減される。したがって、制御ユニット１は、ＰＣ３との通信処理の負荷が低減される。
【００３４】
さらに、スクリプトには、上述したように、待機処理のコマンドやReadModifyWrite処理のコマンドを含まれるため、制御ユニット１は、ＰＣ３との通信処理の負荷が効果的に低減される。
【００３５】
図２は、制御ユニット１の一例を示す構成図である。制御ユニット１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、通信モジュール１４、及びハードウェアインターフェース（ハードウェアＩＮＦ）部１５を有する。ＣＰＵ１０は、互いに信号の入出力ができるように、ＲＯＭ１１、ＲＡＭ１２、通信モジュール１４、及びハードウェアＩＮＦ部１５と、バス１９を介して接続されている。
【００３６】
通信モジュール１４は、例えば無線ＬＡＮカードであり、ＰＣ３とリンクして無線通信を行う。ハードウェアＩＮＦ部１５は、ケーブルを介してセンサデバイス２０と接続され、センサデバイス２０との間でデータの入出力を行う。
【００３７】
ＲＯＭ１１は、ＣＰＵ１０を駆動するプログラムが格納されている。ＲＡＭ１２は、ＣＰＵ１０のワーキングメモリとして機能する。
【００３８】
ＲＯＭ１１は、記憶部の一例であり、制御プログラム１１０、スクリプト処理プログラム１１１、通信ドライバ１１２、及びスクリプト１１３を記憶する。制御プログラム１１０、スクリプト処理プログラム１１１、及び通信ドライバ１１２は、センサデバイス２０の制御方法を実行する制御プログラムの一例である。
【００３９】
制御プログラム１１０は、制御ユニット１の動作を制御するものである。スクリプト処理プログラム１１１は、ＲＯＭ１１内のスクリプト１１３をバイナリー形式のコードに解釈して処理するものである。通信ドライバ１１２は、通信モジュール１４による通信を制御するものである。スクリプト１１３は、ＰＣ３から送信されたものである。
【００４０】
ＣＰＵ１０は、ＲＯＭ１１からプログラムを読み込むと、機能として、通信処理部１００、スクリプト処理部１０２、及び制御部１０３が形成される。通信処理部１００はＲＯＭ１１内の通信ドライバ１１２に対応し、スクリプト処理部１０２はＲＯＭ１１内のスクリプト処理プログラム１１１に対応する。また、制御部１０３はＲＯＭ１１内の制御プログラム１１０に対応する。スクリプト処理部１０２及び通信処理部１００は、制御部１０３の制御下で動作する。
【００４１】
通信処理部１００は、ＰＣ３から通信モジュール１４を介してスクリプト１１３を受信すると、制御部１０３に転送する。制御部１０３は、スクリプト１１３をＲＯＭ１１に格納する。ＲＯＭ１１内のスクリプト１１３は、その種類に応じた領域に格納される。
【００４２】
符号１１３ａは、ＲＯＭ１１内のスクリプト１１３の格納領域の構成を示す。スクリプト１１３の格納領域は、初期化スクリプトが格納される初期化スクリプト格納領域、センシングスクリプトが格納される格納領域、及び任意実行スクリプトが格納される任意実行スクリプト格納領域に分かれる。各格納領域には、図１に示されたコマンドＣＭＤ、書き込みデータＷ＿ＤＴ、及び処理データＰ＿ＤＴの組が書き込まれている。
【００４３】
初期化スクリプトは、センサ装置４の起動時にセンサデバイス２０の初期設定などを実行するものである。初期化スクリプト格納領域の先頭は、一例として、ＲＯＭ１１内のオフセットアドレス＋０ｘＡＡに設定されている。このため、スクリプト処理部１０２は、初期化スクリプトを実行するとき、オフセットアドレス＋０ｘＡＡからスクリプト１１３の読み出しを開始する。
【００４４】
センシングスクリプトは、センサデバイス２０に測定を指示し、センサデバイス２０から測定データを取得するものである。センシングスクリプト格納領域の先頭は、一例として、ＲＯＭ１１内のオフセットアドレス＋０ｘＢＢに設定されている。このため、スクリプト処理部１０２は、センシングスクリプトを実行するとき、オフセットアドレス＋０ｘＢＢからスクリプト１１３の読み出しを開始する。
【００４５】
任意実行スクリプトは、ＰＣ３からの指示に基づき任意のタイミングで実行されるものである。任意実行スクリプトにより実行される処理としては、例えば、センサデバイス２０の固有の補正情報を取得するキャリブレーション処理が挙げられるが、これに限定されない。任意実行スクリプトにより実行される処理は複数種類があってもよく、この場合、ＲＯＭ１１内の格納領域は個別に設けられる。
【００４６】
任意実行スクリプト格納領域の先頭は、一例として、ＲＯＭ１１内のオフセットアドレス＋０ｘＣＣに設定されている。このため、スクリプト処理部１０２は、任意実行スクリプトを実行するとき、オフセットアドレス＋０ｘＣＣからスクリプト１１３の読み出しを開始する。
【００４７】
このように、スクリプト１１３は、その用途に応じた種類ごとにＲＯＭ１１内の格納領域に格納される。このため、ＰＣ３は、スクリプト１１３を送信する場合、制御ユニット１に対しＡＰＩ経由でスクリプト１１３の種類を指定する。
【００４８】
図３には、ＡＰＩコマンドの一例が示されている。ＡＰＩコマンドの「SendScript」は、ＰＣ３から制御ユニット１にスクリプト１１３を送信するものである。「SendScript」の引数には、カテゴリ、タイプ、サイズ、及びデータが含まれる。
【００４９】
カテゴリは、初期化スクリプト、センシングスクリプト、及び任意実行スクリプトのうち、送信対象のスクリプト１１３の種類を指定する。なお、任意実行スクリプトは、１種類に限定されず、複数種類があってもよい。タイプは、コマンドＣＭＤ、書き込みデータＷ＿ＤＴ、及び処理データＰ＿ＤＴのうち、送信対象のものを指定する。サイズはデータのサイズを示し、データはコマンドＣＭＤ、書き込みデータＷ＿ＤＴ、及び処理データＰ＿ＤＴの何れかである。
【００５０】
なお、ＡＰＩコマンドの「RunScript」は、任意実行スクリプトの実行を指示するものである。複数種類の任意実行スクリプトが存在する場合、識別情報により実行対象の任意実行スクリプトの種類を指定することができる。
【００５１】
再び図２を参照すると、制御部１０３は、ＰＣ３から受信したスクリプト１１３の種類をＡＰＩコマンドにより識別し、その種類に応じたＲＯＭ１１内の格納領域にスクリプト１１３を格納する。制御部１０３は、スクリプト１１３を実行するイベントを検出すると、スクリプト処理部１０２に実行対象のスクリプト１１３の実行を指示する。
【００５２】
スクリプト処理部１０２は、スクリプト１１３の実行の指示を受けると、ＲＯＭ１１内の該当する格納領域からスクリプト１１３を読み出し、バイナリー形式のコードに解釈して実行する。スクリプト処理部１０２は、センシングスクリプトの場合、ハードウェアＩＮＦ部１５を介してセンサデバイス２０に対しデータの書き込み及び読み出しを行う。また、センシングスクリプトには、単なる読み書きのコマンドだけではなく、上述したように、待機処理のコマンド及びReadModifyWrite処理のコマンドも含まれる。
【００５３】
スクリプト処理部１０２は、センシングスクリプトを実行すると、その実行結果として、センサデバイス２０からハードウェアＩＮＦ部１５を介して測定データが入力される。スクリプト処理部１０２は、センサデバイス２０から読み出した測定データなどのデータを格納するための読み込みバッファ１２０をＲＡＭ１２内に確保する。
【００５４】
スクリプト処理部１０２が、スクリプトの終了を示す終了コマンドを実行すると、制御部１０３は、読み込みバッファ１２０に格納されたデータを読み出し、通信処理部１００に出力する。通信処理部１００は、通信モジュール１４を介してデータをＰＣ３に送信する。
【００５５】
なお、読み込みバッファ１２０のサイズは、スクリプト処理部１０２が必要分を算出してスクリプト情報に追加することで設定してもよいし、制御部１０３が予め規定された最大容量分をＲＡＭ１２に確保してもよい。最大容量分の読み込みバッファ１２０を確保する場合、制御部１０３は、最大容量を超えるデータが読み出されたとき、スクリプト１１３の実行を停止するか、あるいはデータの読み捨てを行う。
【００５６】
また、制御部１０３は、ＲＡＭ１２内にワークエリア１２１、インデックスデータ領域１２２、及び補助データ領域１２３を確保する。ワークエリア１２１は、スクリプト１１３の実行時にワーク領域であり、インデックスデータ領域１２２は、コマンドのインデックスを示すデータの格納領域であり、補助データ領域１２３は、コマンド実行時の補助的なデータの格納領域である。
【００５７】
センサデバイス２０により測定を行う場合、制御部１０３は、スクリプト処理部１０２によりセンシングスクリプトを実行し、その実行結果として測定データを読み込みバッファ１２０から取得する。通信処理部１００は、送信部の一例であり、測定データをＰＣ３に送信する。
【００５８】
ＰＣ３は、上述したように、測定データのデータ処理を行うため、制御ユニット１には、データ処理を実行するスクリプトを用意する必要がない。
【００５９】
図４は、ＰＣ３の一例を示す構成図である。ＰＣ３は、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、ＨＤＤ（Hard Disk Drive）３３、通信モジュール３４、入力装置３５、及び出力装置３６を有する。ＣＰＵ３０は、互いに信号の入出力ができるように、ＲＯＭ３１、ＲＡＭ３２、ＨＤＤ３３、通信モジュール３４、入力装置３５、及び出力装置３６と、バス３９を介して接続されている。
【００６０】
ＲＯＭ３１は、ＣＰＵ３０を駆動するプログラムが格納されている。プログラムには、ＰＣ３を動作させるＯＳ（Operating System）に加えて、センサ装置４の測定データのデータ処理を行うデータ処理方法を実行するデータ処理プログラムが含まれる。ＲＡＭ３２は、ＣＰＵ３０のワーキングメモリとして機能する。通信モジュール３４は、例えば無線ＬＡＮカードであり、制御ユニット１とリンクして無線通信を行う。
【００６１】
入力装置３５は、ＰＣ３に情報を入力する装置である。入力装置３５としては、例えばキーボード、マウス、及びタッチパネルなどが挙げられる。入力装置３５は、入力された情報を、バス３９を介しＣＰＵ３０に出力する。
【００６２】
出力装置３６は、ＰＣ３の情報を出力する装置である。出力装置３６としては、例えばディスプレイ、タッチパネル、及びプリンタなどが挙げられる。出力装置３６は、ＣＰＵ３０からバス３９を介して情報を取得して出力する。
【００６３】
ＣＰＵ３０は、ＲＯＭ３１からプログラムを読み込むと、機能として、管理部３００、通信処理部３０１、データ処理部３０２、及びアプリケーション（ＡＰＬ）部３０３が形成される。また、ＨＤＤ３３には、スクリプト３３０、キャリブレーションデータ３３１、及び測定データ３３２が格納される。
【００６４】
管理部３００はセンサ装置４を管理する。通信処理部３０１、データ処理部３０２、及びＡＰＬ部３０３は、管理部３００の制御下において動作する。
【００６５】
通信処理部３０１は、通信モジュール３４を制御する。通信処理部３０１は、管理部３００の指示に従いセンサ装置４の制御ユニット１に対する通信を行う。
【００６６】
管理部３００は、スクリプトの実行に先立ち、ＨＤＤ３３に格納されたスクリプト３３０を読み出し制御ユニット１に送信する。このとき、通信処理部３０１は、送信部の一例として、例えば、スクリプト３３０を、通信モジュール３４を介し制御ユニット１に送信する。スクリプト３３０の送信は、例えば、図３に示された「SendScript」のようなＡＰＩコマンドにより行われる。
【００６７】
管理部３００は制御ユニット１に対し各種のスクリプトの実行を指示する。実行指示は、例えば、図３に示された「RunScript」のようなＡＰＩコマンドにより行われる。
【００６８】
より具体的には、管理部３００は、任意実行スクリプト及びセンシングスクリプトの実行を指示する。なお、初期化スクリプトの実行は、管理部３００の指示とは無関係に制御ユニット１の起動時に実行される。
【００６９】
任意実行スクリプトは、例えばキャリブレーション処理に用いられる。管理部３００は、キャリブレーション処理の任意実行スクリプトの実行を指示した場合、実行結果として、制御ユニット１からキャリブレーションデータ３３１を取得する。キャリブレーションデータ３３１には、センサデバイス２０の補正係数などが含まれる。管理部３００は、取得したキャリブレーションデータ３３１をＨＤＤ３３に格納されたに格納する。
【００７０】
管理部３００は、任意実行スクリプトの実行後、センシングスクリプトの実行を指示する。これにより、管理部３００は、センシングスクリプトの実行結果として、制御ユニット１から測定データ３３２を取得してＨＤＤ３３に格納する。このとき、通信処理部３０１は、受信部の一例として、通信モジュール３４を介し制御ユニット１から測定データ３３２を受信する。管理部３００は、データ処理部３０２に測定データの処理を指示する。
【００７１】
データ処理部３０２は、管理部３００の指示に従い、ＨＤＤ３３から測定データ３３２を読み出して処理する。データ処理としては、例えば測定データ３３２の換算処理や補正処理が挙げられるが、これに限定されない。データ処理部３０２は、例えば、ＨＤＤ３３に格納されたキャリブレーションデータ３３１に基づきデータ処理を行う。管理部３００は、測定データ３３２のデータ処理の完了後、ＡＰＬ部３０３に処理を指示する。
【００７２】
ＡＰＬ部３０３は、データ処理部３０２によりデータ処理された測定データ３３２の解析や表示を行う。ＡＰＬ部３０３は、測定データ３３２の表示を行う場合、測定データ３３２を所定の形式で出力装置３６に出力する。
【００７３】
このように、データ処理部３０２は、制御ユニット１から受信した測定データ３３２のデータ処理を行う。このため、制御ユニット１は、測定データのデータ処理の負荷が省かれる。また、ＰＣ３は、センサデバイス２０に対するアクセス、つまりデータの書き込み及び読み出しのコマンドの実行を個別に制御ユニット１に指示することはないので、ＰＣ３と制御ユニット１の間の通信処理の負荷が軽減される。これにより、ＰＣ３と制御ユニット１の間において、通信の輻輳、処理の遅延、及び消費電力の増加などが防止される。
【００７４】
また、ＰＣ３は、データ処理だけでなく、制御ユニット１にスクリプト３３０を送信する。このため、データ処理用のＰＣ３とは別に、スクリプト３３０を送信するための機器を設ける必要がなくなり、制御システムの規模を低減することができる。
【００７５】
図５は、制御プログラム１１０の一例を示すフローチャートである。制御プログラム１１０は、制御ユニット１の起動時に実行される。
【００７６】
制御部１０３は、通信モジュール１４を初期化する（ステップＳｔ１）。次に、制御部１０３は、ＲＯＭ１１内のオフセットアドレス＋０ｘＡＡを参照して、初期化スクリプトが格納済みであるか否かを判定する（ステップＳｔ２）。制御部１０３は、初期化スクリプトが格納済みである場合（ステップＳｔ２のＹｅｓ）、初期化スクリプトを実行する（ステップＳｔ３）。制御部１０３は、初期化スクリプトが未格納である場合（ステップＳｔ２のＮｏ）、次のステップＳｔ４の処理が実行される。
【００７７】
次に、制御部１０３は、通信モジュール１４によりＰＣ３との接続を行う（ステップＳｔ４）。次に、制御部１０３は、ＰＣ３からスクリプトを受信したか否かを判定する（ステップＳｔ５）。制御部１０３は、スクリプトを受信した場合（ステップＳｔ５のＹｅｓ）、スクリプトをＲＯＭ１１に格納する（ステップＳｔ１０）。スクリプトが未受信である場合（ステップＳｔ５のＮｏ）、次にステップＳｔ６の処理が実行される。
【００７８】
次に、制御部１０３は、イベントの発生に備えて待機処理を実行する（ステップＳｔ６）。イベントとは、例えば、ＰＣ３からのセンシングスクリプトまたは任意実行スクリプトの実行指示、あるいはスクリプトの受信である。また、センシングスクリプトについては、制御ユニット１が周期的に自発的に実行イベントを発生させてもよい。
【００７９】
制御部１０３は、センシングスクリプトの実行指示の受信、つまりセンシングイベントが発生した場合（ステップＳｔ７のＹｅｓ）、ＲＯＭ１１内のオフセットアドレス＋０ｘＢＢを参照して、センシングスクリプトが格納済みであるか否かを判定する（ステップＳｔ８）。制御部１０３は、センシングスクリプトが格納済みである場合（ステップＳｔ８のＹｅｓ）、センシングスクリプトを実行する（ステップＳｔ９）。制御部１０３は、センシングスクリプトが未格納である場合（ステップＳｔ８のＮｏ）、再度ステップＳｔ５の処理が実行される。
【００８０】
また、センシングイベントが未発生である場合（ステップＳｔ７のＮｏ）、制御部１０３は、任意実行イベントの発生の有無を判定する（ステップＳｔ１１）。任意実行イベントとは、例えば、ＰＣ３からキャリブレーション処理の任意実行スクリプトの実行指示である。任意実行イベントが未発生である場合（ステップＳｔ１１のＮｏ）、再度ステップＳｔ５の処理が実行される。
【００８１】
制御部１０３は、任意実行イベントが発生した場合（ステップＳｔ１１のＹｅｓ）、ＲＯＭ１１内のオフセットアドレス＋０ｘＣＣを参照して、任意実行スクリプトが格納済みであるか否かを判定する（ステップＳｔ１２）。制御部１０３は、任意実行スクリプトが格納済みである場合（ステップＳｔ１２のＹｅｓ）、任意実行スクリプトを実行する（ステップＳｔ１３）。その後、再度ステップＳｔ５の処理が実行される。制御部１０３は、任意実行スクリプトが未格納である場合（ステップＳｔ１２のＮｏ）、再度ステップＳｔ５の処理が実行される。このようにして、制御プログラム１１０は動作する。
【００８２】
図６は、スクリプト処理プログラム１１１の一例を示すフローチャートである。スクリプト処理プログラム１１１は、起動時の初期化、または上記のイベントの発生時に実行される。
【００８３】
スクリプト処理部１０２は、変数ｉ（＝０，１，２，・・・）を０にセットする（ステップＳｔ２１）。次に、スクリプト処理部１０２は、該当するスクリプトのインデックス＃ｉのコマンドＣＭＤを取得する（ステップＳｔ２２）。次に、スクリプト処理部１０２は、取得したコマンドＣＭＤが終了コマンドであるか否かを判定する（ステップＳｔ２３）。スクリプト処理部１０２は、取得したコマンドＣＭＤが終了コマンドである場合（ステップＳｔ２３のＹｅｓ）、処理を終了する。
【００８４】
スクリプト処理部１０２は、取得したコマンドＣＭＤが終了コマンドではない場合（ステップＳｔ２３のＮｏ）、コマンドＣＭＤを実行する（ステップＳｔ２４）。次に、スクリプト処理部１０２は、取得したコマンドＣＭＤが分岐コマンドであるか否かを判定する（ステップＳｔ２５）。
【００８５】
スクリプト処理部１０２は、取得したコマンドＣＭＤが分岐コマンドである場合（ステップＳｔ２５のＹｅｓ）、変数ｉに１を加算する（ステップＳｔ２６）。その後、再度ステップＳｔ２２の処理が実行される。
【００８６】
スクリプト処理部１０２は、取得したコマンドＣＭＤが分岐コマンドではない場合（ステップＳｔ２５のＮｏ）、再度ステップＳｔ２２の処理を実行する。このようにして、スクリプト処理プログラム１１１は実行される。
【００８７】
図７は、起動処理の一例を示すシーケンス図である。まず、ＰＣ３が起動し（符号ＳＱ１０１）、制御ユニット１が起動する（符号ＳＱ２０１）。このとき、制御ユニット１は、ＲＯＭ１１にスクリプトが格納されていないため、初期化スクリプトを実行することができない。次に、ＰＣ３と制御ユニット１は、各々の通信モジュール１４，３４により接続される。
【００８８】
次に、ＰＣ３の管理部３００は、ＨＤＤ３３に格納されたスクリプトを読み出して、通信処理部３０１により制御ユニット１に送信する（符号ＳＱ１０２）。制御ユニット１は、スクリプトを受信してＲＯＭ１１に格納する（符号ＳＱ２０２）。このとき、制御ユニット１は、「SendScript」コマンドの引数「カテゴリ」からスクリプトの種類を識別し、スクリプトの種類に応じたＲＯＭ１１内の格納領域にスクリプトを格納する。
【００８９】
次に、ＰＣ３は、制御ユニット１に再起動を指示する（符号ＳＱ１０３）。制御ユニット１は、再起動の指示を受けて再起動する（符号ＳＱ２０３）。
【００９０】
次に、制御ユニット１の制御部１０３は、スクリプト処理部１０２により初期化スクリプトを実行する（符号ＳＱ２０４）。なお、センサ装置４にセンサデバイス２０が複数設けられている場合でも、１つの初期化スクリプトにより複数のセンサデバイス２０を初期化する。初期化スクリプトは、制御ユニット１の起動時に自動的に実行される。
【００９１】
スクリプト処理部１０２は、センサデバイス２０に対し読み出しコマンドを発行する（符号ＳＣ１）。センサデバイス２０は、読み出しコマンドに応じてデータを読み出す（符号ＳＱ３０１）。スクリプト処理部１０２は、制御ユニット１から入力されたデータを取得する（符号ＳＣ２）。次に、スクリプト処理部１０２は、読み出したデータの内容（例えばフラグ設定）を変更する（符号ＳＣ３）。
【００９２】
次に、スクリプト処理部１０２は、センサデバイス２０に対し書き込みコマンドを発行する（符号ＳＣ４）。次に、スクリプト処理部１０２は、変更したデータをセンサデバイス２０に出力する（符号ＳＣ５）。センサデバイス２０は、スクリプト処理部１０２から入力されたデータの書き込みを行う（符号ＳＱ３０２）。次に、スクリプト処理部１０２は、終了コマンドを発行する（符号ＳＣ６）。
【００９３】
制御ユニット１は、初期化スクリプトの実行後、ＰＣ３と接続する。このようにして、起動処理は実行される。
【００９４】
図８は、キャリブレーション処理の一例を示すシーケンス図である。ＰＣ３の管理部３００は、起動処理の実行後、制御ユニット１に対しキャリブレーション処理を指示する（符号ＳＱ１１１）。センサデバイス２０は、出荷時のキャリブレーションの結果から得られた補正係数が書き込まれている。このため、ＰＣ３は、測定データの補正処理のために、補正係数を予め取得する。
【００９５】
制御ユニット１は、イベントの待機処理を実行中（符号ＳＱ２１１）、ＰＣ３からキャリブレーション処理の指示を受けると、任意実行イベントを検出する（符号ＳＱ２１２）。次に、制御ユニット１の制御部１０３は、スクリプト処理部１０２により任意実行スクリプトを実行する（符号ＳＱ２１３）。なお、センサ装置４に複数のセンサデバイス２０が設けられる場合、例えばＩＤなどにより任意実行スクリプトの実行対象となるセンサデバイス２０を指定することもできる。
【００９６】
スクリプト処理部１０２は、センサデバイス２０に対し補正係数要求コマンドを発行する（符号ＳＣ１１）。センサデバイス２０は、補正係数要求コマンドに応じ補正係数を読み出す（符号ＳＱ３１１）。スクリプト処理部１０２は、センサデバイス２０から補正係数が入力される（符号ＳＣ１２）。次に、スクリプト処理部１０２は、終了コマンドを発行する（符号ＳＣ１３）。
【００９７】
次に、制御ユニット１は、任意実行スクリプトの実行結果として、補正係数をＰＣ３に送信する（符号ＳＱ２１４）。その後、制御ユニット１は、イベントの待機処理を行う（符号ＳＱ２１５）。
【００９８】
ＰＣ３の管理部３００は、制御ユニット１から補正係数を受信する（符号ＳＱ１１２）。次に、管理部３００は、補正係数をキャリブレーションデータ３３１としてＨＤＤ３３に格納する（符号ＳＱ１１３）。このようにして、キャリブレーション処理は実行される。
【００９９】
図９は、測定処理の一例を示すシーケンス図である。ＰＣ３の管理部３００は、キャリブレーション処理の実行後、制御ユニット１に対し測定処理を指示する（符号ＳＱ１２１）。
【０１００】
制御ユニット１は、イベントの待機処理を実行中（符号ＳＱ２２１）、ＰＣ３から測定処理の指示を受けると、センシングイベントを検出する（符号ＳＱ２２２）。次に、制御ユニット１の制御部１０３は、スクリプト処理部１０２によりセンシングスクリプトを実行する（符号ＳＱ２２３）。なお、センサ装置４に複数のセンサデバイス２０が設けられる場合、例えばＩＤなどによりセンシングスクリプトの実行対象となるセンサデバイス２０を指定することもできる。
【０１０１】
スクリプト処理部１０２は、センサデバイス２０に対し、測定開始を指示する測定開コマンドを発行する（符号ＳＣ２１）。センサデバイス２０は、測定開始コマンドに応じて測定を行う（符号ＳＱ３２１）。
【０１０２】
スクリプト処理部１０２は、測定開始コマンドの発行後、所定時間（例えば１０（ｍｓ））だけ待機する（符号ＳＣ２２）。この待機時間は、センサデバイス２０の測定データが読み出し可能となるまでの時間に基づき決定される。
【０１０３】
次に、スクリプト処理部１０２は、センサデバイス２０に対し測定データ要求コマンドを発行する（符号ＳＣ２３）。センサデバイス２０は、測定データ要求コマンドに応じて測定データを読み出す（符号ＳＱ３２１）。センサデバイス２０は、一例として、測定データ＃１，＃２を読み出して制御ユニット１に出力する。
【０１０４】
スクリプト処理部１０２は、測定データ＃１が入力され（符号ＳＣ２４）、測定データ＃２が入力される（符号ＳＣ２５）。次に、スクリプト処理部１０２は、終了コマンドを発行する（符号ＳＣ２６）。
【０１０５】
次に、制御部１０３は、測定データ＃１、＃２をＲＡＭ１２内の読み込みバッファ１２０に格納する（符号ＳＱ２２３ａ）。すなわち、制御部１０３は、センシングスクリプトを実行結果として、測定データ＃１、＃２を取得する。
【０１０６】
制御ユニット１は、通信モジュール１４によりＲＡＭ１２内の測定データ＃１，＃２をＰＣ３に送信する（符号ＳＱ２２４）。その後、制御ユニット１の制御部１０３は、イベントの待機処理を行う（符号ＳＱ２２５）。
【０１０７】
また、ＰＣ３は、通信モジュール３４により、制御ユニット１から測定データ＃１、＃２を受信する（符号ＳＱ１２２）。次に、ＰＣ３は、データ処理部３０２により測定データ＃１，＃２のデータ処理を行う（符号ＳＱ１２３）。このようにして、測定処理は実行される。
【０１０８】
このように、制御ユニット１は、センサデバイス２０へアクセスするコマンドを含むセンシングスクリプトを実行し、その実行結果として、測定データ＃１、＃２を取得する。ＰＣ３は、測定データ＃１、＃２を受信して、測定データ＃１、＃２の受信処理を行う。
【０１０９】
このため、ＰＣ３はセンサデバイス２０にアクセスする必要がないので、ＰＣ３と制御ユニット１の間の通信処理の負荷が低減される。仮に、ＰＣ３が、センサデバイス２０に対するデータの書き込み及び読み出しの個別のコマンドを発行した場合、以下の比較例のように、ＰＣ３と制御ユニット１の間の通信処理の負荷が増加する。
【０１１０】
図１０は、測定処理の比較例を示すシーケンス図である。ＰＣ３は、測定開始コマンドを制御ユニット１に送信する（符号ＳＱ１２１ａ）。制御ユニット１は、測定開始コマンドをセンサデバイス２０に転送する。センサデバイス２０は、測定開始コマンドに応じて測定を行う（符号ＳＱ３２１ａ）。
【０１１１】
ＰＣ３は、測定開始コマンドの発行後、所定時間だけ待機して、センサデバイス２０に対する測定データ要求コマンドを制御ユニット１に送信する（符号ＳＱ１２２ａ）。制御ユニット１は、測定データ要求コマンドをセンサデバイス２０に転送する。センサデバイス２０は、測定データ要求コマンドに応じて測定データ＃１、＃２を読み出す（符号ＳＱ３２２ａ）。センサデバイス２０は、測定データ＃１、＃２を制御ユニット１に出力する。
【０１１２】
次に、制御ユニット１は、測定データ＃１、＃２をＰＣ３に送信する。ＰＣ３は、制御ユニット１から測定データ＃１、＃２を受信する（符号ＳＱ１２３ａ）。ＰＣ３は、測定データ＃１、＃２のデータ処理を行う（符号ＳＱ１２４ａ）。
【０１１３】
このように、比較例において、ＰＣ３は、測定開始コマンド及び測定データ要求コマンドを個別に制御ユニット１に送信する。このため、ＰＣ３と制御ユニット１の通信頻度が、実施例の場合より増加する。
【０１１４】
これにより、ＰＣ３と制御ユニット１の消費電力が増加する。とりわけ、ＰＣ３と制御ユニット１が無線通信する場合、通信モジュール１４，３４の消費電力は、有線通信の場合と比べると、増加量が大きい。また、消費電力の増加は、制御ユニット１が内蔵バッテリにより駆動される場合、駆動時間を大きく低下させる。
【０１１５】
また、通信頻度が増加すると、通信の遅延の影響も問題となる。このため、例えば、２つのコマンドの送信の時間間隔が規定されている場合、その規定時間が順守されない場合がある。図１０の例において、測定開始コマンドと測定データ要求コマンドの送信間隔が１０（ｍｓ）に規定されている場合、ＰＣ３が、測定開始コマンドを送信して１０（ｍｓ）後に測定データ要求コマンドを送信しても、センサデバイス２０に対する測定開始コマンド及び測定データ要求コマンドの送信間隔は１０（ｍｓ）となる保証は無い。
【０１１６】
また、無線通信の場合、通信エラーが、有線通信の場合より多く発生するため、ＰＣ３及び制御ユニット１に通信エラー発生時の対応処理が必要となる。とりわけ、制御系のコマンドの送信エラーが発生した場合、通信エラーの対応処理を行うことなく、処理が進んでしまうと、センサデバイス２０が、復旧が不可能な想定外の状態に遷移することが考え得る。このような状態遷移は、通信の遅延により、本来の順序とは異なる順序でコマンドが実行された場合も起こり得る。
【０１１７】
これに対し、制御ユニット１が、ＰＣ３からコマンドを受信するたびに応答を返信すれば、確実に所定のシーケンスでコマンドが実行されるため、上記のような状態遷移を防止することができる。しかし、この場合、応答の返信により通信頻度が増加するだけでなく、応答自体の通信エラー及び遅延も考慮する必要が生ずるため、シーケンスが複雑化する。
【０１１８】
実施例において、ＰＣ３は、制御ユニット１に対しスクリプトの実行指示を送信し、また、制御ユニット１から測定データを受信しているだけであるため、通信エラーが発生しても、指示や測定データが受信されないに留まり、センサデバイス２０の制御自体には影響が生じない。さらに、指示や測定データは、通信エラーで未受信となっても、再送信処理により確実に受信することが可能である。なお、制御ユニット１とセンサデバイス２０の間は、ケーブルを介した有線通信が行われるが、ＰＣ３と制御ユニット１の間の通信と比べると、短距離の通信であるうえ、通信速度も遅いため、通信エラー、消費電力、及び遅延の影響は極めて小さい。
【０１１９】
また、以下の実施例のように、制御ユニット１が、自律的にセンシングスクリプトを周期的に実行する場合、図９の例より通信処理の負荷を低減できる。
【０１２０】
図１１は、測定処理の他例を示すシーケンス図である。図１１において、図９と共通する処理については同一の符号を付し、その説明を省略する。
【０１２１】
制御ユニット１は、イベントの待機中（符号ＳＱ２２１）、ＰＣ３から測定開始の指示を受けると、測定周期タイマをスタートさせる（符号ＳＱ２２１ａ）。測定周期タイマは、例えば制御部１０３内に形成され、所定の測定周期をカウントする。制御部１０３は、イベントとして、測定周期の到来を検出する。
【０１２２】
制御ユニット１は、測定周期の到来のイベントを検出すると（符号ＳＱ２２１ｂ）、センシングスクリプトを実行する（符号ＳＱ２２３）。なお、センシングスクリプトの処理内容は、上述した通りである。制御ユニット１は、測定データ＃１、＃２をＲＡＭ１２に格納して（符号ＳＱ２２３ａ）、ＰＣ３に送信する（符号ＳＱ２２４）。ＰＣ３は、測定データ＃１、＃２を受信し（符号ＳＱ１２２）、データ処理を行う（符号ＳＱ１２３）。
【０１２３】
測定周期の到来のイベントは、測定周期の期間Ｔごとに検出される。このため、制御ユニット１は、ＰＣ３から指示を受けることなく、期間Ｔをおいて測定処理を繰り返し実行することができる。このため、ＰＣ３と制御ユニット１の間の通信処理の負荷が低減される。
【０１２４】
本例において、ＰＣ３が、制御ユニット１にスクリプトを送信し、制御ユニット１から測定データを受信したが、これに限定されない。
【０１２５】
図１２は、制御システムの他例を示す構成図である。制御システムは、サーバ６０、ゲートウェイ装置７、及びセンサ装置４を有する。
【０１２６】
サーバ６０は、データ処理装置の他例であり、インターネットなどのネットワークＮＷと接続されている。ゲートウェイ装置７は、無線通信を介しセンサ装置４に接続され、また、ネットワークＮＷに接続されている。ゲートウェイ装置７は、サーバ６０とセンサ装置４の間の通信を中継する。
【０１２７】
サーバ６０は、上記のＰＣ３と同一の機能を備える。サーバ６０は、ネットワークＮＷを介し、センサ装置４と通信する。すなわち、サーバ６０は、制御ユニット１にスクリプトを送信し、制御ユニット１から測定データを受信してデータ処理する。なお、サーバ６０としては、クラウドサーバが挙げられるが、これに限定されない。また、ネットワークＮＷがインターネットである場合、ＰＣ３は、インターネット接続機能を備えるため、ゲートウェイ装置７に代えて、通信の中継に利用することもできる。
【０１２８】
また、制御ユニット１にスクリプトを送信する機器と、制御ユニット１から測定データを受信してデータ処理する機器とを別々に設けてもよい。
【０１２９】
図１３は、制御システムの他例を示す構成図である。図１３において、図１２と共通する構成については同一の符号を付し、その説明を省略する。
【０１３０】
制御システムは、サーバ６１、ゲートウェイ装置７、センサ装置４、及びＰＣ３ａを有する。サーバ６１は、データ処理装置の他例であり、インターネットなどのネットワークＮＷと接続されている。また、センサ装置４は、ゲートウェイ装置７またはＰＣ３ａと無線通信する。
【０１３１】
ＰＣ３ａは、上記のＰＣ３と同様に、センサ装置４の制御ユニット１にスクリプトを送信する。センサ装置４は、制御ユニット１がＰＣ３ａから受信したスクリプトを格納すると、任意の方法で無線通信の通信相手をＰＣ３ａからゲートウェイ装置７に切り替える。
【０１３２】
サーバ６１は、ネットワークＮＷを介し、センサ装置４にスクリプトの実行を指示する。センサ装置４は、制御ユニット１がスクリプトを実行すると、その実行結果として、測定データをサーバ６１に送信する。サーバ６１は、ＰＣ３と同様に、データ処理装置として、測定データのデータ処理を行う。
【０１３３】
この構成によると、スクリプトの作成と測定データの処理を異なる拠点で行うことができる。
【０１３４】
なお、上述した処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【０１３５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１３７】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【０１３８】
１      制御ユニット
２      センサユニット
３，３ａ     パーソナルコンピュータ
４      センサ装置
１０，３０     ＣＰＵ
６０，６１     サーバ
１００，３０１    通信処理部
１０２     スクリプト処理部
１０３     制御部
３０２     データ処理部
【図１】
2017154166.tif 000003
【図２】
2017154166.tif 000004
【図３】
2017154166.tif 000005
【図４】
2017154166.tif 000006
【図５】
2017154166.tif 000007
【図６】
2017154166.tif 000008
【図７】
2017154166.tif 000009
【図８】
2017154166.tif 000010
【図９】
2017154166.tif 000011
【図１０】
2017154166.tif 000012
【図１１】
2017154166.tif 000013
【図１２】
2017154166.tif 000014
【図１３】
2017154166.tif 000015
【手続補正書】
【提出日】平成30年5月24日(2018.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象装置に接続される制御装置において、
前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、
前記スクリプトを実行し、該実行結果を取得する制御部と、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有することを特徴とする制御装置。
【請求項２】
前記スクリプトは、前記制御対象装置の応答を待つコマンド、及び前記制御対象装置からデータを読み出した後、前記データを加工して前記制御対象装置に書き込むコマンドの少なくとも一方を含むことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御部は、前記スクリプトを周期的に実行することを特徴とする請求項１または２に記載の制御装置。
【請求項４】
制御対象装置に接続される制御装置と通信するデータ処理装置において、
前記制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信する受信部と、
前記実行結果のデータ処理を行うデータ処理部とを有することを特徴とするデータ処理装置。
【請求項５】
前記スクリプトを格納する格納部と、
前記スクリプトを前記制御装置に送信する送信部とを有することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
制御対象装置に接続される制御装置と、
前記制御装置と通信するデータ処理装置とを有し、
前記制御装置は、
前記制御対象装置にアクセスするコマンドを含むスクリプトを記憶する記憶部と、
前記スクリプトを実行し、該実行結果を取得する制御部と、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する送信部とを有し、
前記データ処理装置は、
前記制御装置から前記スクリプトの実行結果を受信する受信部と、
前記実行結果のデータ処理を行うデータ処理部とを有することを特徴とする制御システム。
【請求項７】
接続先の制御対象装置にアクセスするコマンドを含むスクリプトを実行する工程と、
該実行結果を取得する工程と、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する工程とを、コンピュータが実行することを特徴とする制御方法。
【請求項８】
制御対象装置に接続される制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信する工程と、
前記実行結果のデータ処理を行う工程とを、コンピュータが実行することを特徴とするデータ処理方法。
【請求項９】
接続先の制御対象装置にアクセスするコマンドを含むスクリプトを実行し、
該実行結果を取得し、
前記実行結果のデータ処理を行うデータ処理装置に、前記実行結果を送信する、処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項１０】
制御対象装置に接続される制御装置から、前記制御対象装置にアクセスするコマンドを含むスクリプトの実行結果を受信し、
前記実行結果のデータ処理を行う、処理をコンピュータに実行させることを特徴とするデータ処理プログラム。
【国際調査報告】
2017154166.tif 000016
2017154166.tif 000017
2017154166.tif 000018
2017154166.tif 000019