(57)【特許請求の範囲】
【請求項１】
制御対象の動作を制御パラメータに応じて制御する制御システムであって、
制御対象を制御する制御プログラムを記憶しているプログラム記憶手段と、
外部から教示された制御パラメータを記憶するパラメータ記憶手段と、
前記パラメータ記憶手段に記憶された制御パラメータを利用して、前記プログラム記憶手段に記憶された制御プログラムを実行するプログラム実行手段を備え、
プログラム記憶手段は、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データをさらに記憶しており、
パラメータ記憶手段は、教示された制御パラメータのデータ構造から決定された認証データをさらに記憶し、
プログラム実行手段は、パラメータ記憶手段に記憶されている認証データが、プログラム記憶手段に記憶されている認証データと一致することを条件に、前記制御プログラムの実行を開始する、
ことを特徴とする制御システム。
【請求項２】
前記制御パラメータの値とそのデータ構造を記述するパラメータ記述ファイルを作成するファイル作成手段と、
パラメータ記述ファイルを入力し、制御パラメータの値を記述するパラメータデータと前記認証データを作成するデータ作成手段をさらに備え、
前記パラメータ記憶手段は、データ作成手段が作成したパラメータデータと認証データを併せて記憶することを特徴とする請求項１に記載の制御システム。
【請求項３】
前記パラメータ記憶手段は、前記パラメータデータと前記認証データの一方のみが更新されることを禁止することを特徴とする請求項２に記載の制御システム。
【請求項４】
前記データ作成手段は、入力したパラメータ記述ファイルから制御パラメータの値を消去し、そのパラメータ記述ファイルからハッシュ関数で得られたハッシュ値を、前記認証データとすることを特徴とする請求項２又は３に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の動作を制御パラメータに応じて制御する制御システムに関する。
【背景技術】
【０００２】
特許文献１に、制御対象の動作を制御パラメータに応じて制御する制御システムが開示されている。この制御システムは、制御対象を制御する制御プログラムを記憶しているプログラム記憶手段と、制御プログラムが利用する制御パラメータを記憶しているパラメータ記憶手段と、パラメータ記憶手段に記憶された制御パラメータを利用して、プログラム記憶手段に記憶された制御プログラムを実行するプログラム実行手段を備えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１５６２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような制御パラメータを利用した制御システムでは、パラメータ記憶手段に記憶される制御パラメータを変更することによって、制御対象の動作を変更、調整することができる。しかしながら、パラメータ記憶手段に記憶された制御パラメータのデータ構造が、制御プログラムが想定するデータ構造から相違していると、制御システムは制御対象を正しく制御することができなくなる。
【０００５】
即ち、制御プログラムでは、各々の制御パラメータが、パラメータ記憶手段のどの位置（アドレス）に、どのようなデータサイズで、どういった順番で格納されるのかが、予め想定されている。それに対して、例えば、パラメータ記憶手段に記憶された各々の制御パラメータが、制御プログラムが想定する位置とは異なる位置に格納されていたりすると、制御プログラムは誤った制御パラメータを用いて実行されることになり、制御対象の動作が意図しないものになってしまう。
【０００６】
上記の問題を鑑み、本発明は、不適切な制御パラメータによって制御対象が誤制御されることを防止する技術を提供する。
【課題を解決するための手段】
【０００７】
本発明は、制御対象の動作を制御パラメータに応じて制御する制御システムに具現化される。この制御システムは、制御対象を制御する制御プログラムを記憶しているプログラム記憶手段と、外部から教示された制御パラメータを記憶するパラメータ記憶手段と、パラメータ記憶手段に記憶された制御パラメータを利用して、プログラム記憶手段に記憶された制御プログラムを実行するプログラム実行手段を備える。ここで、プログラム記憶手段は、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データをさらに記憶しており、パラメータ記憶手段は、教示された制御パラメータのデータ構造から決定された認証データをさらに記憶することができる。そして、プログラム実行手段は、パラメータ記憶手段に記憶されている認証データが、プログラム記憶手段に記憶されている認証データと一致することを条件に、前記制御プログラムの実行を開始する。
【０００８】
ここで、本明細書における「制御パラメータのデータ構造」とは、制御パラメータがパラメータ記憶手段において、どの位置に、どのようなデータサイズにより、どのような順番で格納されるのかを意味するものであり、先に例示した「各々の制御パラメータが格納される位置（アドレス）」に加えて、「制御パラメータの名前」、「制御パラメータのデータサイズ」、「制御パラメータの単位」などが挙げられる。
【０００９】
上記した制御システムによると、パラメータ記憶手段に記憶された制御パラメータのデータ構造が、制御プログラムが想定する制御パラメータのデータ構造と一致するときに限って、制御プログラムが実行される。従って、誤ったデータ構造で（例えば誤ったアドレスに）格納された制御パラメータにより、制御対象の動作が意図しない態様で制御されることが防止される。また、制御プログラムが実行されないことによって、ユーザは、制御パラメータを誤ったデータ構造で与えてしまったことを、速やかに認知することができる。
【００１０】
上記した制御システムは、制御パラメータの値とそのデータ構造を記述するパラメータ記述ファイルを作成するファイル作成手段と、パラメータ記述ファイルを入力し、制御パラメータの値を記述するパラメータデータと前記した認証データを作成するデータ作成手段をさらに備えることが好ましい。この場合、前記したパラメータ記憶手段は、データ作成手段が作成したパラメータデータと認証データを併せて記憶することが好ましい。
この構成によると、ユーザがファイル作成手段を用いてパラメータ記述ファイルを作成すれば、それに基づいてパラメータデータ及び認証データが作成される。そして、作成されたパラメータデータ及び認証データは、一組のデータとして、パラメータ記憶手段に記憶される。ユーザは、パラメータ記述ファイルを作成するだけでよく、煩わしい操作が必要とされない。
【００１１】
前記したパラメータ記憶手段は、パラメータデータと認証データの一方のみが更新されることを禁止することが好ましい。それにより、例えばパラメータデータのみが更新されてしまい、不適切な制御パラメータにもかかわらず制御プログラムが実行されてしまうといった事態を、確実に防止することができる。
【００１２】
前記したデータ作成手段は、入力したパラメータ記述ファイルから制御パラメータの値を消去し、そのパラメータ記述ファイルからハッシュ関数で得られたハッシュ値を、前記認証データとすることが好ましい。
この構成によれば、制御パラメータの値に依存することなく、制御パラメータのデータ構造から決定される認証データを、比較的に簡単な演算処理によって得ることができる。
【発明の効果】
【００１３】
本発明の制御システムによれば、不適切な制御パラメータでは制御プログラムの実行が禁止され、制御対象が意図しない動作に誤制御されることを防止することができる。
【図面の簡単な説明】
【００１４】
【図１】実施例の制御システムの構成を示すブロック図。
【図２】パラメータ記述ファイルの一例を示す図。
【図３】パラメータ記述ファイルからパラメータ値を消去した認証データ原文の一例を示す図。
【図４】データ作成部によって作成され、パラメータ記憶部に記憶されるパラメータデータ及び認証データの一例を示す図。
【図５Ａ】図５Ａから図５Ｅは、パラメータ記述ファイルの変更例を示すものであり、図５（Ａ）は変更前のパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図５Ｂ】図５Ａのパラメータ記述ファイルと比較して、パラメータ値のみが変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図５Ｃ】図５Ａのパラメータ記述ファイルと比較して、制御パラメータの名前及びパラメータ値の単位が変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図５Ｄ】図５Ａのパラメータ記述ファイルと比較して、制御パラメータの順番が変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図５Ｅ】図５Ａのパラメータ記述ファイルと比較して、制御パラメータのデータサイズが変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【発明を実施するための形態】
【００１５】
最初に、以下に説明する実施例の主要な特徴を列記する。
（特徴１）  制御システムは、ユーザが制御パラメータの設定に用いるオフラインシステムと、オフラインシステムによって設定された制御パラメータに基づいて制御対象を制御するオンラインシステムを備えている。
（特徴２）  オフラインシステムは、パラメータ記述ファイルを作成するファイル作成部と、パラメータ記述ファイルを入力して認証データとパラメータデータを作成するデータ作成部を備えている。
（特徴３）  パラメータ記述ファイルは、一例ではあるが、ＸＭＬ形式で記述されたファイルである。
（特徴４）  オンラインシステムは、制御プログラムを記憶しているプログラム記憶部と、制御パラメータを記憶するパラメータ記憶部と、制御パラメータを利用して制御プログラムを実行するプログラム実行部を備えている。
（特徴５）  パラメータ記憶部は、オフラインシステムのデータ作成部で作成された認証データ及びパラメータデータを併せて記憶し、それらの一方のみが更新されることを禁止する。
（特徴６）  プログラム記憶部に記憶された制御プログラムには、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データが組み込まれている。この認証データは、オフラインシステムのデータ作成部を用いて作成することができる。
（特徴７）  実施例の制御システムは、様々な制御対象に対して採用することができ、その制御対象は特に限定されない。例えば、制御対象として、自動車を含む輸送機器、工作機械、ロボット、人の動作を補助する装着具（歩行補助装具やパワースーツ等）といったものが挙げられる。
【実施例】
【００１６】
図面を参照して実施例の制御システム１０を説明する。本実施例の制御システム１０は、機械や装置や設備といった制御対象を、教示された制御パラメータに応じて制御するものである。
【００１７】
図１は、制御システム１０の構成を示すブロック図である。図１に示すように、制御システム１０は、オフラインシステム２０とオンラインシステム３０を備えている。オフラインシステム２０とオンラインシステム３０の各々は、コンピュータ、記憶装置、ユーザインターフェースを含むハードウエアと、各種のプログラムを含むソフトウエアによって構成されている。
【００１８】
オフラインシステム２０は、制御パラメータを設定するためにユーザが使用する装置である。オフラインシステム２０は、ファイル作成部２２とデータ作成部２６を有している。ファイル作成部２２は、ユーザの指示に基づいて、制御パラメータを記述するパラメータ記述ファイル２４を作成する。パラメータ記述ファイル２４には、各々の制御パラメータの値（パラメータ値）とそのデータ構造が記述される。
【００１９】
図２は、パラメータ記述ファイル２４の一例を示している。図２に示すように、パラメータ記述ファイル２４は、複数の制御パラメータについて、そのデータ構造とパラメータ値を記述している。パラメータ記述ファイル２４のデータ形式は特に限定されないが、本実施例ではＸＭＬ形式が採用されている。図２において、「＜ＤＡＴＡ・・・」から始まる各行は個々の制御パラメータに対応し、「ｖａｌｕｅ」はそのパラメータ値を示すデータである。一方、「ｎａｍｅ」は制御パラメータの名前を示すデータであり、「ｔｙｐｅ」は制御パラメータのデータサイズを示すデータであり、これらは制御パラメータのデータ構造を示すデータである。さらに、パラメータ記述ファイル２４における制御パラメータの順番は、後述するパラメータ記憶部４０に記憶される位置（アドレス）に対応するものであり、制御パラメータが記述された順番についても、制御パラメータのデータ構造を示すデータの一つとなる。このように、パラメータ記述ファイル２４は、複数の制御パラメータについて、各々のパラメータ値と、それらがパラメータ記憶部４０に格納されるときのデータ構造を記述している。
【００２０】
データ作成部２６は、パラメータ記述ファイル２４を入力し、パラメータデータ４２と認証データ４４を作成する。パラメータデータ４２は、パラメータ記述ファイル２４に記述されたパラメータ値を示すデータである。一方、認証データ４４は、パラメータ記述ファイル２４に記述された制御パラメータのデータ構造から決定されるデータであり、パラメータ記述ファイル２４に記述されたパラメータ値に依存しないデータである。
【００２１】
認証データ４４は、データ作成部２６によって、以下のように作成される。先ず、データ作成部２６は、図３に示すように、パラメータ記述ファイル２４から各制御パラメータのパラメータ値を消去する。パラメータ値が消去されたパラメータ記述ファイル２４は、実質的に制御パラメータのデータ構造のみを記述するテキストファイルとなる。データ作成部２６は、このテキストファイルを認証データ４４の原文として、このテキストファイルにハッシュ関数（詳しくはＳＨＡ１）をかけることで、認証データ４４を作成する。図３に示す認証データ４４の原文と比較して、そのハッシュ値である認証データ４４は、そのデータ量が大きく圧縮されている。
【００２２】
図４は、データ作成部２６によって作成されるパラメータデータ４２及び認証データ４４を模式的に示している。パラメータデータ４２及び認証データ４４は、オンラインシステム３０へ入力される。パラメータデータ４２及び認証データ４４は、パラメータ記述ファイル２４に対して、そのデータ量が非常に小さくなっている。従って、オンラインシステム３０への入力は極めて短時間で行うことができ、例えば制御対象の動作を制御している間でも、制御パラメータの変更を瞬時に行うことができる。
【００２３】
次に、オンラインシステム３０について説明する。オンラインシステム３０は、パラメータ記憶部４０と、プログラム記憶部５０と、プログラム実行部６０を備えている。パラメータ記憶部４０は、制御パラメータを記憶する記憶装置であり、オフラインシステム２０で作成されたパラメータデータ４２及び認証データ４４を記憶することができる。ここで、パラメータ記憶部４０は、常にパラメータデータ４２と認証データ４４を併せて記憶し、それらの一方のみが更新されることが禁止されている。
【００２４】
プログラム記憶部５０は、制御対象を制御する制御プログラム５２を記憶している。制御プログラム５２には、自身が想定する制御パラメータのデータ構造から決定された認証データ５４が組み込まれている。この認証データ５４は、先に説明したデータ作成部２６による認証データ４４と同一のものであり、制御プログラム５２を設計する段階において想定する制御パラメータのデータ構造を決定し、決定した制御パラメータのデータ構造からオフラインシステム２０を用いて作成されたものである。即ち、決定したデータ構造に対応するパラメータ記述ファイル２４を作成し、パラメータ値を消去したパラメータ記述ファイル２４にハッシュ関数で得られたハッシュ値を、当該認証データ５４として制御プログラム５２に組み込んでいる。
【００２５】
プログラム実行部６０は、パラメータ記憶部４０に記憶されたパラメータデータ４２を利用して、プログラム記憶部５０に記憶されている制御プログラム５２を実行する。このとき、プログラム実行部６０は、制御プログラム５２の実行に先立って、パラメータ記憶部４０に記憶されている認証データ４４と、プログラム記憶部５０に記憶されている認証データ５４を読み取り、双方の認証データ４４、５４が一致しているのか否かを判定する。そして、双方の認証データ４４、５４が一致していることを条件に、制御プログラム５２の実行を開始する。即ち、双方の認証データ４４、５４が一致していなければ、制御プログラム５２の実行を開始しない。従って、パラメータ記憶部４０に記憶されたパラメータデータ４２に対する制御パラメータのデータ構造が、制御プログラム５２が想定する制御パラメータのデータ構造と異なる場合には、制御プログラム５２の実行が禁止される。
【００２６】
以上、制御システム１０の構成について説明した。次に、制御システム１０の作用効果について説明する。制御システム１０では、制御対象の動作を変更、調整するために、ユーザが制御パラメータの変更を行うことができる。この場合、ユーザは、オフラインシステム２０を用いて、新たな制御パラメータを記述するパラメータ記述ファイル２４を作成すればよい。
【００２７】
以下では、図５Ａから図５Ｅを参照し、制御パラメータの変更例について説明する。先ず、パラメータ記述ファイル２４が、図５Ａに示す内容から、図５Ｂに示す内容に変更されたとする。図５Ａと図５Ｂの間では、一つの制御パラメータ「ｈｏｕｒ」について、パラメータ値が「１２」から「１４」へと変更されている（下線部参照）。一方、制御パラメータのデータ構造については変更されていない。即ち、変更後のパラメータ記述ファイル２４によれば、制御プログラム５２が想定するデータ構造で、制御パラメータがパラメータ記憶部４０に記憶される。この場合、パラメータ記述ファイル２４から決定される認証データは、制御パラメータの変更の前後で変化せず、制御プログラム５２に組み込まれた認証データ５４と一致する。その結果、制御プログラム５２が問題なく実行される。
【００２８】
次に、パラメータ記述ファイル２４が、図５Ａに示す内容から、図５Ｃに示す内容に変更されたとする。図５Ａと図５Ｃの間では、一つの制御パラメータにおいて、制御パラメータの名前が「ｕｓｅｃ」から「ｎｓｅｃ」に変更され、パラメータ値が「５」から「５０００」へと変更されている（下線部参照）。これは、当該制御パラメータにおけるパラメータ値の単位が、「マイクロ秒」から「ナノ秒」に変更されたことを意味する。５マイクロ秒と５０００ナノ秒は実質的に同義であるが、制御プログラム５２は当該パラメータ値が「マイクロ秒」の単位で与えられることを想定しており、「５０００」というパラメータ値が与えられれば、制御対象はユーザが意図しない動作を実施することになる。
【００２９】
上記の問題に対し、本実施例の制御システム１０では、パラメータ記述ファイル２４において制御パラメータのデータ構造を示す部分が変更された場合、その後に作成される認証データ４４は、制御プログラム５２に組み込まれた認証データ５４と一致しないものとなり、制御プログラム５２の実行が禁止されることになる。従って、制御対象の動作を誤ったパラメータによって制御するといった事態を避けることができる。さらに、制御プログラム５２の実行が開始されないことにより、ユーザは、制御パラメータが誤ったデータ構造で設定された（格納された）ことを認知することができる。
【００３０】
次に、パラメータ記述ファイル２４が、図５Ａに示す内容から、図５Ｄに示す内容に変更されたとする。図５Ａと図５Ｄの間では、一部の制御パラメータの記述された順番が変更されている。この場合、図５Ａと図５Ｄを比較して明らかなように、各々の制御パラメータが、パラメータ記憶部４０において誤った位置（制御プログラムが想定しない位置）に格納されてしまう。このような場合でも、本実施例の制御システム１０では、変更後のパラメータ記述ファイル２４から作成される認証データ４４が、制御プログラム５２に組み込まれた認証データ５４と一致しないものとなり、制御プログラム５２の実行が禁止されることになる。従って、制御対象の動作を誤ったパラメータによって制御するといった事態を避けることができる。
【００３１】
次に、パラメータ記述ファイル２４が、図５Ａに示す内容から、図５Ｅに示す内容に変更されたとする。図５Ａと図５Ｅの間では、一部の制御パラメータについてデータサイズを示す部分が変更されている。この場合、図５Ａと図５Ｄを比較して明らかなように、各々の制御パラメータが、パラメータ記憶部４０において誤ったデータサイズ（制御プログラムが想定しないデータサイズ）によって格納されてしまう。このような場合でも、本実施例の制御システム１０では、変更後のパラメータ記述ファイル２４から作成される認証データ４４が、制御プログラム５２に組み込まれた認証データ５４と一致しないものとなり、制御プログラム５２の実行が禁止されることになる。従って、制御対象の動作を誤ったパラメータによって制御するといった事態を避けることができる。
【００３２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、本実施例では認証データ４４、５４の作成にハッシュ関数を用いているが、他の変換処理や暗号化処理を用いて認証データ４４、５４を作成する構成とすることもできる。
また、本実施例ではパラメータ記述ファイルにＸＭＬ形式を採用しているが、パラメータ記述ファイル２４は他のデータ形式で記述されるものであってもよい。
本実施例で例示した制御パラメータ（パラメータ記述ファイル２４の内容等）は、実施例の制御システム１０を説明するために便宜的に作成したものであり、制御システム１０の技術的範囲を限定するものではない。
【００３３】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００３４】
１０：制御システム
２０：オフラインシステム
２２：ファイル作成部
２４：パラメータ記述ファイル
２６：データ作成部
３０：オンラインシステム
４０：パラメータ記憶部
４２：パラメータデータ
４４：認証データ
５０：プログラム記憶部
５２：制御プログラム
５４：認証データ
６０：プログラム実行部
【図１】
0005402593.tif 000002
【図２】
0005402593.tif 000003
【図３】
0005402593.tif 000004
【図４】
0005402593.tif 000005
【図５Ａ】
0005402593.tif 000006
【図５Ｂ】
0005402593.tif 000007
【図５Ｃ】
0005402593.tif 000008
【図５Ｄ】
0005402593.tif 000009
【図５Ｅ】
0005402593.tif 000010