(57)【特許請求の範囲】
【請求項１】
ネットワークを経由して、コントローラに制御プログラムのオブジェクトファイルを書き込むプログラム作成装置であって、
前記制御プログラムのソースファイルをコンパイル処理してオブジェクトファイルに変換するコンパイラと、前記オブジェクトファイルを前記コントローラに送付する通信手段と、を備えた制御プログラム編集部と、
前記ソースファイルと前記オブジェクトファイルとを格納し、前記ソースファイルと前記オブジェクトファイルとを前記制御プログラム毎に設定されたキー情報により管理する第１データベースと、
前記コントローラに書き込まれた前記制御プログラムの前記オブジェクトファイルと、前記ソースファイルとを格納し、前記ソースファイルと前記オブジェクトファイルとを前記制御プログラム毎に設定されたキー情報により管理する第２データベースと、
前記制御プログラムの前記オブジェクトファイルと前記ソースファイルとを前記第２データベースに記録するファイルバックアップ部と、
ユーザに前記コントローラに書き込まれた前記オブジェクトファイルの動作確認画面を提示する表示装置と、
ユーザによって操作され、操作信号を前記制御プログラム編集部へ出力する入力装置と、を備え、
前記制御プログラム編集部は、前記コントローラに前記オブジェクトファイルの書き込み、および、前記表示装置に前記動作確認画面に提示を行い、前記オブジェクトファイルの書き込みと前記動作確認画面の提示とは非同期に、キー情報により対応するオブジェクトファイルとソースファイルとを前記第２データベースに記録するように前記ファイルバックアップ部に要求するように構成されている制御プログラム作成装置。
【請求項２】
前記第１データベースおよび前記第２データベースは、前記キー情報を含む制御プログラム情報と、プログラムコードと、プログラムデータとを階層構造で管理するように構成され、前記プログラムコードと、前記プログラムデータとは、前記制御プログラムの命令語毎に設定されたサブキー情報を含み、
ユーザが、前記入力装置を操作して前記制御プログラムの一部の命令語を変更したときに、前記制御プログラムのキー情報と変更した命令語のサブキー情報とを特定する手段と、前記第２データベースの特定した前記キー情報と前記サブキー情報とに対応する制御プログラムの命令語を部分変更する手段と、を備える請求項１記載の制御プログラム作成装置。
【請求項３】
ユーザが改造中の制御プログラムの表示と、前記第２データベースに格納された改造前の制御プログラムの表示とを切り替えを前記表示装置に要求する表示切替手段をさらに備え、
前記表示切替手段は、改造中の制御プログラムの前記キー情報に対応する、改造前の制御プログラムを特定する手段と、特定した改造前の制御プログラムを前記第２データベースから読み出す手段と、を備える請求項１記載の制御プログラム作成装置。
【請求項４】
前記第１データベースおよび前記第２データベースは、前記キー情報を含む制御プログラム情報と、プログラムコードと、プログラムデータとを階層構造で管理するように構成され、
前記制御プログラム情報、前記プログラムコード、および、前記プログラムデータの改造中のデータと、制御プログラム情報、前記プログラムコード、および、前記プログラムデータの改造前のデータとを読み出す手段と、前記改造中のデータと前記改造前のデータとを比較する手段と、を備えたファイル比較部をさらに備える請求項１記載の制御プログラム作成装置。
【請求項５】
前記第１データベースおよび前記第２データベースは、前記キー情報を含む制御プログラム情報と、プログラムコードと、プログラムデータとを階層構造で管理するように構成され、
前記制御プログラム情報、前記プログラムコード、および、前記プログラムデータを前記第２データベースに記録しているとき、前記キー情報を管理する管理テーブルを含むファイル排他部をさらに備え、
前記ファイル排他部は、前記管理テーブルに含まれるキー情報に対応する制御プログラムの変更要求があった場合に、変更不可である応答を前記制御プログラム編集部へ出力するように構成された請求項１記載の制御プログラム作成装置。
【請求項６】
制御プログラム毎にキー情報を設定して管理する第１データベースおよび第２データベースを備え、ネットワークを経由してコントローラに前記制御プログラムのオブジェクトファイルを書き込むように構成されたプログラム作成装置の駆動方法であって、
前記オブジェクトファイルを第１データベースから読み出し、
前記オブジェクトファイルを前記コントローラに書き込む書き込みステップと、
前記制御プログラムの動作確認画面を表示装置に表示させる動作確認ステップと、
前記キー情報により前記オブジェクトファイルと、前記オブジェクトファイルに対応するソースファイルと特定し、前記第１データベースから前記オブジェクトファイルと前記ソースファイルとを読み出して前記第２データベースに記録させる、バックアップステップと、を備え、
前記書き込みステップおよび前記動作確認ステップと、前記バックアップステップとを非同期で行うプログラム作成装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御プログラム作成装置および制御プログラム作成装置の駆動方法に関する。
【背景技術】
【０００２】
システムプログラマは、プラントを自動運転するためのプログラムを、プラント制御装置のアプリケーションプログラム(以降、「制御プログラム」と呼ぶ)として、作成、試験、調整後、プラント運転者へ提供する。システムプログラマは、プラントを安全に制御するために、制御プログラムの調整時に制御プログラムのデバッグを行う。
【０００３】
制御プログラムは、例えばIEC61131-3で規定されているＬＤ（ラダー）やＦＢＤ（ファンクションブロックダイアグラム)などの言語を用いて記述される。制御プログラムのデバッグ時は、オンライン状態で、制御プログラム単位の置き換え、または接点（Ａ接点やＢ接点など）や変数の値を強制変更することにより、制御プログラムの動作確認を行う。この動作確認のとき、システムプログラマに対して、誤操作を招かないように、制御プログラム作成装置がわかりやすく提示することが求められる。
【０００４】
例えば特許文献１には、コントローラ機器に依存せず、プロセスアプリケーションの階層構造に従って、ワークフレーム設計を支援し得るエンジニアリングシステムが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−８５４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
制御プログラム作成装置では、制御プログラムの構成は、表現性・移植性・再利用性を高めるため、例えばソース／オブジェクト方式が採用される。システムプログラマは、制御プログラムソースにIEC61131-3で規定されている制御プログラム言語、およびプログラムの実行に直接関係しない拡張情報（図形、コメント、等）を記述し、プラント制御装置が実行可能なオブジェクトを生成後、書き込むことで、実行、動作確認を行う。システムプログラマは、制御プログラムの動作確認を行うためには、プラント制御装置にロードしたオブジェクトの基となる制御プログラムソースが必要になる。
【０００７】
そのため、制御プログラムソースを人為的にバックアップしておかないと、制御プログラムの改造中に、プラント制御装置に書き込まれている改造前の制御プログラムの動作確認を行うことができなかった。
【０００８】
また、ハードウエア構成情報（プログラムコード）、および入出力信号情報（プログラムデータ）についても、プラント制御装置に書き込まれないソースファイルとして管理される場合には、制御プログラムと同様の課題があった。
【０００９】
本発明は上記事情を鑑みて成されたものであって、システムプログラマの負担を軽減するプログラム作成装置および制御プログラム作成装置の駆動方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態に係るプログラム作成装置は、ネットワークを経由して、コントローラに制御プログラムのオブジェクトファイルを書き込むプログラム作成装置であって、前記制御プログラムのソースファイルをコンパイル処理してオブジェクトファイルに変換するコンパイラと、前記オブジェクトファイルを前記コントローラに送付する通信手段と、を備えた制御プログラム編集部と、前記ソースファイルと前記オブジェクトファイルとを格納し、前記ソースファイルと前記オブジェクトファイルとを前記制御プログラム毎に設定されたキー情報により管理する第１データベースと、前記コントローラに書き込まれた前記制御プログラムの前記オブジェクトファイルと、対応するソースファイルとを格納し、前記ソースファイルと前記オブジェクトファイルとを前記制御プログラム毎に設定されたキー情報により管理する第２データベースと、前記制御プログラムの前記オブジェクトファイルと前記ソースファイルとを前記第２データベースに記録するファイルバックアップ部と、ユーザに前記コントローラに書き込まれた前記オブジェクトファイルの動作確認画面を提示する表示装置と、ユーザによって操作され、操作信号を前記制御プログラム編集部へ出力する入力装置と、を備え、前記制御プログラム編集部は、前記コントローラに前記オブジェクトファイルの書き込み、および、前記表示装置に前記動作確認画面に提示を行い、前記オブジェクトファイルの書き込みと前記動作確認画面の提示とは非同期に、キー情報により対応するオブジェクトファイルとソースファイルとを前記第２データベースに記録するように前記ファイルバックアップ部に要求するように構成されている制御プログラム作成装置である。
【発明の効果】
【００１１】
本発明によれば、システムプログラマの負担を軽減するプログラム作成装置および制御プログラム作成装置の駆動方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る制御プログラム作成装置の一構成例を概略的に示す図である。
【図２】JISB3503(またはIEC61131-3)で規定された言語を使って作成した制御プログラムの一例である。
【図３】本発明の一実施形態に係る制御プログラム作成装置のデータベースの一構成例を概略的に示す図である。
【図４】制御プログラムのオブジェクト情報をコントローラに書き込んだときに、その基となるソース情報、および書き込んだオブジェクト情報をバックグラウンドで自動的にバックアップする動作の一例を説明するための図である。
【図５】制御プログラムの試験、調整時、一部の命令語を変更したときに、該当箇所をバックグラウンドで自動的にバックアップに反映する動作の一例を説明するための図である。
【図６】制御プログラムの改造中に、コントローラに書き込まれている改造前の制御プログラムの動作確認を行う動作の一例を説明するための図である。
【図７】改造中の制御プログラムと、改造前のバックアップ情報とを比較する動作の一例を説明するための図である。
【図８】制御プログラムのバックアップ処理中に、途中経過の不正なプログラム表示および変更を禁止する動作の一例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の第１実施形態に係るプログラム作成装置について図面を参照して説明する。
【００１４】
図１に、本発明の一実施形態に係るプログラム作成装置の一構成例を概略的に示す。本実施形態に係るプログラム作成装置は、制御プログラム編集部１１０と、第１データベース１５０と、第２データベース１６０と、を備えたコンピュータ１００と、コンピュータ１００の入力装置としてのマウス１２およびキーボード１４と、コンピュータ１００の出力装置としての表示装置１６と、を備えている。コンピュータ１００とプラント制御装置のコントローラ２００とはネットワーク３００に接続されている。
【００１５】
プラント制御装置のコントローラ２００は、制御プログラムのオブジェクトファイルを格納するためのオブジェクトメモリ２１０と、これらの書き込み、読み出し、実行を行う標準処理部２２０を有している。さらに、オブジェクトメモリ２１０は、データメモリ２１２とコードメモリ２１４とを有している。
【００１６】
標準処理部２２０は、プログラムロードサーバ部２２２と、オブジェクトメモリ２１０に記録された制御プログラムを実行するためのプログラム実行処理部２２４と、制御対象であるプラントからのプロセス信号を制御プログラムに与えるためのプロセス入出力処理部２２５とを備える。
【００１７】
プログラムロードサーバ部２２２は、ネットワーク３００を経由してコンピュータ１００から送付された制御プログラムのオブジェクトファイルを、オブジェクトメモリ２１０のデータメモリ２１２およびコードメモリ２１４に配置する。
【００１８】
コンピュータ１００は、システムプログラマ（ユーザ）が制御プログラムを作成するための制御プログラム編集部１１０と、ファイルバックアップ部１２０と、ファイル比較部１３０と、ファイル排他部１４０と、制御プログラムを格納する第１データベース１５０と、バックアップ用の制御プログラムが格納される第２データベース１６０と、を備える。
【００１９】
制御プログラム編集部１１０は、プログラムコンパイラ１１２と、プログラムロードクライアント部１１４と、を備えている。プログラムコンパイラ１１２は、制御プログラムのソースファイルをオブジェクトファイルに変換するためのコンパイル処理を行う。プログラムロードクライアント部１１４は、プログラムコンパイラ１１２によってソースファイルから変換されたオブジェクトファイルをコントローラへ２００送付する通信手段である。
【００２０】
ファイルバックアップ部１２０は、後述するソースファイルのバックアップ処理を行う。ファイル比較部１３０は、バックアップ処理によって保存された制御プログラムと、編集後の制御プログラムとを比較する比較処理を行う。ファイル排他部１４０は、バックアップ中の制御プログラムについて、他者への表示を禁止する排他処理を行う。
【００２１】
第１データベース１５０は、制御プログラムのソースファイルを格納するためのソースファイル部１５２と、制御プログラムのオブジェクトファイルを格納するためのオブジェクトファイル部１５４と、を備えている。
【００２２】
第２データベース１６０も同様に、制御プログラムのソースファイルを格納するためのソースファイル部１５２と、制御プログラムのオブジェクトファイルを格納するためのオブジェクトファイル部１５４と、を備えている。
【００２３】
図２に、JISB3503(またはIEC61131-3)で規定された言語を使って作成した制御プログラムの一例を示す。制御プログラムは、表示装置１６の画面上で、プログラム言語に対応する図を組み合わせることによってその構造を組み立てることができる。例えば、Ｃ１〜Ｃ７のそれぞれは、JISB3503(またはIEC61131-3)で規定された言語で記述された命令語に対応している。
【００２４】
システムプログラマは、図を組み立てて制御プログラムのソースファイルを作成する。システムプログラマは、ソースファイルをプログラムコンパイラ１１２によってコンパイルして、オブジェクトファイルを作成する。
【００２５】
図３に、第１データベース１５０の一構成例を示す。第１データベース１５０のソースファイル部１５２には、制御プログラムのソースファイルが記録されている。ソースファイル部１５２は、制御プログラム情報１５２Ａと、命令語およびその構造が定義されているプログラムコード１５２Ｂと、制御プログラム内で使用される内部変数が定義されているプログラムデータ１５２Ｃとで構成される。
【００２６】
１つの制御プログラムに対するプログラムコード１５２Ｂとプログラムデータ１５２Ｃとは複数のデータで構成される。プログラムコード１５２Ｂとプログラムデータ１５２Ｃとを階層構造で管理している。最上位階層を制御プログラム情報１５２Ａとし、１つの制御プログラムに対して、固有の１つのキー情報を割り当てる。制御プログラム情報１５２Ａには、キー情報と、プログラム名と、プログラム種類とが含まれる。キー情報は、例えば、数字や文字を組み合わせた情報である。
【００２７】
下位階層のプログラムコード１５２Ｂとプログラムデータ１５２Ｃとは、このキー情報で制御プログラム情報１５２Ａと関連付けられる。プログラムコード１５２Ｂは、各命令語を管理し、サブキー情報と、命令語位置情報と、命令語コードと、参照キー情報とが含まれる。プログラムデータ１５２Ｃは、制御プログラムの入力信号と出力信号とを管理し、サブキー情報と、内部信号名と、信号型名と、コメント情報と、参照キー情報とが含まれる。サブキー情報は、例えば制御プログラムの命令語ごとに付与された固有の情報である。
【００２８】
第２データベース１６０においても、第１データベース１５０と同じ階層構造で制御プログラムが管理される。第１データベース１５０からバックアップされた第２データベース１６０の制御プログラムは、第１データベース１５０の制御プログラム情報１５２Ａと同じキー情報で管理される。
【００２９】
上記コンピュータ１００およびコントローラ２００の動作について以下に説明する。システムプログラマは、表示装置１６に表示される制御プログラム編集画面を使用して、制御プログラムを作成する。システムプログラマが制御プログラムを保存した時、その制御プログラムは、第１データベース１５０のソースファイル部１５２に格納され、かつ、そのソースファイルをプログラムコンパイラ１１２でコンパイルしたオブジェクトファイルを第１データベース１５０のオブジェクトファイル部１５４へ保存する。
【００３０】
システムプログラマは、上記のように制御プログラムを作成、保存、コンパイルを実施した後に、ネットワーク３００を経由してコントローラ２００にオブジェクトファイルを書き込み、制御プログラムを実行させる。
【００３１】
オブジェクトファイルをコントローラ２００に書き込むとき、コンピュータ１００およびコントローラ２００は、プログラムロードクライアント部１１４が第１データベース１５０からオブジェクトファイルを読み出して、ネットワーク３００を経由して、コントローラ２００のプログラムロードサーバ部２２２に送付する。プログラムロードサーバ部２２２は、オブジェクトファイルを受信して、オブジェクトメモリ２１０のデータメモリ２１２およびコードメモリ２１４上に配置し、さらにプログラム実行処理部２２４がこれを実行して、制御プログラムが実行される。
【００３２】
本実施形態にかかるプログラム作成装置では、コントローラ２００へ制御プログラムを書き込み、動作確認、および、デバックの動作と同時に、制御プログラムのバックアップ処理を行う。
【００３３】
図４に、制御プログラムのオブジェクトファイルをコントローラ２００に書き込んだときに、その基となるソースファイルおよび書き込んだオブジェクトファイルを自動的にバックアップする動作の一例を説明するための図を示す。
【００３４】
制御プログラム編集部１１０は、指定された制御プログラムのオブジェクトファイルを第１データベース１５０のオブジェクトファイル部１５４から読み出し（ステップ１Ａ）、コントローラ２００にオブジェクトファイルを書き込む（ステップ２Ａ）とともに、ファイルバックアップ部１２０に制御プログラムのキー情報と共に制御プログラムのバックアップ処理を行うように要求する信号を出力する（ステップ３Ａ）。
【００３５】
ファイルバックアップ部１２０は、要求信号を受信した後、制御プログラム編集部１１０に制御を返し（ステップ４Ａ）、制御プログラム編集部１１０における書き込み動作および動作確認（オンラインモニタ）動作（ステップ５Ａ）とは非同期に第１データベース１５０のキー情報に該当する制御プログラム特定して、特定した制御プログラムのオブジェクトファイルとソースファイルとを第１データベース１５０から読み出して第２データベース１６０に書き込む（ステップ５´Ａ）。制御プログラム編集部１１０は、ファイルバックアップ部１２０へのバックアップ要求後、ファイルバックアップ部１２０のコピーが完了する前に、コントローラ２００へ書き込んだ制御プログラムの動作確認（オンラインモニタ）を行う。
【００３６】
以上のように、本実施形態のプログラム作成装置では、システムプログラマが制御プログラムの読み出し、コントローラ２００への書き込み、制御プログラムの動作確認の操作を行うのみで、自動的に該当の制御プログラムのバックアップ処理が行われる。このように該当の制御プログラムのバックアップ処理を、制御プログラムの書き込み、読み出し、および、動作確認の動作と非同期に行うことにより、バックアップ処理を行うための時間を別途必要とせずに操作を完了させることができる。
【００３７】
すなわち、本実施形態に係るプログラム作成装置によれば、制御プログラムを自動的にバックアップすることによりプログラムの動作確認作業の際のシステムプログラマの負担を軽減するプログラム作成装置およびプログラム作成装置の駆動方法を提供することができる。
【００３８】
次に、本発明の第２実施形態に係るプログラム作成装置について図面を参照して説明する。なお、以下の説明において上述の第１実施形態に係るプログラム作成装置と同様の構成については、同一の符号を付して説明を省略する。本実施形態に係るプログラム作成装置は、上述の第１実施形態に係るプログラム作成装置と同様の構成を備える。
【００３９】
図５に、本実施形態に係るプログラム作成装置において、制御プログラムの一部の命令語を変更する動作を説明するための図を示す。制御プログラムの動作確認作業において、システムプログラマが制御プログラムの一部を変更すると、自動的に第２データベース１６０に格納された制御プログラムの一部を変更する手段をさらに備えている。
【００４０】
制御プログラムの動作確認（オンラインモニタ）（ステップ１Ｂ）の際に、制御プログラム編集部１１０は、キー情報に対応する制御プログラムを第１データベース１５０から読み出し、試験、調整を行う。システムプログラマが試験、調整時に命令語の部分変更を行った場合、第１データベース１５０のキー情報に対応する制御プログラム内の、サブキー情報に対応する命令語情報を部分変更する（ステップ２Ｂ）。
【００４１】
制御プログラム編集部１１０は、第１データベース１５０に格納された制御プログラムの部分変更が完了した後、ファイルバックアップ部１２０に、キー情報、サブキー情報、および命令語変更情報と共に、第２データベース１６０の同じ制御プログラムの同じ命令語に対する部分変更を要求する（ステップ３Ｂ）。
【００４２】
ファイルバックアップ部１２０は、要求を受け取った後、要求されたキー情報、サブキー情報、および命令語変更情報をキュー（FIFO）に一時記憶し（ステップ４Ｂ）、制御プログラム編集部１１０に制御を返す（ステップ５Ｂ）。
【００４３】
ファイルバックアップ部１２０は、キューに一時記憶された一番古い変更情報から順番に、制御プログラム編集部１１０の動作確認処理とは非同期に、第２データベース１６０に格納された制御プログラムに対する部分変更を行う（ステップ６Ｂ）。
【００４４】
上記のように、本実施形態に係るプログラム作成装置では、システムプログラマへ、従来と同様な制御プログラムに対する試験、調整操作を行うのみで、自動的に該当の制御プログラムの部分変更をバックアップする。また、部分変更情報をキューに一時記憶することで、短い間隔で行われる試験、調整操作における変更にも対応することができる。
【００４５】
すなわち、本実施形態に係るプログラム作成装置によれば、上述の第１実施形態にかかるプログラム作成装置と同様の効果を得ることができるとともに、システムプログラマの作業負担をさらに軽減するプログラム作成装置およびプログラム作成装置の駆動方法を提供することができる。
【００４６】
次に、本発明の第３実施形態に係るプログラム作成装置について図面を参照して説明する。本実施形態に係るプログラム作成装置は、上述の第１実施形態に係るプログラム作成装置と同様の構成を備える。
【００４７】
図６に、制御プログラムの改造中に、コントローラ２００に書き込まれている制御プログラムの動作確認を行う動作を説明するための図を示す。本実施形態に係るプログラム作成装置は、改造中の制御プログラムと改造前の制御プログラムとの表示を切り替える表示切替手段（図示せず）をさらに備えている。
【００４８】
本実施形態に係るプログラム作成装置では、制御プログラム起動画面において制御プログラム名やキー情報により制御プログラムを指定して制御プログラム編集画面を起動すると、制御プログラム編集部１１０は、指定された制御プログラムのキー情報に対応する制御プログラムを第１データベース１５０から読み出し、表示装置１６に制御プログラム編集画面を表示する。
【００４９】
制御プログラム編集画面から、バックアップ表示に切り替えた場合、同一キー情報に対する制御プログラムを第２データベース１６０から読み出し、バックアップ用の制御プログラム編集画面に表示する。また、バックアップ用の制御プログラム編集画面から、同元の制御プログラム編集画面の表示に切り替えた場合、同一キー情報に対する制御プログラムを特定して、特定した制御プログラムを第１データベース１５０から読み出し、制御プログラム編集画面を表示する。
【００５０】
制御プログラム起動画面から、バックアップ表示に切り替えて、制御プログラム名やキー情報により制御プログラムを指定してバックアップ用の制御プログラム編集画面を起動した場合は、キー情報により対する制御プログラムを特定して、特定した制御プログラムを第２データベース１６０から読み出し、バックアップ用の制御プログラム編集画面を表示する。
【００５１】
上記のように、本実施形態に係るプログラム作成装置では、システムプログラマが、改造中の制御プログラムを表示した状態から、コントローラ２００に書き込まれている改造前の制御プログラムの表示に簡単に切り替えることができる。したがって、本実施形態に係るプログラム作成装置によれば、システムプログラマは、コントローラ２００に書き込まれた改造前の制御プログラムの動作確認を容易に行うことができる。また、改造中の制御プログラムと改造前のバックアップされた制御プログラムとを、同一のキー情報により管理することによって、簡単に両者の対応付けをすることができる。
【００５２】
すなわち、本実施形態に係るプログラム作成装置によれば、上述の第１実施形態に係るプログラム作成装置と同様の効果を得ることができるとともに、システムプログラマの作業負担をさらに軽減するプログラム作成装置およびプログラム作成装置の駆動方法を提供することができる。
【００５３】
次に、本発明の第４実施形態に係るプログラム作成装置について、図面を参照して以下に説明する。本実施形態に係るプログラム作成装置は、上述の第１実施形態に係るプログラム作成装置と同様の構成を備える。
【００５４】
図７に、改造中の制御プログラムとバックアップされた改造前の制御プログラムとを比較する動作を説明するための図を示す。ファイル比較部１３０は、改造中の制御プログラムとバックアップされた改造前の制御プログラムとを比較するように構成されている。
【００５５】
システムプログラマが、キーボード１４やマウス１２を操作してコンピュータに改造中の制御プログラムと改造前の制御プログラムとを比較する処理を要求すると、ファイル比較部１３０は、比較元データとして、キー情報に対する制御プログラムのソース情報およびオブジェクト情報を第１データベース１５０から読み出す。続いて、ファイル比較部１３０は、比較先データとして、同一のキー情報に対する制御プログラムのソース情報およびオブジェクト情報を第２データベース１６０から読み出す。
【００５６】
ファイル比較部１３０は、読み出した比較元データと比較先データとのソース情報およびオブジェクト情報の比較を行う。また、ファイル比較部１３０は、読み出した比較元データ、または比較先データのオブジェクト情報と、コントローラ２００の標準処理部２２０から読み出したオブジェクト情報との比較を行う。
【００５７】
ファイル比較部１３０は、制御プログラムの比較をして、表示装置１６の画面に比較結果を表示させる。ファイル比較部１３０は、例えば、改造前と改造後とで制御プログラムが異なる部分のみを表示させたり、異なる部分を他の部分とは異なる色や諧調で表示させたりすることにより、システムプログラマに比較結果を提供する。
【００５８】
上記のように、本実施形態に係るプログラム作成装置では、システムプログラマが、改造中の制御プログラムを指定するのみで、改造前の制御プログラムとの比較を簡単に行うことができるプログラム作成装置を提供することができる。また、改造中の制御プログラムのソース情報と、改造前の制御プログラムのソース情報とを比較することで、コントローラ２００に書き込まれないコメント情報等を含めた、より詳細な比較を行うことができる。
【００５９】
すなわち、本実施形態に係るプログラム作成装置によれば、上述の第１実施形態に係るプログラム作成装置と同様の効果を得ることができるとともに、システムプログラマの作業負担をさらに軽減するプログラム作成装置およびプログラム作成装置の駆動方法を提供することができる。
【００６０】
次に、本発明の第５実施形態に係るプログラム作成装置について、図面を参照して以下に説明する。本実施形態に係るプログラム作成装置は、上述の第１実施形態に係るプログラム作成装置と同様の構成を備える。
【００６１】
図８に、制御プログラムのバックアップ処理を行っている間、途中経過の不正なプログラム表示および変更を禁止する動作を説明するための図を示す。本実施形態に係るプログラム作成装置は、ファイル排他部１４０が、制御プログラムのバックアップ処理、および制御プログラムの変更処理が完了する前に、該当の制御プログラムの排他を行うように構成されている。ファイル排他部１４０は、排他する制御プログラムのキー情報を管理する管理テーブルを備えている。
【００６２】
制御プログラム編集画面（Ｘ）においてシステムプログラマがキーボード１４やマウス１２を操作して、ファイルバックアップ部１２０にキー情報（Ａ）に対応する制御プログラムのバックアップ処理を要求すると（ステップ１Ｃ）、ファイルバックアップ部１２０は、ファイル排他部１４０にキー情報（Ａ）に対応する制御プログラムの排他処理を要求し（ステップ２Ｃ）、制御プログラム編集画面（Ｘ）からの要求に対し制御を応答する（ステップ３Ｃ）。この場合、ファイル排他部１４０は、キー情報（Ａ）を管理テーブルに記録する。
【００６３】
また、ファイルバックアップ部１２０は、バックアップ処理が完了した場合、ファイル排他部１４０にキー情報（Ａ）に対応する制御プログラムに対する排他の解除を要求する。この場合、ファイル排他部１４０は、要求されたキー情報（Ａ）を管理テーブルから消去する。
【００６４】
ファイル排他部１４０の管理テーブルに、キー情報（Ａ）が記録されている状態で、他の制御プログラム編集画面（Ｙ）においてシステムプログラマがキーボード１４やマウス１２を操作して、同じキー情報（Ａ）に対する制御プログラムを変更するために、ファイル排他部１４０にキー情報（Ａ）の制御プログラムに対する排他を要求した場合は（ステップ４Ｃ）、ファイル排他部１４０は、制御プログラム編集画面（Ｙ）からの要求に対して排他不可である応答を制御プログラム編集部１１０へ出力する（ステップ５Ｃ）。
【００６５】
また、バックアップ用の制御プログラム編集画面（Ｚ）においてシステムプログラマがキーボード１４やマウス１２を操作して、同じキー情報（Ａ）に対する制御プログラムを表示するために、ファイル排他部１４０にキー情報（Ａ）の制御プログラムに対する排他を要求した場合は（ステップ６Ｃ）、ファイル排他部１４０は、制御プログラム編集画面（Ｚ）からの要求に対して排他不可である応答を制御プログラム編集部１１０へ出力する（ステップ７Ｃ）。
【００６６】
上記のように、本実施形態に係るプログラム作成装置では、バックアップ処理中にバックアップ元の制御プログラムの変更や表示を禁止することにより、第１データベース１５０に格納されたバックアップ元の制御プログラムと、第２データベース１６０に格納されたバックアップ先の制御プログラムとの同一性を保つことができる。また、第２データベース１６０に格納されたバックアップ先の制御プログラムの途中経過の不正な表示を禁止することができる。
【００６７】
すなわち、本実施形態に係るプログラム作成装置によれば、上述の第１実施形態に係るプログラム作成装置と同様の効果を得ることができるとともに、システムプログラマの作業負担をさらに軽減するプログラム作成装置およびプログラム作成装置の駆動方法を提供することができる。
【００６８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６９】
１２…マウス、１４…キーボード、１６…表示装置、１００…コンピュータ、１１０…制御プログラム編集部、１１２…プログラムコンパイラ、１１４…プログラムロードクライアント部（通信部）、１２０…ファイルバックアップ部、１３０…ファイル比較部、１４０…ファイル排他部、１５０…第１データベース、１６０…第２データベース、２００…コントローラ、３００…ネットワーク。
【図１】
0005481267.tif 000002
【図２】
0005481267.tif 000003
【図３】
0005481267.tif 000004
【図４】
0005481267.tif 000005
【図５】
0005481267.tif 000006
【図６】
0005481267.tif 000007
【図７】
0005481267.tif 000008
【図８】
0005481267.tif 000009