(57)【特許請求の範囲】
【請求項１】
ユーザからの要求がある前に、各々が機器に動作を設定するためのデータである３つ以上の動作設定データの各々の間の差異を抽出し、前記３つ以上の動作設定データの各々の間の一致率を算出し、算出した一致率に基づき、前記３つ以上の動作設定データと１対１で関連付けられている３つ以上の関連動作設定データの各々の間の差異を抽出する際の抽出順序を決定し、決定した抽出順序に従って、前記３つ以上の関連動作設定データの各々の間の差異を抽出し、抽出した前記３つ以上の関連動作設定データの各々の間の差異が示される差異情報を生成する差異抽出部と、
前記差異抽出部により生成された前記差異情報を、任意の記憶装置に格納する差異情報格納部と、
前記ユーザから要求があった場合に、前記記憶装置から前記差異情報を取得し、取得した前記差異情報を任意の表示装置に出力する要求応答部とを有する情報処理装置。
【請求項２】
前記差異抽出部は、
一致率の降順及び一致率の昇順のいずれかに従って前記抽出順序を決定する請求項１に記載の情報処理装置。
【請求項３】
前記差異抽出部は、
前記３つ以上の動作設定データのうち一致率が閾値未満である２つのデータと関連付けられている２つの関連動作設定データの間の差異の抽出は行わないことを決定する請求項１に記載の情報処理装置。
【請求項４】
コンピュータが、ユーザからの要求がある前に、各々が機器に動作を設定するためのデータである３つ以上の動作設定データの各々の間の差異を抽出し、前記３つ以上の動作設定データの各々の間の一致率を算出し、算出した一致率に基づき、前記３つ以上の動作設定データと１対１で関連付けられている３つ以上の関連動作設定データの各々の間の差異を抽出する際の抽出順序を決定し、決定した抽出順序に従って、前記３つ以上の関連動作設定データの各々の間の差異を抽出し、抽出した前記３つ以上の関連動作設定データの各々の間の差異が示される差異情報を生成し、
前記コンピュータが、生成された前記差異情報を、任意の記憶装置に格納し、
前記ユーザから要求があった場合に、前記コンピュータが、前記記憶装置から前記差異情報を取得し、取得した前記差異情報を任意の表示装置に出力する情報処理方法。
【請求項５】
ユーザからの要求がある前に、各々が機器に動作を設定するためのデータである３つ以上の動作設定データの各々の間の差異を抽出し、前記３つ以上の動作設定データの各々の間の一致率を算出し、算出した一致率に基づき、前記３つ以上の動作設定データと１対１で関連付けられている３つ以上の関連動作設定データの各々の間の差異を抽出する際の抽出順序を決定し、決定した抽出順序に従って、前記３つ以上の関連動作設定データの各々の間の差異を抽出し、抽出した前記３つ以上の関連動作設定データの各々の間の差異が示される差異情報を生成する差異抽出処理と、
前記差異抽出処理により生成された前記差異情報を、任意の記憶装置に格納する差異情報格納処理と、
前記ユーザから要求があった場合に、前記記憶装置から前記差異情報を取得し、取得した前記差異情報を任意の表示装置に出力する要求応答処理とをコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのプログラムの間の差異を抽出する技術に関する。
【背景技術】
【０００２】
以下、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）エンジニアリングソフトウェアのプロジェクト管理について説明を行う。
通常、ＦＡ機器メーカーは、ＦＡエンジニアリングソフトウェアを用いて、プロジェクトを作成する。そして、ＦＡ機器メーカーは、プロジェクトで管理しているプログラム及び設定データをＦＡ機器に書き込むことで、ＦＡ機器に動作を設定する。このように、ＦＡエンジニアリングソフトウェアでは、プロジェクトという単位で、ＦＡ機器に搭載されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が実行するプログラム及びＣＰＵが用いるパラメータ等の設定データを管理する。つまり、プロジェクトは、プログラム及び設定データの管理単位である。なお、ＦＡ機器は、例えば、プログラマブルコントローラ又は表示器である。
以降の説明で、「プログラム」と「設定データ」を、ＦＡ機器に動作を設定するための「動作設定データ」という。以下では、「動作設定データ」は、「プログラム」単独、「設定データ」単独、「プログラム」と「設定データ」の両方のいずれかを意味する。
なお、設定データの詳細は後述する。【０００３】
ＦＡ機器の動作の改良又は不具合修正を効率的に行うため、編集前後のプログラム間や、仕向け先が異なるプログラム間で比較を行う技術が存在する。
例えば、特許文献１では、共通のソースファイルから複数種類のプログラムを効率的に生成するために、共通のソースファイルから仕向け別に抽出した構成部分同士の比較を行うことが開示されている。更に、特許文献１では、比較の結果、共通する部分ごとに、仕向け別プログラムをグループ分けし、デバッグすべき範囲を明確化することが開示されている。このような手順により、特許文献１の技術によれば、デバッグ作業の負担を低減することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１０８６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＦＡ機器メーカーを含む機器メーカーは、様々な仕向け別に動作設定データを生成している。また、機器メーカーは、過去に生成した動作設定データを蓄積している。しかし、それら動作設定データは仕向け先の機器の動作条件によって記述内容が異なる。また、似たような動作設定データが多数存在する。このため、既存の動作設定データ間の差異及び既存の動作設定データ間での共通部分を把握することが困難であり、動作設定データの整理がうまくできていない。特許文献１の技術は、新規プログラムを効率よく生成することができるが、既存の動作設定データを比較して既存の動作設定データを効率的に整理することはできない。【０００６】
また、動作設定データ間の比較を行う際は、プロジェクトの生成に用いられたエンジニアリングソフトウェア（例えば、ＦＡエンジニアリングソフトウェア）を起動し、当該エンジニアリングソフトウェアの照合機能を実行して動作設定データ間の比較を行う。
しかし、エンジニアリングソフトウェアを起動するためには多くの時間を必要とする。そして、エンジニアリングソフトウェアが起動された後に、動作設定データ間の比較が行われる。このように、現状では、動作設定データ間の差異をユーザに表示するまでには多くの時間が必要である。【０００７】
本発明は、このような課題を解決することを主な目的とする。より具体的には、本発明は、ユーザから要求があった場合に、動作設定データ間の差異を即座に表示できるようにすることを主な目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、
ユーザからの要求がある前に、各々が機器に動作を設定するためのデータである２つの動作設定データの間の差異を抽出し、抽出した差異が示される差異情報を生成する差異抽出部と、
前記差異抽出部により生成された前記差異情報を、任意の記憶装置に格納する差異情報格納部と、
前記ユーザから要求があった場合に、前記記憶装置から前記差異情報を取得し、取得した前記差異情報を任意の表示装置に出力する要求応答部とを有する。
【発明の効果】
【０００９】
本発明によれば、ユーザから要求があった場合に、動作設定データ間の差異を即座に表示することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るパーソナルコンピュータの機能構成例を示す図。
【図３】実施の形態１に係るパーソナルコンピュータの動作例を示すフローチャート。
【図４】実施の形態１に係るプログラムの選択例を示す図。
【図５】実施の形態１に係るパーソナルコンピュータの動作例を示すフローチャート。
【図６】実施の形態１に係るプログラム選択画面の例を示す図。
【図７】実施の形態１に係るリビジョン選択画面の例を示す図。
【図８】実施の形態１に係る照合結果画面の例を示す図。
【図９】実施の形態２に係る仕向けごとのソフトウェアの例を示す図。
【図１０】実施の形態２に係る一致率の例を示す図。
【図１１】実施の形態２に係る照合順序の例を示す図。
【図１２】実施の形態１に係る表示器エンジニアリングソフトウェアを用いた画面設計例を示す図。
【図１３】実施の形態１に係る画面設計データの例を示す図。
【図１４】実施の形態１に係る照合結果画面の例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
【００１２】
実施の形態１．
本実施の形態では、ユーザから要求があった場合に、動作設定データ間の差異を即座に表示することができる構成を説明する。より具体的には、本実施の形態では、ユーザからの要求がある前に、動作設定データ間の差異を事前に照合し、動作設定データ間の差異が示される照合結果情報を任意の記憶装置で記憶する。そして、ユーザから要求があった際に、記憶装置から照合結果情報を取得し、取得した照合結果情報を任意の表示装置に出力する。
なお、以下の説明において、「照合」と「比較」は同じ意味である。
また、以下では、「動作設定データ」のうち「プログラム」間の差異を事前に照合し、「プログラム」間の差異が示される照合結果情報を任意の記憶装置で記憶する構成を説明する。
【００１３】
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るシステム構成例を示す。
本実施の形態では、図１に示すように、複数のパーソナルコンピュータ１００がネットワーク３０１を介してリポジトリサーバ２００に接続されるシステムを想定する。ネットワーク３０１は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）である。
なお、個々のパーソナルコンピュータ１００を区別する必要がある場合は、パーソナルコンピュータ１００−１のように接尾辞を追加して個々のパーソナルコンピュータ１００を区別する。個々のパーソナルコンピュータ１００を区別する必要が無い場合は、単にパーソナルコンピュータ１００と表記する。
図１は、リポジトリサーバ２００のハードウェア構成例とパーソナルコンピュータ１００−１のハードウェア構成例を示す。パーソナルコンピュータ１００−１以外のパーソナルコンピュータ１００のハードウェア構成例も図１に示すものと同様である。また、以下のパーソナルコンピュータ１００−１についての説明は、他のパーソナルコンピュータ１００についても適用される。
【００１４】
リポジトリサーバ２００は、プロセッサ２１０、メモリ２２０及び記憶装置２５０で構成される。
プロセッサ２１０は、メモリ２２０に保持されたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）２３０及びバージョン管理ソフトウェア２４０を実行する。バージョン管理ソフトウェア２４０は、記憶装置２５０内にリポジトリ２６０を生成する。
リポジトリ２６０には、プロジェクトデータベース２６１、変更履歴情報データベース２６２が含まれる。
プロジェクトデータベース２６１には、プロジェクト情報と、プロジェクトで用いられるプログラムが格納される。プロジェクト情報には、プロジェクトの詳細が記述される。
変更履歴情報データベース２６２には、プロジェクトで用いられるプログラムの変更履歴情報が格納される。変更履歴情報には、プロジェクトで用いられるプログラムの変更の履歴が示される。
プロジェクトデータベース２６１及び変更履歴情報データベース２６２への登録は各パーソナルコンピュータ１００により行われる。
メモリ２２０は、記憶装置２５０からロードされたＯＳ２３０及びバージョン管理ソフトウェア２４０を保持する。
プロセッサ２１０は、例えばＣＰＵである。メモリ２２０は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。記憶装置２５０は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
なお、リポジトリサーバ２００に照合結果情報データベースが存在していてもよい。照合結果情報データベースには、照合結果情報が格納される。照合結果情報には、動作設定データ間の照合結果が示される。
照合結果情報データベースの存在によって、パーソナルコンピュータ１００−１からリポジトリサーバ２００にアクセスし、任意のタイミングで所望の照合結果情報を取り出すことが可能となる。なお、照合結果情報データベースへの照合結果情報の登録は定周期で行われることが想定される。
【００１５】
パーソナルコンピュータ１００−１は、情報処理装置の例である。また、パーソナルコンピュータ１００−１により行われる動作は、情報処理方法の例である。
パーソナルコンピュータ１００−１は、プロセッサ１１０、メモリ１２０、記憶装置１５０、入力装置１６０及び表示装置１７０で構成される。
プロセッサ１１０は、メモリ１２０に保持されたＯＳ１３０及びアプリケーション１４０を実行する。プロセッサ１１０がＯＳ１３０を実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
アプリケーション１４０には、バージョン管理ソフトウェア１４１とＦＡエンジニアリングソフトウェア１４２が含まれる。バージョン管理ソフトウェア１４１とＦＡエンジニアリングソフトウェア１４２は、情報処理プログラムの例である。
メモリ１２０は、記憶装置１５０からロードされたＯＳ１３０、バージョン管理ソフトウェア１４１及びＦＡエンジニアリングソフトウェア１４２を保持する。
記憶装置１５０には、プロジェクトデータベース１５１、変更履歴情報データベース１５２及び照合結果情報データベース１５３が含まれる。
照合結果情報データベース１５３には、照合結果情報が格納される。照合結果情報には、動作設定データ間の照合結果が示される。
入力装置１６０は、パーソナルコンピュータ１００−１のユーザからの要求又は指示を取得する。
表示装置１７０は、プロセッサ１１０の実行結果等を表示する。
プロセッサ１１０は、例えばＣＰＵである。メモリ１２０は、例えばＲＡＭである。記憶装置１５０は、例えばＨＤＤ、ＳＳＤ等である。入力装置１６０は、例えばマウス、キーボード等である。表示装置１７０は、例えばディスプレイ等である。
【００１６】
ＦＡエンジニアリングソフトウェア１４２は、プロジェクトを作成及び変更を行う。より詳細には、ＦＡエンジニアリングソフトウェア１４２は、プロジェクトで用いられるプログラムの生成及び変更を行う。また、ＦＡエンジニアリングソフトウェア１４２はプログラム間の照合を行う。
バージョン管理ソフトウェア１４１は、プロジェクトの作成および変更に伴って変更履歴情報を生成する。また、バージョン管理ソフトウェア１４１は、生成した変更履歴情報を変更履歴情報データベース１５２に格納する。変更履歴情報には、プロジェクトで用いられるプログラムの変更の履歴が示される。
また、バージョン管理ソフトウェア１４１は、照合結果情報を用いて照合結果を表示装置１７０に表示する。照合結果情報には、プログラム間の照合結果が示される。
更に、バージョン管理ソフトウェア１４１は、プログラム、プロジェクト情報、変更履歴情報及び照合結果情報をリポジトリ２６０に登録する。また、バージョン管理ソフトウェア１４１は、リポジトリ２６０からプログラム、プロジェクト情報、変更履歴情報及び照合結果情報を取得する。
【００１７】
図２は、パーソナルコンピュータ１００の機能構成例を示す。
つまり、図２は、図１に示すバージョン管理ソフトウェア１４１とＦＡエンジニアリングソフトウェア１４２の詳細を示す。
【００１８】
バージョン管理ソフトウェア１４１は、プロジェクト管理部１１、操作部１２、照合依頼部１３照合結果管理部１５及び表示部１６を有する。
ＦＡエンジニアリングソフトウェア１４２は、照合部１４を有する。
照合部１４は、差異抽出部の例である。照合部１４により行われる処理は差異抽出処理の例である。照合結果管理部１５は、差異情報格納部の例である。照合結果管理部１５により行われる処理は差異情報格納処理の例である。表示部１６は、要求応答部の例である。表示部１６により行われる処理は要求応答処理の例である。
【００１９】
プロジェクト管理部１１は、プロジェクトの新規登録の際に、プログラム、プロジェクト情報をプロジェクトデータベース１５１に登録する。また、プロジェクト管理部１１は、プロジェクトの新規登録の際に、変更履歴情報を変更履歴情報データベース１５２に登録する。また、プロジェクト管理部１１は、プロジェクトに変更が生じた際、つまり、プログラムに変更が生じた際に、当該変更が反映されるように変更履歴情報を更新し、更新後の変更履歴情報を変更履歴情報データベース１５２に登録する。また、プロジェクト管理部１１は、記憶装置１５０から、プログラム及び変更履歴情報を取得する。
【００２０】
操作部１２は、プロジェクト管理部１１を介して、プロジェクトデータベース１５１から、照合対象の２つのプロジェクトの２つのプログラムを取得する。つまり、操作部１２は、プロジェクトデータベース１５１から、２つのプログラムを取得する。そして、操作部１２は、取得した２つのプログラムを照合依頼部１３に出力する。
例えば、操作部１２は、派生元のプログラムと派生先のプログラムを取得する。また、操作部１２は、例えば、共通のコードブロックが用いられている２つのプログラムを取得する。更には、操作部１２は、例えば、仕向け先が共通する２つのプログラムを取得する。操作部１２がどのようなプログラムを取得対象とするかは、例えば、パーソナルコンピュータ１００のユーザが任意に決定することができる。
また、プログラムと後述するリビジョンとの照合が行われる場合は、操作部１２は、プロジェクト管理部１１を介して、プロジェクトデータベース１５１から照合対象のプログラムを取得し、変更履歴情報データベース１５２から変更履歴情報を取得する。そして、操作部１２は、照合対象のプログラムと変更履歴情報とを照合依頼部１３に出力する。
【００２１】
照合依頼部１３は、取得した２つのプログラムまたは取得したプログラムと変更履歴情報とを照合部１４に出力し、照合部１４にプロジェクト間の照会、すなわち、プログラム間の照会を依頼する。
【００２２】
照合部１４は、プロジェクト間の照合を行う。つまり、照合部１４は、照合依頼部１３から２つのプログラムを取得した場合は、取得した２つのプログラムを比較して、２つのプログラムの間の差異を抽出する。
また、照合依頼部１３からプログラムと変更履歴情報を取得した場合、すなわち、プログラムとリビジョンとの照合を行う場合は、照合部１４は、プログラムと変更履歴情報とを比較して、変更履歴情報から得られるプログラムと、取得したプログラムとの差異を抽出する。
リビジョンとは、プログラムに対する変更イベントである。変更履歴情報には、プログラムに発生した変更が示される。プログラムｘに対して変更ｓ、変更ｔ及び変更ｕが行われてプログラムｙが得られる場合を想定する。この場合は、変更履歴情報には、変更ｓ、変更ｔ及び変更ｕが示される。照合部１４は、プログラムｘと変更履歴情報に示される変更ｓ、変更ｔ及び変更ｕとを比較し、プログラムｘと、プログラムｘに変更ｓ、変更ｔ及び変更ｕが行われて得られるプログラムｙとの差異を抽出する。
そして、照合部１４は、抽出した差異が示される照合結果情報を生成する。照合部１４は、照合結果情報に、照合対象のプログラムの名称を含ませる。また、照合部１４は、プログラムとリビジョンとの照合を行った場合は、リビジョン番号も照合結果情報に含ませる。
照合部１４は、生成した照合結果情報を照合結果管理部１５に出力する。
【００２３】
照合結果管理部１５は、照合部１４から取得した照合結果情報を照合結果情報データベース１５３に格納する。
また、照合結果管理部１５は、照合結果情報データベース１５３から、照合結果情報を取得する。
【００２４】
表示部１６は、パーソナルコンピュータ１００のユーザから要求があった場合に、照合結果管理部１５を介して、記憶装置１５０から照合結果情報を取得する。そして、表示部１６は、取得した照合結果情報を表示装置１７０に出力する。
【００２５】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係るパーソナルコンピュータ１００の動作例を説明する。
まず、照合結果情報を保存する際のパーソナルコンピュータ１００の動作例を図３のフローチャートを参照して説明する。
【００２６】
プロジェクト管理部１１は、プロジェクトデータベース１５１にプロジェクトが新規に登録されるとき（プロジェクトデータベース１５１にプログラム及びプログラム情報が新規に登録されるとき）及び登録されているプロジェクトに変更が発生したとき（登録されているプログラムに変更が発生したとき）のいずれかに、プロジェクトの変更履歴情報を変更履歴情報データベース１５２に登録する（ステップＳ１０１）。
なお、プロジェクトが新規に登録される際には、プロジェクト管理部１１はプログラム及びプロジェクト情報のプロジェクトデータベース１５１への登録も行う。
【００２７】
次に、プロジェクト管理部１１は、ステップＳ１０１で登録された変更履歴情報をリポジトリサーバ２００に登録する（ステップＳ１０２）。
なお、ステップＳ１０１においてプロジェクトが新規に登録されている場合は、プロジェクト管理部１１は、プロジェクト情報及びプログラムもリポジトリサーバ２００に登録する。
【００２８】
次に、プロジェクト管理部１１は、リポジトリサーバ２００から他のパーソナルコンピュータ１００のプロジェクト情報及び変更履歴情報を取得し、プロジェクトデータベース１５１及び変更履歴情報データベース１５２を更新する（ステップＳ１０３）。
より具体的には、プロジェクト管理部１１は、リポジトリサーバ２００から取得した他のパーソナルコンピュータ１００のプロジェクト情報をプロジェクトデータベース１５１に登録して、プロジェクトデータベース１５１を更新する。また、プロジェクト管理部１１は、リポジトリサーバ２００から取得した他のパーソナルコンピュータ１００の変更履歴情報を変更履歴情報データベース１５２に登録して、変更履歴情報データベース１５２を更新する。また、リポジトリサーバ２００に新規に登録された他のパーソナルコンピュータ１００のプログラムがあれば、プロジェクト管理部１１は、リポジトリサーバ２００から当該プログラムを取得し、取得したプログラムをプロジェクトデータベース１５１に登録する。プロジェクト管理部１１は、ステップＳ１０３を行うことで、他のパーソナルコンピュータ１００でのプログラムの生成、プログラムに対する変更をプロジェクトデータベース１５１及び変更履歴情報データベース１５２に反映させることができる。
プロジェクト管理部１１は、例えば、毎分、毎時、毎日等の定周期で、ステップＳ１０３を行う。または、プロジェクト管理部１１は、ユーザから任意のタイミングで要求された際に、ステップＳ１０３を行うようにしてもよい。
データの更新があり、バージョン管理ソフトウェア１４１がリビジョンからブランチを生成可能な場合、ブランチで管理している派生元のプログラムに変更が発生した際に、派生元のプログラムと、派生先のプログラムを照合対象とし、派生元のプログラムと同じ変更を派生先のプログラムに水平展開させることで、新しいリビジョンを生成できるようにしてもよい。
【００２９】
次に、操作部１２が、照合対象のプログラムを選択する（ステップＳ１０４）。
操作部１２は、照合対象の２つのプログラムを選択する。操作部１２は、２つのプロジェクトの２つのプログラムを選択することもあるし、１つのプロジェクトのリビジョン前のプログラムとリビジョン後のプログラムを選択することもある。操作部１２は、任意の方法で照合対象のプログラムを選択することができる。
【００３０】
図４は、ステップＳ１０４における操作部１２のプログラムの選択例を示す。
図４では、仕向けＡのプロジェクトと仕向けＢのプロジェクトという２つのプロジェクトが存在している。仕向けＡのプロジェクトでは、リビジョン番号１にて新規にプログラムが生成されている。リビジョン番号１で生成されたプログラムを以下、オリジナルプログラムという。そして、仕向けＡのプロジェクトでは、オリジナルプログラムに対して、リビジョン番号２、リビジョン番号３及びリビジョン番号４の変更が発生している。仕向けＢのプロジェクトでは、オリジナルプログラムに対して、リビジョン番号２及びリビジョン番号３の変更が発生している。仕向けＡのプロジェクトのリビジョン番号２と仕向けＢのプロジェクトのリビジョン番号２では、異なる変更が発生している。同様に、仕向けＡのプロジェクトのリビジョン番号３と仕向けＢのプロジェクトのリビジョン３番号では、異なる変更が発生している。
操作部１２は、ステップＳ１０４において、プログラム間照合の対象として、図４の破線の矢印に示すように、仕向けＡのプロジェクトのリビジョン番号４の変更の後のプログラムと、仕向けＢのプロジェクトのリビジョン番号３の変更の後のプログラムとを選択することができる。また、操作部１２は、ステップＳ１０４において、リビジョン間照合の対象として、リビジョン前のプログラムとリビジョン後のプログラムとを選択することができる。例えば、操作部１２は、図４の実線の矢印に示すように、オリジナルプログラムと、仕向けＡプロジェクトのリビジョン番号２の変更の後のプログラムを選択することができる。操作部１２は、同じプロジェクトに属する、リビジョンの全ての組合せを選択する。
【００３１】
また、操作部１２は、プロジェクト管理部１１を介し、ステップＳ１０４の選択に対応するプログラム及び変更履歴情報をプロジェクトデータベース１５１及び変更履歴情報データベース１５２から取得する。
図４のリビジョン間照合では、操作部１２は、プロジェクトデータベース１５１からオリジナルプログラムと仕向けＡプロジェクトの変更履歴情報を取得する。
図４のプログラム間照合では、オリジナルプログラムが共通するので、操作部１２は、プロジェクトデータベース１５１からオリジナルプログラムを取得し、また、変更履歴情報データベース１５２から仕向けＡプロジェクトの変更履歴情報と仕向けＢプロジェクトの変更履歴情報とを取得する。
そして、操作部１２は、プロジェクト管理部１１から取得したプログラム、変更履歴情報を照合依頼部１３に出力する。
【００３２】
次に、照合依頼部１３が、照合部１４に照合を依頼する（ステップＳ１０５）。
照合依頼部１３は、操作部１２から１つのプログラムと１つの変更履歴情報を取得した場合は、図４に例示するリビジョン間照合を照合部１４に依頼する。
また、操作部１２から１つのプログラムと２つの変更履歴情報を取得した場合は、図４に例示するプログラム間照合を照合部１４に依頼する。
【００３３】
次に、照合部１４が、照合依頼部１３から依頼された照合を実行する（ステップＳ１０６）。そして、照合部１４は、照合結果が示される照合結果情報を生成する。照合結果情報には、照合対象の２つのプログラムの差異が示されるので、照合結果情報は差異情報に相当する。
照合部１４は、照合結果情報にプログラムの名称とリビジョン番号を含ませる。照合部１４は、例えば、取得したプログラム又は変更履歴情報からプログラムの名称を抽出する。また、照合部１４は、例えば、取得した変更履歴情報からリビジョン番号を抽出する。
照合部１４は、生成した照合結果情報を照合結果管理部１５に出力する。
なお、照合部１４は、照合結果情報を任意の形式で生成することができる。照合部１４は、例えば、照合結果情報を画像ファイルとして生成することができる。例えば照合部１４が照合結果情報を画像ファイルとして生成すれば、表示部１６が照合結果を高速に表示することができる。また、照合部１４が照合結果情報をＪＰＥＧ形式の画像ファイルとして生成すれば、プログラムの名称とリビジョン番号をタグ情報として扱うことが可能である。
【００３４】
次に、照合結果管理部１５が、照合部１４から照合結果情報を取得し、取得した照合結果情報を照合結果情報データベース１５３に格納する（ステップＳ１０７）。
【００３５】
最後にプロジェクト管理部１１が、パーソナルコンピュータ１００で生成又は更新された全てのプログラムに対して照合が完了したかどうかを判定する（ステップＳ１０８）。全てのプログラムに対して照合が完了していない場合には（ステップＳ１０８でＮＯ）、ステップＳ１０４からステップＳ１０７までの処理が再び行われる。一方、全てのプログラムに対して照合が完了している場合には（ステップＳ１０８でＹＥＳ）、処理が終了する。
なお、全てのプログラムに対して照合が完了した際に、表示部１６が表示装置１７０に完了通知を表示することでユーザに照合が完了してもよい。このようにすることで、ユーザが早期に照合結果情報を参照することができる。
【００３６】
例えば、プログラムｉ、プログラムｊ及びプログラムｋがパーソナルコンピュータ１００で生成されたとする。照合部１４は、プログラムｉとプログラムｊとを照合し、プログラムｉとプログラムｊとの間の差異を抽出する。また、照合部１４は、プログラムｉとプログラムｋとを照合し、プログラムｉとプログラムｋとの間の差異を抽出する。また、照合部１４は、プログラムｊとプログラムｋとを照合し、プログラムｊとプログラムｋとの間の差異を抽出する。そして、プロジェクト管理部１１は、プログラムｉとプログラムｊとの間の差異が示される照合結果情報、プログラムｉとプログラムｋとの間の差異が示される照合結果情報、プログラムｊとプログラムｋとの間の差異が示される照合結果情報を照合結果情報データベース１５３に格納する。
このように、本実施の形態では、プログラムの間の照合を全ての組み合わせで行うことで、ユーザからの要求がある前に全てのプログラムの組み合わせについて照合結果情報を得ることができる。
【００３７】
次に、照合結果を表示する際のパーソナルコンピュータ１００の動作例を説明する。
【００３８】
パーソナルコンピュータ１００のユーザが、入力装置１６０を用いてプログラム間照合及びリビジョン間照合のどちらを実行するかを選択する。
ユーザが前者を選択した場合は、表示部１６がプログラム選択画面を表示装置１７０に表示する。一方、ユーザが後者を選択した場合は、表示部１６はリビジョン選択画面を表示装置１７０に表示する。図６はプログラム選択画面の例を示す。図７はリビジョン選択画面の例を示す。
【００３９】
ユーザは、プログラム選択画面が表示されている場合は、プログラム選択画面のプログラム指定領域４１０において照合対象のプログラムの一方を指定する。具体的には、ユーザは、プログラム指定領域４１０の名称４１２に照合対象のプログラムの一方の名称を入力することで、照合対象のプログラムの一方を指定することができる。名称４１２への入力後に、ユーザは実行ボタン４３０を押す。また、ユーザは、更新日時４１３に日時を入力することでより詳細に照合対象のプログラムの一方を指定することができる。なお、名称４１２にプログラムの名称が入力されると、アイコン４１１に、当該プログラムのアイコンが表示される。
ユーザが実行ボタン４３０を押すと、対応プログラム一覧４２０に、ユーザが指定したプログラムと対応関係にあるプログラムの名称の一覧が表示される。ユーザは、対応プログラム一覧４２０に表示されたプログラムの名称の中から任意のプログラムの名称を例えばマウスクリックすることで、照合対象のプログラムの他方を選択することができる。ユーザは、複数のプログラムの名称を選択することができる。照合対象のプログラムの他方を選択した後、ユーザが実行ボタン４３０を押すと、照合結果が表示される。
なお、ユーザが照合対象のプログラムの他方を選択しやすいように、対応プログラム一覧４２０に表示されるプログラムを、プログラムの更新日時の範囲やＦＡエンジニアリングソフトウェア固有の条件で制限してもよい。ＦＡエンジニアリングソフトウェアがシーケンスプログラム生成のためのソフトウェアであるの場合は、ＦＡエンジニアリングソフトウェア固有の条件による制限として、ＰＯＵ（Ｐｒｏｇｒａｍ  Ｏｒｇａｎｉｚａｔｉｏｎ  Ｕｎｉｔ）の個数がある規定数以下のプロジェクトは対応プログラム一覧４２０に表示しない等の制限を行うことができる。
【００４０】
一方、リビジョン選択画面が表示されている場合は、ユーザは、リビジョン選択画面のリビジョン指定領域５１０において照合対象のリビジョンの一方を指定する。具体的には、ユーザは、リビジョン指定領域５１０の名称５１２に照合対象のプログラムの名称を入力し、リビジョン番号５１３に該当するリビジョン番号を入力することで、照合対象のリビジョンの一方を指定することができる。名称５１２及びリビジョン番号５１３への入力後に、ユーザは実行ボタン５３０を押す。また、ユーザは、更新日時５１４に日時を入力することでより詳細に照合対象のリビジョンの一方を指定することができる。なお、名称５１２にプログラムの名称が入力されると、アイコン５１１に、当該プログラムのアイコンが表示される。
ユーザが実行ボタン５３０を押すと、対応リビジョン一覧５２０に、ユーザが指定したリビジョンと対応関係にあるリビジョンのリビジョン番号の一覧が表示される。ユーザは、対応リビジョン一覧５２０に表示されたリビジョン番号の中から任意のリビジョン番号を例えばマウスクリックすることで、照合対象のリビジョンの他方を選択することができる。ユーザは複数のリビジョン番号を選択することができる。照合対象のリビジョンの他方を選択した後、ユーザが実行ボタン５３０を押すと、照合結果が表示される。
対応リビジョン一覧５２０に、リビジョン番号に加えて、更新日時、コメント等が表示されてもよい。
【００４１】
ユーザが照合対象のプログラムの一方又は照合対象のリビジョンの一方を指定した後のパーソナルコンピュータ１００の動作例を図５に示す。
以下、図５に沿って、パーソナルコンピュータ１００の動作を説明する。
【００４２】
ユーザが、プログラム選択画面のプログラム指定領域４１０において照合対象のプログラムの一方を指定した場合又はリビジョン選択画面のリビジョン指定領域５１０において照合対象のリビジョンの一方を指定した場合に、表示部１６は、対応関係にあるプログラム又はリビジョンの取得を照合結果管理部１５に依頼する（ステップＳ２０１）。
より具体的には、表示部１６は、プログラム指定領域４１０の名称４１２で指定されたプログラムの名称を照合結果管理部１５に通知して、当該プログラムと対応関係にあるプログラムの取得を依頼する。
また、表示部１６は、リビジョン指定領域５１０の名称５１２で指定されたプログラムの名称とリビジョン番号５１３で指定されたリビジョン番号とを照合結果管理部１５に通知して、当該プログラムのリビジョンと対応関係にあるリビジョンの取得を依頼する。
【００４３】
次に、照合結果管理部１５が、対応関係にあるプログラム又はリビジョンを取得する（ステップＳ２０２）。
具体的には、照合結果管理部１５は、表示部１６からプログラムの名称を取得した場合には、照合結果情報データベース１５３に蓄積されている照合結果情報から、表示部１６から取得したプログラムの名称が記載されている照合結果情報を抽出する。そして、照合結果管理部１５は、抽出した照合結果情報に記載されている他方のプログラムの名称を抽出する。なお、照合結果管理部１５は、抽出した、表示部１６から取得したプログラムの名称が記載されている照合結果情報をキャッシュメモリ等に格納する。
一方、表示部１６からプログラムの名称とリビジョン番号を取得した場合には、照合結果管理部１５は、照合結果情報データベース１５３に蓄積されている照合結果情報から、表示部１６から取得したプログラムの名称とリビジョン番号が記載されている照合結果情報を抽出する。そして、照合結果管理部１５は、抽出した照合結果情報に記載されている、表示部１６から取得したリビジョン番号以外のリビジョン番号を抽出する。なお、照合結果管理部１５は、抽出した、表示部１６から取得したプログラムの名称とリビジョン番号が記載されている照合結果情報をキャッシュメモリ等に格納する。
【００４４】
次に、表示部１６は、照合結果情報データベース１５３内の全ての照合結果情報に対してステップＳ２０２の処理が完了したか否かを判定する（ステップＳ２０３）。
照合結果情報データベース１５３内の全ての照合結果情報に対してステップＳ２０２の処理が完了している場合（ステップＳ２０３でＹＥＳ）は、照合結果管理部１５がステップＳ２０２で抽出したプログラムの名称又はリビジョン番号を表示部１６に出力する。その後、処理がステップＳ２０４に進む。一方、照合結果情報データベース１５３内の全ての照合結果情報に対してステップＳ２０２の処理が完了していない場合（ステップＳ２０３でＮＯ）は、ステップＳ２０２の処理が行われる。
【００４５】
ステップＳ２０３でＹＥＳの場合は、表示部１６は照合結果管理部１５から取得したプログラムの名称の一覧又はリビジョン番号の一覧を表示装置１７０に表示する（ステップＳ２０４）。
表示部１６は、照合結果管理部１５からプログラムの名称を取得した場合は、取得したプログラムの名称をプログラム選択画面（図６）の対応プログラム一覧４２０に列挙する。
また、照合結果管理部１５からリビジョン番号を取得した場合は、表示部１６は、取得したリビジョン番号をリビジョン選択画面（図７）の対応リビジョン一覧５２０に列挙する。
【００４６】
ステップＳ２０４にて表示されたプログラムの名称又はリビジョン番号からユーザによりいずれかのプログラムの名称又はリビジョン番号が選択された場合に（ステップＳ２０５でＹＥＳ）、表示部１６は、照合結果情報を取得するよう照合結果管理部１５に依頼する（ステップＳ２０６）。
ユーザによりプログラムの名称が選択された場合は、表示部１６は、ユーザに選択されたプログラムの名称を照合結果管理部１５に出力する。一方、ユーザによりリビジョン番号が選択された場合は、表示部１６は、ユーザに選択されたリビジョン番号を照合結果管理部１５に出力する。
【００４７】
次に、照合結果管理部１５が、照合結果情報データベース１５３から該当する照合結果情報を取得する（ステップＳ２０７）。
表示部１６からプログラムの名称を通知された場合は、照合結果管理部１５は、ステップＳ２０２で抽出した照合結果情報（キャッシュメモリ等に格納した照合結果情報）のうち、表示部１６から通知されたプログラムの名称が記載されている照合結果情報を取得する。
また、表示部１６からリビジョン番号を通知された場合は、照合結果管理部１５は、ステップＳ２０２で抽出した照合結果情報（キャッシュメモリ等に格納した照合結果情報）のうち、表示部１６から通知されたリビジョン番号が記載されている照合結果情報を取得する。
そして、照合結果管理部１５は、取得した照合結果情報を表示部１６に出力する。
【００４８】
次に、表示部１６は、照合結果管理部１５から取得した照合結果情報に基づき、照合結果を表示装置１７０に表示する（ステップＳ２０８）。
【００４９】
図８は、ステップＳ２０８で表示される照合結果画面の例を示す。
図８の照合結果画面６００は、照合対象のプログラムがシーケンスプログラムである場合の照合結果画面を示す。
【００５０】
照合結果画面６００には、画面スクロールが可能なプログラムビュー６１０及びプログラムビュー６２０が含まれる。プログラムビュー６１０及びプログラムビュー６２０には、照合対象のシーケンスプログラムが示される。
表示部１６は、照合結果画面６００において、ユーザが照合対象のプログラム間の差異を把握しやすいように、プログラムビュー６１０及びプログラムビュー６２０を左右に並べて表示する。なお、表示部１６は、プログラムビュー６１０及びプログラムビュー６２０を上下に並べて表示してもよい。
また、表示部１６は、図８に例示するように、色を変えることによりプログラム間の差異を強調表示してもよい。表示部１６は、色の違い以外の方法でプログラム間の差異を強調表示してもよい。
【００５１】
＊＊＊実施の形態の効果の説明＊＊＊
以上、本実施の形態によれば、ユーザから要求があった場合に、プログラム間の差異を即座に表示することができる。
【００５２】
従来は、照合対象のプログラムがテキスト形式で表現できないシーケンスプログラムである場合は、シーケンスプログラムの照合のためには、ＦＡエンジニアリングソフトウェアを起動し、処理負荷の高い演算を実行する必要があった。このため、照合に時間がかかっていた。
本実施の形態では、プログラムが新規に生成された際又はプログラムに変更があった際に、照合部１４がプログラム間の照合を行う。そして、照合結果管理部１５が、照合結果情報を記憶装置１５０に格納する。つまり、ユーザが照合を要求する前に照合結果情報が記憶装置１５０に存在しているので、ユーザが照合を要求した際に、記憶装置１５０の照合結果情報を取得することで、表示部１６は時間をかけずに照合結果を表示することができる。
【００５３】
ユーザは、図８に例示する照合結果画面６００でのプログラム間の差異の強調表示により、プログラム間の共通部分を理解することができる。図８の例では、符号６１１と符号６２１で示す部分がプログラム間の共通部分（以下では、共通回路ブロックという）である。共通回路ブロックを部品化することで、以後のプログラムの生成時に共通回路ブロックを再利用することができる。
図８に例示するようなプログラム間の照合結果が表示された後に、ユーザが共通回路ブロックの他のプログラムでの使用頻度を知りたい場合がある。つまり、共通回路ブロックが他のプログラムで多く使用されている場合は、ユーザは共通回路ブロックを部品化して以後のプログラムの生成時に共通回路ブロックを再利用しようとする。一方で、共通回路ブロックが他のプログラムであまり使用されていない場合は、ユーザは共通回路ブロックを部品化しようとは考えない。共通回路ブロックを部品化するか否かの検討のためにユーザは共通ブロックの他のプログラムでの使用頻度を知りたい場合がある。この場合に、共通部分の他のプログラムでの使用頻度を確認するためには、他のプログラムの間での照合を複数回実行する必要がある。従来は、このような場合に、他のプログラムの間での照合を都度行う必要があり、他のプログラムでの使用頻度を得るまでに長時間を要していた。
本実施の形態では、事前にプログラム間の照合が行われ、照合結果情報が記憶装置１５０に格納されているため、記憶装置１５０の照合結果情報を取得することで、表示部１６は時間をかけずに照合結果を表示することができる。このため、ユーザは、共通部分の他のプログラムでの使用頻度を早期に確認することができ、作業負担の軽減および作業効率の向上を図ることができる。
【００５４】
また、ステップＳ２０８にて照合結果を表示した際に、ユーザが照合対象のプログラムの詳細の確認又は編集を行うために、照合結果画面６００からＦＡエンジニアリングソフトウェア１４２を起動できるようにしてもよい。
この場合、表示部１６が、照合結果管理部１５から取得した照合結果情報に含まれている２つのプログラムの名称をプロジェクト管理部１１に通知し、プロジェクト管理部１１が通知されたプログラムの名称に対応するプログラムをプロジェクトデータベース１５１から取得してもよい。そして、ＦＡエンジニアリングソフトウェア１４２が、取得されたプログラムを起動するようにしてもよい。
【００５５】
なお、以上では、「動作設定データ」のうちの「プログラム」に対する処理を説明した。
上記の説明において「プログラム」を「設定データ」に読み替えることにより、上記の手順を「設定データ」に適用することができる。
なお、ここで、「設定データ」の詳細を説明する。
以下では、設定データの一例として、表示器向け画面設計データを説明する。
【００５６】
ユーザが表示器エンジニアリングソフトウェアを使用し、図１２のような、表示器に表示する画面を設計する場合は、例えば図１３に示す画面設計データが想定される。照合部１４は、画面設計データの照合を行う場合は、照合元の画面設計データと照合先の画面設計データを比較する。比較の結果、図１４のような照合結果画面が表示される。図１４に示すように、図８と同様に、照合元と照合先で差異がある部分が着色により強調されることが想定される。例えば、Ｓｗｉｔｃｈ２は照合元と照合先で幅（部品に設定する項目の一つ（図１３に記載））が異なる。また、Ｌａｍｐ２は照合元になくて照合先にある部品である。このため、Ｓｗｉｔｃｈ２及びＬａｍｐ２の表示において差異部分の色を変化させる。図１３では、図８の場合とは異なり、共通回路ブロックに該当するものはない。
なお、設定データは表示器エンジニアリングソフトウェアで生成されるが、プロジェクトが内部に所持しているものであり、ユーザからデータが見える必要はない（設定データはソフトウェアから見ると単なる照合対象であり、結果として図１３のような照合結果画面がユーザから見えればよい）。
【００５７】
実施の形態２．
一般に、ＦＡ機器の動作は、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）エンジニアリングソフトウェア、表示器エンジニアリングソフトウェア等、用途が異なる複数種のソフトウェアを用いて制御される。
ここで、ＦＡ機器の仕向け先ごとに仕向け先に固有のＰＬＣエンジニアリングソフトウェアと表示器エンジニアリングソフトウェアとが用意されている場合を想定する。例えば、ＰＬＣエンジニアリングソフトウェアの間で一致率が高いときに、ユーザは、同様に表示器エンジニアリングソフトウェア間でも一致率が高いのかどうかを把握したいことがある。
【００５８】
本実施の形態では、照合部１４は、３つ以上のプログラムの各々の間の一致率を算出する。そして、照合部１４は、算出した一致率に基づき、３つ以上のプログラムと１対１で関連付けられている３つ以上の関連プログラムの各々の間の差異を抽出する際の抽出順序を決定する。そして、照合部１４は、決定した抽出順序に従って、３つ以上の関連プログラムの各々の間の差異を抽出する。
前述のＰＬＣエンジニアリングソフトウェアと表示器エンジニアリングソフトウェアの例では、照合部１４は、３つ以上のＰＬＣエンジニアリングソフトウェアの各々の間の一致率を算出する。そして、照合部１４は、算出した一致率に基づき、３つ以上のＰＬＣエンジニアリングソフトウェアと１対１で関連付けられている３つ以上の表示器エンジニアリングソフトウェアの各々の間の差異を抽出する際の抽出順序を決定する。そして、照合部１４は、決定した抽出順序に従って、３つ以上の表示器エンジニアリングソフトウェアの各々の間の差異を抽出する。このようにすることで、一致率が高いと予想される表示器エンジニアリングソフトウェアの対から順に照合結果情報が生成される。
【００５９】
図９は、仕向け先ごとにＦＡ機器に実装されるＰＬＣエンジニアリングソフトウェアと表示器エンジニアリングソフトウェアとを示す。
仕向けＡのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＡと表示器エンジニアリングソフトウェアＡとが実装される。つまり、仕向けＡのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＡと表示器エンジニアリングソフトウェアＡとが関連付けられている。また、仕向けＢのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＢと表示器エンジニアリングソフトウェアＢとが実装される。つまり、仕向けＢのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＢと表示器エンジニアリングソフトウェアＢとが関連付けられている。また、仕向けＣのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＣと表示器エンジニアリングソフトウェアＣとが実装される。つまり、仕向けＣのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＣと表示器エンジニアリングソフトウェアＣとが関連付けられている。また、仕向けＤのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＤと表示器エンジニアリングソフトウェアＤとが実装される。つまり、仕向けＤのＦＡ機器では、ＰＬＣエンジニアリングソフトウェアＤと表示器エンジニアリングソフトウェアＤとが関連付けられている。
【００６０】
本実施の形態では、照合部１４は、ＰＬＣエンジニアリングソフトウェアＡとＰＬＣエンジニアリングソフトウェアＢとの差異を抽出し、ＰＬＣエンジニアリングソフトウェアＡとＰＬＣエンジニアリングソフトウェアＢとの間の一致率を算出する。また、照合部１４は、ＰＬＣエンジニアリングソフトウェアＡとＰＬＣエンジニアリングソフトウェアＣとの差異を抽出し、ＰＬＣエンジニアリングソフトウェアＡとＰＬＣエンジニアリングソフトウェアＣとの間の一致率を算出する。同様にして、照合部１４は、４つのＰＬＣエンジニアリングソフトウェアの各々の間の差異を抽出し、４つのＰＬＣエンジニアリングソフトウェアの各々の間の一致率を算出する。
【００６１】
図１０は、一致率の算出結果の例を示す。
図１０の例では、ＰＬＣエンジニアリングソフトウェアＡとＰＬＣエンジニアリングソフトウェアＢ（仕向けＡと仕向けＢ）との間の一致率が６０％と最も高い。一方で、ＰＬＣエンジニアリングソフトウェアＣとＰＬＣエンジニアリングソフトウェアＤ（仕向けＣと仕向けＤ）との間の一致率が１０％と最も低い。
照合部１４は、一致率の降順に、表示器エンジニアリングソフトウェア間の照合順序、つまり、表示器エンジニアリングソフトウェア間の差異の抽出順序を決定する。
図１０の一致率の場合は、照合部１４は、図１１に示すように、表示器エンジニアリングソフトウェアＡと表示器エンジニアリングソフトウェアＢ（仕向けＡと仕向けＢ）との照合を最初に行い、表示器エンジニアリングソフトウェアＣと表示器エンジニアリングソフトウェアＤ（仕向けＣと仕向けＤ）との照合を最後に行う順序を決定する。
【００６２】
このように、本実施の形態では、照合部１４が、プログラム（例えば、ＰＬＣエンジニアリングソフトウェア）間の一致率を算出し、算出した一致率に基づいて、関連プログラム（例えば、表示器エンジニアリングソフトウェア）の照合順序を決定し、決定した照合順序で関連プログラム間の照合を行う。このため、一致率が高いと予想される関連プログラム間の照合結果情報が優先的に生成される。また、照合結果情報が生成される度に、表示部１６が表示装置１７０に完了通知を表示することで、ユーザに照合結果情報が生成されたことを通知してもよい。このようにすることで、一致率が高いと予想される関連プログラム間の照合結果情報をユーザが早期に参照することができる。
このように、全て関連プログラムに対する照合の完了を待たなくても、ユーザが所望する一致率が高いと予想される関連プログラム間の照合結果情報を表示することができる。このため、照合結果情報の表示までに要する時間を短縮することができ、作業効率の向上を図ることができる。
【００６３】
上記では、照合部１４が、ＰＬＣエンジニアリングソフトウェア間の一致率の降順に従って表示器エンジニアリングソフトウェアの照合順序を決定する例を説明した。照合部１４は、ＰＬＣエンジニアリングソフトウェア間の一致率の昇順に従って表示器エンジニアリングソフトウェアの照合順序を決定してもよい。
【００６４】
また、上記では、照合部１４が、二種類のソフトウェアの一方の一致率に基づいて他方のソフトウェアの照合順序を決定する例を説明した。照合部１４は、三種類以上のソフトウェアの１つの一致率に基づいて他のソフトウェアの照合順序を決定してもよい。
【００６５】
また、上記では、照合部１４が、一致率が低いＰＬＣエンジニアリングソフトウェアの組合せに対応する表示器エンジニアリングソフトウェア間でも照合を行う例を説明した。照合部１４は、一致率が閾値以下のＰＬＣエンジニアリングソフトウェアの組合せに対応する表示器エンジニアリングソフトウェア間では照合を行わないようにしてもよい。
【００６６】
なお、本実施の形態では、主に実施の形態１との差異を説明した。本実施の形態で説明していない事項は、実施の形態１と同じである。
【００６７】
以上、本発明の実施の形態について説明したが、これら２つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら２つの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これら２つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００６８】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、パーソナルコンピュータ１００のハードウェア構成の補足説明を行う。
前述のように、プロセッサ１１０は、バージョン管理ソフトウェア１４１及びＦＡエンジニアリングソフトウェア１４２を実行する。そして、バージョン管理ソフトウェア１４１及びＦＡエンジニアリングソフトウェア１４２の実行結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ１２０、記憶装置１５０、プロセッサ１１０内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、バージョン管理ソフトウェア１４１及びＦＡエンジニアリングソフトウェア１４２は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記録媒体に格納されていてもよい。そして、バージョン管理ソフトウェア１４１及びＦＡエンジニアリングソフトウェア１４２が格納された可搬記録媒体を商業的に流通させてもよい。
【００６９】
また、バージョン管理ソフトウェア１４１及びＦＡエンジニアリングソフトウェア１４２に含まれるプロジェクト管理部１１、操作部１２、照合依頼部１３、照合部１４、照合結果管理部１５及び表示部１６の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、パーソナルコンピュータ１００は、処理回路により実現されてもよい。処理回路は、例えば、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）である。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
【符号の説明】
【００７０】
１１  プロジェクト管理部、１２  操作部、１３  照合依頼部、１４  照合部、１５  照合結果管理部、１６  表示部、１００  パーソナルコンピュータ、１１０  プロセッサ、１２０  メモリ、１３０  ＯＳ、１４０  アプリケーション、１４１  バージョン管理ソフトウェア、１４２  ＦＡエンジニアリングソフトウェア、１５０  記憶装置、１５１  プロジェクトデータベース、１５２  変更履歴情報データベース、１５３  照合結果情報データベース、１６０  入力装置、１７０  表示装置、２００  リポジトリサーバ、２１０  プロセッサ、２２０  メモリ、２３０  ＯＳ、２４０  バージョン管理ソフトウェア、２５０  記憶装置、２６０  リポジトリ、２６１  プロジェクトデータベース、２６２  変更履歴情報データベース、３０１  ネットワーク。
【図１】
0006869453.tif 000002
【図２】
0006869453.tif 000003
【図３】
0006869453.tif 000004
【図４】
0006869453.tif 000005
【図５】
0006869453.tif 000006
【図６】
0006869453.tif 000007
【図７】
0006869453.tif 000008
【図８】
0006869453.tif 000009
【図９】
0006869453.tif 000010
【図１０】
0006869453.tif 000011
【図１１】
0006869453.tif 000012
【図１２】
0006869453.tif 000013
【図１３】
0006869453.tif 000014
【図１４】
0006869453.tif 000015