(57)【特許請求の範囲】
【請求項１】
ネットワークで制御装置に接続可能な制御プログラム保守装置であって、
前記制御装置は、プラントを制御する制御システムで用いられる制御プログラムを、制御プログラム保守装置からダウンロードして予め設定された制御を実行し、
前記制御プログラム保守装置は、
生成された前記制御プログラムである第１の制御プログラムと、前記制御装置毎のモジュールの構成と前記モジュール毎のプログラム構成とをプログラムステップ単位まで展開可能に対応付けしたプログラム構成情報であるプロダクトツリーと、を記憶する記憶部と、
比較要求があった場合、前記プロダクトツリーを参照して、比較対象の範囲を設定し、比較元となる登録された最新の前記第１の制御プログラムと、前記制御装置からアップロードされた比較先となる制御プログラムである第２の制御プログラムと、を比較する比較部と、
比較の結果、前記第１の制御プログラムと前記第２の制御プログラムとの一致または不一致を表示部に表示し、不一致の場合、前記プロダクトツリーを参照して構成を下位展開して、前記比較対象の範囲の前記制御プログラムの相違箇所を前記表示部に表示し、保守対象となった前記制御プログラムの保守作業前、保守作業後の比較元、比較先の制御プログラムの不一致箇所を、前記プロダクトツリーを参照して展開表示する表示処理部と、
を備える制御プログラム保守装置。
【請求項２】
前記表示処理部は、前記比較対象の範囲の前記制御プログラムの相違箇所をグラフィク画面にマーキングして前記表示部に対比表示する、
請求項１に記載の制御プログラム保守装置。
【請求項３】
前記プロダクトツリーは、
複数の制御システムを１つの制御システムテーブルとして含み、
前記制御システムを構成する前記制御装置を、前記制御装置毎の１つの制御装置テーブルとして含み、
前記制御装置を構成する複数のモジュールを、前記モジュール毎に１つのモジュールテーブルとして含み、
前記モジュールを構成する複数のタスクをタスク毎に１つのタスクテーブルとして含み、
前記タスクを構成する複数のプログラムステップをタスク毎に１つのプログラムステップテーブルとして含み、
各テーブルに付帯させたテーブル識別番号をツリー形式で対応付けられ、
前記制御システムのモジュールの構成と前記モジュール毎のプログラム構成とが対応付けられた、
請求項１に記載の制御プログラム保守装置。
【請求項４】
前記比較部は、実行形式の前記第１の制御プログラムと前記第２の制御プログラムとを、前記プログラムステップ単位で比較する、
請求項１に記載の制御プログラム保守装置。
【請求項５】
前記比較部は、前記比較対象の範囲の前記制御プログラムを比較した結果、不一致となるステップが存在すると判定した場合に、比較元及び比較先の不一致と判定したステップの数が一致している場合は比較先の制御プログラムは変更されたと判定し、
比較により不一致と判定したステップが比較先の制御プログラムにのみ存在する場合は比較先の制御プログラムに不一致と判定したステップが追加されたと判定し、
比較により不一致と判定したステップが比較元の制御プログラムにのみ存在する場合は比較元の制御プログラムから不一致と判定したステップが削除されたと判定する、
請求項１に記載の制御プログラム保守装置。
【請求項６】
前記表示処理部は、前記比較部による判定結果に基づいて、前記制御プログラムにおける変更、追加、削除した箇所を前記表示部に表示する、
請求項１に記載の制御プログラム保守装置。
【請求項７】
前記表示処理部は、前記制御プログラムにおける変更、追加、削除した箇所を、グラフィク画面にマーキング表示する、
請求項６に記載の制御プログラム保守装置。
【請求項８】
前記プロダクトツリーを生成して、前記記憶部に登録する制御部、
をさらに備える請求項１に記載の制御プログラム保守装置。
【請求項９】
ネットワークで制御装置に接続可能な制御プログラム保守装置で実行される制御プログラム保守方法であって、
前記制御装置は、プラントを制御する制御システムで用いられる制御プログラムを、前記制御プログラム保守装置からダウンロードして予め設定された制御を実行し、
前記制御プログラム保守装置は、
生成された前記制御プログラムである第１の制御プログラムと、前記制御装置毎のモジュールの構成と前記モジュール毎のプログラム構成とをプログラムステップ単位まで展開可能に対応付けしたプログラム構成情報であるプロダクトツリーと、を記憶する記憶部、を備え、
比較要求があった場合、前記プロダクトツリーを参照して、比較対象の範囲を設定し、比較元となる登録された最新の前記第１の制御プログラムと、前記制御装置からアップロードされた比較先となる制御プログラムである第２の制御プログラムと、を比較する比較ステップと、
比較の結果、前記第１の制御プログラムと前記第２の制御プログラムとの一致または不一致を表示部に表示し、不一致の場合、前記プロダクトツリーを参照して構成を下位展開して、前記比較対象の範囲の前記制御プログラムの相違箇所を前記表示部に表示し、保守対象となった前記制御プログラムの保守作業前、保守作業後の比較元、比較先の制御プログラムの不一致箇所を、前記プロダクトツリーを参照して展開表示する表示処理ステップと、
を含む制御プログラム保守方法。
【請求項１０】
前記表示処理ステップは、前記比較対象の範囲の前記制御プログラムの相違箇所をグラフィク画面にマーキングして前記表示部に対比表示する、
請求項９に記載の制御プログラム保守方法。
【請求項１１】
前記プロダクトツリーは、
複数の制御システムを１つの制御システムテーブルとして含み、
前記制御システムを構成する前記制御装置を前記制御装置毎の１つの制御装置テーブルとして含み、
前記制御装置を構成する複数のモジュールを、前記モジュール毎に１つのモジュールテーブルとして含み、
前記モジュールを構成する複数のタスクをタスク毎に１つのタスクテーブルとして含み、
前記タスクを構成する複数のプログラムステップをタスク毎に１つのプログラムステップテーブルとして含み、
各テーブルに付帯させたテーブル識別番号をツリー形式で対応付けられ、
前記制御システムのモジュールの構成と前記モジュール毎のプログラム構成とが対応付けられた、
請求項９に記載の制御プログラム保守方法。
【請求項１２】
前記比較ステップは、実行形式の前記第１の制御プログラムと前記第２の制御プログラムとを、前記プログラムステップ単位で比較する、
請求項９に記載の制御プログラム保守方法。
【請求項１３】
前記比較ステップは、前記比較対象の範囲の前記制御プログラムを比較した結果、不一致となるステップが存在すると判定した場合に、比較元及び比較先の不一致と判定したステップの数が一致している場合は比較先の制御プログラムは変更されたと判定し、
比較により不一致と判定したステップが比較先の制御プログラムにのみ存在する場合は比較先の制御プログラムに不一致と判定したステップが追加されたと判定し、
比較により不一致と判定したステップが比較元の制御プログラムにのみ存在する場合は比較元の制御プログラムから不一致と判定したステップが削除されたと判定する、
請求項９に記載の制御プログラム保守方法。
【請求項１４】
前記表示処理ステップは、前記比較ステップによる判定結果に基づいて、前記制御プログラムにおける変更、追加、削除した箇所を前記表示部に表示する、
請求項９に記載の制御プログラム保守方法。
【請求項１５】
前記表示処理ステップは、前記制御プログラムにおける変更、追加、削除した箇所を、グラフィク画面にマーキング表示する、
請求項１４に記載の制御プログラム保守方法。
【請求項１６】
前記プロダクトツリーを生成して、前記記憶部に登録する制御ステップ、
をさらに含む請求項９に記載の制御プログラム保守方法。
【請求項１７】
ネットワークで制御装置に接続可能なコンピュータに実行させるためのプログラムであって、
前記制御装置は、プラントを制御する制御システムで用いられる制御プログラムを、前記コンピュータからダウンロードして予め設定された制御を実行し、
前記コンピュータは、
生成された前記制御プログラムである第１の制御プログラムと、前記制御装置毎のモジュールの構成と前記モジュール毎のプログラム構成とをプログラムステップ単位まで展開可能に対応付けしたプログラム構成情報であるプロダクトツリーと、を記憶する記憶部、を備え、
比較要求があった場合、前記プロダクトツリーを参照して、比較対象の範囲を設定し、比較元となる登録された最新の前記第１の制御プログラムと、前記制御装置からアップロードされた比較先となる制御プログラムである第２の制御プログラムと、を比較する比較ステップと、
比較の結果、前記第１の制御プログラムと前記第２の制御プログラムとの一致または不一致を表示部に表示し、不一致の場合、前記プロダクトツリーを参照して構成を下位展開して、前記比較対象の範囲の前記制御プログラムの相違箇所を前記表示部に表示し、保守対象となった前記制御プログラムの保守作業前、保守作業後の比較元、比較先の制御プログラムの不一致箇所を、前記プロダクトツリーを参照して展開表示する表示処理ステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御システムのプログラマブルコントローラに備えるプラントを制御する制御プログラムの保守装置において、制御プログラムに改造が発生した場合の制御プログラムの保守品質、保守作業効率を向上させる制御プログラム保守装置、及び制御プログラム保守方法に関する。
【背景技術】
【０００２】
一般に、プラントを制御する制御プログラムの作成は、プラントの要求仕様に基づいて設計され、この制御プログラムを搭載する複数のプログラマブルコントローラを備える制御装置に実装し、要求された機能が安全に動作することを確認して使用される。
【０００３】
しかしながら、この制御プログラムは、その後のプラントの操業条件の変更要求に基づいて、種々の変更、追加、削除等の改造要求が発生する。
【０００４】
このような稼働中の制御プログラムの改造要求に対して、制御プログラムの提供者は、改造前に提供元のマスターとして管理されている制御プログラムと、稼働中の制御プログラムに不整合がないかを確認して、改造作業を進める必要がある。
【０００５】
しかしながら、大規模な制御システムにおいては、長期の間には複数回の大小の改造が多人数で行われる。改造された制御プログラムの品質確認は手作業となるので、制御プログラムの提供者は、改造要求がある毎に多大な手間を要していた。
【０００６】
そのため、制御プログラムの複数個所の変更、追加、削除箇所を自動検出する技術が開示されてきた。
【０００７】
例えば、オペコード及びオペランドを含む実行形式の制御プログラムを関連する処理ステップ群を1つのブロックとして分割する分轄する分割工程と、分割された２つ以上のブロックの制御プログラムを比較する比較工程と、比較結果を出力する出力工程とを備えようにした制御プログラムの保守方法がある（例えば、特許文献1参照。）。
【０００８】
また、制御システムにおいては、制御プログラムの改造以外に、入出力装置等の移動を伴う変更要求がある。このような場合に、移動および変更の作業に必要な時間を短縮し、設計ミスを回避して移動および変更の作業が行えるようにしたエンジニアリング装置が開示されている（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−３７２５号公報
【特許文献２】特開２０１３−１４２９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
一般に、プラントを制御する制御プログラムの改造作業(ここでは、保守作業とも称し、同義語として記述する)は、複数のプログラマの作業となるので、人為的な作業ミスを防止するとともに、変更前後の改造箇所が短時間で明瞭に比較でき、また、改造内容が複数の作業者の間で共有し易い制御プログラムの保守システムが求められていた。
【００１１】
上述した特許文献1に開示された制御プログラムの保守方法によれば、実行形式の制御プログラムに対して、分割した制御プログラム単位の一致、変更、追加、削除を判定することは可能であるが、膨大な制御プログラムの改造前後の品質の確認に手間が掛かる問題があった。
【００１２】
本発明は、上記問題点を解決するためになされたものであり、制御システムのプログラマブルコントローラに備えるプラントを制御する制御プログラムの保守装置において、制御プログラムの改造箇所とその改造内容を短時間に判定し、その改造品質を容易に共有することが可能な、制御プログラムの保守品質、及び保守作業効率を向上させた制御プログラム保守装置、及び制御プログラムの保守方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本実施形態の制御プログラム保守装置は、プラントを制御する制御システムで用いられる制御プログラムの保守を行う制御プログラム保守装置であって、前記制御プログラム保守装置から制御プログラムをダウンロードして予め設定された制御を実行する複数の制御装置と、前記制御プログラムを生成するとともに、当該生成した制御プログラムをマスターとして記憶する登録された第１の制御プログラムを備え、複数の前記制御装置にダウンロードする制御プログラム保守装置と、複数の前記制御装置と前記制御プログラム保守装置とを接続するネットワークと、を備え、前記制御プログラム保守装置には、予め設定される、前記制御装置毎のモジュール構成と、当該モジュール毎のプログラム構成とをプログラムステップ単位まで展開可能に対応付けしたプログラム構成情報であるプロダクトツリーを備え、前記制御プログラム保守装置は、比較要求があった場合、前記プロダクトツリーを参照して、前記比較対象プロダクト範囲を設定して、比較元となる登録された最新の前記第１の制御プログラムとアップロードした比較先となる前記第２の制御プログラムとの比較照合をする比較処理部と、比較照合の結果、前記第１の制御プログラムと前記第２の制御プログラムとの一致、不一致を、また、不一致の場合、前記プロダクトツリーを参照して構成を下位展開して、前記比較対象範囲のプログラムの相違箇所をグラフィックス画面にマーキングして対比表示させる表示処理部と、を備え、保守対象となった前記制御プログラムの保守作業前、保守作業後の比較元、比較先の制御プログラムの不一致箇所を、前記プロダクトツリーを参照して展開表示させ、グラフィックス画面に視認可能に表示させるようにしたことを特徴とする。
【００１４】
上記目的を達成するために、本実施形態の制御プログラム保守方法は、プラントを制御する複数の制御装置を備える制御システムで用いられる制御プログラムの保守方法であって、予め設定される、前記制御装置毎のモジュール構成と、当該モジュール毎のプログラム構成とをプログラムステップ単位まで展開可能に対応付けしたプログラム構成情報であるプロダクトツリーを作成するプロダクトツリー作成工程と、予め選択される制御プログラムに対して比較要求があった場合、前記プロダクトツリーを参照して、前記比較対象プロダクト範囲を設定して、比較元となる登録された最新の前記第１の制御プログラムとアップロードした比較先となる前記第２の制御プログラムとの比較照合をする比較処理工程と、比較照合の結果、前記第１の制御プログラムと前記第２の制御プログラムとの一致、不一致を、また、不一致の場合、前記プロダクトツリーを参照して構成を下位展開して、前記比較対象範囲のプログラムの相違箇所をグラフィックス画面にマーキングして対比表示させる表示処理工程と、を備え、保守対象となった前記制御プログラムの保守作業前、保守作業後の比較元、比較先の制御プログラムの不一致箇所を、前記プロダクトツリーを参照して展開表示させ、グラフィックス画面に視認可能に表示させるようにしたことを特徴とする。
【図面の簡単な説明】
【００１５】
【図１】実施形態の制御システムの制御プログラム保守装置の構成を説明する図。
【図２】制御プログラム作成と制御プログラムの保守作業のフローチャート図。
【図３】制御システムのプロダクトツリーを説明する図。
【図４】テーブルで構成されるプロダクトツリー。
【図５】本実施形態の保守プログラムの比較処理動作を説明する図。
【図６】本実施形態の保守プログラムの起動画面とそのプロダクト選択画面。
【図７】本実施形態の保守プログラムの比較処理結果の表示画面。
【図８】本実施形態のプログラムの比較展開の表示画面。
【図９】本実施形態のプログラムの比較展開の表示画面。
【図１０】本実施形態のプログラムの比較結果の表示画面。
【図１１】本実施形態のプログラム比較結果の一括表示画面。
【図１２】本実施形態のプログラム比較結果の展開画面。
【図１３】本実施形態のプログラム比較結果の表示画面。
【図１４】本実施形態のプログラム相違箇所の表示画面。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。
【００１７】
本実施形態では、実行形式の制御プログラムを、制御プログラム保守装置に記憶する比較元となる第1の制御プログラムと、制御プログラム保守装置からダウンロードされ、プラントで経時使用されている制御装置に記憶する比較先(改造対象)となる第２の制御プログラムとを、制御装置構成に基づいて定まるプログラム情報であるプロダクトツリーを、当初の制御プログラム作成時に予め登録しておき、比較先の制御プログラムの構成と比較照合するとともに、不一致箇所の変更、追加、削除を容易に視認できる制御プログラム保守装置について説明する。
【００１８】
図１は、本発明に係る制御プログラム保守装置の一実施形態を示したブロック図である。
【００１９】
図１において、本制御システム１の構成について説明する。本制御システム１の構成は、制御プログラム保守装置１０と、ネットワーク４０を介して接続される複数の制御装置２０、及び制御装置３０と、を備える。
【００２０】
制御装置２０、及び制御装置３０は、制御対象プラントの規模や特性により、制御システムとして最適な構成が適宜選択される。
【００２１】
制御プログラム保守装置１０は、保守対象となる制御装置２０、または制御装置３０から記憶された制御プログラムをアップロードして、制御プログラムの変更、追加、又は削除を検出し、制御プログラムの保守作業品質とその効率とを支援する。
【００２２】
制御プログラム保守装置１０内の構成は、演算装置１０１と、主メモリ１０２と、演算装置１０１と主メモリ１０２とを接続するメモリバス１０３と、メモリバス１０３と相互に接続されるＩＯバス１０４とを備える。
【００２３】
さらに、Ｉ／Ｏバス１０４には、図示しない入出力コントローラ夫々のユニットが内蔵する記憶装置１０５と、表示部１０６と、入力部１０７と、さらに、制御プログラム保守装置１０と制御装置20、及び制御装置３０とをネットワーク４０を介して接続するためのネットワークＩ／Ｆ１０８を備える。
【００２４】
次に、ネットワーク４０に接続された制御装置２０、制御装置３０の構成は、夫々が制御するプラント対象に対して最適なモジュール構成が選択され、例えば、制御装置２０は、ＣＰＵモジュール(コントローラ)２０１と、ＣＰＵモジュール２０２と、ＩＯモジュール(入出力装置)２０３とを備える。
【００２５】
また、制御装置３０は、ＣＰＵモジュール３０１と、入出モジュール３０２とを備える。
【００２６】
夫々のＣＰＵモジュールには、制御プログラム保守装置１０から、予め設定された制御プログラムがダウンロードされる。ＩＯモジュール２０３、ＩＯモジュール３０２には、夫々の制御装置20、及び制御装置３０内のコントローラから、必要なプログラムがダウンロードされる。
【００２７】
次に、制御プログラム保守装置１０の各部の詳細構成について説明する。
【００２８】
記憶装置１０５は、例えば、半導体記憶装置や磁気ディスク装置であって、制御プログラム保守装置１０のオペレーティングシステムなどのプログラムの他に、制御プログラムの保守に必要なプログラム構成情報であるプロダクトツリーを含む保守プログラム、描画するためのグラフィクプログラム、及び登録された制御プログラムが記憶されている。
【００２９】
予め登録される制御プログラムは、国際規格IEC61131-3に基づくテキスト言語、グラフィク言語で記述されたソースプログラムと、コンパイルされた実行形式の制御プログラムとをこの記憶装置１０５に記憶しておく。または、制御プログラム保守装置１０外の他のサーバ装置等に記憶しても良い。
【００３０】
また、入力部１０７は、キーボード、マウスなどの入力デバイスにより構成され、例えば、制御プログラムの保守操作者が表示部１０６の画面を操作して、制御プログラムの比較を実行する入力信号を生成し、この入力信号を夫々の図示しない入出力コントローラ、Ｉ／Ｏバス１０４、及びメモリバス１０３を介して演算装置１０１に送信する。
【００３１】
また、表示部１０６は、例えば、液晶ディスプレイであり、演算装置１０１からメモリバス１０３、Ｉ／Ｏバス１０４、図示しない入出力コントローラを介して制御プログラムの比較結果等の出力信号を受信し、画面に表示する。
【００３２】
また、ネットワークＩ／Ｆ１０８は、ＬＡＮカードやシリアルポートなどの通信装置で、このネットワークＩ／Ｆ１０８を介して制御プログラム保守装置１０を制御システム２０に接続して、制御システム２０内の制御プログラムを制御プログラム保守装置１０へアップロードし、又は制御プログラム保守装置１０内の制御プログラムを制御システム２０へダウンロードする。
【００３３】
次に、演算装置１０１は、実行するプログラムと必要なデータとを記憶装置１０５から適宜主メモリ１０２に書き込み実行する。
【００３４】
保守プログラムの実行においては、登録された制御プログラムと制御装置からアップロードされた制御プログラムの比較処理と、実行するプログラムの起動画面、及び比較結果を出力する表示画面を生成する表示処理等を実行する。
【００３５】
詳細を後述する比較処理は、比較元となる実行形式の第１の制御プログラムを、また、保守対象である比較先の制御装置からアップロードする第２の制御プログラムを主メモリ１０２に読み込み、予め選択された制御装置の構成単位で対象となるプログラムを比較照合する。
【００３６】
また、表示処理は、比較処理した結果を、グラフィク言語で記述されたプログラムとその保守画面に表示し、視認し易い画面として出力する。
【００３７】
次に、このように構成された制御プログラム保守装置１０の保守作業の手順について図２を参照して説明する。
【００３８】
図２（ａ）は、本保守作業の前提となる、制御プログラムの保守作業のフローチャートを、また、図２（ｂ）は保守プログラムを使用して、保守作業前、保守作業後の制御プログラムの比較処理の手順をフローチャートにしたものである。
【００３９】
図２（ａ）において、制御プログラムの作成時には、先ず、その制御システムの登録を行う（ｓ１）。登録番号は、認証可能な一般的なもので良い。
【００４０】
次に、本保守方法の特徴であるシステムのハードウェア構成と制御プログラム構成とをプログラムステップ単位まで展開可能に対応付けした「プロダクトツリー」（このプログラム構成情報を、ここでは、以後、プロダクトツリーと称す）を登録しておく（ｓ２）。
【００４１】
次に、本制御システム１に対応する、予め設定されるプログラムエディタを使用して、制御プログラムを作成し（ｓ３）、制御プログラムをプロダクトツリーに登録するとともに、制御装置にダウンロードする（ｓ４）。
【００４２】
このようにして登録された制御プログラムは、以後、プラントで使用して、種々の改良がなされ、都度、制御プログラムの更新が実行される。
【００４３】
本実施の形態では、以後の制御プログラムの保守作業は、図２（ｂ）の手順で実行される。
【００４４】
先ず、保守対象システムを選択する。詳細は、操作画面を参照して後述する。そして、保守対象となる制御プログラムを、ネットワーク４０を介して、比較先（対象）となる制御装置のアドレスをアクセスし、制御装置から第２の制御プログラムを制御プログラム保守装置１０にアップロードする（ｓ１１）。
【００４５】
そして、改造前に、当該比較先の比較元となる登録された第１の制御プログラムと、アップロードした制御プログラムの比較処理を実行する（ｓ１２）。
【００４６】
その結果、第１の制御プログラムと第２の制御プログラムとが、一致していることを確認して、保守作業を開始する。
【００４７】
何らかの原因で、不一致である場合には、その相違する箇所をプログラムステップ単位まで展開し、不一致内容を表示出力し、原因と対策を保守前に確定しておく。
【００４８】
一致した場合、図２（ａ）の示す制御プログラムの保守（改造と同義）作業を実行する（ｓ１３）。
【００４９】
そして、改造した第１の制御プログラムと、改造前の第１の制御プログラムとを、再び、比較処理し（ｓ１４）、変更箇所をステップ単位でグラフィク表示し、一致していることを確認後、更新された第１の制御プログラムを登録する（ｓ１５）。
【００５０】
次に、保守プログラムに含まれるプロダクトツリーの構造とそのプログラム情報の生成方法について図３、図４を参照して説明する。
【００５１】
図３は、図１に示す制御装置２０のプログラム構成情報をツリー形式で示したものである。
【００５２】
図３は、制御装置２０が、コントローラ２０１と、コントローラ２０２とを備え、コントローラ２０１には、プログラム２０１１〜プログラム２０１ｎが、またコントローラ２０２には、プログラム２０２１〜プログラム２０２ｎが記憶されていることを示す。
【００５３】
このハードウェア構成に対応付けしたプログラム構成情報は、図４に示すようなテーブル番号で関係づけすることが可能である。例えば、この制御システムの制御装置の構成をテーブル番号ｓ１に示し、制御システムを構成する１つの制御装置２０についてのコントローラ構成をテーブル番号ｓ１ｃ１とし、さらに、コントローラ２０１に記憶されるプログラム構成をプログラムテーブルｓ１ｃ１ｐ２０１として、関係付して示したものである。
【００５４】
さらに、図示しないプログラムテーブルは、さらに詳細にプログラムを構成するタスクやワークシートをテーブルとし、各テーブルに付帯させたテーブル識別番号をツリー形式で対応付けして、装置のモジュール構成とモジュール毎のプログラム構成とを対応付けすることも可能である。
【００５５】
次に、このように構成された制御プログラムの保守装置の保守プログラムの動作について、図５のフローチャートと、図６〜図１３に示す表示部１０６に表示される操作・表示画面を参照して説明する。
【００５６】
先ず、図６（ａ）に示すようなシステム起動画面を表示部１０６に表示する。ここでは、予め登録された制御システム５０１の比較元と比較先の制御システムを選択５０２し、比較元、及び比較先の制御システムの制御プログラムを制御プログラム保守装置１０にアップロード５０３をクリックして指令する（ｓ２１）。
【００５７】
第１の制御プログラムの設計段階においては、マスターとして登録するサーバが比較元、本制御プログラム保守装置１０が比較先となる場合もあるが、これは適宜選択可能である。
【００５８】
すると、図６（ｂ）に示すような、選択した制御システムにおいて、比較するプロダクト選択するプロダクト選択画面が表示される。
【００５９】
プロダクトの選択画面は、比較元５０５と比較５０６との夫々の制御システムの構成をプロダクトツリーで作成したプログラム構成情報に基づいて下位に展開表示させて比較単位（プロダクト）を選択する（ｓ２２）。
【００６０】
ここでは、プロダクト選択画面での比較単位の設定は、比較したい単位のみを選択して、その他は選択しない。例えば、制御装置（ここでは、ステーションの表記）、コントローラを選択しない場合には、システム単位の比較となり、ステーションのみを選択した場合はステーション単位で、コントローラのみを選択した場合はコントローラ単位でのプログラムの比較が設定される（ｓ２３）。
【００６１】
そしてプログラムの比較５０７をクリックして指令すると、演算装置１０１は、比較処理を実行し（ｓ２４）、比較結果を図７（ａ）に示すようにグラフィク言語のシンボルを表形式で対比表示させたり、図７（ｂ）に示すように、制御プログラムの相違箇所をステップ番号単位で相違内容を判定して、結果を変更（Changeｄ）、追加（Added）、削除（Deleted）と記載して一覧表で表示させたりする（ｓ２５）。
【００６２】
また、表示処理では、その内容を印刷処理することも可能である（ｓ２６）。
【００６３】
このような制御プログラムの保守装置に依れば、改造前後の制御プログラムの改造箇所（プロダクト）毎にその改造内容を短時間に一括判定し、その改造品質を容易に共有することが可能となる。
【００６４】
また、多数の保守作業者による改造作業の場合でも、制御プログラムの保守品質、及び保守作業内容を視認して共有するこが可能となるので、品質の向上だけでなく作業効率が著しく向上する。
【００６５】
以下、制御プログラムの比較処理の詳細と、そのプログラムの相違内容の判定処理方法について説明する。
【００６６】
図６（ｂ）の示すプロダクトの選択画面で、「プログラムの比較」を選択（クリック）すると、図８に示すような制御システムを構成する制御装置の一覧表が表示される。
【００６７】
この「+」記号が付され行５１１の制御装置は、対象とする制御プログラムの下位への構成展開が可能であることを示し、「+」またはこの行をクリックして、「比較」５１２をクリックすると、図９に示すように行５１４の「-」、以下の行に、展開されたプログラム構成が、「MS:000」、「MS:001」…のように展開表示される。
【００６８】
さらに、「一括比較」５１３をクリックすると、図１０に示すように、複数の制御装置のそれぞれの比較結果５１５が一括表示される。
【００６９】
また、プログラム比較結果５１５の「+」記号５１６をクリックすると、図１１に示すように、そのコントローラ配下のプログラムが展開表示され、「MS:000」〜「MS:003」に示すように夫々の一致不一致が一覧で表示される。
【００７０】
さらに、この図１１の一覧表示の結果欄に「変更」と記述されたプログラム「MS:000」の行５１７をクリックすると、図１２に示すようなログラム「MS:000」がさらに下位展開され、２つのWork Sheet_１、Work Sheet_2が展開表示される。
【００７１】
さらに、Work Sheet_１の行５１８をダブルクリックすると、図１３に示すようなWork Sheet_１からプログラムステップの相違したステップ番号の内容が、行５２２〜５２４のように展開表示される。
【００７２】
比較照合した結果、不一致となるステップが存在すると判定した場合、比較元のステップ「0009」及び比較先のステップ「0010」は不一致と判定するが、比較元、比較先のステップ数が一致しているのでは比較先の制御プログラムは「変更」されたと判定し、５２３行の結果欄に示すように「Changed」と表記される。さらに内容欄には、命令語が不一致であるので「Instruction」と表記される。
【００７３】
比較照合により不一致と判定したステップが比較先の制御プログラムにのみ存在するステップ番号「0007」は比較先の制御プログラムに不一致と判定したステップが「追加」されたと判定し、５２２行の結果欄には、「Added」と表記される。
【００７４】
また、比較照合により不一致と判定したブロック又はステップが比較元の制御プログラムにのみ存在するステップ番号「0010」は、比較元の制御プログラムから不一致と判定したステップが「削除」されたと判定し、５２４行に示すように「Deleted」と表記される。
【００７５】
さらに、これらの不一致となった行５２２〜５２４をダブルクリックすると、ダブルクリックする毎に比較元、比較先の対象ステップを含む近辺のプログラムが図１３下部に示すようにマーキング５２５、５２６のように図示される。
【００７６】
また、比較結果は、図１４に示すように、変更５３１（実線）、削除５３２（破線）、追加５３３（一点破線）の相違箇所とその内容を識別可能にマーキングし、視認し易い表示として出力することも可能である。
【００７７】
以上説明したように、本実施の形態に依れば、制御プログラムの改造箇所とその改造内容を短時間に判定し、その改造品質を容易に共有することが可能な、制御プログラムの保守品質、及び保守作業効率を向上させた制御プログラム保守装置、及び制御プログラムの保守方法を提供することができる。
【００７８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７９】
１  制御システム
１０  制御プログラム保守装置
２０、３０  制御装置（ステーション）
４０  ネットワーク
１０１  演算装置
１０２  主メモリ
１０３  メモリバス
１０４  ＩＯバス
１０５  記憶装置
１０６  表示部
１０７  入力部
１０８  ネットワークインタフェース
２０１、２０２、３０１  コントローラ(ＣＰＵモジュール)
２０３、３０２  入出力装置（ＩＯモジュール）
【図１】
0006383240.tif 000002
【図２】
0006383240.tif 000003
【図３】
0006383240.tif 000004
【図４】
0006383240.tif 000005
【図５】
0006383240.tif 000006
【図６】
0006383240.tif 000007
【図７】
0006383240.tif 000008
【図８】
0006383240.tif 000009
【図９】
0006383240.tif 000010
【図１０】
0006383240.tif 000011
【図１１】
0006383240.tif 000012
【図１２】
0006383240.tif 000013
【図１３】
0006383240.tif 000014
【図１４】
0006383240.tif 000015