(57)【要約】【課題】  プロセスコンピュータで動作するプログラムコードの改変を検出し、通知する手段を提供する。【解決手段】  コード改変検出装置を含む基本システムは、コード改変検出装置１、プロセスコンピュータ２及び電機設備３から構成され、コード改変検出装置１及びプロセスコンピュータ２、並びに、プロセスコンピュータ２及び電機設備３がそれぞれ所定のインタフェースで接続されている。コード改変検出装置１は、プロセスコンピュータ２の制御手段２２（プログラムコード）の改変を検出する装置である。コード改変装置検出装置１は、入出力制御手段１１、要約値算出手段１２、要約値比較手段１３、算出範囲記憶手段１４、基準要約値記憶手段１５及び通知手段１６から構成される。プロセスコンピュータ２は、入出力制御手段２１、制御手段２２及び制御情報２３から構成される。【選択図】      図１
2005050184.tif 000002
【特許請求の範囲】
【請求項１】
電機設備の監視及び制御を行うプロセスコンピュータに接続又は内蔵され、そのプロセスコンピュータのプログラムコードの改変を検出するコード改変検出装置であって、
要約値を算出する前記プログラムコードの対象範囲である算出範囲を記憶する算出範囲記憶手段と、
前記プロセスコンピュータに接続し、前記記憶した算出範囲のプログラムコードを入力する入出力制御手段と、
前記入力したプログラムコードの要約値を算出する要約値算出手段と、
前記算出した要約値を基準要約値として記憶する基準要約値記憶手段と、
前記入出力制御手段が新たに入力したプログラムコードを元にして、前記要約値算出手段が算出した要約値及び前記記憶した基準要約値を比較する要約値比較手段と、
前記比較した結果が不一致であるときに、前記要約値の不一致が発生したことを通知する通知手段と、
を備えることを特徴とするコード改変検出装置。
【請求項２】
前記入出力手段を介して、前記電機設備が計測したデータ又は前記プロセスコンピュータがそのデータから算出した数値を入力し、その入力したデータ又は数値が所定の上限値及び下限値の範囲内にあるか否かをチェックし、その範囲外にあるときに、前記通知手段に前記データ又は数値の異常を通知するトリガを与える妥当性チェック手段を備えることを特徴とする請求項１に記載のコード改変検出装置。
【請求項３】
電機設備の監視及び制御を行うプロセスコンピュータに、そのプロセスコンピュータのプログラムコードの改変を検出させるコード改変検出プログラムであって、
前記プロセスコンピュータに、
要約値を算出する前記プログラムコードの対象範囲である算出範囲を記憶する算出範囲データと、
前記記憶した算出範囲のプログラムコードを入力し、その入力したプログラムコードの要約値を算出する要約値算出手順と、
前記算出した要約値を基準要約値として記憶する基準要約値データと、
前記要約値算出手順が、新たにプログラムコードを入力し、その入力したプログラムコードを元にして算出した要約値及び前記記憶した基準要約値を比較する要約値比較手順と、
前記比較した結果が不一致であるときに、前記要約値の不一致が発生したことを通知する通知手順と、
を備えさせることを特徴とするコード改変検出プログラム。
【請求項４】
前記プロセスコンピュータに、
前記電機設備が計測したデータ又は前記プロセスコンピュータがそのデータから算出した数値を入力し、その入力したデータ又は数値が所定の上限値及び下限値の範囲内にあるか否かをチェックし、その範囲外にあるときに、前記通知手順に前記データ又は数値の異常を通知するトリガを与える妥当性チェック手順を備えさせることを特徴とする請求項３に記載のコード改変検出プログラム。
【請求項５】
前記コード改変検出プログラムは、
前記算出範囲データに記憶した全算出範囲のプログラムコードの要約値を比較するごとに、所定のサーバから前記プロセスコンピュータに再度ダウンロードし直されることを特徴とする請求項３又は請求項４に記載のコード改変検出プログラム。
【請求項６】
前記コード改変検出プログラムは、
前記ダウンロードし直される場合に、
前記所定のサーバにおいて、所定のＩＤを付加された状態で要約値を算出されると共に、その要約値及び前記プロセスコンピュータにおいて算出された要約値を比較され、その比較結果が不一致であるときに、要約値不一致が通知されることを特徴とする請求項５に記載のコード改変検出プログラム。
【請求項７】
請求項１又は請求項２に記載のコード改変検出装置を利用して、貸与した設備の課金料金の妥当性を確認することを可能とする設備貸与システムであって、
前記設備貸与システムは、少なくとも、
メーカ又は貸与事業者が顧客に貸与する生産設備と、
その生産設備を監視、制御するプロセスコンピュータと、
そのプロセスコンピュータのプログラムコードの改変を検出する前記コード改変検出装置と、
を含んで構成され、
前記プロセスコンピュータは、前記生産設備からその稼動状況を示すデータを入力し、その入力したデータから貸与した生産設備の課金料金を算出する課金料金算出手段を備え、
前記コード改変検出装置は、前記プロセスコンピュータのプログラムコードとして前記課金料金算出手段を入力し、その入力した課金料金算出手段の改変を検出する
ことを特徴とする設備貸与システム。
【請求項８】
請求項３乃至請求項６のいずれか一項に記載のコード改変検出プログラムを利用して、貸与した設備の課金料金の妥当性を確認することを可能とする設備貸与システムであって、
前記設備貸与システムは、少なくとも、
メーカ又は貸与事業者が顧客に貸与する生産設備と、
その生産設備を監視、制御するプロセスコンピュータと、
そのプロセスコンピュータに、そのプロセスコンピュータのプログラムコードの改変を検出させる前記コード改変検出プログラムと、
を含んで構成され、
前記プロセスコンピュータは、前記生産設備からその稼動状況を示すデータを入力し、その入力したデータから貸与した生産設備の課金料金を算出する課金料金算出手段を備え、
前記コード改変検出プログラムは、前記プロセスコンピュータに、前記プロセスコンピュータのプログラムコードとして前記課金料金算出手段を入力させ、その入力した課金料金算出手段の改変を検出させる
ことを特徴とする設備貸与システム。
【発明の詳細な説明】
【技術分野】
【０００１】
電機設備を監視、制御するプロセスコンピュータのプログラムコードの改変を検出するコード改変検出装置、コード改変検出プログラム及びそれらを利用した設備貸与システムに関する。
【背景技術】
【０００２】
素形材、半製品、製品などを製作して販売する製造業者は、工場に生産設備を導入して受注量に見合った生産、又は需要を予測した見込み生産を行うことが多い。このような生産設備は、一般に大型で高価なものであり、一旦、導入した後には購入費用が固定費となって製品の単価に大きな影響を与える。例えば、高価な生産設備を導入したのに、受注量が少なかった場合には、総売上に対する固定費の比率が大きくなり、収益を圧迫する可能性がある。
これに対応するために、生産設備を貸与することが検討されている（例えば、特許文献１参照）。ここで、貸与する生産設備としては、新しい生産ライン用の新規の生産設備や、以前の設備投資に追加の投資を行うよりも新設した方が良い場合の新規の生産設備や、生産量が突発的に増加した場合に、その増加量に見合う生産設備などがあげられる。特許文献１の例では、工作機械を製造業者の生産計画などに応じて必要な台数を貸与する方法が開示されている。生産設備の貸与に際しては、製造業者が貸与事業者に対して適切な課金料金を支払う必要があるが、その課金料金の計算は、主として、貸与した生産設備を監視、制御するプロセスコンピュータが行っている。
【特許文献１】特開２００２−１２３７６８号公報（段落［００３７］、［００５６］、［００６７］、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、生産設備が稼動する環境は、鉄鋼の圧延設備などのように非常に高温になったり、又は振動や電磁波が発生するような過酷な環境であることが多い。このような環境で稼動する生産設備を監視、制御するプロセスコンピュータにおいて動作するプログラムコードは、所定の保護が施されているものの、生産設備に備えられたセンサの誤動作による異常データの入力や物理的な影響などによっては、改変する可能性があるという問題がある。また、オペレータの故意又は過失によるプログラムコードの改変もないとは言い切れない。プロセスコンピュータで動作するプログラムコードが改変した場合には、生産設備の監視、制御に支障を来たすと共に、課金料金の計算が正しく行われなくなることにより、製造業者と貸与事業者との間で結ばれた設備貸与に関する契約関係にひびが入る恐れも出て来る。
【０００４】
そこで、本発明は、前記問題に鑑み、プロセスコンピュータで動作するプログラムコードの改変を検出し、通知する手段を提供することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決する本発明のうち、コード改変検出装置は、要約値を算出するプロセスコンピュータのプログラムコードの対象範囲である算出範囲を記憶する算出範囲記憶手段と、プロセスコンピュータに接続し、記憶した算出範囲のプログラムコードを入力する入出力制御手段と、入力したプログラムコードの要約値を算出する要約値算出手段と、算出した要約値を基準要約値として記憶する基準要約値記憶手段と、入出力制御手段が新たに入力したプログラムコードを元にして、前記要約値算出手段が算出した要約値及び記憶した基準要約値を比較する要約値比較手段と、比較した結果が不一致であるときに、要約値の不一致が発生したことを通知する通知手段とを備えることを特徴とする。このコード改変検出装置は、プロセスコンピュータに外部接続又は内蔵されるものとする。また、プロセスコンピュータから算出範囲のプログラムコードを入力し、その要約値を比較する一連の処理は、連続して行う必要はなく、プロセスコンピュータに対する負荷を低減するために所定の時間を置いて間欠的に行うことができる。
コード改変検出プログラムは、プロセスコンピュータ内で動作することを想定しているが、その機能は、コード改変検出装置と同様である。また、コード改変検出装置又はコード改変検出プログラムを利用した設備貸与システムは、プロセスコンピュータのプログラムコードとして課金料金算出手段の改変をチェックするものである。
なお、特許請求の範囲におけるプロセスコンピュータの「プログラムコード」は、後記する実施の形態では「制御手段」に相当する。
【発明の効果】
【０００６】
本発明によれば、プロセスコンピュータで動作するプログラムコードの改変をチェックし、そのチェックの結果としてプログラムコードの改変を検出したときに、任意の方法で通知することができる。また、そのチェック動作をプロセスコンピュータに負荷を与えないように行うことができる。特に、設備貸与システムにおいては、課金料金算出手段の改変がないことを確認することによって、算出された課金料金を信用することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【０００８】
≪基本システムの構成と動作≫
まず、本発明の実施の形態に係るコード改変検出装置を含む基本システムの構成とその動作について説明する。
図１に示すように、基本システムは、コード改変検出装置１、プロセスコンピュータ２及び電機設備３から構成され、コード改変検出装置１及びプロセスコンピュータ２、並びに、プロセスコンピュータ２及び電機設備３がそれぞれ所定のインタフェースで接続されている。コード改変検出装置１及びプロセスコンピュータ２の間の接続形態としては、ＲＳ−２３２Ｃに代表されるシリアルインタフェース、バックプレーンバスなどのバスインタフェース、ソフトウエアによる論理的なインタフェース（関数コールなど）があげられる。プロセスコンピュータ２及び電機設備３の間の接続形態としては、フィールドＬＡＮ（Local Area Network）などがあげられる。なお、図１において破線で示す箇所については、ここでは言及せず、別途説明する。
【０００９】
コード改変検出装置１は、プロセスコンピュータ２の制御手段２２（プログラムコード）の改変を検出する装置である。コード改変装置検出装置１は、入出力制御手段１１、要約値算出手段１２、要約値比較手段１３、算出範囲記憶手段１４、基準要約値記憶手段１５及び通知手段１６から構成される。入出力制御手段１１は、プロセスコンピュータ２に接続され、その接続インタフェースに応じてデータの入出力制御を行う。ここでは、特に、プロセスコンピュータ２の制御手段２２を入力する。要約値算出手段１２は、入出力制御手段１１が入力した制御手段２２から要約値を算出する。ここで、要約値とは、所定の長さ（例えば、１２８ビット）に圧縮されたデータであり、ＳＨＡ−１（Secure Hash Algorithm 1）、ＭＤ５（Message Digest 5）などのハッシュ関数やサム値によって算出されるものである。要約値算出手段１２としては、それらのデータ圧縮論理を単独で使ってもよいし、複数の論理を使ってもよい。要約値比較手段１３は、予め算出されて基準要約値記憶手段１５に記憶されている基準要約値と、その時点で算出した要約値とを比較する。そして、その比較結果が不一致だったときには、通知手段１６に不一致通知のトリガを与える。要約値算出手段１２及び要約値比較手段１３は、ＣＰＵ（Central Processing Unit）が所定のプログラムを実行することによって実現される。
算出範囲記憶手段１４は、要約値算出手段１２が要約値を算出する対象となる、制御手段２２の範囲を記憶するメモリである。図２に示すように、通常、プログラムコードは、コンピュータのメモリ上に連続的に記憶されている。図３に示すように、算出範囲記憶手段１４は、制御手段２２の範囲を、例えば、０ｘ００００〜０ｘ００ＦＦといったメモリアドレスの範囲によって指定したものを記憶している。このように、要約値の算出範囲を分割することによって、長いプログラムコードの改変チェックを小刻みに行い、１回の改変チェックあたりの処理量を少なくすることができる。その結果、プロセスコンピュータ２に対する負荷を低減することが可能になる。基準要約値記憶手段１５は、要約値算出手段１２が算出した要約値を基準要約値として記憶するメモリである。図３に示すように、基準要約値記憶手段１５は、算出範囲記憶手段１４が記憶している各算出範囲に対応して、基準要約値を記憶している。その記憶形式としては、図３に示すような表形式になっていて、算出範囲及び基準要約値がメモリアドレス上連続するように記憶されていてもよいし、算出範囲及び基準要約値が別々に記憶されていて、相互に関連付けられていてもよい。また、要約値の算出範囲は、必ずしも分割する必要はなく、制御手段２２の全範囲を指定することによって、１回の改変チェックで制御手段２２の全範囲をチェックするようにしてもよい。
通知手段１６は、要約値比較手段１３によるトリガを受けて、要約値の不一致を通知する。プロセスコンピュータの付近にいるオペレータに通知する場合には、ＬＥＤ（Light Emitting Diode）、ランプ、パネルなどの表示や警告音によって通知する。また、遠隔地にいる関係者に通知する場合には、その関係者が利用できるサーバやＰＣ（Personal Computer）に対してネットワーク経由でメッセージパケットやメールを送信する。
【００１０】
プロセスコンピュータ２は、入出力制御手段２１、制御手段２２及び制御情報２３から構成される。入出力制御手段２１は、コード改変検出装置１に接続され、その接続インタフェースに応じてデータの入出力制御を行う。ここでは、特に、制御手段２２をコード改変検出装置１に出力する。制御手段２２は、電機設備３に接続され、その電機設備３を監視、制御する手段であり、ここでは、特に、その手段を実現する手順を記述したプログラムコードのことをいう。制御情報２３は、制御手段２２が動作する上で必要な情報や、制御手段２２が動作した結果である出力情報などである。制御情報２３は、プログラムが格納されているメモリのうち、コード領域以外のデータ領域に格納してもよいし、プログラムのメモリとは別のメモリに格納してもよい。
【００１１】
次に、図４に示すフローチャートに沿って、基本システムの動作について説明する。ここでは、特に、コード改変検出装置１の動作を中心に説明する。
ステップＳ２０１乃至Ｓ２０５は、コード改変検出装置１の初期設定の一環として行われる処理である。まず、プロセスコンピュータ２の制御手段２２の要約値を算出する対象範囲である算出範囲を決定して、その決定した算出範囲を算出範囲記憶手段１４に記憶する（ステップＳ２０１）。その算出範囲の決定の仕方には、２通りが考えられる。一つは、オペレータが、算出範囲を決めて、その算出範囲を一つずつコード改変検出装置１に入力する仕方である。具体的には、ＰＣを、例えば、ＲＳ−２３２Ｃ経由でコード改変検出装置１に接続して、ＰＣ上で指定した算出範囲を算出範囲記憶手段１４に記憶させる。もう一つは、算出範囲のデフォルト値を保持しておく仕方である。一般に、プロセスコンピュータにおいては、モデルごとにプログラムコードが格納されるメモリアドレスが決まっているので、コード改変検出装置１が接続されるプロセスコンピュータ２のモデルに応じた算出範囲のデフォルト値を、算出範囲記憶手段１４に記憶させる。なお、算出範囲記憶手段１４に記憶した算出範囲によって、制御手段２２全体を覆う必要はなく、特定のプログラムコードの範囲であってもよい。
次に、要約値算出手段１２が、算出範囲記憶手段１４から算出範囲を一つ読み込む（ステップＳ２０２）。このとき、論理的なポインタなどを使って、アドレスの順番に一つずつ算出範囲を読み込むものとする。そして、その読み込んだ算出範囲に対応する制御手段２２を入力する（ステップＳ２０３）。具体的には、要約値算出手段１２が、入出力制御手段１１及び所定のインタフェースを介して、プロセスコンピュータ２の入出力制御手段２１に対して算出範囲を出力する。入出力制御手段２１は、入力した算出範囲の制御手段２２を、所定のインタフェース及び入出力制御手段１１を介して、要約値算出手段１２に出力する。これによって、要約値算出手段１２は、算出範囲に対応する制御手段２２を入力することができる。続いて、要約値算出手段１２は、その入力した制御手段２２から要約値を算出して、その算出した要約値を基準要約値記憶手段１５に記憶する（ステップＳ２０４）。このとき、算出範囲に対応する所定のメモリアドレスに記憶するものとする。その後、算出範囲記憶手段１４に記憶した算出範囲のうち、制御手段２２の要約値を算出していないものがあるか否かをチェックする（ステップＳ２０５）。要約値を算出していない範囲があれば（ステップＳ２０５のＹｅｓ）、ステップＳ２０２に戻って次の算出範囲について処理を行う。要約値を算出していない範囲がなければ（ステップＳ２０５のＮｏ）、すなわち、算出範囲記憶手段１４に記憶した算出範囲の要約値を全て算出したときには、コード改変検出装置１は、要約値に関する初期設定が終了したことになるので、一旦処理を中断する。
【００１２】
ステップＳ２０６乃至Ｓ２１０は、定期的に又は随時行われる、プロセスコンピュータ２の制御手段２２の改変チェック処理である。まず、要約値算出手段１２が、算出範囲記憶手段１４から算出範囲を一つ抽出する（ステップＳ２０６）。このとき、算出範囲を論理的なポインタなどを使ってアドレスの順番に抽出してもよいし、任意の算出範囲を抽出してもよい。次に、その抽出した算出範囲に対応する制御手段２２を入力する（ステップＳ２０７）。具体的な手順は、ステップＳ２０３と同様である。そして、要約値算出手段１２は、入力した制御手段２２から要約値を算出する（ステップＳ２０８）。要約値比較手段１３は、その算出した要約値と、ステップＳ２０４において記憶した基準要約値のうち、その算出範囲に対応する基準要約値とを比較する（ステップＳ２０９）。２つの要約値が一致すれば（ステップＳ２０９のＹｅｓ）、要約値比較手段１３が要約値算出手段１２に次のチェックのトリガを与え、そのトリガを受けた要約値算出手段１２が別の算出範囲のチェックを行う（ステップＳ２０６）。このとき、入出力制御手段２１の動作によるプロセスコンピュータ２の本来の処理（電機設備３の監視、制御）に対する負荷を低減するため、所定の時間が経過するのを待ってから、別の算出範囲のチェックを行うようにすることができる。２つの要約値が一致しなければ（ステップＳ２０９のＮｏ）、要約値比較手段１３が通知手段１６に不一致通知のトリガを与え、そのトリガを受けた通知手段１６が要約値不一致の通知を行う（ステップＳ２１０）。
【００１３】
≪第１の実施の形態≫
次に、前記基本システムを利用した本発明の第１の実施の形態について説明する。図５は、本発明の第１の実施の形態に係るプロセスコンピュータの構成を示す図である。図５に示すように、第１の実施の形態は、コード改変検出装置がプロセスコンピュータに内蔵された例である。プロセスコンピュータ２は、コード改変検出装置１、ＣＰＵモジュール２８、ＩＯ（Input Output）モジュール２９及びバックプレーンバス３０から構成される。コード改変検出装置１、ＣＰＵモジュール２８及びＩＯモジュール２９は、バックプレーンバス３０により接続されており、コード改変検出装置１及びＣＰＵモジュール２８の間、並びに、ＣＰＵモジュール２８及びＩＯモジュール２９の間において、バックプレーンバス３０を介したデータの入出力が行われる。コード改変検出装置１は、図１と比較すると、マイクロプロセッサ１７が追加されており、また、要約値算出手段１２、要約値比較手段１３、算出範囲記憶手段１４及び基準要約値記憶手段１５が、ＲＴＯＳ（Real Time Operating System）１９と共にメモリ１８に搭載されている。ＣＰＵモジュール２８は、図１のプロセスコンピュータ２に相当するが、それと比較すると、マイクロプロセッサ２５が追加されており、また、制御手段２２及び制御情報２３が、ＲＴＯＳ２７と共にメモリ２６に搭載されている。ＩＯモジュール２９は、電機設備３と接続され、その電機設備３とのデータの入出力を行うものである。なお、図５のコード改変検出装置１の動作は、図４のフローチャートと同様であるので、その説明は割愛する。
【００１４】
≪第２の実施の形態≫
次に、前記基本システムを利用した本発明の第２の実施の形態について説明する。図６は、本発明の第２の実施の形態に係るプロセスコンピュータ、プログラムサーバ及びその周辺の構成を示す図である。図６に示すように、第２の実施の形態は、コード改変検出プログラムがプロセスコンピュータの内部で動作する例である。プロセスコンピュータ２及びプログラムサーバ４は、ネットワーク６を介して接続されている。プロセスコンピュータ２は、コード改変検出プログラム５、制御手段２２、制御情報２３及びネットワークＩＦ（InterFace、インタフェース）３１から構成される。コード改変検出プログラム５は、要約値算出手順５２、要約値比較手順５３、算出範囲データ５４、基準要約値データ５５及び通知手順５６から構成される。これらの構成要素は、それぞれ図１の基本システムにおける要約値算出手段１２、要約値比較手段１３、算出範囲記憶手段１４、基準要約値記憶手段１５及び通知手段１６に相当するが、プログラムの構成要素であることから、各手順はプログラムコードであり、各データはプログラムが格納されるメモリ内のデータであることを明確に示すものである。プログラムサーバ４は、コード改変検出プログラム５を保持している。なお、図６において破線で示す箇所については、ここでは言及せず、別途説明する。
【００１５】
図７のフローチャートに沿って、本発明の第２の実施の形態に係るコード改変検出プログラムの動作について説明する。ステップＳ３０１乃至Ｓ３０３は、プログラムサーバ４に格納されているコード改変検出プログラム５の初期設定を行うものである。まず、プロセスコンピュータ２は、ネットワーク６及びネットワークＩＦ３１を介して、プログラムサーバ４からコード改変検出プログラム５をダウンロードする（ステップＳ３０１）。そして、そのダウンロードしたコード改変検出プログラム５の初期設定を行う（ステップＳ３０２）。この初期設定は、図４のステップＳ２０１乃至Ｓ２０５と同様に算出範囲データ５４及びそれに対応する基準要約値データ５５を設定するものであるので、詳細な説明を割愛する。続いて、プロセスコンピュータ２は、ネットワークＩＦ３１及びネットワーク６を介して、初期設定を行ったコード改変検出プログラム５をプログラムサーバ４にアップロードする（ステップＳ３０３）。以上により、プログラムサーバ４に、初期設定されたコード改変検出プログラム５が格納されることになる。
【００１６】
ステップＳ３０４乃至Ｓ３０９は、初期設定されたコード改変検出プログラム５を使って、プロセスコンピュータ２の制御手段２２の改変チェックを行うものである。最初に、プロセスコンピュータ２は、ネットワーク６及びネットワークＩＦ３１を介して、プログラムサーバ４からコード改変検出プログラム５をダウンロードし、起動する（ステップＳ３０４）。これによって、コード改変検出プログラム５は、そのチェック動作を開始する。まず、コード改変検出プログラム５では、要約値算出手順５２が、算出範囲データ５４の全範囲をチェックしたか否かを判断する（ステップＳ３０５）。まだ全範囲をチェックしていないので（ステップＳ３０５のＮｏ）、算出範囲の抽出及び要約値の算出を行う（ステップＳ３０６）。この処理は、図４のステップＳ２０６乃至Ｓ２０８と同様であるので、詳細な説明を割愛する。ただし、算出範囲データ５４から算出範囲を抽出するときは、アドレスの順番であってもよいし、任意の順番であってもよいが、算出範囲の個数と同じ回数だけ抽出を行ったときには、算出範囲データ５４の全範囲が抽出されるようにする。そして、要約値比較手順５３は、要約値算出手順５２が算出した要約値と、それに対応する基準要約値データ５５の要約値とを比較する（ステップＳ３０７）。それらの要約値が一致すれば（ステップＳ３０７のＹｅｓ）、ステップＳ３０５に戻って、要約値算出手順５２が、算出範囲データ５４の全範囲をチェックしたか否かを再び判断する。それらの要約値が一致しなければ（ステップＳ３０７のＮｏ）、要約値比較手順５３は、通知手順５６に要約値不一致の通知のトリガを与え、そのトリガを受けた通知手順５６は、要約値不一致の通知を行う（ステップＳ３０８）。具体的には、図１の通知手段１６と同様の通知を行うことになる。ステップＳ３０５で、算出範囲データ５４の全範囲をチェックしたときには（ステップＳ３０５のＹｅｓ）、コード改変検出プログラム５は、そのチェック動作を中止し、それを検出したプロセスコンピュータ２は、コード改変検出プログラム５を破棄する（ステップＳ３０９）。「破棄」の動作としては、例えば、メモリ上にダウンロードしたコード改変検出プログラム５をゼロクリアすることが考えられる。そして、プロセスコンピュータ２は、再度コード改変検出プログラム５をダウンロードし、起動する（ステップＳ３０４）。これは、同じコード改変検出プログラム５を使い続けるのではなく、算出範囲データ５４の全算出範囲における制御手段２２をチェックするごとに、コード改変検出プログラム５をダウンロードし直すことによって、コード改変検出プログラム５自身の改変を防ぐものである。
【００１７】
≪第３の実施の形態≫
前記基本システムを利用した本発明の第３の実施の形態について説明する。図６は、本発明の第２の実施の形態に係る構成図であるが、破線で示したＩＤ５７及びコード改変検出プログラム基準要約値５８を含めたものを第３の実施の形態に係る構成図とする。第３の実施の形態は、ＩＤ５７及びコード改変検出プログラム基準要約値５８を利用することによって、コード改変検出プログラム５自身のチェックを強化するものである。ＩＤ５７は、コード改変検出プログラム５をプログラムサーバ４からプロセスコンピュータ２にダウンロードするたびに、そのコード改変検出プログラム５に付加される番号であり、ダウンロードのたびに異なる番号が生成されるものとする。例えば、乱数を発生させることによって毎回異なる番号を生成して、その生成した番号をＩＤ５７としてコード改変検出プログラム５に付加するようにしてもよい。コード改変検出プログラム基準要約値５８は、ＩＤ５７を含めたコード改変検出プログラム５を所定の圧縮論理によって算出した要約値を基準要約値として記憶するものである。ここで、プログラムサーバ４は、要約値算出手順５２と同様のプログラムコードを備えていて、コード改変検出プログラム５の要約値の算出ができるものとする。
【００１８】
第３の実施の形態は、第２の実施の形態と比較すると、図７のステップＳ３０４のうち「コード改変検出プログラムのダウンロード」の前後に、ＩＤ５７及びコード改変検出プログラム基準要約値５８を取り扱う処理を追加したものである。図８のフローチャートに沿って、その処理について説明する。まず、プロセスコンピュータ２は、プログラムサーバ４に対して、コード改変検出プログラム５のダウンロードを要求する（ステップＳ４０１）。このとき、プログラムサーバ４は、コード改変検出プログラム５にＩＤ５７を付加し（ステップＳ４０２）、その付加したＩＤ５７を含めたコード改変検出プログラム５から要約値を算出し、コード改変検出プログラム基準要約値５８として記憶する（ステップＳ４０３）。その後、コード改変検出プログラム５をプロセスコンピュータ２にダウンロードする（ステップＳ４０４）。プロセスコンピュータ２は、ダウンロードされたコード改変検出プログラム５から要約値を算出し（ステップＳ４０５）、その算出した要約値をプログラムサーバ４にアップロードする（ステップＳ４０６）。プログラムサーバ４は、アップロードされた要約値と、記憶しているコード改変検出プログラム基準要約値５８とを比較する（ステップＳ４０７）。要約値が一致していれば（ステップＳ４０７のＹｅｓ）、プログラムサーバ４におけるコード改変検出プログラム５のダウンロード処理は終了する。要約値が一致していなければ（ステップＳ４０７のＮｏ）、プログラムサーバ４は、要約値不一致の通知を行う（ステップＳ４０８）。具体的には、図１の通知手段１６と同様の通知を行うものとする。
このように、コード改変検出プログラム５を制御手段２２のチェックのためにダウンロードするたびに、異なるＩＤ５７を付加し、その付加したＩＤ５７を含めたコード改変検出プログラム５全体の要約値について、プロセスコンピュータ２で算出した値と、プログラムサーバ４で算出した値とを比較チェックすることによって、コード改変検出プログラム５自身のコード改変のチェックを強化することができる。
【００１９】
≪第４の実施の形態≫
前記基本システムを設備貸与システムに適用した本発明の第４の実施の形態について説明する。図９は、本発明の第４の実施の形態に係る設備貸与システムの構成を示す図である。設備貸与システムは、生産設備メーカ（サプライヤともいう）９が提供する生産設備である圧延装置７２の少なくとも一部を、製造業者である鉄鋼会社７が導入し、稼動状況に応じて圧延装置７２の貸与にかかる部分についての使用料（課金料金）を支払うシステムである。その貸与した圧延装置７２に、プログラムコードをチェックするサービスを行うサービス会社８によって、コード改変検出装置１が付設されている。
図９に示すように、設備貸与システムは、鉄鋼会社７の製造業者サーバ７１、サービス会社８のサービス会社サーバ８１及び生産設備メーカ９のメーカサーバ９１が、ネットワーク６を介して接続されて構成される。鉄鋼会社７では、製造業者サーバ７１が、情報ＬＡＮ７９ａを介して圧延装置７２に接続される。圧延装置７２は、前工程から送られて来る鋼板Ｗを所定の厚さに加工して、コイル状に巻き付ける装置である。その圧延装置７２においては、コード改変検出装置１、プロセスコンピュータ２及び制御用計算機７３が情報ＬＡＮ７９ａを介して接続されている。
【００２０】
コード改変検出装置１は、プロセスコンピュータ２の課金料金算出手段２２ａをチェックする機能を持つ。
プロセスコンピュータ２は、ＰＩＯ（Process Input Output）ステーション７４を介してフィールドＬＡＮ７９ｂに接続され、鋼板Ｗの成形加工を行うミル７５の動作を監視、制御するものであるが、ここでは、特に、板厚計７６、板速計７７及び板幅計７８が計測したデータからミル７５の稼動状況を把握し、それによって貸与した圧延装置７２の課金料金を算出する機能を持つ。ミル７５の稼動状況は、例えば、生産量によって把握することができるが、その生産量は、鋼板Ｗの板厚と、板幅と、板速と、単位時間とを掛け合わせた値として得ることができる。プロセスコンピュータ２は、情報ＬＡＮ７９ａを介して他の装置やサーバとのデータの送受信を行う送受信手段２１ａ、課金料金を算出する課金料金算出手段２２ａ、及び、課金料金に必要な情報を記憶し、蓄積する課金情報蓄積手段２３ａから構成される。
制御用計算機７３は、プロセスコンピュータ２に対して、ミル７５の動作の監視、制御や課金料金の算出を指示する。なお、図９の破線で示す箇所については、ここでは言及せず、別途説明する。
【００２１】
図１０のフローチャートに沿って、本発明の第４の実施の形態に係る設備貸与システムの動作について説明する。ここでは、設備貸与システムの動作を、鉄鋼会社７、サービス会社８及び生産設備メーカ９の３者が行う設備貸与ビジネスの手順として説明することにする。設備貸与ビジネスの概要としては、サービス会社８が、生産設備メーカ９にコード改変検出装置１を貸与し、生産設備メーカ９が、そのコード改変検出装置１を搭載した設備（圧延装置７２）を鉄鋼会社７に貸与するものである。なお、鉄鋼会社７は、圧延装置７２を用いて鋼板Ｗを作製し、製品購入会社に販売し、その対価を回収することで事業を営んでいるものとする。以下、図１０に沿って詳細を説明する。
まず、サービス会社８と生産設備メーカ９との間で、コード改変検出装置１の貸与契約が結ばれる（ステップＳ５０１）。その貸与契約に従って、サービス会社８は、生産設備メーカ９にコード改変検出装置１を貸与し（ステップＳ５０２）、生産設備メーカ９は、サービス会社８に代金の一括払いを行う（ステップＳ５０３）。次に、鉄鋼会社７と生産設備メーカ９との間で、設備の貸与契約が結ばれる（ステップＳ５０４）。その貸与契約に従って、生産設備メーカ９は、コード改変検出装置１を搭載した設備を鉄鋼会社７に貸与し（ステップＳ５０５）、鉄鋼会社７は、生産設備メーカ９に代金の一括払いを行う（ステップＳ５０６）。これによって、鉄鋼会社７、サービス会社８及び生産設備メーカ９の３者間の貸与契約が成立したことになる。
【００２２】
では、所定の期間ごと、例えば、月ごとに行われる課金料金支払いの手順について説明する。最初に、鉄鋼会社７が、プロセスコンピュータ２の課金料金算出手段２２ａによって算出された課金料金を生産設備メーカ９に連絡する（ステップＳ５０７）。それと同じ時期に、サービス会社８は、コード改変検出装置１から課金料金算出手段２２ａの改変確認結果を受信して、その受信した改変確認結果を生産設備メーカ９及び鉄鋼会社７に連絡する（ステップＳ５０８、Ｓ５０９）。課金料金算出手段２２ａの改変確認結果の連絡を受けた鉄鋼会社７及び生産設備メーカ９は、課金料金算出手段２２ａに改変がないことを確認し、合意する（ステップＳ５１０）。その後、生産設備メーカ９は、ステップＳ５０７で連絡を受けた課金料金に基づく請求書を鉄鋼会社７に発行する（ステップＳ５１１）。鉄鋼会社７は、発行された請求書に従って、生産設備メーカ９に支払いを行う（ステップＳ５１２）。更に、生産設備メーカ９は、鉄鋼会社７から支払われた金額の一部をサービス会社８に支払う（ステップＳ５１３）。このような手順が契約期間の満了まで繰り返される。
【００２３】
≪第５の実施の形態≫
前記基本システムを設備貸与システムに適用した本発明の第５の実施の形態について説明する。図９は、本発明の第４の実施の形態に係る設備貸与システムの構成図であるが、破線で示した仲介会社１０及び仲介会社サーバ１０１を含めたものを本発明の第５の実施の形態に係る設備貸与システムの構成図とする。仲介会社１０は、サービス会社８及び生産設備メーカ９と、鉄鋼会社７との間で、コード改変検出装置１及び設備（圧延装置７２）の貸与、その課金料金支払いの仲介を行う。
図１１のフローチャートに沿って、本発明の第５の実施の形態に係る設備貸与システムの動作について説明する。ここでは、設備貸与システムの動作を、鉄鋼会社７、仲介会社１０、サービス会社８及び生産設備メーカ９の４者が行う設備貸与ビジネスの手順として説明することにする。なお、鉄鋼会社７は、圧延装置７２を用いて鋼板Ｗを作製し、製品購入会社に販売し、その対価を回収することで事業を営んでいるものとする。以下、図１１に沿って詳細を説明する。
まず、仲介会社１０とサービス会社８との間で、コード改変検出装置１の貸与契約が結ばれ（ステップＳ６０１）、サービス会社８は、仲介会社１０にコード改変検出装置１を貸与し（ステップＳ６０２）、仲介会社１０は、サービス会社８に代金の一括払いを行う（ステップＳ６０３）。次に、鉄鋼会社７と仲介会社１０との間で、コード改変検出装置１の貸与契約が結ばれ（ステップＳ６０４）、仲介会社１０は、鉄鋼会社７にコード改変検出装置１を貸与する（ステップＳ６０５）。更に、鉄鋼会社７と仲介会社１０との間、及び、鉄鋼会社７と生産設備メーカ９との間で設備の貸与契約が結ばれる（ステップＳ６０６）。そして、生産設備メーカ９は、鉄鋼会社７に設備を貸与し（ステップＳ６０７）、仲介会社１０は、生産設備メーカ９に代金の一括払いを行う（ステップＳ６０８）。これによって、鉄鋼会社７、仲介会社１０、サービス会社８及び生産設備メーカ９の４者間の貸与契約が成立したことになる。
【００２４】
では、所定の期間ごと、例えば、月ごとに行われる課金料金支払いの手順について説明する。最初に、鉄鋼会社７が、プロセスコンピュータ２の課金料金算出手段２２ａによって算出された課金料金を仲介会社１０に連絡する（ステップＳ６０９）。それと同じ時期に、サービス会社８は、コード改変検出装置１から課金料金算出手段２２ａの改変確認結果を受信して、その受信した改変確認結果を仲介会社１０及び鉄鋼会社７に連絡する（ステップＳ６１０、Ｓ６１１）。課金料金算出手段２２ａの改変確認結果の連絡を受けた鉄鋼会社７及び仲介会社１０は、課金料金算出手段２２ａに改変がないことを確認し、合意する（ステップＳ６１２）。その後、仲介会社１０は、ステップＳ６０９で連絡を受けた課金料金に基づく請求書を鉄鋼会社７に発行する（ステップＳ６１３）。鉄鋼会社７は、発行された請求書に従って、仲介会社１０に支払いを行う（ステップＳ６１４）。仲介会社１０は、生産設備メーカ９に支払い報告（収支報告）及びアカウント報告（機器の稼動状況及びそれに基づく課金料金の報告）を行う（ステップＳ６１５）と共に、鉄鋼会社７から支払われた金額の一部をサービス会社８に支払う（ステップＳ６１６）。このような手順が契約期間の満了まで繰り返される。
【００２５】
≪第６の実施の形態≫
本発明の第６の実施の形態に係る妥当性チェック手段について説明する。今まで、基本システム及び第１乃至第５の実施の形態について説明したが、それらはいずれもプロセスコンピュータ２の制御手段２２の要約値によってその改変チェックを行うものである。それに対して、妥当性チェック手段は、計測データやそれに基づいて計算された数値の妥当性をチェックし、その結果がＮＧ（No Good）であるときに、制御手段２２の改変の可能性を示唆するものである。
図１は、本発明の実施の形態に係る基本システムの構成図であるが、破線で示した妥当性チェック手段１１０及び計測データを含めたものを本発明の第６の実施の形態に係る基本システムの構成図とする。妥当性チェック手段１１０は、コード改変検出装置１に内蔵されると共に、コード改変検出装置１の入出力制御手段１１及びプロセスコンピュータ２の入出力制御手段２１を介して、制御情報２３内の計測データを入力する。入力した計測データの妥当性をチェックを行い、その結果がＮＧであるときに、通知手段１６に計測データ異常を通知するトリガを与える。妥当性チェックの方法としては、計測データが所定の上限値及び下限値の範囲内にあるか否かをチェックすることが考えられる。計測データの上限値及び下限値は、電機設備３の物理的な制約や取り扱う材料の性質などによって導出される値である。例えば、電機設備３が圧延装置であれば、板速、板厚などの物理量には、ミルの仕様や特性から求められる上限値や下限値が存在する。更に、これらの物理量から算出した数値にも同様に上限値や下限値が存在する。例えば、貸与した圧延装置の課金料金は、次の式１によって計算できる。ここで、Σは、課金料金の対象期間（例えば、１ヶ月）分の（板厚×板速×板幅×単位時間）を合計することを意味する。
【００２６】
課金料金  ＝  α×Σ（板厚×板速×板幅×単位時間）  （α：課金係数）  ・・・式１
【００２７】
このとき、板厚、板速及び板幅の上限値、下限値によって、課金料金の上限値、下限値が決まる。なお、計測データは、電機設備３から入力されるデータ自身であってもよいし、その入力データを累積しておいて、前回の累積データと今回の累積データとの差を利用するようにしてもよい。
【００２８】
次に、妥当性チェック手段の応用例について説明する。図９は、本発明の第４の実施の形態に係る設備貸与システムの構成図であるが、破線で示した妥当性チェック手段１１０及び電力計１１１を含めたものを本発明の第６の実施の形態に係る設備貸与システムの構成図とする。電力計１１１は、ミル７５に付設され、ミル７５が消費する電力量を計測し、その電力量データをフィールドＬＡＮ７９ｂ及びＰＩＯステーション７４を介して、プロセスコンピュータ２に出力する。プロセスコンピュータ２は、入力した電力量データを課金料金算出手段２２ａ経由で課金情報蓄積手段２３ａに記憶、蓄積する。妥当性チェック手段１１０は、所定の期間、例えば、月ごとに、情報ＬＡＮ７９ａ及び送受信手段２１ａを介して、課金料金算出手段２２ａが算出した課金料金及び課金情報蓄積手段２３ａに蓄積されたミル７５の消費電力量を入力し、課金料金の妥当性チェックを行う。例えば、次の式２が成り立つか否かをチェックする。
【００２９】
β×課金対象期間の消費電力量−ε  ≦  課金料金  ≦  β×課金対象期間の消費電力量＋ε  （β：電力量・課金料金変換係数、ε：許容偏差）  ・・・式２
【００３０】
式２は、課金料金が、β×課金対象期間の消費電力量を中心にして±εの範囲に入っていることを示すものであるが、換言すれば、課金料金とβ×課金対象期間の消費電力量との差がε以内であることを示すものである。このチェックは、課金料金算出手段２２ａが算出した課金料金を、ミル７５の消費電力量から推定した課金料金と比較することによって、算出した課金料金の妥当性をチェックするものである。チェック結果がＮＧであれば、妥当性チェック手段１１０は、図示しない通知手段に対して、「課金料金異常」の通知を行うようにトリガを与える。なお、課金料金を推定するためのデータとしては、ミル７５の消費電力量以外に、ミル７５の稼働率や母材使用量などであってもよい。
【００３１】
≪その他の実施の形態≫
以上本発明について好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。以下のような実施の形態が考えられる。
（１）前記実施の形態で記載した以外のコード改変通知方法として、通常は信号を常時出力しておいて、コードの改変を検出したときはその信号の出力レベルを変化させたり、０にすることが考えられる。具体的には、その信号の制御によって電機設備３を停止したり、起動不可とすることが考えられる。
（２）前記実施の形態では妥当性チェック手段１１０をコード改変検出装置１に内蔵するように記載したが、例えば、プロセスコンピュータ２に内蔵してもよい。そのとき、コード改変検出プログラム５上で動作する妥当性チェック手順（プログラムコード）として実現してもよい。
（３）前記実施の形態ではコード改変検出装置１による制御手段２２のチェックと妥当性チェック手段１１０によるチェックとを独立して記載したが、例えば、妥当性チェック手段１１０によるチェック結果がＮＧのときに、コード改変検出装置１による制御手段２２のチェック動作を起動するようにしてもよい。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態に係るコード改変検出装置を含む基本システムの構成を示す図である。ただし、第６の実施の形態を含む。
【図２】本発明の実施の形態に係る算出範囲記憶手段により分割された制御手段（プログラムコード）のメモリ構成例の図である。
【図３】本発明の実施の形態に係る算出範囲記憶手段及び基準要約値記憶手段の構成図である。
【図４】本発明の実施の形態に係るコード改変検出装置の動作を示すフローチャートである。
【図５】本発明の第１の実施の形態に係るプロセスコンピュータの構成を示す図である。
【図６】本発明の第２の実施の形態に係るプロセスコンピュータ、プログラムサーバ及びその周辺の構成を示す図である。ただし、第３の実施の形態を含む。
【図７】本発明の第２の実施の形態に係るコード改変検出プログラムの動作を示すフローチャートである。
【図８】本発明の第３の実施の形態に係るコード改変検出プログラムの動作を示すフローチャートである。
【図９】本発明の第４の実施の形態に係る課金料金算出手段の改変を検出・通知する設備貸与システムの構成図である。ただし、第５及び第６の実施の形態を含む。
【図１０】本発明の第４の実施の形態に係る設備貸与システムの全体処理を示すフローチャートである。
【図１１】本発明の第５の実施の形態に係る設備貸与システムの全体処理を示すフローチャートである。
【符号の説明】
【００３３】
１      コード改変検出装置
２      プロセスコンピュータ
３      電機設備
１１    入出力制御手段
１２    要約値算出手段
１３    要約値比較手段
１４    算出範囲記憶手段
１５    基準要約値記憶手段
１６    通知手段
２１    入出力制御手段
２２    制御手段
２３    制御情報
【図１】
2005050184.tif 000003
【図２】
2005050184.tif 000004
【図３】
2005050184.tif 000005
【図４】
2005050184.tif 000006
【図５】
2005050184.tif 000007
【図６】
2005050184.tif 000008
【図７】
2005050184.tif 000009
【図８】
2005050184.tif 000010
【図９】
2005050184.tif 000011
【図１０】
2005050184.tif 000012
【図１１】
2005050184.tif 000013