(57)【要約】  制御装置（１０）は、機器（４０）を制御し、取得部（１１０）と実行スイッチ部（１３０）と実行部（１４０）とを備える。取得部（１１０）は、機器（４０）を制御するための制御プログラム（２１２）の実行が許可される許可時間の長さを示す許可情報（２２１）を取得する。実行スイッチ部（１３０）は、指示を入力するための入力部材を有し、実行スイッチ部（１３０）には、この入力部材の位置に対応して制御プログラム（２１２）の実行の指示及び停止の指示が入力される。実行部（１４０）は、実行スイッチ部（１３０）に実行の指示が入力された場合に制御プログラム（２１２）を実行し、実行スイッチ部（１３０）に停止の指示が入力された場合に制御プログラム（２１２）の実行を停止して、実行スイッチ部（１３０）に実行の指示が入力されている実行時間の長さが許可時間の長さを超える場合に、制御プログラム（２１２）の実行を制限する。
2020044483.tif 000002
【特許請求の範囲】
【請求項１】
機器を制御する制御装置であって、
前記機器を制御するための制御プログラムの実行が許可される許可時間の長さを示す許可情報を取得する取得手段と、
指示を入力するための入力部材を有し、該入力部材の位置に対応して前記制御プログラムの実行の指示及び停止の指示が入力されるスイッチと、
前記スイッチに実行の指示が入力された場合に前記制御プログラムを実行して前記機器を制御し、前記スイッチに停止の指示が入力された場合に前記制御プログラムの実行を停止して前記機器の制御を中止する実行手段と、を備え、
前記実行手段は、前記スイッチに実行の指示が入力されている実行時間の長さが前記許可時間の長さを超える場合に、前記制御プログラムの実行を制限する、
制御装置。
【請求項２】
前記許可時間の長さを記憶する許可時間記憶手段、をさらに備え、
前記取得手段は、複数の前記許可情報を取得し、
前記許可時間記憶手段は、前記複数の許可情報により示される前記許可時間の長さの総和を記憶し、
前記実行手段は、前記実行時間の長さが、前記許可時間の長さの総和を超える場合に、前記制御プログラムの実行を制限する、
請求項１に記載の制御装置。
【請求項３】
前記取得手段は、公開鍵で暗号化されたコードを取得し、前記コードを復号することにより前記許可情報を取得する、
請求項１又は２に記載の制御装置。
【請求項４】
前記取得手段は、前記コードを復号することにより前記許可情報と第１復号情報とを取得し、
前記実行手段は、前記第１復号情報が前記制御プログラムに関するプログラム情報と異なる場合に、前記制御プログラムの実行を制限する、
請求項３に記載の制御装置。
【請求項５】
前記取得手段は、前記コードを復号することにより前記許可情報と第２復号情報とを取得し、
前記実行手段は、前記第２復号情報が制御装置に関する装置情報と異なる場合に、前記制御プログラムの実行を制限する、
請求項３又は４に記載の制御装置。
【請求項６】
前記取得手段は、前記コードを復号することにより、前記許可情報と、前記制御プログラムを実行する権限のレベルを示す権限情報と、を取得し、
前記実行手段は、前記権限情報により示されるレベルに従って前記制御プログラムを実行する、
請求項３から５のいずれか一項に記載の制御装置。
【請求項７】
前記取得手段は、前記許可情報と、前記制御プログラムを認証するための認証データと、を取得し、
前記実行手段は、前記制御プログラムから生成データを生成し、該生成データが前記認証データと異なる場合に、前記制御プログラムの実行を制限する、
請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
制御装置に関する装置情報を記憶する装置情報記憶手段、をさらに備え、
前記取得手段は、前記許可情報と、制御装置を認証するための認証データと、を取得し、
前記実行手段は、前記装置情報から生成データを生成し、該生成データが前記認証データと異なる場合に、前記制御プログラムの実行を制限する、
請求項１から６のいずれか一項に記載の制御装置。
【請求項９】
前記許可時間は、複数の前記制御プログラムのうち少なくとも１つを実行することが許可される時間であって、
前記取得手段は、前記許可情報と、複数の前記制御プログラムから選択された一の前記制御プログラムと、を取得し、
前記実行手段は、前記取得手段によって取得された一の前記制御プログラムを実行する、
請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
指示を入力するための入力部材を有し、該入力部材の位置に対応して、機器を制御するための制御プログラムの実行の指示及び停止の指示が入力されるスイッチに実行の指示が入力された場合に前記制御プログラムを実行して前記機器を制御するステップと、
前記スイッチに停止の指示が入力された場合に前記制御プログラムの実行を停止して前記機器の制御を中止するステップと、
前記スイッチに実行の指示が入力されている時間の長さが、前記制御プログラムの実行が許可される時間の長さを超える場合に、前記制御プログラムの実行を制限するステップと、
を含む制御方法。
【請求項１１】
コンピュータに、
指示を入力するための入力部材を有し、該入力部材の位置に対応して、機器を制御するための制御プログラムの実行の指示及び停止の指示が入力されるスイッチに実行の指示が入力された場合に前記制御プログラムを実行して前記機器を制御し、
前記スイッチに停止の指示が入力された場合に前記制御プログラムの実行を停止して前記機器の制御を中止し、
前記スイッチに実行の指示が入力されている時間の長さが、前記制御プログラムの実行が許可される時間の長さを超える場合に、前記制御プログラムの実行を制限する、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータにおいて実行されるプログラムは、種々の手法で提供されている。例えば、店頭でのパッケージ販売及び通信ネットワークを介したダウンロード販売によりプログラムが販売される。しかしながら、購入対象のプログラムの使用頻度が低い場合には、これらの手法によりプログラムを購入すると、ユーザの費用負担が大きくなってしまう。そこで、プログラムの使用権を時間単位で販売する手法が提案されている（例えば、特許文献１を参照）。【０００３】
特許文献１には、サーバからネットワークを介して接続された端末に対しソフトウェアの使用権を販売する手法について記載されている。この手法では、サーバから送信される実施許諾データに基づいて、端末においてソフトウェアが一定時間だけ使用可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３０６７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
工場に代表される施設では、生産システム、加工システム及び検査システムを含む種々の制御システムが形成される。このような制御システムは、一般的に、センサ装置及びアクチュエータに代表される機器と、制御プログラムを実行することで当該機器を制御する制御装置と、を有する。ここで、制御システムのユーザには、制御装置によって実行される種々の制御プログラムを実際に購入する前に、一時的に制御プログラムを体験したいという要望がある。【０００６】
そこで、特許文献１の手法を利用して、制御プログラムの試用時間を定めることが考えられる。しかしながら、特許文献１の手法では、ソフトウェアが起動してから終了するまでの時間をカウントしている。このため、起動しているにも関わらず機器を実際に制御することのない処理がソフトウェアに含まれるような場合には、制御装置が機器を制御した際の使用感を得ることなく予め定められた試用時間が終了してしまうおそれがある。【０００７】
本発明は、上記の事情に鑑みてなされたものであり、制御装置に実行させる制御プログラムを試用する際の使用感を確実に得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の制御装置は、機器を制御する制御装置であって、機器を制御するための制御プログラムの実行が許可される許可時間の長さを示す許可情報を取得する取得手段と、指示を入力するための入力部材を有し、該入力部材の位置に対応して制御プログラムの実行の指示及び停止の指示が入力されるスイッチと、スイッチに実行の指示が入力された場合に制御プログラムを実行して機器を制御し、スイッチに停止の指示が入力された場合に制御プログラムの実行を停止して機器の制御を中止する実行手段と、を備え、実行手段は、スイッチに実行の指示が入力されている実行時間の長さが許可時間の長さを超える場合に、制御プログラムの実行を制限する。
【発明の効果】
【０００９】
本発明によれば、制御装置は、指示を入力するための入力部材を有し、該入力部材の位置に対応して制御プログラムの実行の指示及び停止の指示が入力されるスイッチと、スイッチに実行の指示が入力された場合に制御プログラムを実行して機器を制御し、スイッチに停止の指示が入力された場合に制御プログラムの実行を停止して機器の制御を中止する実行手段と、を備え、実行手段は、スイッチに実行の指示が入力されている実行時間の長さが許可時間の長さを超える場合に、制御プログラムの実行を制限する。このため、実行時間が許可時間を超えるまでは、制御プログラムの実行により機器が制御される。したがって、制御装置に実行させる制御プログラムの使用感を確実に得ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る制御システムの構成を示すブロック図
【図２】実施の形態１に係る制御装置及び端末のハードウェア構成を示す図
【図３】実施の形態１に係る制御装置の正面図
【図４】実施の形態１に係る入力部材の位置を変更した例を示す図
【図５】実施の形態１に係る制御装置の機能的な構成を示す図
【図６】実施の形態１に係るコードの暗号化及び復号について説明するための図
【図７】実施の形態１に係る制御処理を示すフローチャート
【図８】実施の形態１に係る実行処理を示すフローチャート
【図９】実施の形態１に係る認証処理を示すフローチャート
【図１０】実施の形態１に係るカウント処理を示すフローチャート
【図１１】実施の形態１に係る機器制御処理を示すフローチャート
【図１２】実施の形態１に係る権限レベルについて説明するための第１の図
【図１３】実施の形態１に係る権限レベルについて説明するための第２の図
【図１４】実施の形態１に係る制御プログラムを制限する例を示すラダー図
【図１５】実施の形態１に係る許可時間の変化の一例を示す図
【図１６】実施の形態２に係る制御システムの構成を示す図
【図１７】実施の形態２に係る制御装置の機能的な構成を示す図
【図１８】実施の形態２に係る認証データについて説明するための図
【図１９】実施の形態２に係る制御処理を示すフローチャート
【図２０】実施の形態２に係る認証処理を示すフローチャート
【図２１】実施の形態３に係る制御システムの構成を示す図
【図２２】実施の形態３に係る制御装置の機能的な構成を示す図
【図２３】実施の形態３に係る端末に表示される操作画面の一例を示す図
【図２４】変形例に係る制御装置の正面図
【図２５】変形例に係る制御システムの構成を示す図
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態に係る制御システム１００について、図面を参照しつつ詳細に説明する。
【００１２】
実施の形態１．
本実施の形態に係る制御システム１００は、工場に設置されるＦＡ（Factory Automation）システムであって、製品を生産する生産システムに相当する。この制御システム１００は、製造ラインに流れるワークに対して加工、監視及び検査に代表される種々の処理を施す。この処理は、プログラム２１が制御装置１０によって実行されることで実現される。
【００１３】
制御システム１００は、図１に示されるように、プログラム２１を実行する制御装置１０と、プログラム２１及びプログラム２１を一定期間に限って体験するためのコード２２が記録された記録媒体２０と、記録媒体２０から読み出したデータを制御装置１０に書き込む端末３０と、通信路５０を介して制御装置１０に接続される機器４０と、を有する。
【００１４】
記録媒体２０は、例えば、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、又はＵＳＢ（Universal Serial Bus）フラッシュドライブである。記録媒体２０は、制御装置１０を稼働させるための複数のプログラム２１と、プログラム２１の実行時間を限定するためのコード２２と、が記録された状態で提供される。プログラム２１はそれぞれ、例えば、ポカヨケのアプリケーションプログラム、又は、電動ドライバのアプリケーションプログラムである。
【００１５】
記録媒体２０は、制御装置１０とともにパッケージ２００を構成し、制御装置１０に付属する。パッケージ２００は、制御装置１０を使用するユーザＵ１に提供される製品パッケージである。この提供の形態は、例えば、販売、レンタル、又はリースであるが、これらに限定されず、他の形態で提供されてもよい。
【００１６】
端末３０は、産業用コンピュータ又は汎用コンピュータである。ユーザＵ１は、記録媒体２０のデータを端末３０で読み出して、端末３０を操作することにより、複数のプログラム２１のうち試用するプログラム２１とコード２２とを制御装置１０に書き込む。端末３０と制御装置１０とは、ＵＳＢケーブル、ＬＡＮ（Local Area Network）又は他の通信線を介して接続される。
【００１７】
機器４０は、製造ラインに設置されたセンサ装置、アクチュエータ又はロボットに代表される機器である。例えば、センサ装置である機器４０の検出値に応じて、ロボットである機器４０の動作が制御装置１０によって制御される。ただし、制御装置１０による制御の対象は、アクチュエータ又はロボットに限定されない。機器４０がいずれもセンサ装置である場合であっても、制御装置１０は、機器４０のセンシングに関するパラメータを設定することで機器４０を制御してもよい。
【００１８】
通信路５０は、制御装置１０と機器４０とを接続することで互いに通信可能とする。通信路５０は、工場内に設置された通信線によって実現される産業用の制御ネットワークである。ただし、通信路５０は、ＬＡＮに代表される情報ネットワークであってもよい。また、通信路５０は、専用線であってもよい。
【００１９】
制御装置１０は、パッケージ２００の一部として提供されて工場に設置されるＰＬＣ（Programmable Logic Controller、プログラマブルロジックコントローラ）である。制御装置１０は、機器４０を制御する。詳細には、制御装置１０は、機器４０を利用して製造ラインを稼働させるための制御処理を実行する。この制御処理は、パッケージ２００の一部として提供されるコード２２を利用することで、一定期間に限ってプログラム２１によって実行される。
【００２０】
続いて、制御装置１０及び端末３０のハードウェア構成について説明する。制御装置１０及び端末３０はそれぞれ、図２に示されるように、プロセッサ６１、主記憶部６２、補助記憶部６３、クロック部６４、入力部６５、出力部６６、及び通信部６７を有する。主記憶部６２、補助記憶部６３、クロック部６４、入力部６５、出力部６６及び通信部６７はいずれも、内部バス６８を介してプロセッサ６１に接続される。
【００２１】
プロセッサ６１は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）を含む。プロセッサ６１は、補助記憶部６３に記憶されるプログラム６９を実行することにより、制御装置１０及び端末３０の種々の機能を実現して、後述の処理を実行する。
【００２２】
主記憶部６２は、ＲＡＭ（Random Access Memory）を含む。主記憶部６２には、補助記憶部６３からプログラム６９がロードされる。そして、主記憶部６２は、プロセッサ６１の作業領域として用いられる。
【００２３】
補助記憶部６３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）に代表される不揮発性メモリを含む。補助記憶部６３は、プログラム６９の他に、プロセッサ６１の処理に用いられる種々のデータを記憶する。補助記憶部６３は、プロセッサ６１の指示に従って、プロセッサ６１によって利用されるデータをプロセッサ６１に供給し、プロセッサ６１から供給されたデータを記憶する。なお、図２では、プログラム６９として１つのブロックが代表的に示されているが、補助記憶部６３は複数のプログラム６９を記憶してもよい。また、制御装置１０の補助記憶部６３に記憶されるプログラム６９は、図１のプログラム２１に相当する。
【００２４】
クロック部６４は、水晶振動子及び発振回路に代表される素子を含む。クロック部６４は、クロック信号をプロセッサ６１に提供する。クロック信号は、時間を測定するために利用される。
【００２５】
入力部６５は、スイッチ、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部６５は、ユーザＵ１によって入力された情報を取得して、取得した情報をプロセッサ６１に通知する。
【００２６】
出力部６６は、ＬＥＤ（Light Emitting Diode）、ＬＣＤ（Liquid Crystal Display）及びスピーカに代表される出力デバイスを含む。出力部６６は、プロセッサ６１の指示に従って、種々の情報をユーザＵ１に提示する。
【００２７】
通信部６７は、外部の装置と通信するための通信インタフェース回路を含む。通信部６７は、外部から信号を受信して、この信号により示されるデータをプロセッサ６１へ出力する。また、通信部６７は、プロセッサ６１から出力されたデータを示す信号を外部の装置へ送信する。
【００２８】
図３には、制御装置１０の正面図が簡略的に示されている。図３に示されるように、制御装置１０は、制御装置１０の状態を示す複数のＬＥＤ１１と、制御装置１０の電源を投入し又は切断するための電源スイッチ１２と、制御装置１０に書き込まれたプログラム２１を実行させ又は停止させるための実行スイッチ１３と、端末３０を含む外部装置に接続するための端子１４と、通信路５０に接続するための端子１５と、を有する。
【００２９】
ＬＥＤ１１は、出力部６６に対応し、電源スイッチ１２及び実行スイッチ１３は、入力部６５に対応する。電源スイッチ１２及び実行スイッチ１３は、スライドスイッチである。電源スイッチ１２は、電源の投入を指示するためのＯＮ状態と、電源の切断を指示するためのＯＦＦ状態と、のいずれか一方をユーザＵ１が選択するために用いられる。実行スイッチ１３は、プログラム２１の実行を指示するためのＲＵＮ状態と、停止を指示するためのＳＴＯＰ状態と、のいずれか一方をユーザＵ１が選択するために用いられる。
【００３０】
また、実行スイッチ１３は、指示を入力するための入力部材１３１を有し、実行スイッチ１３には、この入力部材１３１の位置に対応して制御プログラムの実行の指示及び停止の指示が入力される。入力部材１３１は、外力に応じて制御装置１０の筐体に対して移動する突起部又は摩擦部を有する。ユーザＵ１は、通常、この突起部又は摩擦部を指で操作することにより入力部材１３１を移動させて、実行スイッチ１３の状態を変化させる。図３には、実行スイッチ１３に実行の指示が入力される状態が示され、図４には、実行スイッチ１３に停止の指示が入力される状態が示されている。なお、電源スイッチ１２及び実行スイッチ１３は、スライドスイッチに限定されず、トグルスイッチ、押しボタンスイッチ、又は他のスイッチであってもよい。端子１４，１５は、通信部６７に対応する。
【００３１】
制御装置１０は、上述のハードウェア構成が協働することにより、種々の機能を発揮する。制御装置１０は、図５に示されるように、その機能として、端末３０からデータを取得する取得部１１０と、電源の投入又は切断を選択するための電源スイッチ部１２０と、プログラム２１の実行又は停止を選択するための実行スイッチ部１３０と、プログラム２１を実行する実行部１４０と、機器４０と通信する通信部１５０と、プログラム２１が実行されている時間を測定する測定部１６０と、種々のデータを記憶する記憶部１７０と、を有する。
【００３２】
取得部１１０は、主としてプロセッサ６１及び通信部６７の協働によって実現され、端子１４に対応する。取得部１１０は、端末３０によって記録媒体２０から読み出されたプログラム２１及びコード２２を端末３０から取得する。取得部１１０によって取得されたプログラム２１及びコード２２は、記憶部１７０に格納される。取得部１１０は、制御装置１０の構成のうち、後述の許可情報２２１を取得する取得手段の一例である。
【００３３】
電源スイッチ部１２０は、主として入力部６５によって実現され、電源スイッチ１２に対応する。電源スイッチ部１２０は、電源の投入の指示及び切断の指示をユーザＵ１が切り替えて入力するために用いられる。電源スイッチ部１２０により入力された指示は、実行部１４０に通知される。
【００３４】
実行スイッチ部１３０は、主として入力部６５によって実現され、実行スイッチ１３に対応する。実行スイッチ部１３０は、プログラム２１の実行の指示及び停止の指示をユーザＵ１が切り替えて入力するために用いられる。実行スイッチ部１３０により入力された指示は、実行部１４０に通知される。実行スイッチ部１３０は、制御装置１０の構成のうち、後述の制御プログラム２１２の実行及び停止の指示が入力されるスイッチの一例である。
【００３５】
実行部１４０は、主としてプロセッサ６１及び主記憶部６２の協働により実現される。実行部１４０は、記憶部１７０からプログラム２１を読み出して実行する。詳細には、実行部１４０は、実行スイッチ部１３０により実行の指示が入力された場合にプログラム２１を実行し、実行スイッチ部１３０により停止の指示が入力された場合にプログラム２１の実行を停止する。また、実行部１４０は、プログラム２１を実行した実行時間が、当該実行が許可される時間としてコード２２により規定された許可時間を超える場合に、プログラム２１の実行を制限する。実行部１４０は、制御装置１０の構成のうち、プログラム２１を実行し又は停止する実行手段の一例である。
【００３６】
通信部１５０は、主として通信部６７によって実現され、端子１５に対応する。通信部１５０は、センサ装置である機器４０からセンシング結果を示す信号を受信して、センシング結果を実行部１４０に通知する。また、通信部１５０は、アクチュエータ又はロボットである機器４０に対する制御命令を実行部１４０から取得して、この制御命令を示す信号を制御対象の機器４０に送信する。
【００３７】
測定部１６０は、主としてプロセッサ６１及びクロック部６４の協働により実現される。測定部１６０は、実行部１４０によってプログラム２１が実行されている時間を、実行部１４０からの指示に従って測定する。測定部１６０は、測定結果を実行部１４０に通知する。
【００３８】
記憶部１７０は、主として補助記憶部６３によって実現される。記憶部１７０には、プログラム２１及びコード２２が格納される。プログラム２１は、制御プログラム２１２を実行する前処理としての認証処理を実行するための認証プログラム２１１と、機器４０を制御するための制御プログラム２１２と、を含む。記憶部１７０は、制御装置１０の構成のうち、制御プログラム２１２の実行が許可される許可時間の長さを記憶する許可時間記憶手段、及び、制御装置１０に関する装置情報１７３を記憶する装置情報記憶手段の一例である。
【００３９】
コード２２は、認証処理で用いられる情報が暗号化されたデータである。詳細には、コード２２は、図６に示されるように、制御プログラム２１２の実行が許可される許可時間を示す許可情報２２１と、プログラム２１に関するプログラム情報１７２と、制御装置１０に関する装置情報１７３と、制御プログラムを実行する権限のレベルを示す権限情報２２４と、を合わせて公開鍵１７４で予め暗号化されたデータである。
【００４０】
許可情報２２１は、例えば、時間単位、日単位、又は月単位で規定された許可時間を示す。プログラム情報１７２は、プログラム２１、認証プログラム２１１又は制御プログラム２１２を識別するための情報であってもよいし、これらのプログラムに固有の情報であってもよいし、これらのプログラムのバージョンに代表される種別を示す情報であってもよい。また、プログラム情報１７２は、プログラム２１を含むパッケージ２００に関する情報であってもよい。
【００４１】
装置情報１７３は、シリアル番号に代表される、制御装置１０を識別するための情報又は制御装置１０に固有の情報であってもよいし、制御装置１０の機種を示す情報であってもよい。権限情報２２４は、制御プログラム２１２を使用する権限のレベルを示す。権限のレベルの詳細については、後述する。
【００４２】
図６に示されるように、コード２２は、実行部１４０によって、予め記憶部１７０に格納された秘密鍵１７１を用いて復号される。１つのパッケージ２００に対応する秘密鍵で他のパッケージ２００に含まれるコード２２を無制限に復号されることを防ぐために、公開鍵及び秘密鍵は、パッケージ２００毎に異なることが望ましい。そして、パッケージ２００毎に異なる秘密鍵が制御装置１０の記憶部１７０に格納された状態で、制御装置１０及びコード２２が記録された記録媒体２０を含むパッケージ２００がユーザＵ１に提供される。このため、このコード２２は、他の制御装置１０によって復号されることがない。
【００４３】
また、コード２２が復号された結果、許可情報２２１、第１復号情報２２２、第２復号情報２２３、及び権限情報２２４が生成される。コード２２は、いわゆるライセンスキーに相当する。
【００４４】
図５に戻り、記憶部１７０は、予め格納された秘密鍵１７１と、この秘密鍵１７１でコード２２を展開することで生成される許可情報２２１、第１復号情報２２２、第２復号情報２２３、及び権限情報２２４と、を記憶する。許可情報２２１は、プログラム２１が実行される度に、許可時間の残り時間を示す情報に更新される。
【００４５】
さらに、記憶部１７０は、プログラム情報１７２と、装置情報１７３とを記憶する。プログラム情報１７２は、記憶部１７０に格納されたプログラム２１から実行部１４０によって生成されてもよいし、予め記憶部１７０に格納されていてもよい。装置情報１７３は、予め記憶部１７０に格納される。
【００４６】
ここで、図６に示されるようにコード２２から情報が復号された場合において、通常は、第１復号情報２２２はプログラム情報１７２に等しく、第２復号情報２２３は装置情報１７３に等しい。ただし、秘密鍵１７１及び記録媒体２０が流出してこの記録媒体２０に記録されたコード２２が他の制御装置１０で復号された場合には、第１復号情報２２２及び第２復号情報２２３が、他の制御装置１０に記憶されるプログラム情報１７２及び装置情報１７３に等しくなるとは限らない。
【００４７】
例えば、パッケージ２００を構成する制御装置１０に、このパッケージ２００のプログラム２１に対応するプログラム情報１７２、及び制御装置１０固有の装置情報１７３が予め格納された状態で、パッケージ２００が提供される場合を想定する。この場合において、プログラム情報１７２は、パッケージ２００として提供されていない他の制御装置１０には格納されていないため、流出したコード２２を他の制御装置１０で復号して得る第２復号情報２２３は、他の制御装置１０のプログラム情報１７２と一致しない。さらに、装置情報１７３は、制御装置１０に固有の情報であるため、流出したコード２２を他の制御装置１０で復号して得る第２復号情報２２３と、他の制御装置１０に固有の装置情報１７３とは、一致しない。したがって、第１復号情報２２２及び第２復号情報２２３は、プログラム２１の実行を制御装置１０に限定するために利用される。なお、装置情報１７３が制御装置１０の機種を示す情報である場合には、この装置情報１７３は、プログラム２１を実行する装置の機種を限定するために利用される。つまり、装置情報１７３が、制御装置１０の属性を示す情報である場合には、この装置情報１７３は、プログラム２１を実行する装置の属性を限定するために利用される。
【００４８】
続いて、制御装置１０によって実行される制御処理について、図７〜１５を用いて説明する。図７に示される制御処理は、プログラム２１を実行するための手順を示している。
【００４９】
制御処理では、ユーザＵ１が、提供されたパッケージ２００を取得する（ステップＳ１）。ユーザＵ１は、パッケージ２００に含まれる制御装置１０を端末３０及び通信路５０に接続し、端末３０のドライブ又は端子に記録媒体２０を挿入する。
【００５０】
次に、ユーザＵ１が、制御装置１０の電源スイッチ１２をＯＮ状態に設定し（ステップＳ２）、端末３０からプログラム２１及びコード２２を制御装置１０に書き込む（ステップＳ３）。具体的には、ユーザＵ１は、パッケージ２００に含まれる複数のプログラム２１から、試用することを希望するプログラム２１を選択して、選択したプログラム２１及びコード２２を、端末３０のプログラミングツールを利用して制御装置１０にプログラミングする。これにより、プログラム２１及びコード２２は、取得部１１０によって取得され、記憶部１７０に書き込まれる。なお、ステップＳ３では、ユーザＵ１は、制御プログラム２１２の試用期間を追加するための新たなコード２２のみを制御装置１０に書き込んでもよい。
【００５１】
次に、ユーザＵ１は、制御装置１０の電源をリセットする（ステップＳ４）。具体的には、ユーザＵ１は、制御装置１０の電源を一旦切断してから再度投入する。これにより、ステップＳ３で書き込まれたプログラム２１及びコード２２が利用可能な状態になる。
【００５２】
次に、ユーザＵ１は、実行スイッチ１３を実行状態に設定する（ステップＳ５）。これにより、プログラム２１が起動し、実行処理が実行されてから（ステップＳ６）、制御処理が終了する。実行処理は、実行部１４０がプログラム２１を実行する処理である。この実行処理では、図８に示されるように、認証プログラム２１１によって実行される認証処理と（ステップＳ１０）、制御プログラム２１２によって実行される機器制御処理と（ステップＳ２０）が順に実行される。その後、実行処理が終了する。以下では、認証処理及び機器制御処理について、順に説明する。
【００５３】
認証処理は、制御プログラム２１２を実行することの正当性の有無を判定する処理である。認証処理では、図９に示されるように、取得部１１０が、ステップＳ３で書き込まれたコード２２を秘密鍵１７１で復号することが可能か否かを判定する（ステップＳ１０１）。
【００５４】
復号可能でないと判定された場合（ステップＳ１０１；Ｎｏ）、実行部１４０は、エラーを出力して（ステップＳ１０２）、機器制御処理を実行することなく実行処理を終了する。この場合には、制御プログラム２１２の実行が制限される。一方、復号可能と判定した場合（ステップＳ１０１；Ｙｅｓ）、取得部１１０は、コード２２を復号して情報を生成する（ステップＳ１０３）。
【００５５】
次に、取得部１１０は、生成した情報が、正規ライセンスであるか否かを判定する（ステップＳ１０４）。正規ライセンスは、期間を限定することなく制御プログラム２１２を利用可能であることを証明するデータである。正規ライセンスは、例えば、図６の上段に示される４つの情報のうちプログラム情報１７２及び装置情報１７３に相当するデータである。図１，６では、試用期間が設定されたコード２２の例を示したが、正規ライセンスから生成されたコード２２が、記録媒体２０に記録される場合がある。この場合には、プログラム情報１７２及び装置情報１７３を暗号化したコード２２を秘密鍵１７１で復号することで第１復号情報２２２及び第２復号情報２２３を得て、第１復号情報２２２がプログラム情報１７２に一致し、かつ第２復号情報２２３が装置情報１７３に一致したときに、生成した情報が正規ライセンスであると判定される。
【００５６】
生成した情報が正規ライセンスであると判定された場合（ステップＳ１０４；Ｙｅｓ）、実行部１４０は、認証された正規ライセンスのコード２２の履歴に今回のコード２２を登録してから認証処理を終了して、図８の実行処理に戻り、機器制御処理を実行する。一方、生成した情報が正規ライセンスではないと判定した場合（ステップＳ１０４；Ｎｏ）、取得部１１０は、復号により生成された許可情報２２１、第１復号情報２２２、第２復号情報２２３、及び権限情報２２４を取得する（ステップＳ１０５）。
【００５７】
次に、実行部１４０は、ステップＳ１０３で復号されたコード２２について、過去に認証されたコード２２であるか否かを判定する（ステップＳ１０６）。具体的には、実行部１４０は、過去に認証された試用期間付きのコード２２の履歴に、今回の認証処理の対象とされるコード２２が含まれているかを判定する。図１に示されるように、パッケージ２００は、単一のコード２２を含むが、複数のコード２２を含んでもよい。また、プログラム２１の実行時間が上限である許可時間に達した場合又は達することが見込まれる場合において、ユーザＵ１が、新たなコード２２の提供をパッケージ２００の提供者に求めて制御プログラム２１２の試用期間を延長してもよい。このような場合には、複数のコード２２が利用される。そのため、制御装置１０は、ステップＳ１０６の判定により、試用期間付きのコード２２を重複して利用することを回避する。
【００５８】
過去に認証されたコード２２であると判定した場合（ステップＳ１０６；Ｙｅｓ）実行部１４０は、処理をステップＳ１１１へ移行する。一方、過去に認証されたコード２２でないと判定した場合（ステップＳ１０６；Ｎｏ）、実行部１４０は、ステップＳ１０５で取得した第１復号情報２２２が記憶部１７０に格納されているプログラム情報１７２と異なるか否かを判定する（ステップＳ１０７）。ステップＳ１０６の判定が否定されるのは、例えば、購入したパッケージ２００に含まれるプログラム２１を初めて実行した場合、及び、制御プログラム２１２の試用期間を延長するためにユーザＵ１が新たなコード２２を制御装置１０に書き込んでからプログラム２１が実行される場合である。
【００５９】
第１復号情報２２２がプログラム情報１７２と異なると判定した場合（ステップＳ１０７；Ｙｅｓ）、実行部１４０は、エラーを出力して（ステップＳ１０２）、機器制御処理を実行することなく実行処理を終了する。この場合には、制御プログラム２１２の実行が制限される。一方、第１復号情報２２２がプログラム情報１７２と異ならないと判定した場合（ステップＳ１０７；Ｎｏ）、実行部１４０は、ステップＳ１０５で取得した第２復号情報２２３が記憶部１７０に格納されている装置情報１７３と異なるか否かを判定する（ステップＳ１０８）。
【００６０】
第２復号情報２２３が装置情報１７３と異なると判定した場合（ステップＳ１０８；Ｙｅｓ）、実行部１４０は、エラーを出力して（ステップＳ１０２）、機器制御処理を実行することなく実行処理を終了する。この場合には、制御プログラム２１２の実行が制限される。
【００６１】
一方、第２復号情報２２３が装置情報１７３と異ならないと判定した場合（ステップＳ１０８；Ｎｏ）、実行部１４０は、ステップＳ１０５で取得した許可情報２２１により示される許可時間を、既に認証処理を終えたコード２２により示される許可時間の残り時間に加算する（ステップＳ１０９）。具体的には、実行部１４０は、記憶部１７０に格納されている許可情報２２１を更新して、許可時間を加算する。ただし、記憶部１７０に許可情報２２１が格納されていない状態で認証処理が初めて実行された場合には、実行部１４０は、ステップＳ１０５で取得した許可情報２２１をそのまま記憶部１７０に格納する。また、既に記憶部１７０に格納されている許可情報２２１により示される許可時間の長さがゼロであれば、実行部１４０は、ステップＳ１０５で取得した許可情報２２１を記憶部１７０に書き込んで、許可情報２２１を上書きしてもよい。
【００６２】
次に、実行部１４０は、コード２２を登録する（ステップＳ１１０）。具体的には、実行部１４０は、ステップＳ１０５で取得した第１復号情報２２２、第２復号情報２２３及び権限情報２２４を記憶部１７０に格納し、ステップＳ１０３で復号したコード２２を、既に認証された試用期間付きのコード２２の履歴に追加する。
【００６３】
次に、実行部１４０は、カウント処理を開始する（ステップＳ１１１）。カウント処理は、制御プログラム２１２の実行時間を測定する処理であって、実行部１４０及び測定部１６０によって実行される。その後、実行部１４０による処理は、図８に示される実行処理に戻り、認証処理に続いて機器制御処理が実行される。なお、カウント処理は、機器制御処理とは並列に実行される。このカウント処理について、図１０を用いて説明する。
【００６４】
カウント処理では、実行部１４０が、測定部１６０によって測定された実行時間が許可情報２２１により示される許可時間を超えるか否かを判定する（ステップＳ３１）。実行時間が許可時間を超えないと判定された場合（ステップＳ３１；Ｎｏ）、測定部１６０は、一定時間待機する（ステップＳ３２）。一定時間は、例えば１秒間、１分間、１時間、又は１日間である。
【００６５】
次に、測定部１６０は、実行時間を示すカウント値を更新する（ステップＳ３３）。具体的には、測定部１６０は、ステップＳ３２の待機時間に相当する値をカウント値に加算して、測定結果として得る実行時間を増加させる。その後、ステップＳ３１以降の処理が繰り返される。なお、カウント処理が開始した際のカウント値の初期値はゼロに設定される。
【００６６】
ステップＳ３１にて実行時間が許可時間を超えると判定された場合（ステップＳ３１；Ｙｅｓ）、実行部１４０は、図８に示される実行処理を停止する（ステップＳ３４）。これにより、制御プログラム２１２の実行が制限される。
【００６７】
次に、実行部１４０は、実行時間が許可時間を超えたことを示すエラーを出力して（ステップＳ３５）、カウント処理を終了する。
【００６８】
続いて、図８に示される機器制御処理について、図１１を用いて説明する。機器制御処理では、実行部１４０は、権限情報２２４により示される権限レベルに従って制御プログラムを実行することにより、機器４０を制御する（ステップＳ２１）。
【００６９】
権限レベルは、図１２に例示されるように、「高」、「中」及び「低」の３つのレベルのいずれかであって、権限レベルに応じて、想定されるユーザＵ１及び権限の内容が決定される。例えば、管理者であるユーザＵ１には、権限レベルが「高」に設定されたコード２２を含むパッケージ２００が提供され、オペレータであるユーザＵ１には、権限レベルが「低」に設定されたコード２２を含むパッケージ２００が提供される。
【００７０】
また、権限の内容は、権限レベルに応じた制御プログラムの機能の制限を意味する。図１３には、このような機能の制限が例示されている。例えば、機器４０の動作モードを変更することは、権限レベルが「高」又は「中」であれば可能であるが、権限レベルが「低」であれば不可能である。
【００７１】
図１４には、制御プログラム２１２の機能を限定するためのラダー図が模式的に示されている。図１４に示される例では、権限レベル「高」、「中」及び「低」それぞれの値が「３」、「２」及び「１」であって、権限レベルの値が「１」以下であればプログラムモジュールＭ１，Ｍ２，Ｍ３のうち、プログラムモジュールＭ１，Ｍ２を実行することができず、プログラムモジュールＭ３のみを実行することができる。
【００７２】
図１１に戻り、ステップＳ２１に続いて、実行部１４０は、終了指示があるか否かを判定する（ステップＳ２２）。具体的には、実行部１４０は、実行スイッチ部１３０により停止の指示が入力されたか否かを判定する。停止指示がないと判定した場合（ステップＳ２２；Ｎｏ）、実行部１４０は、ステップＳ２１以降の処理を繰り返す。一方、停止指示があると判定した場合（ステップＳ２２；Ｙｅｓ）、実行部１４０は、許可時間から実行時間を減じることで許可情報２２１を更新する（ステップＳ２３）。具体的には、実行部１４０は、記憶部１７０から読み出した許可情報２２１により示される許可時間から、測定部１６０から最後に通知された測定結果である実行時間を減算して、許可時間の残り時間を算出する。そして、実行部１４０は、記憶部１７０に記憶される許可情報２２１を更新する。これにより、許可情報２２１は、許可時間の残り時間を示す情報に更新される。
【００７３】
次に、実行部１４０は、カウント処理を終了させる（ステップＳ２４）。その後、制御装置１０による処理は、図１１の機器制御処理から図８の実行処理に戻り、実行処理が終了する。
【００７４】
実行処理及びカウント処理が以上のように実行されることで変化する許可時間の例が、図１５に示されている。図１５に示されるように、一定の長さの許可時間があるときに、ステップＳ４１にて制御プログラム２１２が実行されて停止すると、実行時間の分だけ許可時間が短くなる。そして、ステップＳ４２にて制御プログラム２１２が再度実行されて停止すると、許可時間がさらに短くなる。
【００７５】
ここで、ステップＳ４３にて新たなコード２２により許可時間を追加すると、このコード２２により規定される時間の長さだけ許可時間が長くなる。そして、ステップＳ４４にて制御プログラム２１２を実行し続けると、実行時間が長くなり、許可時間がゼロになった時点で制御プログラム２１２が終了する。その後、ステップＳ４５にてさらに新たなコード２２による許可時間を追加すると、さらに制御プログラム２１２を実行することが可能になる。
【００７６】
以上、説明したように、実行部１４０は、実行スイッチ部１３０に実行の指示が入力された場合に制御プログラム２１２を実行して機器４０を制御し、実行スイッチ部１３０に停止の指示が入力された場合に制御プログラム２１２の実行を停止して機器４０の制御を中止する。また、実行部１４０は、実行スイッチ部１３０に実行の指示が入力されている実行時間の長さが許可時間の長さを超える場合に、制御プログラム２１２の実行を制限する。このため、実行時間が許可時間を超えるまでは、制御プログラム２１２の実行により機器４０が制御される。したがって、制御装置１０に実行させる制御プログラム２１２の使用感を確実に得ることができる。
【００７７】
また、取得部１１０は、暗号化された複数の許可情報２２１を取得して、実行部１４０は、実行時間の長さが、複数の許可情報２２１により示される許可時間の長さの総和を超える場合に、制御プログラム２１２の実行を制限した。これにより、ユーザＵ１は、制御プログラム２１２の試用が不十分である場合に、正規ライセンスを購入することなく、新たなコード２２の提供を受ければ、引き続き制御プログラム２１２を試用することができる。
【００７８】
また、取得部１１０は、公開鍵１７４で暗号化されたコード２２を取得し、コード２２を秘密鍵１７１で復号することにより許可情報２２１を取得した。これにより、他の制御装置１０に対してこのコード２２を書き込んでも、他の制御装置１０が許可情報２２１を得ることはできず、他の制御装置１０での制御プログラム２１２の実行を制限することができる。
【００７９】
また、取得部１１０は、コード２２を復号することにより第１復号情報２２２を取得し、実行部１４０は、第１復号情報２２２がプログラム情報１７２と異なる場合に、制御プログラム２１２の実行を制限した。これにより、他の制御装置１０での制御プログラム２１２の実行を制限することができる。具体的には、他の制御装置１０に提供された他のプログラム２１を実行するために、制御装置１０に提供されたコード２２が流用されることを防ぐことができる。
【００８０】
また、取得部１１０は、コード２２を復号することにより第２復号情報２２３を取得し、実行部１４０は、第２復号情報２２３が装置情報１７３と異なる場合に、制御プログラム２１２の実行を制限した。これにより、他の制御装置１０での制御プログラム２１２の実行を制限することができる。
【００８１】
また、取得部１１０は、コード２２を復号することにより権限情報２２４を取得し、実行部１４０は、権限情報２２４により示される権限レベルに従って制御プログラム２１２を実行した。これにより、パッケージ２００の提供先に応じて制御プログラム２１２の機能を制限することができる。
【００８２】
また、許可時間は、複数の制御プログラム２１２のうち少なくとも１つを実行することが許可される時間である。そして、取得部１１０は、許可情報２２１と、複数のプログラム２１それぞれに含まれる制御プログラム２１２から選択されたいずれか１つの制御プログラム２１２と、を取得し、実行部１４０は、取得部１１０によって取得された制御プログラム２１２を実行した。これにより、複数の制御プログラム２１２を含むパッケージ２００をユーザＵ１に提供して、ユーザＵ１は、複数の制御プログラム２１２のうち、試用を希望する制御プログラム２１２を選択して試用することができる。
【００８３】
なお、複数のプログラム２１それぞれが１つの制御プログラム２１２を含む場合には、コード２２を生成するためのプログラム情報１７２は、複数のプログラム２１に共通する情報であることが望ましい。また、複数のプログラム２１それぞれに対応するコード２２が記録媒体２０に記録されてもよい。また、１つのプログラム２１が複数の制御プログラム２１２を含んでもよい。
【００８４】
実施の形態２．
続いて、実施の形態２について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態１では、暗号化されたコード２２を利用して認証処理が実行されたが、ハッシュ値を利用する形態も考えられる。以下では、ハッシュ値である認証データが提供される例について説明する。
【００８５】
図１６に示されるように、記録媒体２０には、プログラム２１に加えて、認証処理に用いる認証データ２２ａと、許可情報２２１と、権限情報２２４と、が記録されている。そして、図１７に示されるように、制御装置１０の取得部１１０は、端末３０を介して記録媒体２０から認証データ２２ａ、許可情報２２１及び権限情報２２４を取得して記憶部１７０に書き込む。
【００８６】
認証データ２２ａは、図１８に示されるように、許可情報２２１、プログラム情報１７２、装置情報１７３及び権限情報２２４を合わせてハッシュ化することにより得るハッシュ値に相当する。図１７に示されるように、記憶部１７０には、許可情報２２１、プログラム情報１７２、装置情報１７３及び権限情報２２４が記憶されるため、これらの情報を合わせてハッシュ化したデータと、認証データ２２ａとを照合することにより、認証をすることができる。
【００８７】
そのような認証をするために、図１９に示されるように制御処理では、ステップＳ２に続いて、ユーザＵ１が端末３０からプログラム２１、認証データ２２ａ、許可情報２２１及び権限情報２２４を制御装置１０に書き込む（ステップＳ７）。なお、ステップＳ７では、ユーザＵ１は、制御プログラム２１２の試用期間を追加するための新たな認証データ２２ａ及び許可情報２２１のみを制御装置１０に書き込んでもよい。その後、ステップＳ４以降の手順が実施の形態１と同様に行われる。
【００８８】
また、認証処理では、図２０に示されるように、取得部１１０が、認証データ２２ａ、許可情報２２１及び権限情報２２４を取得する（ステップＳ１２１）。次に、取得部１１０は、認証データ２２ａが正規ライセンスであるか否かを判定する（ステップＳ１０４）。正規ライセンスではないと判定された場合（ステップＳ１０４；Ｎｏ）、実行部１４０は、ステップＳ１２１で取得された認証データ２２ａについて、過去に認証したデータであるか否かを判定する（ステップＳ１２２）。具体的には、実行部１４０は、過去に認証された認証データ２２ａの履歴に、今回の認証処理の対象とされる認証データ２２ａが含まれているかを判定する。
【００８９】
過去に認証したデータであると判定した場合（ステップＳ１２２；Ｙｅｓ）、実行部１４０は、ステップＳ１１１へ処理を移行する。一方、過去に認証したデータでないと判定した場合（ステップＳ１２２；Ｎｏ）、実行部１４０は、ステップＳ１２１で取得した許可情報２２１及び権限情報２２４と、記憶部１７０から読み出したプログラム情報１７２及び装置情報１７３と、をハッシュ化して生成データを生成する（ステップＳ１２３）。ハッシュ化の手法は任意であるが、例えば、ＭＤ５（Message Digest Algorithm 5）、又はＳＨＡ−２（Secure Hash Algorithm-2）に代表されるハッシュ関数を利用してもよい。
【００９０】
次に、実行部１４０は、認証データ２２ａが、ステップＳ１２３で生成した生成データと異なるか否かを判定する（ステップＳ１２４）。認証データ２２ａが生成データと異なると判定した場合（ステップＳ１２４；Ｙｅｓ）、実行部１４０は、エラーを出力して（ステップＳ１０２）、実行処理を終了する。この場合には、制御プログラム２１２の実行が制限される。
【００９１】
一方、認証データ２２ａが生成データと異ならないと判定した場合（ステップＳ１２４；Ｎｏ）、実行部１４０は、実施の形態１と同様のステップＳ１０９を実行する。次に、実行部１４０は、認証データ２２ａを登録する（ステップＳ１２５）。具体的には、実行部１４０が、ステップＳ１２１で取得されたデータを記憶部１７０に格納し、既に認証された認証データ２２ａの履歴に、ステップＳ１２１で取得した認証データ２２ａを追加する。その後、実行部１４０は、実施の形態１と同様にステップＳ１１１以降の処理を実行する。
【００９２】
以上、説明したように、取得部１１０は、認証データ２２ａを取得する。そして、実行部１４０は、許可情報２２１、プログラム情報１７２、装置情報１７３及び権限情報２２４のハッシュ化により生成データを生成し、生成データが認証データと異なる場合に、制御プログラム２１２の実行を制限する。これにより、他の制御装置１０での制御プログラム２１２の実行を制限することができる。
【００９３】
詳細には、取得部１１０は、許可情報２２１と、制御プログラム２１２を認証するための認証データ２２ａと、を取得し、実行部１４０は、制御プログラム２１２から生成データを生成し、この生成データが認証データ２２ａと異なる場合に、プログラム２１の実行を制限した。これにより、制御プログラム２１２とは異なる他の制御プログラム２１２が提供された他の制御装置１０において、認証データ２２ａを流用して他の制御プログラム２１２が実行されることを防ぐことができる。
【００９４】
また、取得部１１０は、許可情報２２１と、制御装置１０を認証するための認証データ２２ａと、を取得し実行部１４０は、装置情報１７３から生成データを生成し、この生成データが認証データ２２ａと異なる場合に、プログラム２１の実行を制限した。これにより、制御装置１０に提供された認証データ２２ａを、他の制御装置１０に流用され、他の制御装置１０に提供されたプログラム２１が実行されることを防ぐことができる。
【００９５】
実施の形態３．
続いて、実施の形態３について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。上記実施の形態１では、電源スイッチ部１２０及び実行スイッチ部１３０は、ハードウェアスイッチである電源スイッチ１２及び実行スイッチ１３に対応したが、このようなスイッチがソフトウェア上で実装される形態も考えられる。以下では、制御装置１０を遠隔操作して、ソフトウェア上のスイッチに指示を入力する形態について説明する。
【００９６】
図２１において、通信路５０に接続される端末３１は、制御装置１０を遠隔操作するための装置である。なお、図２１では、制御装置１０は端末３１と通信路５０を介して接続されているが、これには限定されず、他の伝送路を介して接続されてもよい。
【００９７】
この端末３１は、図２２に示されるように、電源スイッチ部１２０及び実行スイッチ部１３０に対するユーザＵ１からの指示を入力する。電源スイッチ部１２０及び実行スイッチ部１３０は、プロセッサ６１と通信部６７との協働により実現される。
【００９８】
図２３には、端末３１に表示される操作画面の例が示されている。この画面には、制御装置１０のＬＥＤ１１と同等の表示をするオブジェクト１１ａと、電源スイッチ１２に対応するオブジェクト１２ａと、実行スイッチ１３に対応するオブジェクト１３ａと、が表示される。ユーザＵ１は、この画面上でカーソル３１１をオブジェクト１３ａ上に移動させてクリックすることで、実行スイッチ部１３０に入力される指示を切り替えることができる。
【００９９】
以上、説明したように、実行スイッチ部１３０がソフトウェアによって実現される場合にも、制御装置１０は、実施の形態１と同等の効果を奏する。
【０１００】
また、上記実施の形態２に係る実行スイッチ部１３０を、本実施の形態と同様にソフトウェアによって実現してもよい。
【０１０１】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【０１０２】
例えば、上記実施の形態では、実行スイッチ１３は、実行の指示と停止の指示との２つのいずれか一方を選択する例について説明したが、これには限定されない。例えば、図２４に示されるように、制御装置１０は、プログラム２１の実行の指示及び停止の指示に加えて、プログラム２１をリセットする指示を切り替えて入力するための実行スイッチ１３を有してもよい。
【０１０３】
また、図２５に示されるように、端末３０を省略して制御システム１００を構成し、制御装置１０が記録媒体２０からデータを直接読み出してもよい。
【０１０４】
また、制御装置１０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【０１０５】
例えば、プロセッサ６１によって実行されるプログラム６９を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラム６９をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【０１０６】
また、プログラム６９をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードさせてもよい。
【０１０７】
また、通信ネットワークを介してプログラム６９を転送しながら起動実行することによっても、上述の処理を達成することができる。
【０１０８】
さらに、プログラム６９の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【０１０９】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【０１１０】
また、制御装置１０の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【０１１１】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【０１１２】
本発明は、機器を制御するための制御プログラムの実行時間を限定することに適している。
【符号の説明】
【０１１３】
１００  制御システム、  １０  制御装置、  １１  ＬＥＤ、  １２  電源スイッチ、  １３  実行スイッチ、  １３１  入力部材、  １１ａ，１２ａ，１３ａ  オブジェクト、  １４，１５  端子、  １１０  取得部、  １２０  電源スイッチ部、  １３０  実行スイッチ部、  １４０  実行部、  １５０  通信部、  １６０  測定部、  １７０  記憶部、  １７１  秘密鍵、  １７２  プログラム情報、  １７３  装置情報、  １７４  公開鍵、  ２００  パッケージ、  ２０  記録媒体、  ２１  プログラム、  ２１１  認証プログラム、  ２１２  制御プログラム、  ２２  コード、  ２２ａ  認証データ、  ２２１  許可情報、  ２２２  第１復号情報、  ２２３  第２復号情報、  ２２４  権限情報、  ３１１  カーソル、  ３０，３１  端末、  ４０  機器、  ５０  通信路、  ６１  プロセッサ、  ６２  主記憶部、  ６３  補助記憶部、  ６４  クロック部、  ６５  入力部、  ６６  出力部、  ６７  通信部、  ６８  内部バス、  ６９  プログラム、  Ｕ１  ユーザ。
【図１】
2020044483.tif 000003
【図２】
2020044483.tif 000004
【図３】
2020044483.tif 000005
【図４】
2020044483.tif 000006
【図５】
2020044483.tif 000007
【図６】
2020044483.tif 000008
【図７】
2020044483.tif 000009
【図８】
2020044483.tif 000010
【図９】
2020044483.tif 000011
【図１０】
2020044483.tif 000012
【図１１】
2020044483.tif 000013
【図１２】
2020044483.tif 000014
【図１３】
2020044483.tif 000015
【図１４】
2020044483.tif 000016
【図１５】
2020044483.tif 000017
【図１６】
2020044483.tif 000018
【図１７】
2020044483.tif 000019
【図１８】
2020044483.tif 000020
【図１９】
2020044483.tif 000021
【図２０】
2020044483.tif 000022
【図２１】
2020044483.tif 000023
【図２２】
2020044483.tif 000024
【図２３】
2020044483.tif 000025
【図２４】
2020044483.tif 000026
【図２５】
2020044483.tif 000027
【手続補正書】
【提出日】令和1年5月15日(2019.5.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上記目的を達成するため、本発明の制御装置は、機器を制御する制御装置であって、機器を制御するための制御プログラムの実行が許可される許可時間の長さを示す許可情報を取得する取得手段と、制御プログラムの実行の指示及び停止の指示が入力されるスイッチと、スイッチに実行の指示が入力された場合に制御プログラムを実行して機器を制御し、スイッチに停止の指示が入力された場合に制御プログラムの実行を停止して機器の制御を中止する実行手段と、を備え、実行手段は、スイッチに実行の指示が入力されている実行時間の長さが許可時間の長さを超える場合に、制御プログラムの実行を制限する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明によれば、制御装置は、制御プログラムの実行の指示及び停止の指示が入力されるスイッチと、スイッチに実行の指示が入力された場合に制御プログラムを実行して機器を制御し、スイッチに停止の指示が入力された場合に制御プログラムの実行を停止して機器の制御を中止する実行手段と、を備え、実行手段は、スイッチに実行の指示が入力されている実行時間の長さが許可時間の長さを超える場合に、制御プログラムの実行を制限する。このため、実行時間が許可時間を超えるまでは、制御プログラムの実行により機器が制御される。したがって、制御装置に実行させる制御プログラムの使用感を確実に得ることができる。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機器を制御する制御装置であって、
前記機器を制御するための制御プログラムの実行が許可される許可時間の長さを示す許可情報を取得する取得手段と、
前記制御プログラムの実行の指示及び停止の指示が入力されるスイッチと、
前記スイッチに実行の指示が入力された場合に前記制御プログラムを実行して前記機器を制御し、前記スイッチに停止の指示が入力された場合に前記制御プログラムの実行を停止して前記機器の制御を中止する実行手段と、を備え、
前記実行手段は、前記スイッチに実行の指示が入力されている実行時間の長さが前記許可時間の長さを超える場合に、前記制御プログラムの実行を制限する、
制御装置。
【請求項２】
前記許可時間の長さを記憶する許可時間記憶手段、をさらに備え、
前記取得手段は、複数の前記許可情報を取得し、
前記許可時間記憶手段は、前記複数の許可情報により示される前記許可時間の長さの総和を記憶し、
前記実行手段は、前記実行時間の長さが、前記許可時間の長さの総和を超える場合に、前記制御プログラムの実行を制限する、
請求項１に記載の制御装置。
【請求項３】
前記取得手段は、公開鍵で暗号化されたコードを取得し、前記コードを復号することにより前記許可情報を取得する、
請求項１又は２に記載の制御装置。
【請求項４】
前記取得手段は、前記コードを復号することにより前記許可情報と第１復号情報とを取得し、
前記実行手段は、前記第１復号情報が前記制御プログラムに関するプログラム情報と異なる場合に、前記制御プログラムの実行を制限する、
請求項３に記載の制御装置。
【請求項５】
前記取得手段は、前記コードを復号することにより前記許可情報と第２復号情報とを取得し、
前記実行手段は、前記第２復号情報が制御装置に関する装置情報と異なる場合に、前記制御プログラムの実行を制限する、
請求項３又は４に記載の制御装置。
【請求項６】
前記取得手段は、前記コードを復号することにより、前記許可情報と、前記制御プログラムを実行する権限のレベルを示す権限情報と、を取得し、
前記実行手段は、前記権限情報により示されるレベルに従って前記制御プログラムを実行する、
請求項３から５のいずれか一項に記載の制御装置。
【請求項７】
前記取得手段は、前記許可情報と、前記制御プログラムを認証するための認証データと、を取得し、
前記実行手段は、前記制御プログラムから生成データを生成し、該生成データが前記認証データと異なる場合に、前記制御プログラムの実行を制限する、
請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
制御装置に関する装置情報を記憶する装置情報記憶手段、をさらに備え、
前記取得手段は、前記許可情報と、制御装置を認証するための認証データと、を取得し、
前記実行手段は、前記装置情報から生成データを生成し、該生成データが前記認証データと異なる場合に、前記制御プログラムの実行を制限する、
請求項１から６のいずれか一項に記載の制御装置。
【請求項９】
前記許可時間は、複数の前記制御プログラムのうち少なくとも１つを実行することが許可される時間であって、
前記取得手段は、前記許可情報と、複数の前記制御プログラムから選択された一の前記制御プログラムと、を取得し、
前記実行手段は、前記取得手段によって取得された一の前記制御プログラムを実行する、
請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
機器を制御するための制御プログラムの実行の指示及び停止の指示が入力されるスイッチに実行の指示が入力された場合に前記制御プログラムを実行して前記機器を制御するステップと、
前記スイッチに停止の指示が入力された場合に前記制御プログラムの実行を停止して前記機器の制御を中止するステップと、
前記スイッチに実行の指示が入力されている時間の長さが、前記制御プログラムの実行が許可される時間の長さを超える場合に、前記制御プログラムの実行を制限するステップと、
を含む制御方法。
【請求項１１】
コンピュータに、
機器を制御するための制御プログラムの実行の指示及び停止の指示が入力されるスイッチに実行の指示が入力された場合に前記制御プログラムを実行して前記機器を制御し、
前記スイッチに停止の指示が入力された場合に前記制御プログラムの実行を停止して前記機器の制御を中止し、
前記スイッチに実行の指示が入力されている時間の長さが、前記制御プログラムの実行が許可される時間の長さを超える場合に、前記制御プログラムの実行を制限する、
ことを実行させるためのプログラム。
【国際調査報告】
2020044483.tif 000028
2020044483.tif 000029