(57)【要約】【課題】２つのシーケンス・プログラムの相違を識別可能に表示しながら、一方のシーケンス・プログラムを編集をすることが容易にできるプログラマブルコントローラの周辺装置を提供する。【解決手段】ラダー図により記述された複数のシーケンス・プログラムを格納する記憶手段２４と、記憶手段から第１シーケンス・プログラム１４ａおよび第２シーケンス・プログラム１４ｂを読み出し、それぞれ第１表示部と第２表示部とに分割してラダー図を表示する分割表示手段２６ｂと、第１表示部に表示された第１シーケンス・プログラム１４ａのラダー図を編集する編集手段２６ａと、第１シーケンス・プログラム１４ａのラダー図と第２シーケンス・プログラム１４ｂのラダー図とを照合し、編集前と編集後の相違を識別可能に表示する照合結果表示手段２６ｄと、編集された第１シーケンス・プログラム１４ａを記憶手段２４に格納する格納手段と、を備える。【選択図】図１
2013109713.tif 000002
【特許請求の範囲】
【請求項１】
ラダー図により記述された複数のシーケンス・プログラムを格納する記憶手段と、
前記記憶手段から第１シーケンス・プログラムおよび第２シーケンス・プログラムを読み出し、それぞれ第１表示部と第２表示部とに分割して前記ラダー図を表示する分割表示手段と、
前記第１表示部に表示された前記第１シーケンス・プログラムの前記ラダー図を編集する編集手段と、
前記第１シーケンス・プログラムのラダー図と前記第２シーケンス・プログラムのラダー図とを照合し、編集前と編集後の相違を識別可能に表示する照合結果表示手段と、
編集された前記第１シーケンス・プログラムを前記記憶手段に格納する格納手段と、
を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項２】
請求項１に記載のプログラマブルコントローラの周辺装置であって、
前記照合結果表示手段は、表示画面上のラダー図の要素を区分する格子単位で相違を識別可能に、前記第１表示部および前記第２表示部の双方に表示することを特徴とするプログラマブルコントローラの周辺装置。
【請求項３】
請求項１または２に記載のプログラマブルコントローラの周辺装置であって、
前記第２シーケンス・プログラムのラダー図の編集を禁止する編集禁止手段を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項４】
請求項１〜３の何れか一項に記載のプログラマブルコントローラの周辺装置であって、
前記分割表示手段は、前記第１シーケンス・プログラムのラダー図および前記第２シーケンス・プログラムのラダー図からブロック番号順にそれぞれのブロックを取得し、前記第１シーケンス・プログラムのブロックと前記第２シーケンス・プログラムのブロックとが対応関係にある場合、２つのブロックは、それぞれ前記第１表示部と前記第２表示部の同じ位置に表示し、前記第１シーケンス・プログラムのブロックと前記第２シーケンス・プログラムのブロックとが対応関係にない場合、それぞれのブロックは、前記第１表示部または前記第２表示部の一方にのみブロックを表示し、他方の同じ位置には、前記一方のブロックと同じ大きさの空白ブロックを表示するブロック表示位置合わせ手段と、
を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項５】
請求項４に記載のプログラマブルコントローラの周辺装置であって、
前記分割表示手段により、それぞれ前記第１表示部と前記第２表示部とに分割して表示された前記第１シーケンス・プログラムのラダー図と前記第２シーケンス・プログラムのラダー図を同期してスクロールさせる同期スクロール手段と、
前記第１表示部と前記第２表示部のラダー図に表示された第１カーソルと第２カーソルを同期して移動させるカーソル同期移動手段と、
を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項６】
請求項１〜５の何れか一項に記載のプログラマブルコントローラの周辺装置であって、
前記第２シーケンス・プログラムは、編集後のシーケンス・プログラムを実装する直前に、プログラマブルコントローラに実装されていたシーケンス・プログラムであり、前記第１シーケンス・プログラムは、編集後のシーケンス・プログラムである、
ことを特徴とするプログラマブルコントローラの周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラマブルコントローラの周辺装置に関する。
【背景技術】
【０００２】
設備制御に用いられるプログラマブルコントローラのシーケンス・プログラムは、設備の状況に応じて、改良や不具合修正等の変更が必要となる。シーケンス・プログラムのプログラム言語としてラダー図が使用されている場合、シーケンス・プログラムの変更は、ラダー図の編集機能を備えた周辺装置によりおこなわれる。変更作業は、周辺装置によりプログラマブルコントローラからシーケンス・プログラムを読み出し、ラダー図の編集機能を用いて改良や不具合修正等の変更をおこない、編集後のシーケンス・プログラムを当該プログラマブルコントローラに書き込むことで完了する。この変更作業は、対象となるシーケンス・プログラムに係わる設備メーカー担当者、設備保全担当者等、複数の作業者によりおこなわれる場合があり、複数の作業者が同じシーケンス・プログラムを異なるタイミングで変更することがある。
【０００３】
ところで、変更作業中におこなわれた他の作業者による変更に気が付かないまま、自分のシーケンス・プログラムを書き込むと、他の作業者の変更分を上書きにて消してしまうこととなり、修正した不具合が再発する等の問題が発生する場合がある。このような事態を防ぐため、自分のシーケンス・プログラムをプログラマブルコントローラに書き込む前に、当該プログラマブルコントローラからシーケンス・プログラムを読み出して、他の作業者によるシーケンス・プログラムの変更を確認している。この確認の結果、自分の変更分以外の相違があれば、変更作業中に他の作業者による変更があったことが把握される。そして、他の作業者による変更が確認された場合、この変更分を自分のシーケンス・プログラムに組み込んだ後、プログラマブルコントローラに書き込むようにしている。
【０００４】
この変更分の組み込みは、自分のシーケンス・プログラムとプログラマブルコントローラから読み出したシーケンス・プログラムとを比較し、自分の変更分以外の相違を自分のシーケンス・プログラムに組み込む作業となる。例えば、特許文献１では、２つのシーケンス・プログラムを、分割された画面にそれぞれ並べて表示することにより比較を容易にするとともに、２つのシーケンス・プログラム間での移動や複写等の編集作業を容易にした発明が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−９５７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、並べて表示した２つのシーケンス・プログラムのラダー図を目視で比較して相違を識別し、相違を一方のシーケンス・プログラムに組み込む作業は容易ではなく、間違いや見落としが発生していた。また、２つのシーケンス・プログラムを比較して相違を識別するには、周辺装置のシーケンス・プログラムの照合機能を用いる方法もある。この場合、照合機能により相違を表示し、シーケンス・プログラムの編集機能により、相違を参照して組み込むことになる。周辺装置の照合機能と編集機能は、同時に使用することが可能であるが、周辺装置の画面が小さいと、照合画面と編集画面を同時に表示できないため、頻繁な画面切り替えを要し、作業しにくいという問題があった。
【０００７】
本発明はかかる問題点を解決するためになされたもので、２つのシーケンス・プログラムの相違を識別可能に表示しながら、一方のシーケンス・プログラムを編集をすることが容易にできるプログラマブルコントローラの周辺装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係わる発明は、上記の課題を解決するため、ラダー図により記述された複数のシーケンス・プログラムを格納する記憶手段と、前記記憶手段から第１シーケンス・プログラムおよび第２シーケンス・プログラムを読み出し、それぞれ第１表示部と第２表示部とに分割して前記ラダー図を表示する分割表示手段と、前記第１表示部に表示された前記第１シーケンス・プログラムの前記ラダー図を編集する編集手段と、前記第１シーケンス・プログラムのラダー図と前記第２シーケンス・プログラムのラダー図とを照合し、編集前と編集後の相違を識別可能に表示する照合結果表示手段と、編集された前記第１シーケンス・プログラムを前記記憶手段に格納する格納手段と、を備えることである。
【０００９】
請求項２に係わる発明は、請求項１に記載のプログラマブルコントローラの周辺装置であって、前記照合結果表示手段は、表示画面上のラダー図の要素を区分する格子単位で相違を識別可能に、前記第１表示部および前記第２表示部の双方に表示することである。
【００１０】
請求項３に係わる発明は、請求項１または２に記載のプログラマブルコントローラの周辺装置であって、前記第２シーケンス・プログラムのラダー図の編集を禁止する編集禁止手段を備えることである。
【００１１】
請求項４に係わる発明は、請求項１〜３の何れか一項に記載のプログラマブルコントローラの周辺装置であって、前記分割表示手段は、前記第１シーケンス・プログラムのラダー図および前記第２シーケンス・プログラムのラダー図からブロック番号順にそれぞれのブロックを取得し、前記第１シーケンス・プログラムのブロックと前記第２シーケンス・プログラムのブロックとが対応関係にある場合、２つのブロックは、それぞれ前記第１表示部と前記第２表示部の同じ位置に表示し、前記第１シーケンス・プログラムのブロックと前記第２シーケンス・プログラムのブロックとが対応関係にない場合、それぞれのブロックは、前記第１表示部または前記第２表示部の一方にのみブロックを表示し、他方の同じ位置には、前記一方のブロックと同じ大きさの空白ブロックを表示するブロック表示位置合わせ手段と、を備えることである。
【００１２】
請求項５に係わる発明は、請求項４に記載のプログラマブルコントローラの周辺装置であって、前記分割表示手段により、それぞれ前記第１表示部と前記第２表示部とに分割して表示された前記第１シーケンス・プログラムのラダー図と前記第２シーケンス・プログラムのラダー図を同期してスクロールさせる同期スクロール手段と、前記第１表示部と前記第２表示部のラダー図に表示された第１カーソルと第２カーソルを同期して移動させるカーソル同期移動手段と、
を備えることである。
【００１３】
請求項６に係わる発明は、請求項１〜５の何れか一項に記載のプログラマブルコントローラの周辺装置であって、前記第２シーケンス・プログラムは、編集後のシーケンス・プログラムを実装する直前に、プログラマブルコントローラに実装されていたシーケンス・プログラムであり、前記第１シーケンス・プログラムは、編集後のシーケンス・プログラムである。
【発明の効果】
【００１４】
上記のように構成した請求項１の発明によれば、プログラマブルコントローラの周辺装置は、シーケンス・プログラムの変更作業をおこなう場合において、編集対象となる第１シーケンス・プログラムと、編集時に参照する第２シーケンス・プログラムと、をそれぞれ記憶手段から読み出す。そして、分割表示手段により、２つのシーケンス・プログラムをそれぞれ第１表示部と第２表示部とに分割してラダー図を表示するとともに、照合結果表示手段により、２つのシーケンス・プログラムのラダー図を照合した結果の相違を識別可能に表示する。これにより、第１表示部と第２表示部に表示された２つのシーケンス・プログラムの相違を見ながら、第１シーケンス・プログラムを編集操作をおこなうことができる。また、編集操作後に２つのシーケンス・プログラムの照合結果の表示を更新することができる。そして、格納手段により、編集された第１シーケンス・プログラムを格納できる。このように、編集対象の第１シーケンス・プログラムを、第２シーケンス・プログラムとの相違を参照しながら編集操作をすることができるので、編集結果を容易に確認することができる。
【００１５】
請求項２に係わる発明によれば、照合結果表示手段は、表示画面上のラダー図の要素を区分する格子単位で相違を識別可能に、第１表示部および第２表示部の双方に表示することができるので、複雑なシーケンス・プログラムであっても、相違をラダー図上に詳細に表示することができる。
【００１６】
請求項３に係わる発明によれば、プログラマブルコントローラの周辺装置は、編集禁止手段により、第１表示部と第２表示部に分割して表示された第１シーケンス・プログラムと第２シーケンス・プログラムのラダー図のうち、第２表示部に表示された第２シーケンス・プログラムのラダー図の編集を禁止することができる。このため、第１表示部に表示された編集対象の第１シーケンス・プログラムのラダー図の編集中に、第２シーケンス・プログラムのラダー図が誤って編集されることがないので、編集操作を安全におこなうことができる。
【００１７】
請求項４に係わる発明によれば、プログラマブルコントローラの周辺装置は、分割表示手段により、２つのシーケンス・プログラムのラダー図をそれぞれ第１表示部と第２表示部とに分割して表示することができる。そして、ブロック表示位置合わせ手段により、第１シーケンス・プログラムおよび第２シーケンス・プログラムにおいて、対応関係にある２つのブロックを、それぞれ第１表示部と第２表示部の同じ位置に表示することができる。また、第１シーケンス・プログラムおよび第２シーケンス・プログラムにおいて、対応関係にないブロックは、第１表示部と第２表示部の一方にのみブロックを表示し、他方の同じ位置には、一方のブロックと同じ大きさの空白ブロックを表示することができる。これにより、例えば水平方向に分割表示している場合、第１シーケンス・プログラムおよび第２シーケンス・プログラムにおいて、対応関係にあるブロックが水平方向に並んで表示されるので、第１シーケンス・プログラムおよび第２シーケンス・プログラムの対応関係を容易に把握することができる。
【００１８】
請求項５に係わる発明によれば、プログラマブルコントローラの周辺装置は、同期スクロール手段により、第１表示部と第２表示部とに表示された第１シーケンス・プログラムのラダー図および第２シーケンス・プログラムのラダー図を、同期してスクロール表示することができる。これにより、対応関係のある２つのブロックの表示位置を維持したまま、見ることができるので、容易にシーケンス・プログラムの全体を確認することができる。
【００１９】
また、カーソル同期移動手段により、第１シーケンス・プログラムおよび第２シーケンス・プログラムのラダー図上に表示された第１カーソルおよび第２カーソルを、同期して移動させることができる。これにより、第１カーソルまたは第２カーソルを移動しても、第１シーケンス・プログラムおよび第２シーケンス・プログラムのラダー図上において、同じ位置にある要素がカーソルで示されるので、相違を容易に把握することができる。
【００２０】
請求項６に係わる発明によれば、プログラマブルコントローラの周辺装置は、シーケンス・プログラムを変更するため、当該シーケンス・プログラムが実装されていたプログラマブルコントローラからシーケンス・プログラムを読み出し、バックアップ・プログラムを作成する。このバックアップ・プログラムをコピーしたシーケンス・プログラムを第１シーケンス・プログラムとして、編集作業をおこなう。この第１シーケンス・プログラムを変更した後、再度、当該シーケンス・プログラムが実装されていたプログラマブルコントローラからシーケンス・プログラムを、第２シーケンスプログラムとして読み出す。そして、分割表示手段により、第１シーケンス・プログラムおよび第２シーケンス・プログラムを第１表示部と第２表示部とに分割してラダー図を表示するとともに、照合結果表示手段により、２つのシーケンス・プログラムのラダー図を照合した結果の相違を識別可能に表示する。
【００２１】
ここで、当該シーケンス・プログラムの編集作業中に、他の作業者により当該シーケンス・プログラムが変更されていた場合、自分の変更分と他の作業者による変更分が相違として表示される。編集手段により、この表示された相違を参照しながら編集作業ができるので、他の作業者による変更分である相違を第１シーケンス・プログラムに組み込むことを容易におこなうことができる。これにより、複数の作業者が同一のシーケンス・プログラムを変更する場合であっても、シーケンス・プログラムの変更作業を安全におこなうことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態を示す周辺装置のシステム構成図。
【図２】本発明の実施形態を示す周辺装置のラダー図表示領域の構成図。
【図３】本発明の実施形態を示す周辺装置のラダー・プロパティ・ダイアログ。
【図４】本発明の実施形態を示す周辺装置のブロック表示位置合わせ説明図。
【図５】本発明の実施形態を示す周辺装置のシーケンス・プログラム編集機能。
【発明を実施するための形態】
【００２３】
プログラマブルコントローラの周辺装置には、専用のハードウェアにより構成されるものや、汎用のパーソナルコンピュータ（以下、ＰＣと記す）で構成されるもの等、種々のタイプが存在する。図１は、本実施形態の周辺装置ソフトウェアをインストールしたＰＣを周辺装置１０として使用した場合のシステム構成図である。
以下、本発明の実施形態の周辺装置１０のシステム構成を図面に従って説明する。
【００２４】
図１に示すように、周辺装置１０は、ＣＰＵ（central processing unit）１１のシステム・バス１２を介して、システムメモリ２８、ＨＤＤ（hard disk drive）２４、通信インターフェース２７、ディスプレイ２１、キーボード２２、マウス２３が接続されている。ＨＤＤ２４には、周辺装置ソフトウェア２６がインストールされている。
【００２５】
システムメモリ２８は、ＲＡＭ（random access memory）１４およびＲＯＭ（read only memory）１３等から構成される記憶手段である。ＲＡＭ１４は、ＣＰＵ１１によりＨＤＤ２４から各プログラムを読み出して実行するのに使用される。また、ＲＡＭ１４は、各プログラムの実行に要するデータを一時記憶するデータ領域、各種情報を生成するワークエリアとして使用される。ＲＯＭ１３には、ＢＩＯＳ（basic input/output system）プログラム１３ａが記憶されており、周辺装置１０の起動時において、初期設定をするとともに、ＨＤＤ２４にインストールされているＯＳ（operating system）２５の起動をおこなう。
【００２６】
通信インターフェース２７は、通信ケーブル（図示せず）を介して、プログラマブルコントローラとの通信をおこなう。ディスプレイ２１は、出力デバイスであり、周辺装置ソフトウェア２６により、シーケンス・プログラムのラダー図の画面出力等に使用される。キーボード２２およびマウス２３は、それぞれ入力デバイスであり、周辺装置ソフトウェア２６により、シーケンス・プログラムのラダー図の編集をおこなう場合の情報の入力等に使用される。ＨＤＤ２４は、ハードディスクにて構成される記憶装置であり、周辺装置ソフトウェア２６およびＯＳ２５等がインストールされている。
【００２７】
周辺装置ソフトウェア２６は、シーケンス・プログラム編集プログラム２６ａ、分割表示プログラム２６ｂ、ブロック表示位置合わせプログラム２６ｃ、照合結果表示プログラム２６ｄ、同期スクロールプログラム２６ｅ、カーソル同期移動プログラム２６ｆ等が含まれている。周辺装置１０は、周辺装置ソフトウェア２６の各プログラムにより、各機能が実装されている。ＯＳ２５は、例えば、Windows（登録商標）７等が適用される。
【００２８】
シーケンス・プログラム編集プログラム２６ａは、シーケンス・プログラムのプログラム言語であるラダー図を編集する編集機能である。周辺装置１０において、シーケンス・プログラム編集プログラム２６ａを実行すると、シーケンス・プログラムの新規作成状態となり、空のラダー図がディスプレイ２１の画面に表示される。シーケンス・プログラムを新規作成する場合は、続けてラダー図の編集操作をおこなう。既存のシーケンス・プログラムを編集する場合は、編集対象の第１シーケンス・プログラム１４ａをＨＤＤ２４から読み出し、ラダー図をディスプレイ２１の画面に表示した後、編集操作をおこなう。さらに、第１シーケンス・プログラム１４ａの編集において、参照したいシーケンス・プログラムがある場合は、参照する第２シーケンス・プログラム１４ｂを読み出す。
【００２９】
分割表示プログラム２６ｂは、上述した２つのシーケンス・プログラムが読み出されると、シーケンス・プログラム編集機能の画面中央部を第１表示部と第２表示部に分割し、第１シーケンス・プログラム１４ａのラダー図を第１表示部に表示し、および第２シーケンス・プログラム１４ｂのラダー図を第２表示部に表示する。編集された第１シーケンス・プログラム１４ａは、ＨＤＤ２４に格納して、保存することができる。
【００３０】
図２に示すように、シーケンス・プログラム編集機能のラダー図の表示領域は格子状に区切られ、接点、コイル等の要素が格子内に配置される。この表示領域の構成は、分割された第１表示部および第２表示部においても同じである。なお、図２において、表示領域の左端部および上端部に各格子の行を示す番号１，２，３，…と、列を示す記号Ａ，Ｂ，Ｃ，…が表示されているが、これは説明のために便宜上表記したものであって、実際の表示部には表示されていない。
【００３１】
Ａ列の格子には、ブロック番号８１０と左側母線８２０が表示される。Ｂ〜Ｌ列の各格子には、接点等の入力要素のシンボル図形、アドレス、コメント文字列、隣接する格子との接続線等が配置される。例えば、２行Ｃ列には、接点のシンボル図形８３２、アドレス８３３、コメント文字列８３４、隣接する格子との接続線８３５等が配置されている。Ｌ列の格子には、コイル等の出力要素のシンボル図形、アドレスが配置される。例えば、１行Ｌ列には、コイルのシンボル図形８４２、アドレス８４３、接続線８４５が配置されている。タイマ、カウンタ、ファンクション等の出力要素は、複数の格子で構成され、Ｌ列の格子を右端として配置される。Ｍ列の格子には、Ｌ列に配置された出力要素のコメント文字列と右側母線が表示される。例えば、１行Ｍ列には、１行Ｌ列のコイルのコメント文字列８４４と右側母線８２１が表示されている。
【００３２】
１ブロックは最小で１行で構成される。ＯＲ回路や特定のタイマ、カウンタ等を含む場合は複数行で１ブロックが構成される。最大行数は、シーケンス・プログラムの大きさにより変化する。
【００３３】
ラダー図の表示領域には、ラダー図の要素を指定するカーソル８８０が表示される。カーソル８８０はキーボードの方向キーにて各方向に移動する。また、マウスにて格子をクリックすることにより、クリックした位置へカーソル８８０が移動する。
【００３４】
ラダー図の編集は、接点、コイル等の要素を表示領域の各格子に配置することでおこなわれる。要素は、図３のラダー・プロパティ・ダイアログ３００にて設定する。
【００３５】
図３に示すように、ラダー・プロパティ・ダイアログ３００は、要素種別タブ３０１において、接点、コイル、タイマ、ファンクションの各要素を選択できる。この要素種別タブ３０１を選択すると、対応するシンボル図形リスト３０２が表示される。要素を配置したい位置にカーソルを移動し、ラダー・プロパティ・ダイアログ３００により、要素種別タブ３０１で要素を選択した後、シンボル図形リスト３０２、アドレス３０３、コメント文字列３０４等を設定し、適用ボタン３０６を押すと、配置される。既存の要素を変更する場合も同様にして、変更したい要素の位置にカーソルを移動し、ラダー・プロパティ・ダイアログ３００により設定することで変更される。
【００３６】
ブロック表示位置合わせプログラム２６ｃは、第１表示部と第２表示部に表示された第１シーケンス・プログラム１４ａと第２シーケンス・プログラム１４ｂにおいて、対応関係にある２つのブロックの表示位置を同じに表示する。対応関係にあるブロックとは、同じコイルのアドレスを有するブロックのように、出力要素に同じ要素とアドレスを有するブロックである。そして、対応関係にないブロックは、第１表示部と第２表示部の一方にのみブロックを表示し、他方の同じ位置には、一方のブロックと同じ大きさの空白ブロックを表示する。
【００３７】
図４（ａ）に示すように、第１シーケンス・プログラム１４ａは、ブロック番号順に、アドレスａ，ｂ，ｃ，ｄ，ｅ，ｆのコイルが記述されている。また、図４（ｂ）に示すように、第２シーケンス・プログラム１４ｂは、ブロック番号順に、アドレスａ，ｂ，ｐ，ｃ，ｄ，ｑ，ｒのコイルが記述されている。この場合、同じコイルのアドレスａ，ｂ，ｃ，ｄを有する２つのブロックが対応関係にあるブロックである。また、第１シーケンス・プログラム１４ａのコイルのアドレスｅ，ｆのブロックと、第２シーケンス・プログラム１４ｂのコイルのアドレスｐ，ｑ，ｒのブロックは、対応関係のないブロックである。
【００３８】
図４（ｃ）に示すように、ブロック表示位置合わせプログラム２６ｃは、第１表示部と第２表示部に表示された第１シーケンス・プログラム１４ａと第２シーケンス・プログラム１４ｂのブロックの表示位置を調整する。
【００３９】
ここで、第１表示部１００と第２表示部２００において、表示位置１０１と２０１、１０２と２０２、１０３と２０３、と続く２つの位置は水平方向に並ぶ位置である。また、第１シーケンス・プログラム１４ａと第２シーケンス・プログラム１４ｂは、ブロックの表示位置が調整されても、ブロックの表示順序はブロック番号の昇順で表示される。
【００４０】
先頭の第１シーケンス・プログラム１４ａのブロック番号０００１と、第２シーケンス・プログラム１４ｂのブロック番号０００１は、同じコイルのアドレスａを有する対応関係にあるブロックと判別される。
【００４１】
従って、第１表示部１００の表示位置１０１に、第１シーケンス・プログラム１４ａのブロック番号０００１を表示し、第２表示部２００の表示位置２０１に、第２シーケンス・プログラム１４ｂのブロック番号０００１を表示する。
【００４２】
同様に、第１シーケンス・プログラム１４ａのブロック番号０００２と、第２シーケンス・プログラム１４ｂのブロック０００２番号も、同じコイルのアドレスｂを有する対応関係にあるブロックと判別される。
【００４３】
従って、第１表示部１００の表示位置１０２に、第１シーケンス・プログラム１４ａのブロック番号０００２を表示し、第２表示部２００の表示位置２０２に、第２シーケンス・プログラム１４ｂのブロック番号０００２を表示する。
【００４４】
続く、第１シーケンス・プログラム１４ａのブロック番号０００３はコイルのアドレスがｃであり、第２シーケンス・プログラム１４ｂのブロック番号０００３のコイルのアドレスはｐであるので、この２つのブロックは対応関係にないブロックと判別される。
【００４５】
ここで、第１シーケンス・プログラム１４ａのブロック番号０００３のコイルと同じアドレスｃを有するブロックは、第２シーケンス・プログラム１４ａのブロック番号０００４に存在するので、この２つのブロックが対応関係にあるブロックと判別される。
【００４６】
一方、第２シーケンス・プログラム１４ｂのブロック番号０００３のコイルと同じアドレスｐを有するブロックは、第１シーケンス・プログラム１４ａに存在しないので、このブロックは対応関係のないブロックと判別される。
【００４７】
従って、第１表示部１００の表示位置１０３に、空白ブロック６０を表示し、第２表示部２００の表示位置２０３に、第２シーケンス・プログラム１４ｂのブロック番号０００３を表示する。この空白ブロック６０は、第２シーケンス・プログラム１４ｂのブロック番号０００３と同じ大きさとし、ブロック番号は未定を示す＊＊＊＊としている。
【００４８】
そして、第１表示部１００の表示位置１０４に、第１シーケンス・プログラム１４ａのブロック番号０００３を表示し、第２表示部２００の表示位置２０４に、第２シーケンス・プログラム１４ｂのブロック番号０００４を表示する。
【００４９】
このように、第１表示部１００と第２表示部２００において、対応関係にあるすべてのブロックは、表示位置が同じとなるように調整される。また、他方にのみ存在するブロックに対応する位置に空白ブロックを表示することで、第１表示部１００と第２表示部２００の第１シーケンス・プログラム１４ａと第２シーケンス・プログラム１４ｂの表示領域の大きさは同じとなる。
【００５０】
照合結果表示プログラム２６ｄは、対応関係にあるブロックの照合結果をラダー図上に表示する。照合はすべての対応関係にあるブロックに対しておこない、照合結果は、ラダー図の要素を区分する格子単位で相違を識別可能に表示する。これにより、対応関係にある２つのブロックの相違がラダー図上に詳細に表示される。また、照合結果は、編集操作後に表示を更新することができる。なお、この照合において、コメント文字列については照合対象としていない。
【００５１】
同期スクロールプログラム２６ｅは、第１表示部と第２表示部に表示された第１シーケンス・プログラム１４ａと第２シーケンス・プログラム１４ｂのラダー図を同期してスクロールさせる。表示のスクロールは、カーソルの操作でも可能であり、例えば、表示部下端のカーソルを、方向キーで下方向に移動させると、上方向に表示がスクロールする。また、シーケンス・プログラム編集機能に備えた検索機能やジャンプ機能により、該当箇所に表示がスクロールする。これらの場合も、２つのシーケンス・プログラムが同期してスクロールする。
【００５２】
カーソル同期移動プログラム２６ｆは、第１表示部と第２表示部に表示された第１カーソルａと第２カーソルを同期して移動させる。例えば、第１表示部の第１カーソルを方向キーにより、右方向に移動させると、これに同期して第２表示部の第２カーソルを右方向に移動させる。また、マウスにてクリックすることにより、クリックした位置へカーソルが移動する。この場合も、２つのカーソルが同期して移動する。
【００５３】
次に、本発明の周辺装置１０のシーケンス・プログラム編集機能の詳細について説明する。周辺装置１０において、シーケンス・プログラム編集プログラム２６ａを実行すると、シーケンス・プログラム編集機能が起動する。
【００５４】
図５に示すように、シーケンス・プログラム編集機能は、上端に機能名称表示部４１１および操作メニュー４１２を備えている。画面中央部には、ラダー図の表示領域を備えている。図５は、表示領域が第１表示部５０１と第２表示部６０１に分割された状態を示している。この第１表示部５０１と第２表示部６０１には、それぞれ読み出された第１シーケンス・プログラムおよび第２シーケンス・プログラムのラダー図が表示される。
【００５５】
第１表示部５０１と第２表示部６０１は、上端にタイトル表示部５１０，６２０、右端に第１スクロールバー５１１、第２スクロールバー６１１、下端に、ステータスバー４１６を備えている。タイトル表示部５１０，６２０には、読み出されたシーケンス・プログラムのファイル名称および編集（編集可）および参照（編集不可）の区別等が表示される。第１表示部５０１と第２表示部６０１のラダー図上には、それぞれ第１カーソル５３０、第２カーソル６３０を備えている。ステータスバー４１６には、ラダー図の照合結果表示の凡例が表示される。
【００５６】
第１表示部５０１と第２表示部６０１に表示されるラダー図は、ブロック表示位置合わせプログラム２６ｃにより、対応関係にあるすべてのブロックの表示位置が同じとなるように表示される。さらに、照合結果表示プログラム２６ｄにより、対応関係にあるブロックの照合結果が、ラダー図上に詳細に表示される。
【００５７】
例えば、編集対象として、第１シーケンス・プログラムＴ１００．ＰＲＧを読み出し、参照用に、第２シーケンス・プログラムＴ２００．ＰＲＧを読み出したとする。
【００５８】
分割表示プログラム２６ｂにより、画面は第１表示部５０１と第２表示部６０１に分割され、それぞれに第１シーケンス・プログラムＴ１００．ＰＲＧと第２シーケンス・プログラムＴ２００．ＰＲＧのラダー図が表示される。第２シーケンス・プログラムＴ２００．ＰＲＧは編集禁止に設定される。
【００５９】
ここで、第１シーケンス・プログラムＴ１００．ＰＲＧのブロック番号００２０，００２１，００２２，００２５と第２シーケンス・プログラムＴ２００．ＰＲＧのブロック番号００２０，００２１，００２２，００２３は対応関係にあるブロックである。また、第１シーケンス・プログラムＴ１００．ＰＲＧのブロック番号００２３，００２４は、対応関係のないブロックである。
【００６０】
そして、ブロック表示位置合わせプログラム２６ｃにより、対応関係にある２つのブロックの表示位置が合わせられる。従って、第１表示部５０１のブロック番号００２０，００２１，００２２，００２５と第２表示部６０１のブロック番号００２０，００２１，００２２，００２３は同じ表示位置に表示される。また、対応関係のないブロックは、表示位置に合わせて空白ブロックが表示される。従って、第１表示部５０１のブロック番号００２３，００２４の表示位置と同じ第２表示部６０１の表示位置に空白ブロック６１，６２が表示される。
【００６１】
さらに、照合結果表示プログラム２６ｄにより、対応関係にあるブロックの照合結果が、表示される。第１シーケンス・プログラムＴ１００．ＰＲＧのブロック番号００２０，００２１，００２５と第２シーケンス・プログラムＴ２００．ＰＲＧのブロック番号００２０，００２１，００２３は対応関係にあるブロックであり、相違のない同一ブロックなので、照合結果は表示されない。
【００６２】
また、第１シーケンス・プログラムＴ１００．ＰＲＧのブロック番号００２２と第２シーケンス・プログラムＴ２００．ＰＲＧのブロック番号００２２は対応関係にあるブロックであるが、アドレスＬ２６の接点とアドレスＭ５０の接点に相違が存在する。照合結果として、アドレスＬ２６の接点とアドレスＭ５０の接点の要素の配置された相違部５２１，６２１の背景色を他と識別可能に表示している。第１表示部５０１と第２表示部６０１において、この相違部５２１，６２１は同じ大きさで、同じ位置に表示される。
【００６３】
ここで、第１カーソル５３０または第２カーソル６３０のどちらか一方を移動すると、カーソル同期移動プログラム２６ｆにより、第１カーソル５３０と第２カーソル６３０は同期して移動する。例えば、第１表示部５０１の相違部５２１のアドレスＬ２６の接点の格子位置に第１カーソル５３０を移動すると、第２カーソル６３０が第２表示部６０１の同位置に移動する。第２カーソル６３０は接続線のみを示している。このように、第１カーソル５３０および第２カーソル６３０がそれぞれ示す要素を見ることにより、相違を詳細に把握することができる。
【００６４】
また、第１スクロールバー５１１または第２スクロールバー６１１のどちらか一方を操作すると、同期スクロールプログラム２６ｅにより、第１シーケンス・プログラムＴ１００．ＰＲＧと第２シーケンス・プログラムＴ２００．ＰＲＧが同期してスクロールする。これにより、スクロール操作により、対応関係のある２つブロックの表示位置がずれることなく、シーケンス・プログラム全体を表示することができる。
【００６５】
このように構成された周辺装置１０において、複数の作業者が係わるプログラマブルコントローラのシーケンス・プログラムの変更作業について説明する。
【００６６】
例えば、設備制御の変更依頼を受けた設備メーカーの担当者がこれを実施するとする。設備メーカー担当者は、設備制御の変更作業をおこなうにあたり、周辺装置を用いて、対象のプログラマブルコントローラからシーケンス・プログラムを読み出し、バックアップを作成する。さらに、このバックアップのコピーを作成し、このコピーを変更作業用のシーケンス・プログラムのベースとする。そして、変更仕様に基づきシーケンス・プログラムの編集をおこなう。
【００６７】
一方、上記の変更作業中に、設備の保全担当者が不具合修正のため、上記のプログラマブルコントローラのシーケンス・プログラムの修正をおこなったとする。
【００６８】
設備メーカー担当者は、編集後のシーケンス・プログラムを上記のプログラマブルコントローラに書き込む前に、再度対象のプログラマブルコントローラからシーケンス・プログラムを読み出し、ＨＤＤ２４に保存する。
【００６９】
次に、周辺装置１０のシーケンス・プログラム編集プログラム２６ａを実行し、編集対象として、編集後の第１シーケンス・プログラムを読み出し、参照用に、再度対象のプログラマブルコントローラから読み出した第２シーケンス・プログラムを読み出す。この第２シーケンス・プログラムは編集禁止に設定される。
【００７０】
読み出された２つのシーケンス・プログラムは、図５に示すように、それぞれのラダー図が第１表示部５０１と第２表示部６０１に分割して表示される。そして、第１表示部５０１と第２表示部６０１において、対応関係にあるすべてのブロックの表示位置が同じとなるように表示される。さらに、対応関係にあるブロックの照合結果がラダー上に詳細に表示される。
【００７１】
シーケンス・プログラムの全体を見るには表示をスクロール操作する。ここで、シーケンス・プログラムの一方をスクロール表示させると、他方も同期してスクロールするので、対応関係のある２つブロックの表示位置がずれることなく表示される。これにより、照合結果をシーケンス・プログラム全体にわたって、容易に確認することができる。
【００７２】
このようにして、設備の保全担当者による不具合修正が、変更作業中におこなわれたことが確認されたならば、この変更分を自分の第１シーケンス・プログラムに組み込む作業をおこなう。この時、変更分の相違を参照しながら編集操作をすることができるので、組み込み作業を容易におこなうことができる。また、編集操作後に照合結果の表示を更新することができるので、編集結果を容易に確認することができる。
【００７３】
また、相違のある要素にカーソルを移動すると、カーソルが同期して移動するので、相違を詳細に把握することができる。そして、このカーソル位置でラダー・プロパティ・ダイアログを表示することにより、カーソル位置のラダー図の要素を編集ができるので、編集作業を容易におこなうことができる。
【００７４】
また、第２シーケンス・プログラムは編集禁止に設定されているので、誤って編集されて照合結果に影響を与えることもない。また、照合結果と編集画面が同時に表示されているので、画面切り替えが不要で、編集作業がしやすい。
【００７５】
このように、複数の作業者が同一のシーケンス・プログラムを変更する場合であっても、２つのシーケンス・プログラムの相違を識別可能に表示しながら、一方のシーケンス・プログラムを編集をすることが容易にできるので、シーケンス・プログラムの変更作業を安全におこなうことができる。
【００７６】
なお、本実施形態では、画面を水平方向に分割しているが、水平方向または垂直方向のどちらか編集作業のしやすい分割方向を選択できるようにしてもよい。周辺装置のディスプレイに合わせて画面を分割することで、編集を容易にすることができる。
【符号の説明】
【００７７】
１０：周辺装置、  １１：ＣＰＵ、  １２：システムバス、
１３：ＲＯＭ、  １３ａ：ＢＩＯＳ、  １４：ＲＡＭ、
１４ａ：第１シーケンス・プログラム、  １４ｂ：第２シーケンス・プログラム、
２１：ディスプレイ、  ２２：キーボード、
２３：マウス、  ２４：ＨＤＤ、  ２５：ＯＳ、
２６：周辺装置ソフトウェア、
２６ａ：シーケンス・プログラム編集プログラム、  ２６ｂ：分割表示プログラム、
２６ｃ：ブロック表示位置合わせプログラム、  ２６ｄ：照合結果表示プログラム、
２６ｅ：同期スクロールプログラム、  ２６ｆ：カーソル同期プログラム、
２７：通信インターフェース、  ２８：システムメモリ、
６０，６１，６２：空白ブロック、
１００：第１表示部、  １０１〜１０９：表示位置、
２００：第２表示部、  ２０１〜２０９：表示位置、
３００：ラダー・プロパティ・ダイアログ
３０１：要素種別タブ、  ３０２：シンボル図形リスト、  ３０３：アドレス、
３０４：コメント文字列、  ３０５：ＯＲ指定、  ３０６：適用ボタン、
４１１：機能名称表示部、  ４１２：操作メニュー、  ４１６：ステータスバー
５０１：第１表示部、  ５１０：タイトル表示部、  ５１１：第１スクロールバー、
５２１：相違部、  ５３０：第１カーソル、
６０１：第２表示部、  ６１０：タイトル表示部、  ６１１：第２スクロールバー、
６２１：相違部、  ６３０：第２カーソル、
８１０：ブロック番号、  ８２０：左側母線、  ８２１：右側母線、
８３２：シンボル図形（接点）、  ８３３：アドレス、  ８３４：コメント文字列、
８４２：シンボル図形（コイル）、  ８４３：アドレス、  ８４４：コメント文字列、
８５２：シンボル図形（タイマ）、
８８０：カーソル
【図１】
2013109713.tif 000003
【図２】
2013109713.tif 000004
【図３】
2013109713.tif 000005
【図４】
2013109713.tif 000006
【図５】
2013109713.tif 000007