説明

制御システム

【課題】 不適切な制御パラメータによって制御対象が誤制御されることを防止する。
【解決手段】 制御システムは、制御対象を制御する制御プログラムの記憶手段と、外部から教示された制御パラメータの記憶手段と、記憶された制御パラメータを利用して制御プログラムを実行するプログラム実行手段を備える。ここで、プログラムの記憶手段は、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データをさらに記憶しており、パラメータの記憶手段は、教示された制御パラメータのデータ構造から決定された認証データをさらに記憶することができる。そして、プログラム実行手段は、パラメータ記憶手段に記憶されている認証データが、プログラム記憶手段に記憶されている認証データと一致することを条件に、制御プログラムの実行を開始する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御対象の動作を制御パラメータに応じて制御する制御システムに関する。
【背景技術】
【0002】
特許文献1に、制御対象の動作を制御パラメータに応じて制御する制御システムが開示されている。この制御システムは、制御対象を制御する制御プログラムを記憶しているプログラム記憶手段と、制御プログラムが利用する制御パラメータを記憶しているパラメータ記憶手段と、パラメータ記憶手段に記憶された制御パラメータを利用して、プログラム記憶手段に記憶された制御プログラムを実行するプログラム実行手段を備えている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−156272号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような制御パラメータを利用した制御システムでは、パラメータ記憶手段に記憶される制御パラメータを変更することによって、制御対象の動作を変更、調整することができる。しかしながら、パラメータ記憶手段に記憶された制御パラメータのデータ構造が、制御プログラムが想定するデータ構造から相違していると、制御システムは制御対象を正しく制御することができなくなる。
【0005】
即ち、制御プログラムでは、各々の制御パラメータが、パラメータ記憶手段のどの位置(アドレス)に、どのようなデータサイズで、どういった順番で格納されるのかが、予め想定されている。それに対して、例えば、パラメータ記憶手段に記憶された各々の制御パラメータが、制御プログラムが想定する位置とは異なる位置に格納されていたりすると、制御プログラムは誤った制御パラメータを用いて実行されることになり、制御対象の動作が意図しないものになってしまう。
【0006】
上記の問題を鑑み、本発明は、不適切な制御パラメータによって制御対象が誤制御されることを防止する技術を提供する。
【課題を解決するための手段】
【0007】
本発明は、制御対象の動作を制御パラメータに応じて制御する制御システムに具現化される。この制御システムは、制御対象を制御する制御プログラムを記憶しているプログラム記憶手段と、外部から教示された制御パラメータを記憶するパラメータ記憶手段と、パラメータ記憶手段に記憶された制御パラメータを利用して、プログラム記憶手段に記憶された制御プログラムを実行するプログラム実行手段を備える。ここで、プログラム記憶手段は、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データをさらに記憶しており、パラメータ記憶手段は、教示された制御パラメータのデータ構造から決定された認証データをさらに記憶することができる。そして、プログラム実行手段は、パラメータ記憶手段に記憶されている認証データが、プログラム記憶手段に記憶されている認証データと一致することを条件に、前記制御プログラムの実行を開始する。
【0008】
ここで、本明細書における「制御パラメータのデータ構造」とは、制御パラメータがパラメータ記憶手段において、どの位置に、どのようなデータサイズにより、どのような順番で格納されるのかを意味するものであり、先に例示した「各々の制御パラメータが格納される位置(アドレス)」に加えて、「制御パラメータの名前」、「制御パラメータのデータサイズ」、「制御パラメータの単位」などが挙げられる。
【0009】
上記した制御システムによると、パラメータ記憶手段に記憶された制御パラメータのデータ構造が、制御プログラムが想定する制御パラメータのデータ構造と一致するときに限って、制御プログラムが実行される。従って、誤ったデータ構造で(例えば誤ったアドレスに)格納された制御パラメータにより、制御対象の動作が意図しない態様で制御されることが防止される。また、制御プログラムが実行されないことによって、ユーザは、制御パラメータを誤ったデータ構造で与えてしまったことを、速やかに認知することができる。
【0010】
上記した制御システムは、制御パラメータの値とそのデータ構造を記述するパラメータ記述ファイルを作成するファイル作成手段と、パラメータ記述ファイルを入力し、制御パラメータの値を記述するパラメータデータと前記した認証データを作成するデータ作成手段をさらに備えることが好ましい。この場合、前記したパラメータ記憶手段は、データ作成手段が作成したパラメータデータと認証データを併せて記憶することが好ましい。
この構成によると、ユーザがファイル作成手段を用いてパラメータ記述ファイルを作成すれば、それに基づいてパラメータデータ及び認証データが作成される。そして、作成されたパラメータデータ及び認証データは、一組のデータとして、パラメータ記憶手段に記憶される。ユーザは、パラメータ記述ファイルを作成するだけでよく、煩わしい操作が必要とされない。
【0011】
前記したパラメータ記憶手段は、パラメータデータと認証データの一方のみが更新されることを禁止することが好ましい。それにより、例えばパラメータデータのみが更新されてしまい、不適切な制御パラメータにもかかわらず制御プログラムが実行されてしまうといった事態を、確実に防止することができる。
【0012】
前記したデータ作成手段は、入力したパラメータ記述ファイルから制御パラメータの値を消去し、そのパラメータ記述ファイルからハッシュ関数で得られたハッシュ値を、前記認証データとすることが好ましい。
この構成によれば、制御パラメータの値に依存することなく、制御パラメータのデータ構造から決定される認証データを、比較的に簡単な演算処理によって得ることができる。
【発明の効果】
【0013】
本発明の制御システムによれば、不適切な制御パラメータでは制御プログラムの実行が禁止され、制御対象が意図しない動作に誤制御されることを防止することができる。
【図面の簡単な説明】
【0014】
【図1】実施例の制御システムの構成を示すブロック図。
【図2】パラメータ記述ファイルの一例を示す図。
【図3】パラメータ記述ファイルからパラメータ値を消去した認証データ原文の一例を示す図。
【図4】データ作成部によって作成され、パラメータ記憶部に記憶されるパラメータデータ及び認証データの一例を示す図。
【図5A】図5Aから図5Eは、パラメータ記述ファイルの変更例を示すものであり、図5(A)は変更前のパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図5B】図5Aのパラメータ記述ファイルと比較して、パラメータ値のみが変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図5C】図5Aのパラメータ記述ファイルと比較して、制御パラメータの名前及びパラメータ値の単位が変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図5D】図5Aのパラメータ記述ファイルと比較して、制御パラメータの順番が変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【図5E】図5Aのパラメータ記述ファイルと比較して、制御パラメータのデータサイズが変更されたパラメータ記述ファイルと、その場合にパラメータ記憶部に格納されるパラメータデータ及び認証データを模式的に示している。
【発明を実施するための形態】
【0015】
最初に、以下に説明する実施例の主要な特徴を列記する。
(特徴1) 制御システムは、ユーザが制御パラメータの設定に用いるオフラインシステムと、オフラインシステムによって設定された制御パラメータに基づいて制御対象を制御するオンラインシステムを備えている。
(特徴2) オフラインシステムは、パラメータ記述ファイルを作成するファイル作成部と、パラメータ記述ファイルを入力して認証データとパラメータデータを作成するデータ作成部を備えている。
(特徴3) パラメータ記述ファイルは、一例ではあるが、XML形式で記述されたファイルである。
(特徴4) オンラインシステムは、制御プログラムを記憶しているプログラム記憶部と、制御パラメータを記憶するパラメータ記憶部と、制御パラメータを利用して制御プログラムを実行するプログラム実行部を備えている。
(特徴5) パラメータ記憶部は、オフラインシステムのデータ作成部で作成された認証データ及びパラメータデータを併せて記憶し、それらの一方のみが更新されることを禁止する。
(特徴6) プログラム記憶部に記憶された制御プログラムには、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データが組み込まれている。この認証データは、オフラインシステムのデータ作成部を用いて作成することができる。
(特徴7) 実施例の制御システムは、様々な制御対象に対して採用することができ、その制御対象は特に限定されない。例えば、制御対象として、自動車を含む輸送機器、工作機械、ロボット、人の動作を補助する装着具(歩行補助装具やパワースーツ等)といったものが挙げられる。
【実施例】
【0016】
図面を参照して実施例の制御システム10を説明する。本実施例の制御システム10は、機械や装置や設備といった制御対象を、教示された制御パラメータに応じて制御するものである。
【0017】
図1は、制御システム10の構成を示すブロック図である。図1に示すように、制御システム10は、オフラインシステム20とオンラインシステム30を備えている。オフラインシステム20とオンラインシステム30の各々は、コンピュータ、記憶装置、ユーザインターフェースを含むハードウエアと、各種のプログラムを含むソフトウエアによって構成されている。
【0018】
オフラインシステム20は、制御パラメータを設定するためにユーザが使用する装置である。オフラインシステム20は、ファイル作成部22とデータ作成部26を有している。ファイル作成部22は、ユーザの指示に基づいて、制御パラメータを記述するパラメータ記述ファイル24を作成する。パラメータ記述ファイル24には、各々の制御パラメータの値(パラメータ値)とそのデータ構造が記述される。
【0019】
図2は、パラメータ記述ファイル24の一例を示している。図2に示すように、パラメータ記述ファイル24は、複数の制御パラメータについて、そのデータ構造とパラメータ値を記述している。パラメータ記述ファイル24のデータ形式は特に限定されないが、本実施例ではXML形式が採用されている。図2において、「<DATA・・・」から始まる各行は個々の制御パラメータに対応し、「value」はそのパラメータ値を示すデータである。一方、「name」は制御パラメータの名前を示すデータであり、「type」は制御パラメータのデータサイズを示すデータであり、これらは制御パラメータのデータ構造を示すデータである。さらに、パラメータ記述ファイル24における制御パラメータの順番は、後述するパラメータ記憶部40に記憶される位置(アドレス)に対応するものであり、制御パラメータが記述された順番についても、制御パラメータのデータ構造を示すデータの一つとなる。このように、パラメータ記述ファイル24は、複数の制御パラメータについて、各々のパラメータ値と、それらがパラメータ記憶部40に格納されるときのデータ構造を記述している。
【0020】
データ作成部26は、パラメータ記述ファイル24を入力し、パラメータデータ42と認証データ44を作成する。パラメータデータ42は、パラメータ記述ファイル24に記述されたパラメータ値を示すデータである。一方、認証データ44は、パラメータ記述ファイル24に記述された制御パラメータのデータ構造から決定されるデータであり、パラメータ記述ファイル24に記述されたパラメータ値に依存しないデータである。
【0021】
認証データ44は、データ作成部26によって、以下のように作成される。先ず、データ作成部26は、図3に示すように、パラメータ記述ファイル24から各制御パラメータのパラメータ値を消去する。パラメータ値が消去されたパラメータ記述ファイル24は、実質的に制御パラメータのデータ構造のみを記述するテキストファイルとなる。データ作成部26は、このテキストファイルを認証データ44の原文として、このテキストファイルにハッシュ関数(詳しくはSHA1)をかけることで、認証データ44を作成する。図3に示す認証データ44の原文と比較して、そのハッシュ値である認証データ44は、そのデータ量が大きく圧縮されている。
【0022】
図4は、データ作成部26によって作成されるパラメータデータ42及び認証データ44を模式的に示している。パラメータデータ42及び認証データ44は、オンラインシステム30へ入力される。パラメータデータ42及び認証データ44は、パラメータ記述ファイル24に対して、そのデータ量が非常に小さくなっている。従って、オンラインシステム30への入力は極めて短時間で行うことができ、例えば制御対象の動作を制御している間でも、制御パラメータの変更を瞬時に行うことができる。
【0023】
次に、オンラインシステム30について説明する。オンラインシステム30は、パラメータ記憶部40と、プログラム記憶部50と、プログラム実行部60を備えている。パラメータ記憶部40は、制御パラメータを記憶する記憶装置であり、オフラインシステム20で作成されたパラメータデータ42及び認証データ44を記憶することができる。ここで、パラメータ記憶部40は、常にパラメータデータ42と認証データ44を併せて記憶し、それらの一方のみが更新されることが禁止されている。
【0024】
プログラム記憶部50は、制御対象を制御する制御プログラム52を記憶している。制御プログラム52には、自身が想定する制御パラメータのデータ構造から決定された認証データ54が組み込まれている。この認証データ54は、先に説明したデータ作成部26による認証データ44と同一のものであり、制御プログラム52を設計する段階において想定する制御パラメータのデータ構造を決定し、決定した制御パラメータのデータ構造からオフラインシステム20を用いて作成されたものである。即ち、決定したデータ構造に対応するパラメータ記述ファイル24を作成し、パラメータ値を消去したパラメータ記述ファイル24にハッシュ関数で得られたハッシュ値を、当該認証データ54として制御プログラム52に組み込んでいる。
【0025】
プログラム実行部60は、パラメータ記憶部40に記憶されたパラメータデータ42を利用して、プログラム記憶部50に記憶されている制御プログラム52を実行する。このとき、プログラム実行部60は、制御プログラム52の実行に先立って、パラメータ記憶部40に記憶されている認証データ44と、プログラム記憶部50に記憶されている認証データ54を読み取り、双方の認証データ44、54が一致しているのか否かを判定する。そして、双方の認証データ44、54が一致していることを条件に、制御プログラム52の実行を開始する。即ち、双方の認証データ44、54が一致していなければ、制御プログラム52の実行を開始しない。従って、パラメータ記憶部40に記憶されたパラメータデータ42に対する制御パラメータのデータ構造が、制御プログラム52が想定する制御パラメータのデータ構造と異なる場合には、制御プログラム52の実行が禁止される。
【0026】
以上、制御システム10の構成について説明した。次に、制御システム10の作用効果について説明する。制御システム10では、制御対象の動作を変更、調整するために、ユーザが制御パラメータの変更を行うことができる。この場合、ユーザは、オフラインシステム20を用いて、新たな制御パラメータを記述するパラメータ記述ファイル24を作成すればよい。
【0027】
以下では、図5Aから図5Eを参照し、制御パラメータの変更例について説明する。先ず、パラメータ記述ファイル24が、図5Aに示す内容から、図5Bに示す内容に変更されたとする。図5Aと図5Bの間では、一つの制御パラメータ「hour」について、パラメータ値が「12」から「14」へと変更されている(下線部参照)。一方、制御パラメータのデータ構造については変更されていない。即ち、変更後のパラメータ記述ファイル24によれば、制御プログラム52が想定するデータ構造で、制御パラメータがパラメータ記憶部40に記憶される。この場合、パラメータ記述ファイル24から決定される認証データは、制御パラメータの変更の前後で変化せず、制御プログラム52に組み込まれた認証データ54と一致する。その結果、制御プログラム52が問題なく実行される。
【0028】
次に、パラメータ記述ファイル24が、図5Aに示す内容から、図5Cに示す内容に変更されたとする。図5Aと図5Cの間では、一つの制御パラメータにおいて、制御パラメータの名前が「usec」から「nsec」に変更され、パラメータ値が「5」から「5000」へと変更されている(下線部参照)。これは、当該制御パラメータにおけるパラメータ値の単位が、「マイクロ秒」から「ナノ秒」に変更されたことを意味する。5マイクロ秒と5000ナノ秒は実質的に同義であるが、制御プログラム52は当該パラメータ値が「マイクロ秒」の単位で与えられることを想定しており、「5000」というパラメータ値が与えられれば、制御対象はユーザが意図しない動作を実施することになる。
【0029】
上記の問題に対し、本実施例の制御システム10では、パラメータ記述ファイル24において制御パラメータのデータ構造を示す部分が変更された場合、その後に作成される認証データ44は、制御プログラム52に組み込まれた認証データ54と一致しないものとなり、制御プログラム52の実行が禁止されることになる。従って、制御対象の動作を誤ったパラメータによって制御するといった事態を避けることができる。さらに、制御プログラム52の実行が開始されないことにより、ユーザは、制御パラメータが誤ったデータ構造で設定された(格納された)ことを認知することができる。
【0030】
次に、パラメータ記述ファイル24が、図5Aに示す内容から、図5Dに示す内容に変更されたとする。図5Aと図5Dの間では、一部の制御パラメータの記述された順番が変更されている。この場合、図5Aと図5Dを比較して明らかなように、各々の制御パラメータが、パラメータ記憶部40において誤った位置(制御プログラムが想定しない位置)に格納されてしまう。このような場合でも、本実施例の制御システム10では、変更後のパラメータ記述ファイル24から作成される認証データ44が、制御プログラム52に組み込まれた認証データ54と一致しないものとなり、制御プログラム52の実行が禁止されることになる。従って、制御対象の動作を誤ったパラメータによって制御するといった事態を避けることができる。
【0031】
次に、パラメータ記述ファイル24が、図5Aに示す内容から、図5Eに示す内容に変更されたとする。図5Aと図5Eの間では、一部の制御パラメータについてデータサイズを示す部分が変更されている。この場合、図5Aと図5Dを比較して明らかなように、各々の制御パラメータが、パラメータ記憶部40において誤ったデータサイズ(制御プログラムが想定しないデータサイズ)によって格納されてしまう。このような場合でも、本実施例の制御システム10では、変更後のパラメータ記述ファイル24から作成される認証データ44が、制御プログラム52に組み込まれた認証データ54と一致しないものとなり、制御プログラム52の実行が禁止されることになる。従って、制御対象の動作を誤ったパラメータによって制御するといった事態を避けることができる。
【0032】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、本実施例では認証データ44、54の作成にハッシュ関数を用いているが、他の変換処理や暗号化処理を用いて認証データ44、54を作成する構成とすることもできる。
また、本実施例ではパラメータ記述ファイルにXML形式を採用しているが、パラメータ記述ファイル24は他のデータ形式で記述されるものであってもよい。
本実施例で例示した制御パラメータ(パラメータ記述ファイル24の内容等)は、実施例の制御システム10を説明するために便宜的に作成したものであり、制御システム10の技術的範囲を限定するものではない。
【0033】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0034】
10:制御システム
20:オフラインシステム
22:ファイル作成部
24:パラメータ記述ファイル
26:データ作成部
30:オンラインシステム
40:パラメータ記憶部
42:パラメータデータ
44:認証データ
50:プログラム記憶部
52:制御プログラム
54:認証データ
60:プログラム実行部

