(57)【要約】【課題】グラフィック形式のプログラムにおいても、文書比較アルゴリズムを用いて変更点を抽出するようにしたエンジニアリングツールを得る。【解決手段】グラフィカルなプログラムを作成するプログラムエディタによって作成された変更前の回路図データ１２１と変更後の回路図データ１３１とを、ネット情報機能１４１により、それぞれテキストデータ（変更前）１４２とテキストデータ（変更後）１４３とを生成し、これらを入力とするＤｉｆｆ機能１４４によって、テキストデータ（変更前）１４２とテキストデータ（変更後）１４３との最小エディット距離を求めるＯ（ＮＤ）アルゴリズムを用いて、変更点を抽出し、ＷＯＲＤ（登録商標）生成機能１４５により、Ｄｉｆｆ機能１４４の出力を、回路図データにマッピングして回路図変更点リスト１６を生成する。【選択図】図３
2011113276.tif 000002
【特許請求の範囲】
【請求項１】
回路図データを含むグラフィカルなプログラムを作成するプログラムエディタを有するエンジニアリングツールであって、
上記プログラムエディタによって作成された変更前の回路図データと変更後の回路図データとを、それぞれ接続情報と命令を要素とするマトリクスに分割し、このマトリクスから、変更前のテキストデータと変更後のテキストデータとを生成するテキストデータ生成手段、
このテキストデータ生成手段によって生成された上記変更前のテキストデータと上記変更後のテキストデータとの最小エディット距離を求める文書比較アルゴリズムを用いて、変更点を抽出するＤｉｆｆ手段、
このＤｉｆｆ手段の出力を、上記回路図データにマッピングして回路図変更点リストを生成する回路図変更点リスト生成手段を備えたことを特徴とするエンジニアリングツール。
【請求項２】
上記テキストデータ生成手段によって生成された上記変更前のテキストデータから機能的なブロックを検出して、ブロック単位に修正された変更前の修正テキストデータを生成するとともに、上記変更後のテキストデータから機能的なブロックを検出して、ブロック単位に修正された変更後の修正テキストデータを生成するテキスト修正手段を備え、
上記Ｄｉｆｆ手段は、上記ブロック単位の変更点を抽出することを特徴とする請求項１記載のエンジニアリングツール。
【請求項３】
上記回路図変更点リストから変更のあったページを抽出して、一覧表にする変更ページ抽出手段を備えたことを特徴とする請求項１記載のエンジニアリングツール。
【請求項４】
上記回路図変更点リストの変更点を削除する変更点削除手段を備えたことを特徴とする請求項１記載のエンジニアリングツール。
【請求項５】
上記プログラムエディタによって作成されたプログラムをコントローラに転送する転送手段を備え、
上記Ｄｉｆｆ手段は、上記変更前のテキストデータと上記変更後のテキストデータとから、変更のあった行を抽出した変更行リストを作成し、
上記転送手段は、上記変更行リストを参照して、上記変更のあった行のプログラムのみを上記コントローラに転送することを特徴とする請求項１記載のエンジニアリングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コントローラで使用される図形イメージで作成されたプログラムについて、変更前のプログラムと変更後のプログラムを比較し、変更点を抽出する変更点抽出機能を有するエンジニアリングツールに関するものである。
【背景技術】
【０００２】
従来のプログラムの変更点抽出機能に関しては、例えば、特許文献１では、テキストプログラムを、ＩＦ文やＦＯＲ文などの構造を解析してツリー状にし、ツリー形式でプログラムを表現し、変更前と変更後のツリーを比較することで、プログラムの変更箇所を、高速に特定する方式を提案している。
この特許文献１の例のように、テキスト形式のプログラムの変更点を抽出する方式は、数多く紹介されているが、ラダープログラムのように、グラフィック形式で作成するプログラムの、変更点を抽出する方式については、それを紹介する先行技術文献が少ない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６３−１２９４１９号公報（第３〜８頁、図５Ａ）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の方式では、Ｃ言語やＢＡＳＩＣ言語のような、構造化されたテキスト形式のプログラムの変更点抽出には有効であるが、ラダープログラムのように、グラフィック形式で作成するプログラムには適用できない、という問題があった。
グラフィック形式のプログラムの変更点抽出には、ビットマップレベルでの比較や、図形を配置する座標単位での比較が考えられる。
また、変更点を抽出するために用いるアルゴリズムとして、比較する文書間での最小エディット距離を求めるＯ（ＮＤ）アルゴリズムなどを用いるが、ビットマップや座標単位で比較すると、実際のプログラミングでは変更されていない箇所が数多く抽出されるため、実際に使用する上では、適用が困難である。
グラフィカルなプログラムを、ＣＮＳ（コントローラ）で実行するためのコンパイル後のニーモニック表現を用いて、変更点を抽出する方式も考えられるが、一般的に、図形表現とニーモニックは１対１に対応しない（同じ図形に見えても、コンパイル後のニーモニックが異なる場合がある）ため、グラフィカルエディタ上では変更していないように見える箇所が、ニーモニックが異なるために変更されたように抽出されることがあり、本方式もプログラムの変更点抽出に適用できない、という問題があった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、グラフィック形式のプログラムにおいても、文書比較アルゴリズムを用いて変更点を抽出するようにしたエンジニアリングツールを得ることを目的にしている。
【課題を解決するための手段】
【０００６】
この発明に係わるエンジニアリングツールにおいては、回路図データを含むグラフィカルなプログラムを作成するプログラムエディタを有するエンジニアリングツールであって、
プログラムエディタによって作成された変更前の回路図データと変更後の回路図データとを、それぞれ接続情報と命令を要素とするマトリクスに分割し、このマトリクスから、変更前のテキストデータと変更後のテキストデータとを生成するテキストデータ生成手段
、
このテキストデータ生成手段によって生成された変更前のテキストデータと変更後のテキストデータとの最小エディット距離を求める文書比較アルゴリズムを用いて、変更点を抽出するＤｉｆｆ手段、
このＤｉｆｆ手段の出力を、回路図データにマッピングして回路図変更点リストを生成する回路図変更点リスト生成手段を備えたものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、回路図データを含むグラフィカルなプログラムを作成するプログラムエディタを有するエンジニアリングツールであって、
プログラムエディタによって作成された変更前の回路図データと変更後の回路図データとを、それぞれ接続情報と命令を要素とするマトリクスに分割し、このマトリクスから、変更前のテキストデータと変更後のテキストデータとを生成するテキストデータ生成手段、
このテキストデータ生成手段によって生成された変更前のテキストデータと変更後のテキストデータとの最小エディット距離を求める文書比較アルゴリズムを用いて、変更点を抽出するＤｉｆｆ手段、
このＤｉｆｆ手段の出力を、回路図データにマッピングして回路図変更点リストを生成する回路図変更点リスト生成手段を備えたので、グラフィカルなプログラムであっても、ビットマップレベルでなく、テキストデータにして比較することで、効率よく変更点を抽出することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１によるエンジニアリングツールを有するコントローラシステムを示す構成図である。
【図２】この発明の実施の形態１によるエンジニアリングツールを示す機能構成図である。
【図３】この発明の実施の形態１によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
【図４】この発明の実施の形態１によるエンジニアリングツールで用いられる回路図データの例を示す図である。
【図５】この発明の実施の形態１によるエンジニアリングツールで用いられる回路図データの１マトリクスを示す図である。
【図６】この発明の実施の形態１によるエンジニアリングツールで用いられるテキストデータの例を示す図である。
【図７】この発明の実施の形態１によるエンジニアリングツールのラダープログラムを示す説明図である。
【図８】この発明の実施の形態２によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
【図９】この発明の実施の形態２によるエンジニアリングツールで用いられる修正テキストデータの例を示す図である。
【図１０】この発明の実施の形態２によるエンジニアリングツールの変更点抽出機能の変更点抽出結果を示す図である。
【図１１】この発明の実施の形態３によるエンジニアリングツールを示す機能構成図である。
【図１２】この発明の実施の形態３によるエンジニアリングツールの変更点抽出機能の変更ページ一覧の例を示す図である。
【図１３】この発明の実施の形態４によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
【図１４】この発明の実施の形態４によるエンジニアリングツールの変更点抽出機能のマーク除去の例を示す図である。
【図１５】この発明の実施の形態５によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１について図を用いて説明する。
図１は、この発明の実施の形態１によるエンジニアリングツールを有するコントローラシステムを示す構成図である。
図１において、エンジニアリングツール１は、エンジニアリング機能を格納するプログラムメモリ１０１と、エンジニアリング機能を呼び出して実行するＣＰＵ１００と、演算用の一時記憶装置ＲＡＭ１０２と、エンジニアリング機能により生成されるプログラムなどの情報を半永久的に格納する外部記憶装置１０３から構成され、これらはバス１０６により接続されている。
エンジニアリングツール１で作成され、外部記憶装置１０３に格納されたプログラムは、制御ネットワーク４を経由して、コントローラであるＣＮＳ（Ａ系）２ａ、ＣＮＳ（Ｂ系）２ｂに転送され、コントローラの制御用ロジックとして使用される。
【００１０】
ＣＮＳ２ａは、エンジニアリングツール１で作成されたプログラムを格納する不揮発性メモリ２０４と、演算用プログラムを格納するプログラムメモリ２０１と、ＣＮＳ２ｂと共有化されたプログラム実行用のデータが格納されるトラッキングメモリ２０５と、プログラムを読み出して実行するＣＰＵ２００から構成され、これらはバス２０６により接続されている。ＣＮＳ２ａにはプラント機器３が接続され、ＣＰＵ２００で実行されるプログラムは、プラント機器３からの入力を受けて演算を行い、その結果をプラント機器３に出力する。
ＣＮＳ２ｂは、ＣＮＳ２ａと同様に構成されている。
ＣＮＳ（Ａ系）２ａとＣＮＳ（Ｂ系）２ｂは、二重系を構成しており、トラッキングケーブル５で接続される。Ａ系（制御系）がダウン時、Ｂ系に制御が切替る。Ａ系からＢ系には、トラッキングケーブル５経由で、プログラム実行用のデータがコピー（トラッキング）され、切替り後のＢ系は、それまでにＡ系（制御系）で実行していたデータで、プログラムを再開できるようになっている。
【００１１】
図２は、この発明の実施の形態１によるエンジニアリングツールを示す機能構成図である。
図２において、プログラムエディタ１１は、グラフィカルなプログラムを作成する。変更前プロジェクト１２と変更後プロジェクト１３は、プログラムエディタ１１によって作成されたプログラムで、外部記憶装置１０３の中にプロジェクト単位で保存される。変更点抽出機能１４は、変更前プロジェクト１２と、変更後プロジェクト１３から、プログラム情報を読み出し、変更点を抽出して、回路図変更点リスト１６を生成する。回路図変更点リスト１６は、変更箇所にマークされたＷＯＲＤ（登録商標、以下同じ）のドキュメントファイルである。この回路図変更点リスト１６は、プロジェクトごとに作成され、ラダーファイルの場合、比較したラダーファイルごとに作成されることになる。
図枠用のＷＯＲＤファイル１５は、回路図変更点リスト１６に、図枠をオーバレイしてＷＯＲＤファイルを生成するためのものである。ＷＯＲＤ１７は、回路図変更点リスト１６を編集したり、紙ファイル１８へ印刷する。
【００１２】
図３は、この発明の実施の形態１によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
図３において、変更前プロジェクト１２と、変更後プロジェクト１３には、それぞれ、プログラムエディタ１１で作成された回路図データ１２１と、回路図データ１３１が含ま
れる。ネット情報機能１４１（テキストデータ生成手段）は、回路図データ１２１、１３１から、接続情報と命令からなるネット情報を抽出し、テキストデータ（変更前）１４２と、テキストデータ（変更後）１４３を生成する。
Ｄｉｆｆ機能１４４（Ｄｉｆｆ手段）は、テキストデータ（変更前）１４２と、テキストデータ（変更後）１４３を入力として、Ｏ（ＮＤ）アルゴリズム（文書比較アルゴリズム）を使って、両テキストデータの最短エディット距離を求め、変更箇所を抽出する。ＷＯＲＤ生成機能１４５（回路図変更点リスト生成手段）は、Ｄｉｆｆ機能１４４により抽出された変更箇所と、図枠用のＷＯＲＤファイル１５を入力として、回路図変更点リスト１６を生成する。
【００１３】
図４は、この発明の実施の形態１によるエンジニアリングツールで用いられる回路図データの例を示す図である。
図４において、回路図は、ラダー回路図の例である。ラダー回路図とは、シーケンス図（電気回路図）をベースにしており、入力条件と出力の関係を視覚的にイメージしやすいプログラム言語である。ラダー回路図は、左側に横の列数が固定のマトリクスに分割される。（本例では１３列としている。）各マトリクスは、１つの接続情報と、１つの命令から構成される。命令は、ＡＮＤやＡＮＩを示すシンボルと、命令を実行するための値をリードしたり、結果を保存するデバイスから構成される。
【００１４】
図５は、この発明の実施の形態１によるエンジニアリングツールで用いられる回路図データの１マトリクスを示す図である。
図５において、回路図データの１マトリクスを示すもので、図５の例では、接続情報が、左のマトリクスと、下のマトリクスと接続されていることを示し、命令は、−｜  ｜−がＡＮＤ命令を示し、Ｌ１２は、Ｌ１２デバイスから値をリードして、ＡＮＤ命令を実行することを示している。
【００１５】
図６は、この発明の実施の形態１によるエンジニアリングツールで用いられるテキストデータの例を示す図である。
図６において、テキスト２行が、マトリクス１要素に対応する。例えば、↑↓→は、本マトリクスが上のマトリクスと、下のマトリクスと、→のマトリクスに接続されていることを示し、ＡＮＤ  Ｌ１５が、Ｌ１５のデバイスの値をリードして、ＡＮＤ命令を実行することを示している。
【００１６】
図７は、この発明の実施の形態１によるエンジニアリングツールのラダープログラムを示す説明図である。
図７において、ラダープログラムでは、命令語とデバイスを組み合わせて記述する。図７は、例えば、入力リレー０００、００１がともにＯＮのときに出力リレー５００がＯＮとなるラダー回路図（ＡＮＤ回路）を表現している。
【００１７】
次に、動作について説明する。
エンジニアリングツール１は、コントローラであるＣＮＳ（Ａ系）２ａとＣＮＳ（Ｂ系）２ｂで実行されるプログラムを作成するプログラミングツールで、ＣＰＵ１００、プログラムメモリ１０１、ＲＡＭ１０２、及び外部記憶装置１０３を備えるパーソナルコンピュータなどが用いられる。
制御ネットワーク４は、ＣＮＳ２ａ、２ｂと、他のＣＮＳや、ＯＰＳ（Ｏｐｅｎ  Ｐｒｏｆｉｌｉｎｇ  Ｓｔａｎｄａｒｄ）などを接続する制御ネットワークであり、ＣＮＳ間のデータ通信や、ＣＮＳとＯＰＳ間のデータ通信に用いられる。
ＣＮＳ２ａ、２ｂは、プラント機器３からの入力を受けて、エンジニアリングツール１で作成されたプログラムを実行し、プラント機器３に結果を出力するコントローラ（ＣＮＳ）である。ＣＮＳは、一般に、Ａ系とＢ系の二重系で構成され、Ａ系とＢ系はトラッキ
ングケーブル５で接続され、トラッキングメモリ２０５のデータの同値化を行う。ＣＮＳとしては、ＣＰＵ２００、プログラムメモリ２０１、不揮発性メモリ２０４、トラッキングメモリ２０５を備える、特殊なコンピュータが用いられる。
【００１８】
次に、エンジニアリングツールの動作について説明する。
図２のエンジニアリングツール１は、プログラムエディタ１１を使って、グラフィカルなプログラムを作成する。作成されたプログラムは、外部記憶装置１０３の中に、変更前プロジェクト１２と変更後プロジェクト１３のように、プロジェクト単位で保存される。
エンジニアリングツール１の変更点抽出機能１４は、変更前プロジェクト１２と、変更後プロジェクト１３から、プログラム情報を読み出し、変更点を抽出して、回路図変更点リスト１６のドキュメントを生成する。回路図変更点リスト１６は、図２のように、変更前と変更後のグラフィック形式のプログラムを並べて、変更箇所がマークされたＷＯＲＤのドキュメントファイルになっている。
変更点リストを、そのまま正式な文書として使用するときのために、図枠用のＷＯＲＤファイル１５を別途用意することで、図枠をオーバレイしてＷＯＲＤファイルを生成する。
【００１９】
次に、変更点抽出機能について詳細に説明する。
変更前プロジェクト１２と、変更後プロジェクト１３には、それぞれ、プログラムエディタ１１で作成された回路図データ１２１と、回路図データ１３１が含まれる。ネット情報機能１４１は、この回路図データ１２１、１３１からネット情報（接続情報と命令）を抽出し、テキストデータ（変更前）１４２と、テキストデータ（変更後）１４３を生成する。次いで、Ｄｉｆｆ機能１４４により、テキストデータ（変更前）１４２と、テキストデータ（変更後）１４３を入力として、Ｏ（ＮＤ）アルゴリズムを使って、両テキストの最短エディット距離を求め、変更箇所を抽出する。さらに、ＷＯＲＤ生成機能１４５により、Ｄｉｆｆ機能１４４が抽出した変更箇所と、図枠用のＷＯＲＤファイル１５を入力として、回路図変更点リスト１６を生成するようになっている。
【００２０】
次に、回路図データについて説明する。
図４に、回路図データの例を示す。なお、本実施の形態１では、ラダー回路図を用いるが、その他の、命令を表すシンボルと、シンボルとシンボルを接続する一般的なグラフィカルなプログラムエディタでも、同様の方式を用いることができる。
図４の回路図データは、ラダー回路図の例である。ラダー回路図とは、シーケンス図（電気回路図）をベースにしており、入力条件と出力の関係を視覚的にイメージしやすいプログラム言語である。ラダープログラムでは命令語とデバイスを組み合わせて記述する。例えば、入力リレー０００、００１がともにＯＮのときに出力リレー５００がＯＮとなるラダー回路図（ＡＮＤ回路）は、図７のように表現される。
ラダー回路図は、左側に横の列数が固定のマトリクスに分割され、本例では１３列としている。各マトリクスは、１つの接続情報と、１つの命令から構成される。命令は、ＡＮＤやＡＮＩを示すシンボルと、命令を実行するための値をリードしたり、結果を保存するデバイスから構成される。
【００２１】
図５は、マトリクスの詳細を示すもので、この例では、接続情報が、左のマトリクスと、下のマトリクスと接続されていることを示し、命令は、−｜  ｜−がＡＮＤ命令を示し、Ｌ１２は、Ｌ１２デバイスから値をリードして、ＡＮＤ命令を実行することを示している。
図３のネット情報機能１４１は、回路図データを解析して、図５のマトリクスを取り出し、これをテキストデータ（変更前）１４２や、テキストデータ（変更後）１４３に、変換する。
【００２２】
テキストデータの例は、図６に示されている。テキスト２行が、マトリクス１要素に対応する。例えば、↑↓→は、本マトリクスが上のマトリクスと、下のマトリクスと、→のマトリクスに接続されていることを示し、ＡＮＤ  Ｌ１５が、Ｌ１５のデバイスの値をリードして、ＡＮＤ命令を実行することを示している。
図３のＤｉｆｆ機能１４４は、図６のようなテキスト形式の変更前のファイルと変更後のファイルを比較して、変更点を抽出する。図３のＷＯＲＤ生成機能１４５は、テキスト形式で抽出された変更点を、元のラダー回路図にマッピングして、回路図形式にして回路図変更点リスト１６を生成する。
【００２３】
図７は、ラダープログラムの例を示している。ラダー回路図とは、シーケンス図（電気回路図）をベースにしており、入力条件と出力の関係を視覚的にイメージしやすいプログラム言語である。ラダープログラムでは、命令語とデバイスを組み合わせて記述する。例えば、入力リレー０００、００１がともにＯＮのときに出力リレー５００がＯＮとなるラダー回路図（ＡＮＤ回路）は図７のように表現される。
【００２４】
実施の形態１によれば、変更点抽出機能により、グラフィカルなプログラムを、ビットマップレベルでなく、ユーザのエディット単位である接続情報と命令情報のテキストデータに落とし、このテキストデータに対して、Ｏ（ＮＤ）アルゴリズムを用いて比較するようにしたことで、ユーザによるエディット作業と同等の変更点が抽出される。
また、ユーザは、この変更点抽出機能を用いることで、他のユーザが行った変更を正しく、かつ効率的に把握できるので、変更箇所の確認作業や、変更箇所を現地プログラムに反映する作業を効率的に行うことができる。
【００２５】
実施の形態２．
以下、この発明の実施の形態２について図に基づいて説明する。
図８は、この発明の実施の形態２によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
図８において、１２〜１６、１２１、１３１、１４１〜１４５は図３におけるものと同一のものである。図８では、テキストデータを修正するテキスト修正機能１４６（テキスト修正手段）を有し、テキストデータ（変更前）１４２をブロック単位に修正して修正テキストデータ（変更前）１４２１とし、テキストデータ（変更後）１４３をブロック単位に修正して修正テキストデータ（変更後）１４３１とする。
【００２６】
図９は、この発明の実施の形態２によるエンジニアリングツールで用いられる修正テキストデータの例を示す図である。
図９において、修正された修正テキストデータ（変更前）１４２１と、修正テキストデータ（変更後）１４３１の例が示されている。１行が、ラダープログラムの１ブロックに相当する。
【００２７】
図１０は、この発明の実施の形態２によるエンジニアリングツールの変更点抽出機能の変更点抽出結果を示す図である。
図１０において、変更点抽出の結果、ブロック単位で印刷した例を示している。ブロック単位で、同じブロックを並べ、追加・削除された場合は、対応する位置に空白をあけている。
【００２８】
グラフィカルなプログラムは、一般的に線が接続されたブロック単位に、機能がまとめられていて、この機能単位で、すなわち線が接続されたブロック単位で、変更や追加や削除などが行われることが多い。したがって、実施の形態２は、ブロック単位で、変更点を抽出し、ブロック単位で並べて印刷することにより、機能的な変更が、ユーザにとって分かりやすくなるようにした。
図８の、テキスト修正機能１４６は、この目的を達成するために設けられた機能であり、テキストデータ（変更前）１４２と、テキストデータ（変更後）１４３を読み込んで、解析し、ブロックを抽出する。ブロックの切れ目は、ラダープログラムの場合は、出力命令とロード命令が続いた箇所が切れ目と判断できる。（一般的に、グラフィカルなエディタは、ブロックの切れ目を何らかの形で解析できるはずである。）１ブロックを１行として、修正テキストデータ（変更前）１４２１と、修正テキストデータ（変更後）１４３１を生成する。
【００２９】
修正テキストデータ（変更前）１４２１と、修正テキストデータ（変更後）１４３１の例は、図９に示すとおりで、図９では、１行が、ラダーの１ブロックに相当している。
修正テキストデータ（変更前）１４２１と、修正テキストデータ（変更後）１４３１の比較アルゴリズムは、実施の形態１と同じ方式のＯ（ＮＤ）アルゴリズムで実施できる。
図１０は、変更点抽出の結果、ブロック単位で印刷した例を示している。ブロック単位で、同じブロックは並べ、追加・削除された場合は、空白をあけて、ブロック同士を並べることによって、変更のあったブロックを簡単に識別できるようにしている。
【００３０】
ブロック単位で以上のような変更点抽出を行った後は、異なるブロック同士を比較して、命令単位での変更点抽出を行う。その方法は、実施の形態１と同じである。
【００３１】
実施の形態２によれば、ブロック単位での比較を行うようにしたので、ユーザは、機能単位での変更点を簡単に把握できるため、変更点の識別が容易になる。
【００３２】
実施の形態３．
以下、この発明の実施の形態３について図に基づいて説明する。
図１１は、この発明の実施の形態３によるエンジニアリングツールを示す機能構成図である。
図１１において、１、１１〜１８は図２におけるものと同一のものである。図１１では、変更ページ抽出機能１９（変更ページ抽出手段）を設け、回路図変更点リスト１６から、変更ページを抽出して、ＷＯＲＤファイル変更ページ一覧２０を生成する。
【００３３】
図１２は、この発明の実施の形態３によるエンジニアリングツールの変更点抽出機能の変更ページ一覧の例を示す図である。
図１２において、ＷＯＲＤファイル変更ページ一覧２０は、変更点を含むページ番号を表形式で印刷したものである。
【００３４】
変更点の回路図を、ユーザにて参照するときに、膨大な回路図の中から、一部の変更箇所を検索する必要がある場合が多い。ＷＯＲＤなどのソフトウェアを使える場合は、ＷＯＲＤの検索機能を使うことができるが、プラントが動いている現地でプログラムを変えるときに、ＷＯＲＤなどのソフトウェアが使用できず、印刷した紙ファイルで変更箇所を検索する必要がある場合がある。
図１１の変更ページ抽出機能１９は、回路図変更点リスト１６から、変更のあったページ番号を抽出して、ＷＯＲＤファイル変更ページ一覧２０を出力する。図１２に、ＷＯＲＤファイル変更ページ一覧２０の例を示してある。単純に、変更点を含むページ番号を表形式で印刷する形式である。
変更点抽出のアルゴリズムなどは、実施の形態１、または実施の形態２と同等である。
【００３５】
実施の形態３によれば、変更点を含むページを印刷するようにしたので、ユーザは、紙ファイルなどで、変更のあった回路図を、簡単に見つけ出すことができる。
【００３６】
実施の形態４．
以下、この発明の実施の形態４について図に基づいて説明する。
図１３は、この発明の実施の形態４によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
図１３において、１２〜１６、１２１、１３１、１４１〜１４５は図３におけるものと同一のものである。図１３は、マーク除去機能１４７（変更点削除手段）を有し、回路図変更点リスト１６のうち、ユーザが変更点としてみなしたくない箇所のマークを、手動で簡単に除去するようにしている。
【００３７】
図１４は、この発明の実施の形態４によるエンジニアリングツールの変更点抽出機能のマーク除去の例を示す図である。
図１４において、例えば、ＡＮＤ  Ｍ５１２１を選択して除去ボタンを押すと、マークを除去しますか、の警告が表示され、はい、とすることにより、マークが除去される。
【００３８】
実施の形態１、実施の形態２とも、Ｏ（ＮＤ）アルゴリズムを用いて変更点を抽出する。これにより、ユーザの操作と同じレベルの変更点を抽出可能であるが、エディタ機能により、自動的に行が追加されている箇所も、変更点として抽出される場合がある。このような変更点は、ユーザとしては変更点としてみなしたくない場合がある。
このため、実施の形態４は、図１３のマーク除去機能１４７を設けている。マーク除去機能１４７は、変更点として抽出されたが、ユーザが変更点としてみなしたくない箇所のマークを、手動で簡単に除去するための機能である。
図１４には、マーク除去機能１４７の簡単な操作イメージを示している。図１４では、例えば、ＡＮＤ  Ｍ５１２１を選択して除去ボタンを押すと、マークを除去しますか、の警告が表示され、はい、とすることにより、マークが除去されるようになっている。
【００３９】
実施の形態４によれば、マークを除去する機能を設けたので、不要なマークを簡単に除去し、ユーザにとって、より精度の高い、回路図変更点抽出リストを簡単に得ることができる。
【００４０】
実施の形態５．
以下、この発明の実施の形態５について図に基づいて説明する。
図１５は、この発明の実施の形態５によるエンジニアリングツールの変更点抽出機能を示す機能構成図である。
図１５において、１２〜１６、１２１、１３１、１４１〜１４５は図３におけるものと同一のものである。図１５では、Ｄｉｆｆ機能１４４は、テキストデータ（変更前）１４２とテキストデータ（変更後）１４３の変更点抽出時に、ＣＮＳへの転送用に、変更行リスト１４８を生成する。転送機能１４９（転送手段）は、変更行リスト１４８を参照して、変更のあった行のみＣＮＳに転送する。
【００４１】
実施の形態５では、転送機能１４９を設け、変更行リスト１４８を参照して、変更のあった行のみＣＮＳ２ａ、ＣＮＳ２ｂに転送するようにしている。このため、実施の形態５のＤｉｆｆ機能１４４は、テキストデータ（変更前）１４２とテキストデータ（変更後）１４３の変更点抽出時に、ＣＮＳ２ａ、ＣＮＳ２ｂへの転送用に、変更行リスト１４８を生成し、転送機能１４９により、この変更行リスト１４８を参照して、変更のあった行のみＣＮＳ２ａ、ＣＮＳ２ｂに転送する。実施の形態５での前提としては、ＣＮＳ側に、行単位でのプログラムの転送機能が搭載されている必要がある。
【００４２】
実施の形態５によれば、変更のあった行のみをＣＮＳに転送するようにしたので、転送時間を短くすることができる。
【符号の説明】
【００４３】
１  エンジニアリングツール
２  ＣＮＳ
３  プラント機器
４  制御ネットワーク
５  トラッキングケーブル
１１  プログラムエディタ
１２  変更前プロジェクト
１３  変更後プロジェクト
１４  変更点抽出機能
１５  図枠用のＷＯＲＤファイル
１６  回路図変更点リスト
１７  ＷＯＲＤ
１８  紙ファイル
１９  変更ページ抽出機能
２０  ＷＯＲＤファイル変更ページ一覧
１００  ＣＰＵ
１０１  プログラムメモリ
１０２  ＲＡＭ
１０３  外部記憶装置
１０６  バス
１２１  回路図データ
１３１  回路図データ
１４１  ネット情報機能
１４２  テキストデータ（変更前）
１４３  テキストデータ（変更後）
１４４  Ｄｉｆｆ機能
１４５  ＷＯＲＤ生成機能
１４６  テキスト修正機能
１４７  マーク除去機能
１４８  変更行リスト
１４９  転送機能
２００  ＣＰＵ
２０１  プログラムメモリ
２０４  不揮発性メモリ
２０５  トラッキングメモリ
２０６  バス
１４２１  修正テキストデータ（変更前）
１４３１  修正テキストデータ（変更後）
【図１】
2011113276.tif 000003
【図２】
2011113276.tif 000004
【図３】
2011113276.tif 000005
【図４】
2011113276.tif 000006
【図５】
2011113276.tif 000007
【図６】
2011113276.tif 000008
【図７】
2011113276.tif 000009
【図８】
2011113276.tif 000010
【図９】
2011113276.tif 000011
【図１０】
2011113276.tif 000012
【図１１】
2011113276.tif 000013
【図１２】
2011113276.tif 000014
【図１３】
2011113276.tif 000015
【図１４】
2011113276.tif 000016
【図１５】
2011113276.tif 000017