(57)【特許請求の範囲】
【請求項１】
複数のプログラムを比較してその差分を照合するプログラムの照合装置において、
比較されるプログラム間の相違がある行である差分行並びにその差分行以外の全行を同一画面上に表示する照合手段を備え、
前記照合手段は、前記差分行を識別表示すると共に、複数の差分行を順次ジャンプして表示することを特徴とするプログラムの照合装置。
【請求項２】
前記差分行を編集する編集手段を備えることを特徴とする請求項１に記載のプログラムの照合装置。
【請求項３】
前記差分行を、比較対象のプログラムの差分行に合成するマージ手段を備えることを特徴とする請求項１または２に記載のプログラムの照合装置。
【請求項４】
前記マージ手段は、差分行毎に比較対象のプログラムの差分行に合成することを特徴とする請求項３に記載のプログラムの照合装置
【請求項５】
前記マージ手段は、差分行を一括して比較対象のプログラムの差分行に合成することを特徴とする請求項３に記載のプログラムの照合装置。
【請求項６】
前記マージ手段は、差分合成後のプログラムを再表示することを特徴とする請求項３乃至５のいずれかに記載のプログラムの照合装置。
【請求項７】
前記プログラムは、プログラマブルコントローラに適用されるラダープログラムであることを特徴とする請求項１乃至６のいずれかに記載のプログラムの照合装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプログラムを比較してその差分を照合するプログラムの照合装置に関する。本発明の照合対象となるプログラムは、プログラマブルロジックコントローラ（以下、ＰＬＣ）に適用されるラダープログラムである。
【背景技術】
【０００２】
図３は、従来のプログラムの照合装置の構成例を示す機能ブロック図である。１は、フィールド機器（図示せず）を制御するＰＬＣであり、１１はこのＰＬＣにおいて稼動中のプログラムＡのファイルである。
【０００３】
このプログラムＡは、予め上位装置でエンジニアリングされてダウンロードされたものであるが、ユーザ２によりオンラインメンテナンスが実行されると、ダウンロード時の内容に対して変更が生ずる。
【０００４】
３は、ＰＬＣ１が接続される通信バスである。４は、この通信バス３を介してＰＬＣ１と通信する上位装置であり、プログラム間の差分照合と編集機能を有する。上位装置４において、４１は、通信バス３を介してＰＬＣ１より取得してコピーした稼働中のプログラムＡのファイルである。４２はプログラム生成手段である。４３及び４４は、このプログラム生成手段でユーザが生成したプログラムＡ´及びプログラムＡ″のファイルである。
【０００５】
以下、差分照合と編集に関連する構成につき説明する。４５は差分抽出手段であり、比較対象のプログラムＡ，Ａ´，Ａ″を比較して差分がある場合にはそれを抽出し、その差分データ（ニモニック）を差分データ表示手段４６に渡して表示させる。
【０００６】
編集者５は、この差分に関する表示データを情報とし、編集手段４７で変更対象のプログラム（Ａ，Ａ´，Ａ″のいずれか）を呼び出して表示し、変更箇所を検索した上で、ラダープログラム上の相違点を確認する。確認後、編集者５は必要に応じて差分内容を編集し、その編集結果を比較相手のプログラムに合成して保存手段４９により保存する、マージを実行する。
【０００７】
図４は、マージの実行手順を示すイメージ図である。ファイル４１及び４３のプログラムＡ及びＡ´が比較されて差分データが抽出され、差分表示手段４６にニモニック表示される。この差分データとプログラム表示手段４８によるプログラムＡの表示画面により編集を実行し、その結果をプログラムＡ´側に保存することでマージが実行される。
【０００８】
特許文献１には、プログラマブルロジックコントローラのプログラミング、特にラダー作成ツールに有効に適用可能なプログラム入力支援方法が記載されている。
【０００９】
【特許文献１】特開２００４−２５９０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来のプログラムの照合装置では、次のような問題点があった。
（１）差分データ表示手段により、プログラムの差分はニモニックではわかるが、実際のラダープログラムで表現されないので、プログラムをイメージできない。
【００１１】
（２）プログラムを呼び出して表示した場合に、差分個所とラダー位置を編集者が判定しなくてはならず、操作が煩雑である。
【００１２】
（３）差分データを実際のラダープログラムに反映するためには、表示されているニモニックを理解してラダーに置き換える必要があり、操作が煩雑である。
【００１３】
（４）差分のマージの数が多くなると、差分結果と実際のマージ対象個所が異なってわからなくなり、マージの操作ミスの要因となる。
【００１４】
（５）このようなことから、従来の差分データ表示手段による機能では、差分はわかったとしても、差分マージを行うことは処理時間や品質に大きな影響を及ぼしていた。
【００１５】
従って本発明が解決しようとする課題は、複数プログラムの差分照合を行なう場合に、差分のあるプログラムの記述行と差分行以外の全行を同時に把握できるプログラム照合装置を実現することにある。
【課題を解決するための手段】
【００１６】
このような課題を達成するために、本発明の構成は次の通りである。
（１）複数のプログラムを比較してその差分を照合するプログラムの照合装置において、
比較されるプログラム間の相違がある行である差分行並びにその差分行以外の全行を同一画面上に表示する照合手段を備え、
前記照合手段は、前記差分行を識別表示すると共に、複数の差分行を順次ジャンプして表示することを特徴とするプログラムの照合装置。
【００１９】
（２）前記差分行を編集する編集手段を備えることを特徴とする（１）に記載のプログラムの照合装置。
【００２０】
（３）前記差分行を、比較対象のプログラムの差分行に合成するマージ手段を備えることを特徴とする（１）または（２）に記載のプログラムの照合装置。
【００２１】
（４）前記マージ手段は、差分行毎に比較対象のプログラムの差分行に合成することを特徴とする（３）に記載のプログラムの照合装置。
【００２２】
（５）前記マージ手段は、差分行を一括して比較対象のプログラムの差分行に合成することを特徴とする（３）に記載のプログラムの照合装置。
【００２３】
（６）前記マージ手段は、差分合成後のプログラムを再表示することを特徴とする（３）乃至（５）のいずれかに記載のプログラムの照合装置。
【００２４】
（７）前記プログラムは、プログラマブルコントローラに適用されるラダープログラムであることを特徴とする（１）乃至（６）のいずれかに記載のプログラムの照合装置。
【発明の効果】
【００２５】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
（１）照合手段の比較表示画面により、実際のラダープログラムの表現で差分を視覚的に把握することができる。
【００２６】
（２）プログラムを呼び出して、差分個所とラダー位置を編集者が判定する煩雑な操作をする必要がない。
【００２７】
（３）ニモニック表示の差分データを、実際のラダープログラムに置き換える煩雑な操作をする必要がない。
【００２８】
（４）差分のマージの数が多くなっても、差分結果と実際のマージ対象個所が比較表示画面で視覚的に確認できるので、マージの操作ミスが発生しない。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を図面により詳細に説明する。図１は本発明を適用したプログラムの照合装置の一実施形態を示す機能ブロック図である。図３で説明した従来装置と同一要素には同一符号を付して説明を省略する。以下、本発明の特徴部につき説明する。
【００３０】
図１において、１００は本発明が適用された上位装置である。この上位装置１００において、プログラムＡの取得ファイル１０１、プログラム生成手段１０２、生成されたプログラムＡ´及びＡ″のファイル１０３及び１０４は、図３の従来装置で説明した構成要素４１乃至４４と同一機能を有する。
【００３１】
１０５は、本発明の主要部をなす照合手段であり、比較されるプログラム間の相違がある行である差分行並びにその差分行以外の全行を同一画面上に表示する。１０５ａはプログラムＡとプログラムＡ´の比較表示画面であり、対応する２箇所の差分行Ｓ１とＳ１´及びＳ２とＳ２´が、差分行以外の全行と共に同一画面上に比較表示されている。
【００３２】
図２は、差分行を含むラダープログラムを表示する比較表示画面１０５ａの実際の表示画面例である。照合手段１０５は、差分行Ｓ１とＳ１´及びＳ２とＳ２を、視覚的に把握し易いように、図示に様な網掛けや変色等により識別表示する。
【００３３】
比較表示画面１０５ａでは、プログラムＡ及びプログラムＡ´の全行を１画面に表示することは不可能であるから、スクロール表示となる。プログラム照合手段１０５は、この場合、複数の差分行を順次ジャンプして表示する機能を有する。この機能により差分行の確認作業を効率化することができる。
【００３４】
１０６は編集手段であり、編集者５は照合手段１０５の表示情報に基づいて差分行を順次チェックしながら必要に応じてその差分行を編集することができる。１０７はマージ手段であり、表示された差分行及び編集された差分行を比較対象のプログラムに合成するマージを実行することができる。
【００３５】
マージ手段１０７は、差分行毎に比較対象のプログラムの差分行に合成することができる。図２では、プログラムＡの差分行Ｓ１を、プログラムＡ´の差分行Ｓ１´にマージする例を示している。マージ手段１０７は、複数個の差分行を一括して比較対象のプログラムの差分行に合成することもできる。
【００３６】
更に、マージ手段１０７は、差分合成後のプログラムをリアルタイムに再表示することができ、マージ結果の妥当性を即座に確認することができる。これにより、マージミスの軽減を実現することが可能である。
【００３７】
照合手段１０５、編集手段１０６、マージ手段１０６の各種操作は、画面に表示される操作候補スイッチ（図示せず）をクリックすることで実行される。これらの操作機能は、ウィンドウズ（登録商標）でサポートされている標準的なソフトウェアで開発可能である。
【００３８】
本発明のモニタ対象となるプログラムとしては、プログラマブルコントローラに適用されるラダープログラムの例を示したが、これに限定されるものではなく、本発明は、プログラム一般の照合とマージを実行する装置に有効に適用することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明を適用したプログラムの照合装置の一実施形態を示す機能ブロック図である。
【図２】差分行を含むラダープログラムの比較表示画面の実際の画面表示例である。
【図３】従来のプログラムの照合装置の構成例を示す機能ブロック図である。
【図４】マージの実行手順を示すイメージ図である。
【符号の説明】
【００４０】
１  ＰＬＣ
１１  プログラムＡのファイル
２  ユーザ
３  通信バス
５  編集者
１００  上位装置
１０１  プログラムＡの取得ファイル
１０２  プログラム生成手段
１０３  プログラムＡ´のファイル
１０４  プログラムＡ″のファイル
１０５  照合手段
１０５ａ  比較表示画面
１０６  編集手段
１０７  マージ手段
【図１】
0004556807.tif 000002
【図２】
0004556807.tif 000003
【図３】
0004556807.tif 000004
【図４】
0004556807.tif 000005