(57)【要約】【課題】  プログラム変更過程における演算結果を可視化することにより、プログラム変更に伴う影響を事前に操作員が確認できるプログラム変更方法を提供することを目的とする。【解決手段】  動作中のプログラムが図形言語を用いて表示されている画面において、変更を希望する変更部分を特定し、変更後の変更部分２１を作成し、変更後の変更部分２１に、動作中の変更部分２０に入力されている入力情報を分岐させて入力し、動作中の変更部分２０の演算結果及び変更後の変更部分２１の演算結果を画面に表示させ、動作中の変更部分の演算結果と変更後の変更部分の演算結果とが許容可能な範囲内であった場合に、変更後の変更部分２１の出力側を動作中の変更部分２０の出力側に接続するとともに、動作中の変更部分２０を削除することにより、動作中の変更部分２０を変更後の変更部分２１に切り替える。【選択図】      図５
2005250955.tif 000002
【特許請求の範囲】
【請求項１】
動作中のプログラムを変更するプログラム変更方法であって、
動作中のプログラムが図形言語を用いて表示されている画面において、変更を希望する動作中の変更部分を特定する過程と、
変更後の変更部分を作成する過程と、
変更後の変更部分に、動作中の変更部分に入力されている入力情報を分岐させて入力する過程と、
動作中の変更部分の演算結果と、変更後の変更部分の演算結果とを前記画面に表示させる過程と、
動作中の変更部分の演算結果と変更後の変更部分の演算結果とが許容可能な範囲内であった場合に、変更後の変更部分の出力側を動作中の変更部分の出力側に接続するとともに、動作中の変更部分を削除することにより、動作中の変更部分を変更後の変更部分に切り替える過程と
を具備することを特徴とするプログラム変更方法。
【請求項２】
前記動作中のプログラムのデータ構造としてリスト構造を採用し、演算手順をポインタにより指定し、入力データを入力情報により指定することを特徴とする請求項１に記載のプログラム変更方法。
【請求項３】
前記動作中の変更部分を前記変更後の変更部分に切り替える過程よりも前の過程においては、前記動作中のプログラムを演算処理した後に、前記変更後の変更部分の演算処理が実施されるように前記リスト構造を変更することを特徴とする請求項２に記載のプログラム変更方法。
【請求項４】
前記動作中の変更部分を前記変更後の変更部分に切り替える過程では、動作中であった変更部分に代わって前記変更後の変更部分の演算処理が実行されるように、前記リスト構造を変更することを特徴とする請求項２に記載のプログラム変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作中のプログラムを変更するプログラム変更方法に係り、特に、ボイラやタービン等、連続運転する必要のある産業用機器を制御するための制御プログラムを変更するプログラム変更方法に関するものである。
【背景技術】
【０００２】
ボイラやタービン等の産業用機器は、長期にわたり連続運転されるものが多く、このような機器を制御する制御装置では、制御プログラムを常時実行している必要が生ずる。
一方、上述したような制御プログラムは、より良い制御を行えるように頻繁にバージョンアップする必要があり、プログラム動作中において、如何にプログラム変更を行うかが問題となっていた。
このような問題点を解決する技術として、例えば、特開２００２−６３０４５号公報（特許文献１）に示されるものがある。
上記特許文献１には、動作中のプログラムとは異なるメモリエリアに変更後のプログラムを作成し、瞬時に動作中プログラムを変更後のプログラムへ切り替えることにより、動作中のプログラムを中断することなく、プログラムを変更できる技術が開示されている。
【特許文献１】特開２００２−６３０４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１の発明では、プログラム変更にあたり、プログラムの変更過程において、変更後のプログラムによる制御量等を操作者が確認することができなかった。このため、プログラムの変更に伴い、制御量が操作者の予測の範疇を超えて変化してしまう可能性もあり、安心してプログラム変更を行うことができないという問題があった。
【０００４】
本発明は、上記問題を解決するためになされたもので、プログラム変更過程における演算結果を可視化することにより、プログラム変更に伴う影響を事前に操作員が確認できるプログラム変更方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は以下の手段を採用する。
本発明は、動作中のプログラムを変更するプログラム変更方法であって、動作中のプログラムが図形言語を用いて表示されている画面において、変更を希望する動作中の変更部分を特定する過程と、変更後の変更部分を作成する過程と、変更後の変更部分に、動作中の変更部分に入力されている入力情報を分岐させて入力する過程と、動作中の変更部分の演算結果及び変更後の変更部分の演算結果を前記画面に表示させる過程と、動作中の変更部分の演算結果と変更後の変更部分の演算結果とが許容可能な範囲内であった場合に、変更後の変更部分の出力側を動作中の変更部分の出力側に接続するとともに、動作中の変更部分を削除することにより、動作中の変更部分を変更後の変更部分に切り替える過程とを具備することを特徴とするプログラム変更方法を提供する。
【０００６】
本発明によれば、動作中のプログラムにおいて、変更を行う変更部分を特定し、その変更部分における変更後のプログラムを、例えば、図形言語を用いることにより作成し、作成した変更後の変更部分に動作中の変更部分に入力されている情報を分岐させて入力し、その演算結果（演算結果）を画面に表示させる。これにより、仮にプログラムを変更したなら演算結果がどのように変化するのかをプログラム変更に先駆けて確認することが可能となる。
【０００７】
また、本発明のプログラム変更方法は、前記動作中のプログラムのデータ構造としてリスト構造を採用し、演算手順をポインタにより指定し、入力データを入力情報により指定することが好ましい。
本発明によれば、リスト構造を採用するので、ポインタ及び入力情報を設定するという簡単な処理により、メモリ上のデータ配列を実際に変更することなく、各種要素の挿入、追加、削除等を容易に行うことができる。
【０００８】
また、本発明のプログラム変更方法は、前記動作中の変更部分を前記変更後の変更部分に切り替える過程よりも前の過程においては、前記動作中のプログラムを演算処理した後に、前記変更後の変更部分の演算処理が実施されるように前記リスト構造を変更することが好ましい。
本発明によれば、変更後の変更部分の演算処理については、動作中の変更部分の演算処理が終了した後に行うので、プログラムの変更、例えば、変更前と変更後の変更部分の切り替えが完全に行われるまでは、動作中のプログラムを優先的に実行させることが可能となる。
例えば、変更前と変更後との演算結果が大幅に異なるなどの理由により、変更後の変更部分を採用することができない場合には、変更後の変更部分を再検討する必要がある。この場合には、例えば、変更後の変更部分を画面から削除するような指示が出されることとなる。このような場合において、動作中のプログラムを優先的に実行させていることにより、動作中のリスト構造については、微小の変更を行うだけで良く、リスト構造の変更処理を最小限にとどめることができる。
【０００９】
また、本発明のプログラム変更方法は、前記動作中の変更部分を前記変更後の変更部分に切り替える過程では、動作中であった変更部分に代わって前記変更後の変更部分の演算処理が実行されるように、前記リスト構造を変更することが好ましい。
本発明によれば、動作中の変更部分が変更後の変更部分に切り替えられることにより、プログラムの変更がなされた場合には、リンク構造を変更後のプログラムの処理手順に従って変更する。これにより、操作者が希望したとおりにプログラムを変更することができ、以降、この変更後のプログラムに従って制御処理を行わせることが可能となる。
【発明の効果】
【００１０】
本発明の制御装置によれば、変更後の変更部分においても演算を実施させ、演算結果を確認した後に、動作中の変更部分から変更後の変更部分へ切り替えるので、プログラム変更を安心して行うことができるとともに、変更後のプログラムによっても安定した制御の実行を期待することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明の一実施形態に係るプログラムの変更方法を図面を参照して説明する。
図１は、本発明の一実施形態に係る動作中プログラムの変更方法を適用する計算機システムの構成を示すブロック図である。
図１に示す計算機システム１００は、ボイラやタービン等、連続運転する必要のある産業用機器を制御するためのシステムであり、入力装置１０、制御装置１１、及び表示装置１２を主な構成要素としている。
入力装置１０は、制御装置１１に対して所定の指示を与えるための装置であり、例えば、マウス、ポインティングデバイス、キーボード等である。また、後述する表示装置１２の表示画面をタッチパネルとして形成することにより、表示装置１２に入力装置１０の機能を付加することも可能である。
制御装置１１は、入力装置１２から入力された情報に基づいて種々の処理を行う制御部１３及び各種制御プログラムが格納されているメモリ１４を主な構成要素としている。制御部１３は、メモリ１４に格納されている制御プログラム（プログラム）を変更するプログラム変更部１５及びメモリ１４に格納されている制御プログラムを図形言語を用いた表示データに変換して表示装置１２へ出力する表示制御部１６を備えている。
表示装置１２は、制御装置１１の表示制御部１６から供給される表示データに基づいて表示を行う。なお、表示画面については、後述する。この表示装置１２としては、ＣＲＴ（cathode-ray tube）やＬＣＤ（liquid Crystal
Display）等がある。
上記構成からなる計算機システム１００において、操作者は、表示装置１２に表示された機能ブロックを見ながら、入力装置１０を操作することにより、制御装置１１に対して各種指示を入力することができる。なお、ＧＵＩ(Graphical User Interface)を採用することにより、特別なプログラミングの知識がなくても、簡単に制御ロジックの作成・修正ができるように構成すると好ましい。
【００１２】
次に、図２に、表示装置１２の表示画面の一例を示す。
この図において、画面の中央には現在動作中のプログラムの内容が図形言語を用いて表示されている。具体的には、産業用機器を制御するための制御プログラムがその制御機能に応じて各種要素２０により表現されて表示されている。ここで、各種要素２０としては、例えば、入力情報を表す入力要素、出力結果を表す出力要素、算術演算子、論理演算子等の演算子を表す演算要素等が挙げられる。そして、これらの要素２０が制御プログラムの演算手順に従って結線２１されて表示されている（以下、このように各種要素と結線とに表示されたプログラムの内容を「動作フロー」と呼ぶ。）ことにより、人間が当該制御プログラムの内容を理解しやすいようになっている。
また、画面左側には、各種選択要素２２が表示されている。操作者は、制御プログラムの変更等を指示する場合には、この各種選択要素２２の中から所望の選択要素２２を選択し、画面中央に移動させることにより、動作中の制御フローに対して新しい要素の追加を等を行う変更指示を簡単に行うことができるようになっている。なお、この技術については、従来より設計でよく行われている手法である。
【００１３】
次に、上述した計算機システム１が備える制御プログラムのプログラム変更方法について、図３から図８を参照して説明する。
なお、本実施形態においては、図３に示すような動作中の動作フローを図７に示すような動作フローへ変更する場合について具体的に説明する。なお、これらの図では、各要素を説明の便宜上、数字で表しているが、実際にはこれらの要素は、上述したような入力要素や出力要素、演算要素等である。
【００１４】
まず、現在動作中の制御プログラムについて説明する。
図３は、動作中の制御プログラムに対応する動作フロー、図４は、動作中の制御プログラムのデータ構造をリスト構造として示した図である。
ここで、リスト構造とは、データの一覧を構成するデータの型のことを言い、一般的にポインタと入力情報とにより制御プログラムの演算手順や入力情報を指定するものである。図４において、各要素１から４は、図３に示された各種要素１から４にそれぞれ対応している。ポインタは、演算手順を指示するものであり、入力情報はその要素を実行する場合において入力情報が保持されている場所を示している。
例えば、図４において、要素１については、ポインタとして要素２が指示されている。これにより、次に演算処理されるのは要素２であることがわかる。また、入力情報として「table A」と指定されており、この入力要素としてはtable Aを参照して取得するということが指定されている。
同様に、図４に示されたリンク構造を解すると、演算手順については、要素１、要素２、要素３、要素４の順番で演算が進められ、ポインタとして「end」が指定されている要素４において演算処理が終了することとなる。一方、入力情報については、要素２については、「table B」から取得する旨が、要素３については、要素１及び要素２の入力要素を入力情報として取得する旨が、要素４については、要素３の演算結果を入力情報として取得する旨がそれぞれ指定されていることとなる。
これにより、現在動作中の動作フローでは、図３に示すように、要素１と要素２とが要素３の入力情報として入力され、要素３がこれらの入力情報に基づいて演算を行い、その演算結果が要素４へ入力され、要素４が演算し、その演算結果が出力となる。
なお、図２に示した表示画面には、この図３に示した動作フローが現在動作中のプログラムを図形言語で表したものとして表示されている。
【００１５】
次に、図３に示した制御フローを図７に示すような制御フローに変更する変更過程について具体的に説明する。
まず、表示画面に表示されている制御フロー（図３参照）のうち、変更部分を特定する。今回のプログラム変更では、図３に示した動作中の制御フローにおいて、要素３と要素４の間に、要素５、６及び７を挿入するという変更を予定している（図７参照）。従って、今回のプログラム変更により変更される部分、即ち、要素５、６、及び７が挿入される部分である要素３と要素４とを接続している結線部分を動作中の変更部分２０として特定する（図５参照）。
【００１６】
次に、特定した動作中の変更部分２０における変更後の動作フローを作成する。これは、表示画面の左側に表示されている各種要素２２（図２参照）の中から所望のものを選択して、中央画面に移動させることにより行う。操作者がこのような操作を入力装置１０から行うことにより、所望の要素５、６及び７が変更後の変更部分を構成する動作フローの要素として指定されることとなる。そして、これらの要素を結線することにより、変更後の変更部分２１を作成する（図５参照）。
続いて、変更後の変更部分２１（図５参照）を作成すると、続いて、この変更後の変更部分２１に動作中の変更部分２１に入力されている入力情報を分岐させて入力させるように結線を行う。この結果、図５に示すような制御フローが作成されることとなる。
【００１７】
一方、上述したような入力操作に並行して、制御装置１１のプログラム変更部１５は、メモリ１４内に格納されている動作中のプログラムのリスト構造を変更する。
例えば、変更後の変更部分２１を構成する各種要素５、６、及び７に対応するプログラムをメモリ１４の空きメモリに格納するとともに、格納された各種要素に対してポインタと入力情報とを設定する。このとき、プログラム変更部１５は、動作中の動作フロー、即ち、要素１から要素４までを演算処理した後に、変更後の変更部分２１の動作フロー、即ち、要素５から要素７までを演算処理するようにリスト構造を変更する。具体的には、図６に示すように、要素４のポインタを次の演算処理である要素５に変更する。同様に、要素５、６、及び７についても、ポインタに次の演算処理の情報を設定する。なお、要素７については、最後の演算処理に当たるためポインタとして、最終処理であることを示す「end」を設定する。
一方、入力情報については、変更後の変更部分２１において、最も入力側に位置する要素５には、要素３の演算結果が入力されるように指定しなければならい。このため、要素５の入力情報には、要素３が設定される。一方、要素６及び７については、自分よりも前の要素の演算結果がそのまま入力されるため、要素６については要素７が、要素７については要素６が設定される。
【００１８】
このようにして、プログラム変更部１５によって変更後の変更部分２１に対応するリスト構造が作成されることにより、動作中の動作フローを構成する要素１から要素４だけではなく、変更後の変更部分における動作フローを構成する要素５から要素７についても制御部１３によって演算処理が行われる。そして、各要素の演算結果がそれぞれ画面に表示されることとなる。例えば、図５では、各要素の右下に各要素の演算結果が表示されている。
【００１９】
このようにして、動作中の変更部分における演算結果（要素３の演算結果）及び変更後の変更部分２１における演算結果（要素７の演算結果）等が表示画面に表示されると、操作者は、これらの演算結果を検討し、両者の差が許容できる範囲内か否かを判断する。なお、この許容できる範囲内か否かについては、各制御プログラムに応じて変化するものである。そして、両者の差が許容可能な範囲内であった場合に、操作者は入力装置１０（図１参照）から変更後の変更部分２１の出力側を動作中の変更部分２０の出力側に接続するとともに、動作中の変更部分２０を削除することにより、動作中の変更部分２０を変更後の変更部分２１に切り替える操作を行う。
このような操作が行われると、制御装置１１内のプログラム変更部１５は、この入力操作に基づいて現時点におけるリスト構造（図６参照）を図９に示すように変更する。
具体的には、まず要素４の入力情報を７にする。これにより、要素７の演算結果が要素４の入力情報として入力されることとなる。次に、要素４のポインタを「end」に、また、要素７のポインタを要素４に変更することにより、演算手順も動作フローに従った順序に設定する。
【００２０】
なお、図５に示された画面において、動作中の変更部分２０の演算結果（要素３の演算結果）に対して、変更後の変更部分２１の演算結果（要素７の演算結果）があまりにもかけ離れており、許容可能な範囲内になかった場合には、仮に、要素７と要素４とを結線してしまうと、制御量が大幅に変化してしまうこととなりかねない。
従って、この場合には、プログラム変更が適切ではないと判断して、今回のプログラム変更を見直し、新たなプログラムの変更を検討することとなる。
【００２１】
以上、述べてきたように、本実施形態に係るプログラム変更方法によれば、変更部分２０を特定し、その変更部分２０における変更後のプログラム、例えば、変更後の変更部分２１を作成し、作成した変更後の変更部分２１に動作中の変更部分２０に入力されている情報である要素３の演算結果を分岐させて入力し、その演算結果を画面に表示させる。これにより、変更後の変更部分２１の演算結果をプログラム変更に先駆けて確認することができるので、プログラム変更を安心して行うことができるとともに、変更後のプログラムによっても安定した制御の実行を期待することができる。
【００２２】
また、本実施形態に係るプログラム変更方法によれば、動作中の変更部分２０を変更後の変更部分２１に切り替える操作を行わないかぎり、リスト構造において演算手順の変更を行わない（図６のリスト構造参照）。これにより、上述したような切り替え操作が行われない限り、動作中の動作フローが優先的に演算され、その後、変更後の変更部分２１の動作フローが演算されることとなる。従って、仮に、プログラム変更後における制御量が著しく変化したために、変更後の変更部分２１に動作フローを切り替えられないような場合が生じても、リスト構造を元に戻す処理は非常に簡単に行うことができ、リスト構造の変更処理を最小限にとどめることが可能となる。例えば、図６に示したリスト構造においては、要素４のポインタを「end」に書き換えるという非常に微小な変更を行えば足りる。
【００２３】
また、本実施形態に係るプログラム変更方法によれば、動作中の変更部分２０が変更後の変更部分２１に切り替えられることにより、プログラムの変更がなされた場合には、リンク構造を変更後のプログラムの処理手順に従って変更する（図８参照）。これにより、操作者が希望したとおりにプログラムを変更することができ、以降、この変更後のプログラムに従って制御処理を行わせることが可能となる。
【００２４】
なお、上述の実施形態においては、「要素を挿入する」という変更を行う場合について述べたが、要素を削除する変更、要素を追加する変更についても同様に行われることとする。また、上記変更部分の特定については、変更前のプログラムと変更後のプログラムとが異なる部分を特定する場合に限らず、更に広範な範囲を変更部分として特定して、変更後のプログラムによる影響をより広範な観点から把握するようにすることも可能である。
【００２５】
なお、制御装置１１と表示装置１２との接続、また、制御装置１１と入力装置１０との接続は、ＬＡＮ等の回線を介して接続することも可能である。これにより、制御装置１１を遠方に設置することが可能となる。なお、プログラムの変更指示は、表示装置１２に表示されたプログラムの内容を見ながら行われることとなるため、入力装置１０と表示装置１２とは対となって設置されている必要がある。
【図面の簡単な説明】
【００２６】
【図１】本発明のプログラム変更方法が適用される計算機システムの概略構成を示すブロック図である。
【図２】本発明の一実施形態に係る計算機システムの表示装置に表示される画面の一例を示す図である。
【図３】動作中の制御プログラムの動作フローを示す図である。
【図４】動作中の制御プログラムのリスト構造を示す図である。
【図５】変更過程における制御プログラムの動作フローを示す図である。
【図６】変更過程における制御プログラムのリスト構造を示す図である。
【図７】変更後の制御プログラムの動作フローを示す図である。
【図８】変更後の制御プログラムのリスト構造を示す図である。
【符号の説明】
【００２７】
１０  入力装置
１１  制御装置
１２  表示装置
１３  制御部
１５  プログラム変更部
１６  表示制御部
１００  計算機システム
２０  要素
２１  結線
２２  選択要素
【図１】
2005250955.tif 000003
【図２】
2005250955.tif 000004
【図３】
2005250955.tif 000005
【図４】
2005250955.tif 000006
【図５】
2005250955.tif 000007
【図６】
2005250955.tif 000008
【図７】
2005250955.tif 000009
【図８】
2005250955.tif 000010