(57)【要約】  【課題】  制御システムにおいて、プログラム書き換え処理時の演算処理の中断時間を短くする。  【解決手段】  コントローラが、演算実行用のプログラムが保存される不揮発性の第１記憶領域、及び保守用端末から送信される変更後のプログラムが保存される揮発性の第２記憶領域の二つの記憶領域を備える構成とする。プログラムの書き換えを行う際には、第１記憶領域に保存されたプログラムに基づく演算を実行しつつ保守用端末から送信されるプログラムを第２記憶領域に保存し、その後、演算を中断し、そのプログラムを第１記憶領域に転送する。本発明に係る構成により、従来であれば数分間を要していたプログラム書き換えに伴う演算処理の中断時間が大幅に短縮される。【選択図】  図１
2006338304.tif 000002
【特許請求の範囲】
【請求項１】
制御用プログラムに基づきディジタル制御システムの制御を行うプロセスコントローラにおいて、
前記制御用プログラムが保存される不揮発性の第１記憶領域と、
前記プロセスコントローラの外部に設けられた保守用端末より送信される変更後の制御用プログラムが保存される揮発性の第２記憶領域と
を備えることを特徴とするプロセスコントローラ。
【請求項２】
不揮発性の第１記憶領域に保存された制御用プログラムを実行しつつ、保守用端末より送信される変更後の制御用プログラムを揮発性の第２記憶領域に保存し、
演算を停止し、
前記第２記憶領域に保存された変更後の制御用プログラムを前記第１記憶領域に上書きし、
前記第１記憶領域に保存された変更後の制御用プログラムを実行する
ことを特徴とするディジタル制御システムのプロセスコントローラのプログラム書き換え方法。
【請求項３】
前記第１記憶領域に保存された制御用プログラムを実行しつつ、保守用端末より送信される変更後の制御用プログラムを前記第２記憶領域に保存し、
演算を停止し、
前記第２記憶領域に保存された変更後の制御用プログラムを第１記憶領域に上書きし、
前記第１記憶領域に保存された変更後の制御用プログラムを実行する第１のプログラムの書き換え処理、又は、
前記第１記憶領域に保存された制御用プログラムの演算を停止し、
保守用端末より送信される変更後の制御用プログラムを前記第２記憶領域に保存し、
前記第２記憶領域に保存された変更後の制御用プログラムを前記第１記憶領域に上書きし、
第１記憶領域に保存された変更後の制御用プログラムを実行する第２のプログラムの書き換え処理
のいずれかの処理を選択的に切り替えて実行することが可能な請求項１に記載のディジタル制御システムのプロセスコントローラ。
【請求項４】
保守用端末より送信され、第２記憶領域に保存される変更後の制御用プログラムと、第１記憶領域に保存された制御用プログラムとが、
同一のデータ構造を有することを特徴とする請求項１又は３に記載のディジタル制御システムのプロセスコントローラ。
【請求項５】
保守用端末より送信され、第２記憶領域に保存される変更後の制御用プログラムと、第１記憶領域に保存された制御用プログラムとが、
同一のデータ構造を有することを特徴とする請求項２に記載のプロセスコントローラのプログラム書き換え方法。
【請求項６】
揮発性のワークエリアを前記第２記憶領域と同一の記憶媒体上に備えることを特徴とする請求項１、３、４のいずれかに記載のディジタル制御システムのプロセスコントローラ。
【請求項７】
揮発性のワークエリアを前記第２記憶領域と同一の記憶媒体上に備えることを特徴とする請求項２又は５に記載のディジタル制御システムのプロセスコントローラのプログラム書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセス制御に用いられるディジタル制御システムに関し、特に、このような制御システムのプロセスコントローラ（以下、単に「コントローラ」とも称する）において実行されるプログラムを書き換える技術に関する。
【背景技術】
【０００２】
従来のプラント監視・制御システムの概略構成例を図５に基づき説明する。図５に示した制御システムでは、一般的なコンピュータによって構成される、保守用端末及びコントローラが制御ネットワークを介してプラントシステムに接続されており、コントローラがシステムを監視・制御する一方、保守用端末の保守ツールによって、その制御プログラムを可視化したり、プログラムの実行状態をモニタしたり、コントローラへのプログラム書き換え指令を行うことができる。
【０００３】
コントローラの要部構成は、ＣＰＵ（中央処理装置）、プログラム保存領域、プログラムの演算処理において用いられる（詳細は後述）ワークエリアである。ここでプログラム保存領域には、電源を落としても一旦設定されたアプリケーションプログラム（以下、単に「プログラム」と称する。）が消失してしまうことのないように、フラッシュメモリ等の不揮発性メモリが使用されている。また、ワークエリアは一般にRAM（Random Access Memory）によって構成される。
【０００４】
コントローラのプログラム保存領域には、図４に示すようなセルと呼ぶプログラム格納領域が設けられ、このセル毎に演算の名称（加算器、積分器など）、入力信号の結合情報（データの位置情報など）、パラメータなどが登録されており、このセルの番号順にプログラムが実行される。
【０００５】
１つのセルに対する演算処理の実行の概要は次の（１）〜（４）の通りである。
（１）そのセルの「演算の名称」に相当する処理ルーチンを実行する。
（２）処理ルーチンの中で、セル内の「入力信号の結合情報」に基づき、演算に必要なデータを収集する。各データの所在地（アドレス）はコード化されているため、実際のアドレスを知るためにはデコードを行う必要がある。そこで、このアドレスを参照する過程を高速化するために、コントローラの起動時やプログラムの書き換え時に、ワークエリアにおいて予め全てのセルに関するコードをデコードすることにより実際のアドレスを算出し、その実際のアドレスがワークエリア内に保存される。演算に必要なデータを収集する際には、ワークエリアに保存されている実際のアドレスを参照する。
（３）処理ルーチンの中で、セル内の「パラメータ」値を読み出す。
（４）（２）で得たデータ及び（３）で得たパラメータ値に基づく演算処理を行い、結果を出力する。
【０００６】
上記のようなシステムにおいて、プログラムの書き換え、すなわち、セル内に記録されたデータである演算の種類、入力信号の結合情報などを変更しなければならないことがある。このようなプログラムの書き換えの処理は通常、保守用端末における保守ツールによってプログラムが書き換えられることにより実行される。
【０００７】
以下、図６に基づき、従来のプログラム書き換え手順を説明する。まず、保守用端末によりコントローラに対してプログラム転送開始の指示が与えられると、コントローラは実行中の演算処理を停止（すなわち、プラントの制御を停止）し、保守用端末に対して「OK」の応答を返す。保守用端末はこの「OK」の応答に基づいて、変更後のプログラムをコントローラに転送する。コントローラは変更後のプログラムを受信した都度、プログラム保存領域の書き換えを行い、「OK」の応答を返す。一連のプログラムの転送が終了すると、保守用端末はコントローラに対して「転送終了」の指示を送信する。コントローラはワークエリア内で、書き換えられたプログラムに記載されている入力信号の結合情報のコードに基づき演算の実行時に参照するためのデータの格納先アドレスを算出し、保存する。なお、本発明においては、この処理のことを「ワークエリアの再構成」と称する。ワークエリアの内容を再構成し、「OK」の応答を保守用端末に返した後、演算処理（プラントの制御）を再開する。保守用端末は、画面上に転送終了のメッセージを表示する。
【０００８】
上述の通り、プログラム書き換え処理の間、コントローラは演算処理を一時的に停止する必要がある。この演算停止時間は、処理内容にも依存するが、数分間を要する。演算処理が停止している間はコントローラによるプラントの自動制御が行われないため、システムの動作を適切に管理するためには、オペレータがコントローラの外部に設けられたバックアップ用手動操作部によって手動操作を行ったり、手動操作が不可能な場合には、各種出力を安全サイドに固定する等の対策が必要となる。従って、プログラムの書き換えに要する時間は可能な限り短時間であることが望ましい。
【０００９】
また、上記のようなディジタル制御システムは、例えば食品プラントの他、焼却炉や発電プラントなど、基本的に連続稼働する設備に適用されることが多いため、それらのプラントを構成するバルブやポンプをはじめとする各部の開閉、速度、温度、圧力などは常時適切に制御されねばならないことは言うに及ばない。このような、本発明に係る制御システムが利用される環境を鑑みても、コントローラによる制御処理の停止時間を短縮することは極めて重要な課題である。
【００１０】
このような課題を解決するための手段の一例として、特許文献１に記載の技術がある。この特許文献１には、セルの登録番号とは別に、実行順序を表すテーブルをセル単位に設け、プログラムの開始を表す記号、次に処理を行うセルの番号、プログラムの終了を表す記号を格納しておき、テーブルの実行順序に従って、セルの処理演算を順次実行するコントローラの演算実行方法が記載されている。
【００１１】
【特許文献１】特開2003-122410号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
特許文献１に記載の技術によれば、プログラムの書き換えが必要な部分のみの転送・書き換えを行うだけで一連の書き換え処理を完了することができるため、コントローラの停止時間を短縮することが可能となる。しかし、実行順序を表すテーブルを各セル毎に設けなければならないため、作業が煩雑となり、操作性が低下してしまうという問題があった。
【００１３】
本発明はこのような点に鑑みて成されたものであり、その目的とするところは、簡易な方法によってプログラムの書き換えを行うことができ、且つプログラムの書き換えに要する時間を短縮することである。
【課題を解決するための手段】
【００１４】
本発明のプロセスコントローラは、
制御用プログラムに基づきディジタル制御システムの制御を行うプロセスコントローラにおいて、
前記制御用プログラムが保存される不揮発性の第１記憶領域と、
前記プロセスコントローラの外部に設けられた保守用端末より送信される変更後の制御用プログラムが保存される揮発性の第２記憶領域と
を備えることを特徴とする。
【００１５】
また、本発明のプロセスコントローラを利用した好適なコントローラのプログラム書き換え方法は、
不揮発性の第１記憶領域に保存された制御用プログラムを実行しつつ、保守用端末より送信される変更後の制御用プログラムを揮発性の第２記憶領域に保存し、
演算を停止し、
前記第２記憶領域に保存された変更後の制御用プログラムを前記第１記憶領域に上書きし、
前記第１記憶領域に保存された変更後の制御用プログラムを実行する
ステップから成ることを特徴とする。
【発明の効果】
【００１６】
本発明のコントローラは、実行用のプログラムが保存される第１記憶領域、及び保守用端末から送信される変更後のプログラムの保存先である第２記憶領域の二つの記憶領域を有するため、変更後のプログラムを保守用端末からコントローラに転送する間には第１記憶領域に保存されているプログラムに基づき演算を続行することが可能となる。
プログラムを第２記憶領域から第１記憶領域に転送する際には、プログラムの演算処理を一時停止する必要があるものの、第２記憶領域がデータ読み出し速度が高速な揮発性メモリから成ることにより、第１記憶領域への転送時間が短時間で済む。
【００１７】
さらに、プログラムが保存される記憶領域が二個設けられており、保守用端末より送信される変更後のプログラムは第２記憶領域のみに送信されるため、保守用端末からコントローラへのプログラムの転送中に、両者間に何らかの障害が発生した場合であっても、第１記憶領域には変更前のプログラムが残されているため、システムの復旧を容易且つ迅速に行うことができる。
【発明を実施するための最良の形態】
【００１８】
本発明に係るコントローラの構成について説明する。図１は、本発明に係るコントローラが適用される制御システムの概略構成図である。先に述べた従来技術の場合と同様に、コントローラ１及び保守用端末２が制御ネットワーク５を介して接続されている。コントローラ１及び保守用端末２は、通常のコンピュータを利用して構成することができるが、本発明において、コントローラ１の内部構成は以下に述べるような特徴を備えている。
【００１９】
コントローラ１の内部構成を説明する。コントローラ１は、ＣＰＵ１０、RAMから成るワークエリア１３、そして、第１記憶領域１１及び第２記憶領域１２を備えており、これらが内部バス１５を介して接続されている。
【００２０】
第１記憶領域１１は、例えばフラッシュメモリなどから成る、電源の供給が断たれても保持されている情報が失われない、不揮発性の記憶装置（不揮発性メモリ）である。第１記憶領域１１を不揮発性メモリで構成することにより、コントローラ１の電源が切れたとしても、保持されているプログラムのデータが消えることがないため、システム復旧を速やかに行うことが可能となる。
【００２１】
第２記憶領域１２は、RAMなどから成る、電源の供給が断たれると保存されている情報が失われる、揮発性の記憶装置（揮発性メモリ）である。揮発性メモリには、不揮発性メモリと比較すると、データの書き込み及び読み出し速度が格段に速いという特性がある。本発明では、第２記憶領域１２はプログラム書き換え処理において、バッファ用として利用される。
【００２２】
第１記憶領域１１には、例えば上述したようなセル形式で構成された（図４参照）実行用のプログラムが保存され、コントローラ１はこの第１記憶領域１１に保存されたプログラムに基づいて演算を実行する。
【００２３】
第２記憶領域１２には、保守用端末２より送信される、変更後のプログラムが保存される。この変更後のプログラムも、実行用のプログラムと同一の形式で構成されており、例えばセル形式である。変更後のプログラムは一旦第２記憶領域１２に保存された後、第１記憶領域１１に対して転送（上書き）され、プログラムの書き換え処理が完了する。
【００２４】
第２記憶領域１２に保存される変更後のプログラムは、第１記憶領域１１に保存されている実行用のプログラムと同一のデータ構造を有するように、すなわち両者の各種データのメモリ上の配置が同一となるように構成するのが好ましい。このことにより、転送完了後、第１記憶領域１１及び第２記憶領域１２に保存されているプログラムは、メモリの先頭アドレスだけが異なる同一のデータとみなすことが可能となるため、取り扱いがより容易となる。
【００２５】
プログラム転送処理後には、ワークエリア１３内において、第２記憶領域１２に保存されている変更後のプログラムに基づき、より詳細には、プログラムに記載されている入力信号の結合情報のコードに基づきワークエリアの再構成を行う。本発明では、第２記憶領域１２が、読み出し速度が高速な揮発性メモリで構成されているため、ワークエリア１３の再構成を行うためにプログラムをワークエリア１３に読み出すのに必要な時間を短縮することが可能となり、ひいてはプログラム転送処理に要する時間の短縮化が図られる。
さらに、第２記憶領域１２及びワークエリア１３を物理的に同一の記憶媒体上に設けてもよい。この構成により、プログラムをワークエリア１３に読み出す時間をさらに短縮することが可能となる。
【実施例１】
【００２６】
以下、本発明に係るコントローラを利用したプログラム書き換え手順を実施例として図２に基づき説明する。
【００２７】
まず、保守用端末２からコントローラ１に対してプログラム転送開始の指示が与えられると、コントローラ１は転送開始を了承する了承応答を保守用端末２に対して返すとともに、図示せぬステータス表示灯に、転送中である旨の表示を行う。
保守用端末２はこの了承応答に基づき、変更後のプログラムをコントローラ１の第２記憶領域１２に対して転送する。コントローラ１は、変更後のプログラムを正常に受信した都度、第２記憶領域１２の書き換えを行い、「OK」の返答を返す。保守用端末２は、第２記憶領域１２への一連のプログラムの転送が完了すると、コントローラ１に対して「転送終了」の指示を送信する。
【００２８】
コントローラ１はこの「転送終了」の指示を受けると、ステータス表示灯に演算処理停止中である旨を示すとともに演算処理を停止し、第２記憶領域１２に保存されている変更後のプログラムを、第１記憶領域１１に上書き転送する。コントローラ１は、この転送処理中又は転送処理後に、第２記憶領域１２に保存されている変更後のプログラムを基にワークエリア１３を再構成する。ここで、第２記憶領域１２は読み出し速度が高速なRAMによって構成されているため、再構成処理に要する時間の短縮化が図られる。次いで、コントローラ１はステータス表示灯を消灯するとともに、「OK」の応答を保守用端末２に返し、第１記憶領域１１に保存された実行用のプログラム及びワークエリア１３内のアドレスに基づく演算処理を再開する。その後、保守用端末２は、画面上に転送終了のメッセージを表示する。以上でプログラム書き換え処理が完了する。
【実施例２】
【００２９】
本発明に係るディジタル制御システムにおいて、プラント全停止時やシステム調整時など、コントローラ１による自動制御を一時的に停止することが問題とならない場合には、保守性を向上させることを目的として、転送処理速度を可能な限り高速化することが望まれることがある。このような要求に応えられるように、本発明のコントローラ１は、上述した手順に基づくプログラム書き換えを行うモード（短時間停止モード）と、以下に説明するような、高速転送モードを備えており、必要に応じていずれかの書き換え方法を選択することが可能な構成であることが好ましい。
【００３０】
以下、図３に基づき、高速転送モードにおけるプログラム書き換え手順を説明する。
【００３１】
まず、保守用端末２からコントローラ１に対して高速転送モードによるプログラム転送開始の指示が与えられると、コントローラ１は転送開始を了承する了承応答を保守用端末２に対して返すとともに実行中の演算処理を停止し、図示せぬステータス表示灯に高速転送モードで転送中である旨の表示を行う。
【００３２】
保守用端末２はこの了承応答に基づき、変更後のプログラムをコントローラ１の第２記憶領域１２に対して転送する。コントローラ１は、変更後のプログラムを正常に受信した都度、第２記憶領域１２の書き換えを行い、保守用端末２に対して「OK」の返答を返す。保守用端末２は、第２記憶領域１２への一連のプログラムの転送が完了すると、コントローラ１に対して「転送終了」の指示を送信する。本モードによるプログラム書き換え方法では、コントローラ１のＣＰＵ１０の負荷が転送処理に集中するため、上記の短時間停止モードの場合と比較して、転送処理自体の高速化が図られる。
【００３３】
コントローラ１はこの「転送終了」の指示を受けると、第２記憶領域１２に保存されている変更後のプログラムを第１記憶領域１１に上書き転送する。コントローラ１は、この転送処理中又は転送処理後に、第２記憶領域１２に保存されている変更後のプログラムを基にワークエリア１３の内容を再構成する。先に述べた短時間停止モードの場合と同様に、第２記憶領域１２は読み出し速度が高速なRAMによって構成されているため、ワークエリア１３の再構成処理に要する時間の短縮化が図られ、従来よりもプログラム書き換えに要する時間が短縮される。
【００３４】
次にコントローラ１はステータス表示灯を消灯するとともに、「OK」の応答を保守用端末２に返し、第１記憶領域１１に保存された実行用のプログラム及びワークエリア１３内に保存されているアドレスに基づく演算処理を再開する。保守用端末２は、画面上に転送終了のメッセージを表示する。以上で高速転送モードによるプログラム書き換え処理が完了する。
【００３５】
以上、本発明に係るコントローラの構成及びプログラムの書き換え方法について説明したが、上記構成は例に過ぎず、本発明の精神内で様々な態様に変更・改良を行っても構わないことは言うまでもない。
【図面の簡単な説明】
【００３６】
【図１】本発明に係るコントローラが適用される制御システムの概略構成図。
【図２】本発明に係るコントローラのプログラム書き換えの手順。
【図３】本発明に係るコントローラの他のプログラム書き換えの手順。
【図４】セルの構成を示す図。
【図５】従来の制御システムの概略構成図。
【図６】従来のコントローラのプログラム書き換え方法の手順。
【符号の説明】
【００３７】
１…コントローラ
１０…ＣＰＵ
１１…第１記憶領域
１２…第２記憶領域
１３…ワークエリア
１５…内部バス
２…保守用端末
５…制御ネットワーク
【図１】
2006338304.tif 000003
【図２】
2006338304.tif 000004
【図３】
2006338304.tif 000005
【図４】
2006338304.tif 000006
【図５】
2006338304.tif 000007
【図６】
2006338304.tif 000008