(57)【要約】【課題】ウィルス検出ソフトウェア等のソフトウェアオブジェクトを顧客のリアルタイム制御装置に適用するにあたって、ソフトウェアオブジェクトの検証をより迅速に行うことである。【解決手段】ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトを顧客のリアルタイム制御装置に適用する前に検証するために、第１のＷＥＢサイト１よりソフトウェアオブジェクトをダウンロードし、検証用リアルタイム制御装置３に適用してリアルタイム制御を安定持続することを評価し、安定持続することが評価されたこれらのソフトウェアオブジェクトを、第２のＷＥＢサイト５にアップロードし、顧客のリアルタイム制御装置６に適用可能とする。また、監視コンピュータ４により、検証が正常に行われるか監視する。【選択図】図１
2006031389.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトを顧客のリアルタイム制御装置に適用する前に検証する方法であって、
前記ソフトウェアオブジェクトを第１のＷＥＢサイトよりダウンロードし、
コンピュータシステムにより実現されリアルタイム制御を行う検証用リアルタイム制御装置に前記ソフトウェアオブジェクトを適用し、
前記検証用リアルタイム制御装置がリアルタイム制御を安定持続することを評価し、
安定持続することが評価されたソフトウェアオブジェクトを、第２のＷＥＢサイトにアップロードし、
前記顧客のリアルタイム制御装置は、前記第２のＷＥＢサイトから前記ソフトウェアオブジェクトをダウンロードして、前記ソフトウェアオブジェクトを適用可能となすことを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【請求項２】
ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトを顧客のリアルタイム制御装置に適用する前に検証する方法であって、
前記ソフトウェアオブジェクトを第１のＷＥＢサイトよりダウンロードし、
コンピュータシステムにより実現されリアルタイム制御を行う検証用リアルタイム制御装置に前記ソフトウェアオブジェクトを適用し、
前記検証用リアルタイム制御装置がリアルタイム制御を安定持続することを評価し、
前記評価の結果を第２のＷＥＢサイトにアップロードし、
前記顧客のリアルタイム制御装置は、前記第２のＷＥＢサイトへアップロードされた前記評価の結果に基づいて、前記ソフトウェアオブジェクトを適用可能となすことを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【請求項３】
請求項１または２に記載のソフトウェアオブジェクト検証方法において、
前記ソフトウェアオブジェクトを前記第１のＷＥＢサイトよりダウンロードするステップと、
前記コンピュータシステムにより実現されリアルタイム制御を行う前記検証用リアルタイム制御装置に前記ソフトウェアオブジェクトを適用するステップと、
前記検証用リアルタイム制御装置がリアルタイム制御を安定持続することを評価するステップと、
前記評価後のソフトウェアオブジェクト又は前記評価の結果のうち、少なくともいずれか一方を、前記第２のＷＥＢサイトにアップロードするステップと、
の各ステップにおいて、監視コンピュータにより前記検証用リアルタイム制御装置を監視し、前記検証用リアルタイム制御装置が動作不能となり評価結果を出せない場合はその旨管理者に報告することを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【請求項４】
請求項１または２に記載のソフトウェアオブジェクト検証方法において、
前記コンピュータシステムにより実現されリアルタイム制御を行う前記検証用リアルタイム制御装置に所定の負荷をかけた状態で前記ソフトウェアオブジェクトを適用し、所定の時間動作させ、前記検証用リアルタイム制御装置において動作するリアルタイムタスクのタイミングマージンが所定の値を下回らないことを評価することを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【請求項５】
請求項４に記載のソフトウェアオブジェクト検証方法において、
前記コンピュータシステムにより実現されリアルタイム制御を行う前記検証用リアルタイム制御装置が数値制御装置であって、所定の加工プログラムを前記数値制御装置で解釈実行させ、プログラム解釈が関数発生に対して間に合って行われることを評価することを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【請求項６】
請求項１から請求項５のいずれか１に記載のソフトウェアオブジェクト検証方法において、
前記ソフトウェアオブジェクトがウィルス検出ソフトウェアまたは検出パターンファイルまたはウィルス駆除ソフトウェアの中の少なくとも１つを含み、コンピュータウィルスを防御することを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【請求項７】
請求項１から請求項５のいずれか１に記載のソフトウェアオブジェクト検証方法において、
前記ソフトウェアオブジェクトが基本ソフトウェアを更新するためのソフトウェアであることを特徴とするリアルタイムシステムのためのソフトウェアオブジェクト検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにより実現されリアルタイム制御を行う制御装置等のリアルタイムシステムのためのソフトウェアオブジェクト検証方法に関するもので、コンピュータウィルス検出ソフトウェア、検出パターンファイルおよび基本ソフトウェアに対する更新ソフトウェアなどのソフトウェアオブジェクトを適用するにあたって、これらのソフトウェアオブジェクトによるリアルタイム制御に対する影響を評価し、安全にソフトウェアの更新を実現する方法に関するものである。
【背景技術】
【０００２】
今日パーソナルコンピュータ(ＰＣ)の普及とともにＰＣベースの制御装置が普及し始めている。ＰＣは生産管理、設計、自動プログラミングなどのアプリケーションが豊富にそろい、加工現場におけるＩＴ化を推し進める上で有効である。ところがネットワークが普及した今日、ＰＣを攻撃対象とするコンピュータウィルスは社会的問題となるほど日常化しており、その対象は加工現場に配置されるＰＣにおいても例外ではなく、コンピュータウィルスに対する対策を行わないわけにはいかない状況にある。
【０００３】
しかし、リアルタイム制御を行う制御装置においては、ウィルス対策を行うといっても、安定動作しているシステムのソフトウェアあるいは動作に影響のあるデータを更新するのであるから、リアルタイム性能に対し何らかの影響があるかどうかを検査し、動作に支障のないことを確認した上で適用しなければ、制御の信頼性を損なうことになりかねない。
【０００４】
例えば企業における基幹システムにおいては、システムに障害が発生すれば企業活動に影響を及ぼすものであり、わずかなソフトウェア更新であっても事前に精査した上で適用するのが当然である。リアルタイム制御装置は、その影響においては基幹システムとは異なるが、ソフトウェアの異常動作が事故の発生につながる可能性があり、基幹システムと同様に、たとえわずかなソフトウェア更新であっても事前に精査しなくてはならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
今日では、コンピュータウィルス検出ソフトウェア、検出パターンファイルおよび基本ソフトウェアに対する更新ソフトウェアなどのソフトウェアオブジェクトは頻繁に発行されており、これらがリアルタイム制御において支障なく動作することを遅滞なく検査し、顧客のリアルタイム制御装置に適用可能としなくてはならない。遅滞があれば、その間にコンピュータウィルスがリアルタイム制御装置に感染し、リアルタイム制御に悪い影響を及ぼす可能性がある。一方、支障のある不適切なソフトウェアオブジェクトをリアルタイム制御装置に適用する事態が生じた場合、多数の顧客のリアルタイム制御装置が正常に動作しなくなり、それらの復旧のために多大なコストを生じることになる。
【０００６】
しかるに、このような検査を十分に行った上でソフトウェアオブジェクトを適用するには、手間がかかるために検査コストがかさみ、また動作に対する客観的かつ十分な評価基準が明瞭でなく、必要かつ十分な検証ができないという問題が生じていた。
【０００７】
本発明は上述の問題に鑑みなされたもので、ウィルス検出ソフトウェア、検出パターンファイルや基本ソフトウェアの更新ソフトウェアなどのソフトウェアオブジェクトについて、リアルタイム制御に対する影響を、それらを顧客のリアルタイム制御装置に適用する前に検証するものである。
【０００８】
本発明の目的は、ソフトウェアオブジェクトの検証をより迅速に行うことのできる、リアルタイムシステムのためのソフトウェアオブジェクト検証方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係るリアルタイムシステムのためのソフトウェアオブジェクト検証方法は、ソフトウェアオブジェクトのリアルタイム制御に対する影響を、前記ソフトウェアオブジェクトを顧客のリアルタイム制御装置に適用する前に検証する方法であって、前記ソフトウェアオブジェクトを第１のＷＥＢサイトよりダウンロードし、コンピュータシステムにより実現されリアルタイム制御を行う検証用リアルタイム制御装置に前記ソフトウェアオブジェクトを適用し、前記検証用リアルタイム制御装置がリアルタイム制御を安定持続することを評価し、安定持続することが評価されたソフトウェアオブジェクトを、第２のＷＥＢサイトにアップロードし、前記顧客のリアルタイム制御装置は、前記第２のＷＥＢサイトから前記ソフトウェアオブジェクトをダウンロードして、前記ソフトウェアオブジェクトを適用可能となすことを特徴とする。
【００１０】
また、ソフトウェアオブジェクトを第１のＷＥＢサイトよりダウンロードし、コンピュータシステムにより実現されリアルタイム制御を行う検証用リアルタイム制御装置に前記ソフトウェアオブジェクトを適用し、前記検証用リアルタイム制御装置がリアルタイム制御を安定持続することを評価し、前記評価の結果を第２のＷＥＢサイトにアップロードし、前記顧客のリアルタイム制御装置は、第２のＷＥＢサイトへアップロードされた前記評価の結果に基づいて、前記ソフトウェアオブジェクトを適用可能となすことを特徴とする。
【００１１】
また、前記ソフトウェアオブジェクトを前記第１のＷＥＢサイトよりダウンロードするステップと、前記コンピュータシステムにより実現されリアルタイム制御を行う前記検証用リアルタイム制御装置に、前記ソフトウェアオブジェクトを適用するステップと、前記検証用リアルタイム制御装置がリアルタイム制御を安定持続することを評価するステップと、前記評価後のソフトウェアオブジェクト又は前記評価の結果にうち、少なくともいずれか一方を、前記第２のＷＥＢサイトにアップロードするステップと、の各ステップにおいて、監視コンピュータにより前記検証用リアルタイム制御装置を監視し、前記検証用リアルタイム制御装置が動作不能となり評価結果を出せない場合はその旨管理者に報告することが好ましい。
【００１２】
さらに、前記コンピュータシステムにより実現されリアルタイム制御を行う前記検証用リアルタイム制御装置に所定の負荷をかけた状態で、前記ソフトウェアオブジェクトを適用し、所定の時間動作させ、前記検証用リアルタイム制御装置において動作するリアルタイムタスクのタイミングマージンが所定の値を下回らないことを評価することが好ましい。
【００１３】
さらに、前記コンピュータシステムにより実現されリアルタイム制御を行う前記検証用リアルタイム制御装置が数値制御装置であって、所定の加工プログラムを前記数値制御装置で解釈実行させ、プログラム解釈が関数発生に対して間に合って行われることを評価することが好ましい。
【００１４】
また、前記ソフトウェアオブジェクトがウィルス検出ソフトウェアまたは検出パターンファイルまたはウィルス駆除ソフトウェアの中の少なくとも１つを含み、コンピュータウィルスを防御することが好ましい。
【００１５】
また、前記ソフトウェアオブジェクトが基本ソフトウェアを更新するためのソフトウェアであることが好ましい。
【発明の効果】
【００１６】
上記構成によれば、ソフトウェアオブジェクト、例えばウィルスの検出ソフトウェア、検出パターンファイル、あるいはウィルス対策を含む基本ソフトウェアに対する更新ファイルを、それらの供給者、例えばウィルス対策ソフトウェア供給業者、基本ソフトウェア供給業者などの設置する第１のＷＥＢサイトから例えば自動ダウンロードし、リアルタイム制御を行う検証用リアルタイム制御装置上で所定の時間動作させて客観的な評価判断基準に基づき、前記のソフトウェア、パターンファイルの適用の可否を判断するから、それらのソフトウェア、パターンファイルを検証用リアルタイム制御装置に適用した結果、リアルタイム制御が安定持続することを短時間で検証可能とする効果がある。
【００１７】
また、それらのソフトウェア、パターンファイルが適用可能と判断されると、それらのソフトウェアパターンファイル、または判定結果を、例えば本発明の方法を主体的に実施しようとするものが設置する第２のＷＥＢサイトにアップロードし、顧客の制御装置に適用可能とするから、ウィルスが発見されてからウィルス対策を実行するまで、短時間で完了することができるという効果を有する。
【００１８】
また監視コンピュータにより前記検証用リアルタイム制御装置を補助・監視し、上記の検証が正常に行われていることを監視し、正常な検証が行われていないことを検出すると、管理者に例えばメール送信するなどして報告するから、検証が正常に行われなくなった場合には、問題の発生を直ちに管理者に通知するから、遅滞なく問題に対応できるという効果を発揮する。
【００１９】
またリアルタイム制御に対する影響を、タイミングマージンとして客観的に判断するから、厳格な判断を短時間に下すことができ、またリアルタイム制御に影響のないことを明瞭に示すことができ、リアルタイム制御装置の利用者（顧客）は安心してそれらのソフトウェア、パターンファイルを適用できるという効果を有する。
【００２０】
さらにリアルタイムの制御装置が数値制御装置である場合、所定の加工プログラムを前記数値制御装置で解釈実行させ、プログラム解釈が関数発生に対して、例えば常に間に合って行われることを評価するので、数値制御装置の利用者（顧客）はそれらのソフトウェア、パターンファイルを適用した結果、数値制御装置の能力が変動し、加工面の面粗度が悪くなるなどの心配がなくなるという効果を有する。
【発明を実施するための最良の形態】
【００２１】
以下に図面を用いて、本発明に係る実施の形態におけるリアルタイムシステムのためのソフトウェアオブジェクト検証方法について説明する。図１は、リアルタイムシステムのためのコンピュータウィルス防御方法およびソフトウェア更新方法を適用することのできるシステムの全体概要を示す図である。第１のＷＥＢサイト１は、ウィルス検出ソフトウェアや基本ソフトウェアの供給者が設置するＷＥＢサイトで、ウィルス検出ソフト供給者であればウィルス検出ソフトウェアやウィルス検出パターンファイルをアップロードし、基本ソフトウェア供給者であれば更新ソフトウェアをアップロードし、利用者がインターネットからただちにダウンロード可能にして、迅速なウィルス対策や不具合対策を可能とするものである。なお、今後単にソフトウェアオブジェクトと言う場合、ウィルス検出ソフトウェア、ウィルス検出パターンファイルおよび更新ソフトウェアをさすものとする。
【００２２】
検証システム２は本発明の中心的役割を果たすもので、リアルタイム制御装置に対してソフトウェアオブジェクトを適用することの可否を判定するサービスを行うものが設置するものであり、多くの場合リアルタイム制御装置の供給者が設置すべきものである。検証用リアルタイム制御装置３は、第１のＷＥＢサイト１よりソフトウェアオブジェクトをダウンロードし（流れＡ）、リアルタイム制御を行う上で支障がなく、安定にリアルタイム制御を持続できることを所定の時間かけて自動検証し、問題がないことを確認できれば、第２のＷＥＢサイト５へアップロードする（流れＢ）。顧客のリアルタイム制御装置６は、第２のＷＥＢサイト５よりソフトウェアオブジェクトをダウンロードし適用する（流れＣ）。これにより、顧客のリアルタイム制御装置６のウィルス検出ソフトウェア、ウィルス検出パターンファイル、更新ソフトウェアの更新が、安定動作が保証された上で、迅速に行われる。
【００２３】
また、検証用リアルタイム制御装置３がソフトウェアオブジェクトを適用したことにより、まったく機能しなくなり検証を行えない状態に陥ってしまう可能性がある。この場合、検証用リアルタイム制御装置３は動作不能になっているために、そのような状況に陥っていることを他に伝えることさえできない状態となりうる。そこで検証用リアルタイム制御装置３は監視コンピュータ４に対し、検証を開始すること、検証が完了したことを報告する（流れＤ）。監視コンピュータ４は、検証用リアルタイム制御装置３により検証が開始され終了されたことを監視し、もし所定の時間内に検証が開始され完了しなければ、管理者コンピュータ７に対し、タイムアウトエラーを検出した旨メールを送信し、管理者に異常の発生したことを伝える。
【００２４】
次に検証用リアルタイム制御装置３について説明する。ここではリアルタイム制御装置の一種である数値制御装置を例にとって説明する。
【００２５】
図６は数値制御装置の構成図である。図６のプログラム解釈部２０３で加工プログラムの解釈が逐次行われ、関数発生部２０４によりプログラム解釈された結果に基づいて一定周期ごとに関数発生が行われ、関数発生結果によってサーボ駆動部２０５が駆動され、位置検出器２０７からのフィードバックを受けながらサーボモータ２０６が駆動されて位置制御がなされる。なお、ソフトウェアオブジェクト検証制御部２１１、タイミングマージン検出部２１２、プログラム解釈監視部２１３は、検証用リアルタイム制御装置３に固有の要素で、顧客のリアルタイム制御装置６には必要のない要素であり、通常これら以外の要素については検証用リアルタイム制御装置３と顧客のリアルタイム制御装置６とは同じものである。検証用リアルタイム制御装置３に固有の要素については、後ほど詳細に説明する。
【００２６】
図６に示すような数値制御装置は、実際には図５に示すようなコンピュータシステムによって実現される。図５に示すコンピュータシステムはＣＰＵ１０１を中心にＲＯＭ１０２, ＲＡＭ１０３のメモリ、補助記憶装置としてハードディスク１０４を備え、そして通信インターフェース部１１０により他のコンピュータやインターネット上のＷＥＢサイトと通信することができる。そのほかにＰＬＣ制御部１０５, 表示装置１０９を制御するグラフィック表示制御部１０７、操作パネル１１２とのインターフェース回路である操作パネルＩ／Ｆ部１１１、サーボ駆動部２０５, サーボモータ２０６, 位置検出器２０７などから構成される。なお、図６と同じ要素については同じ符号を付与した。図５には図示しないがこのコンピュータシステムはリアルタイムＯＳによりマルチタスク制御されていて、図６の数値制御装置のプログラム解釈部２０３、関数発生部２０４はそれぞれ異なるタスクとして実現される。
【００２７】
ここでリアルタイム制御のあるいは数値制御の中心であるプログラム解釈部２０３および関数発生部２０４の動作について、図７、図８のフローチャートを用いて動作を説明する。
【００２８】
図７はプログラム解釈部２０３の動作を示すフローチャートであり、数値制御装置の加工プログラムが起動されるとともにプログラム解釈動作を開始し（ステップＳ７１）、加工プログラムを１ブロック受取る（ステップＳ７２）。１ブロックを解釈して（ステップＳ７３）、ＭＯ２による終了であるかどうかを判定し（ステップＳ７４）、終了指令であれば終了する（ステップＳ７６）。そうでなければ、解釈を行った結果を関数発生部に送出する（ステップＳ７５）。以下ステップＳ７２に戻ってこれを繰返す。
【００２９】
図８は関数発生部２０４の動作を示すフローチャートである。関数発生部２０４は、一定時間Ｔcycごとに起動されて、所定の時間内に処理が終わるようにされており、まず一定時間Ｔcycごとに起動され（ステップＳ８１）、関数発生フラグがＯＮでなければ（ステップＳ８２）、解釈結果があるかどうか、すなわちプログラム解釈部のステップＳ７５より送出された解釈結果があるかどうかを判定し（ステップＳ８３）、なければ解釈結果空フラグをＯＮして（ステップＳ８９）、動作を終了する（ステップＳ８０）。ステップＳ８３において解釈結果があれば解釈結果を受取り（ステップＳ８４）、1ブロック関数発生初期化を行う（ステップＳ８５）。1ブロック関数発生初期化では、加工プログラムの1ブロックを開始するにあたって、例えばＧ００指令（早送り）やＧ０１指令（切削送り）であれば、目標位置までの距離と目標位置に至るまでの各軸の一定時間Ｔcycごとの移動距離を算出して記憶する（ステップＳ８５）。そして関数発生フラグをＯＮにする（ステップＳ８６）。次いで最初の一定時間Ｔcycの移動指令をサーボ駆動部２０５に送出し（ステップＳ８７）、解釈結果空フラグをＯＦＦして（ステップＳ８８）、一定時間Ｔcycごとの処理を終わる（ステップＳ８０）。
【００３０】
またステップＳ８２で、関数発生フラグがＯＮであれば、1ブロック関数発生を実行する（ステップＳ９０）。1ブロック関数発生は、Ｇ００指令やＧ０１指令であれば、各軸の一定時間Ｔcycごとの移動距離を現在位置に加算して記憶する。そして一定時間Ｔcycの移動指令をサーボ駆動部２０５に送出して（ステップＳ８７）一定時間Ｔcycごとの処理を終わる（ステップＳ８０）。
【００３１】
プログラム解釈部２０３、関数発生部２０４は、前述のように図５のようなコンピュータシステム上のリアルタイムＯＳにより制御されるタスクとして実現される。関数発生部２０４は一定時間Ｔcycごとに起動されるリアルタイムタスクとして、プログラム解釈部２０３は非リアルタイムタスクとして処理される。図４は、これらのタスク実行の様子を説明するタイミング図で、横軸は時間であり、それぞれのタスクがＣＰＵ１０１を使用している状態を長方形で表している。リアルタイムタスクは一定時間Ｔcycごとに起動されて処理が行われる。非リアルタイムタスクは、リアルタイムタスクに比べ優先度が低く、リアルタイムタスクがＣＰＵ１０１を使用しない時間を利用して処理が行われる。
【００３２】
ここでリアルタイムタスクは一定時間Ｔcycごとに起動され、タイミングｔ０〜ｔ１では、動作時間Ｔrunで、非動作時間Ｔslp(=Ｔcyc-Ｔrun)である。リアルタイムタスクの動作時間Ｔrunは、一定時間Ｔcycを越えてはならず、非動作時間ＴslpがタイミングマージンＴmgnとなる。タイミングマージンが十分でなければリアルタイムタスクの動作時間Ｔrunが一定時間Ｔcycを越える可能性が高まって、すなわち正常な関数発生を継続できなくなる可能性が高まって、安全とは言えない。それで、所定の時間リアルタイムタスクを繰返し動作させて、タイミングマージンＴmgnを測定し、すべてのリアルタイムタスク起動においてタイミングマージンＴmgnが所定の値すなわちタイミングマージンしきい値Ｔmgnthを下回ることがないかどうかを判定する。これが、後述するソフトウェアオブジェクトの検証におけるステップＳ７の判定の１つとなる。この動作を説明するのが図９のフローチャートである。タイミングマージン検出部は関数発生部と同様に一定時間Ｔcycごとに起動され（ステップＳ９１）、タイミングｔにおけるタイミングマージンＴmgnを算出する（ステップＳ９２）。タイミングマージンしきい値Ｔmgnthよりも下回れば、判定フラグ１をＯＮし、タイミングマージンがしきい値を下回ることがあったことを記録する。
【００３３】
一方、プログラム解釈部２０３は非リアルタイムタスクで処理されるが、先に説明したようにリアルタイムタスクで処理される関数発生部２０４がＣＰＵ１０１を使用しない時間に行われるため、これに手間取ると、プログラム解釈のステップＳ７５にて行われる解釈結果の送出が、関数発生部の解釈結果の有無判定のタイミング（ステップＳ８３）に間に合わなくなり、サーボ駆動部への移動指令の送出（ステップＳ８７）が行われず、サーボモータ２０６の動作がなめらかでなくなり、結果として工作機械の加工対象物の品位が低下してしまう。このようなことは、プログラム解釈部２０３を実現する優先度の低い非リアルタイムタスクのためにＣＰＵ１０１の使用が十分割付けられないことにより発生するものであり、ステップＳ８９にてＯＮされる解釈結果空フラグがＯＮされたかどうかを判定することで判断できる。これも、後述するソフトウェアオブジェクトの検証におけるステップＳ７の判定の１つとなる。この動作を説明するのが図１０のフローチャートである。プログラム解釈監視部２１３は関数発生部と同様に一定時間Ｔcycごとに起動され（ステップＳ１０１）、解釈結果空フラグがＯＮされていれば（ステップＳ１０３）、判定フラグ２をＯＮし、関数発生部の解釈結果の有無判定のタイミングに対しプログラム解釈部の解釈結果の送出が間に合わないことがあったことを記録する。
【００３４】
なお、これらの評価を行うにあたっては、数値制御装置にはなるべく重い負荷をかけた方がよく、例えば金型加工を行う加工プログラムのように、毎秒数百ブロックをプログラム解釈して関数発生させるような、つまりプログラム解釈部２０３、関数発生部２０４ともにＣＰＵ１０１の使用量、すなわち負荷が最大となる加工プログラムを用いて評価を行う。
【００３５】
以上リアルタイム制御装置あるいは数値制御装置における、制御を評価する手段について説明した。
【００３６】
次にソフトウェアオブジェクトの検証手順について図２のフローチャートを用いて説明する。
【００３７】
検証用リアルタイム制御装置３、すなわち図６の構成図の数値制御装置において、ソフトウェアオブジェクト検証制御部２１１はソフトウェアオブジェクトの検証を司り、ソフトウェアオブジェクトの検証を開始すると（ステップＳ１）、第1のＷＥＢサイト１に新しいソフトウェアオブジェクトがアップロードされたかどうかを判定する（ステップＳ２）。
【００３８】
次に、もしアップロードされたものがあれば第1のＷＥＢサイト１より新しいソフトウェアオブジェクトをダウンロードし（ステップＳ３）、監視コンピュータ４に評価の開始を報告し（ステップＳ４）、適用し評価を開始する（ステップＳ５）。ここで適用し評価を開始するとは、ダウンロードされたソフトウェアオブジェクトをハードディスク１０４に格納し、ＲＡＭ１０３上にロードされて実行されているプログラムを再起動するなどして、ダウンロードされたソフトウェアオブジェクトを元にＣＰＵ１０１がプログラム実行を行うようにすることである。次に所定時間が経過するのを待ち（ステップＳ６）、その間、先ほど説明した２つの評価を行い、そして所定時間が経過すると評価を終了し判定する（ステップＳ７）。評価結果が良好かどうかを判定し、すなわち判定フラグ１、判定フラグ２がともにＯＮされていないことを判定し（ステップＳ８）、良好と判定されれば第２のＷＥＢサイト５にソフトウェアオブジェクトをアップロードし（ステップＳ９）、顧客のリアルタイム制御装置６においてアップロードされたソフトウェアオブジェクトをダウンロードできるようにする。そして監視コンピュータ４に評価が正常に終了したことを報告する（ステップＳ１０）。ステップＳ８において判定結果が良好でなければ、監視コンピュータ４に評価の異常終了を報告する（ステップＳ１１）。
【００３９】
以上、ソフトウェアオブジェクト検証制御部２１１により、ソフトウェアオブジェクトの検証が行われることを説明した。
【００４０】
次に、監視コンピュータ４において、検証用リアルタイム制御装置３が正しく検証を行っているかどうかを監視する手順を図３のフローチャートをもとに説明する。
【００４１】
監視コンピュータ４は監視を開始すると（ステップＳ２１）、第1のＷＥＢサイト１に新しいソフトウェアオブジェクトがアップロードされるのを待ち（ステップＳ２２、図１において、この流れは省略）、アップロードされていれば検証用リアルタイム制御装置３から評価が開始されたという報告が入るのを待ち（ステップＳ２３）、報告がなければタイムアウト時間経過したかどうかを判定する（ステップＳ２４）。ステップＳ２３にて評価の開始が報告されたら、次には検証用リアルタイム制御装置３から評価の終了が報告されるのを待ち（ステップＳ２５）、報告がなければタイムアウト時間経過したかどうかを判定する（ステップＳ２６）。
【００４２】
正常に終了したとの報告があれば（ステップＳ２７）、ステップＳ２２へ戻って第1のＷＥＢサイト１に新しいソフトウェアオブジェクトがアップロードされるのを待つ。ステップＳ２７において正常ではないと判断されれば、不適合ソフトウェアオブジェクトを検出した旨、管理者のコンピュータ７にメール送信する（ステップＳ２８）。
【００４３】
検証用リアルタイム制御装置３から評価の開始、終了の報告がなく、ステップＳ２４、Ｓ２６においてタイムアウト時間を経過した場合、タイムアウトエラーが発生したことを管理者のコンピュータ７に対しメール送信する（ステップＳ２９）。
【００４４】
以上、監視コンピュータ４が、検証用リアルタイム制御装置３が正しく検証を行っていることを監視する手順を説明した。なお、本実施例では検証用リアルタイム制御装置３が第２のＷＥＢサイトにソフトウェアオブジェクトをアップロードするものとして説明したが、監視コンピュータ４がソフトウェアオブジェクトをアップロードしてもよい。
【００４５】
また、以上の説明では図２のステップＳ９において、第２のＷＥＢサイトにソフトウェアオブジェクトをアップロードするとして説明したが、判定結果を第２のＷＥＢサイトにアップロードしておいて、顧客のリアルタイム制御装置６は第２のＷＥＢサイトにアップロードされた判定結果に基づいて、第１のＷＥＢサイトからソフトウェアオブジェクトをダウンロードしてもよい。あるいは、第１のＷＥＢサイトから第２のＷＥＢサイトへソフトウェアオブジェクトをコピー可能にし、顧客のリアルタイム制御装置６は、第２のＷＥＢサイトにアップロードされた判定結果に基づいて、第２のＷＥＢサイトからソフトウェアオブジェクトをダウンロード可能としてもよい。
【００４６】
また、以上の説明では第１のＷＥＢサイトと第２のＷＥＢサイトは異なるものとして説明したが、同一のＷＥＢサイトであってもよい。ここで、ＷＥＢサイトとは、インターネットを介してソフトウェアオブジェクトをダウンロード可能に構成されたサイトであればよく、したがって、ハイパーテキスト転送プロトコル（Ｈｙｐｅｒ  Ｔｅｘｔ Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ＨＴＴＰ）を利用するサイトに限定されるものではなく、ファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ＦＴＰ）などの通信プロトコルによってダウンロード可能に構成されたサイトであってもよい。
【図面の簡単な説明】
【００４７】
【図１】本発明に係る実施の形態において、リアルタイムシステムのためのコンピュータウィルス防御方法およびソフトウェア更新方法を適用することのできるシステムの全体概要を示す図である。
【図２】本発明に係る実施の形態におけるソフトウェアオブジェクトの検証手順を示すフローチャートである。
【図３】本発明に係る実施の形態における監視手順を示すフローチャートである。
【図４】本発明に係る実施の形態におけるタスクの実行の様子を説明するタイミング図である。
【図５】数値制御装置を実現するコンピュータシステムの構成図である。
【図６】本発明に係る実施の形態における数値制御装置の構成図である。
【図７】本発明に係る実施の形態においてプログラム解釈部の動作を示すフローチャートである。
【図８】本発明に係る実施の形態において関数発生部の動作を示すフローチャートである。
【図９】本発明に係る実施の形態においてタイミングマージン検出部の動作を示すフローチャートである。
【図１０】本発明に係る実施の形態においてプログラム解釈監視部の動作を示すフローチャートである。
【符号の説明】
【００４８】
１  第１のＷＥＢサイト、２  検証システム、３  検証用リアルタイム制御装置、４  監視コンピュータ、５  第２のＷＥＢサイト、６  顧客のリアルタイム制御装置、７  管理者のコンピュータ、１０１  ＣＰＵ、１０２  ＲＯＭ、１０３  ＲＡＭ、１０４  ハードディスク、１０５  ＰＬＣ制御部、１０７  グラフィック表示制御部、１０９  表示装置、１１０  通信インターフェース部、１１１  操作パネルＩ／Ｆ部、１１２  操作パネル、２０３  プログラム解釈部、２０４  関数発生部、２０５  サーボ駆動部、２０６  サーボモータ、２０７  位置検出器、２１１  ソフトウェアオブジェクト検証制御部、２１２  タイミングマージン検出部、２１３  プログラム解釈監視部。
【図２】
2006031389.tif 000003
【図３】
2006031389.tif 000004
【図４】
2006031389.tif 000005
【図５】
2006031389.tif 000006
【図６】
2006031389.tif 000007
【図７】
2006031389.tif 000008
【図８】
2006031389.tif 000009
【図９】
2006031389.tif 000010
【図１０】
2006031389.tif 000011
【図１】
2006031389.tif 000012