【特許請求の範囲】
【請求項1】
制御対象の動作を制御パラメータに応じて制御する制御システムであって、
制御対象を制御する制御プログラムを記憶しているプログラム記憶手段と、
外部から教示された制御パラメータを記憶するパラメータ記憶手段と、
前記パラメータ記憶手段に記憶された制御パラメータを利用して、前記プログラム記憶手段に記憶された制御プログラムを実行するプログラム実行手段を備え、
プログラム記憶手段は、制御プログラムが想定する制御パラメータのデータ構造から決定された認証データをさらに記憶しており、
パラメータ記憶手段は、教示された制御パラメータのデータ構造から決定された認証データをさらに記憶し、
プログラム実行手段は、パラメータ記憶手段に記憶されている認証データが、プログラム記憶手段に記憶されている認証データと一致することを条件に、前記制御プログラムの実行を開始する、
ことを特徴とする制御システム。
【請求項2】
前記制御パラメータの値とそのデータ構造を記述するパラメータ記述ファイルを作成するファイル作成手段と、
パラメータ記述ファイルを入力し、制御パラメータの値を記述するパラメータデータと前記認証データを作成するデータ作成手段をさらに備え、
前記パラメータ記憶手段は、データ作成手段が作成したパラメータデータと認証データを併せて記憶することを特徴とする請求項1に記載の制御システム。
【請求項3】
前記パラメータ記憶手段は、前記パラメータデータと前記認証データの一方のみが更新されることを禁止することを特徴とする請求項2に記載の制御システム。
【請求項4】
前記データ作成手段は、入力したパラメータ記述ファイルから制御パラメータの値を消去し、そのパラメータ記述ファイルからハッシュ関数で得られたハッシュ値を、前記認証データとすることを特徴とする請求項2又は3に記載の制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate

【図5E】
image rotate