説明

プログラマブルコントローラの周辺装置

【課題】2つのシーケンス・プログラムの相違を識別可能に表示しながら、一方のシーケンス・プログラムを編集をすることが容易にできるプログラマブルコントローラの周辺装置を提供する。
【解決手段】ラダー図により記述された複数のシーケンス・プログラムを格納する記憶手段24と、記憶手段から第1シーケンス・プログラム14aおよび第2シーケンス・プログラム14bを読み出し、それぞれ第1表示部と第2表示部とに分割してラダー図を表示する分割表示手段26bと、第1表示部に表示された第1シーケンス・プログラム14aのラダー図を編集する編集手段26aと、第1シーケンス・プログラム14aのラダー図と第2シーケンス・プログラム14bのラダー図とを照合し、編集前と編集後の相違を識別可能に表示する照合結果表示手段26dと、編集された第1シーケンス・プログラム14aを記憶手段24に格納する格納手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラマブルコントローラの周辺装置に関する。
【背景技術】
【0002】
設備制御に用いられるプログラマブルコントローラのシーケンス・プログラムは、設備の状況に応じて、改良や不具合修正等の変更が必要となる。シーケンス・プログラムのプログラム言語としてラダー図が使用されている場合、シーケンス・プログラムの変更は、ラダー図の編集機能を備えた周辺装置によりおこなわれる。変更作業は、周辺装置によりプログラマブルコントローラからシーケンス・プログラムを読み出し、ラダー図の編集機能を用いて改良や不具合修正等の変更をおこない、編集後のシーケンス・プログラムを当該プログラマブルコントローラに書き込むことで完了する。この変更作業は、対象となるシーケンス・プログラムに係わる設備メーカー担当者、設備保全担当者等、複数の作業者によりおこなわれる場合があり、複数の作業者が同じシーケンス・プログラムを異なるタイミングで変更することがある。
【0003】
ところで、変更作業中におこなわれた他の作業者による変更に気が付かないまま、自分のシーケンス・プログラムを書き込むと、他の作業者の変更分を上書きにて消してしまうこととなり、修正した不具合が再発する等の問題が発生する場合がある。このような事態を防ぐため、自分のシーケンス・プログラムをプログラマブルコントローラに書き込む前に、当該プログラマブルコントローラからシーケンス・プログラムを読み出して、他の作業者によるシーケンス・プログラムの変更を確認している。この確認の結果、自分の変更分以外の相違があれば、変更作業中に他の作業者による変更があったことが把握される。そして、他の作業者による変更が確認された場合、この変更分を自分のシーケンス・プログラムに組み込んだ後、プログラマブルコントローラに書き込むようにしている。
【0004】
この変更分の組み込みは、自分のシーケンス・プログラムとプログラマブルコントローラから読み出したシーケンス・プログラムとを比較し、自分の変更分以外の相違を自分のシーケンス・プログラムに組み込む作業となる。例えば、特許文献1では、2つのシーケンス・プログラムを、分割された画面にそれぞれ並べて表示することにより比較を容易にするとともに、2つのシーケンス・プログラム間での移動や複写等の編集作業を容易にした発明が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−95712号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、並べて表示した2つのシーケンス・プログラムのラダー図を目視で比較して相違を識別し、相違を一方のシーケンス・プログラムに組み込む作業は容易ではなく、間違いや見落としが発生していた。また、2つのシーケンス・プログラムを比較して相違を識別するには、周辺装置のシーケンス・プログラムの照合機能を用いる方法もある。この場合、照合機能により相違を表示し、シーケンス・プログラムの編集機能により、相違を参照して組み込むことになる。周辺装置の照合機能と編集機能は、同時に使用することが可能であるが、周辺装置の画面が小さいと、照合画面と編集画面を同時に表示できないため、頻繁な画面切り替えを要し、作業しにくいという問題があった。
【0007】
本発明はかかる問題点を解決するためになされたもので、2つのシーケンス・プログラムの相違を識別可能に表示しながら、一方のシーケンス・プログラムを編集をすることが容易にできるプログラマブルコントローラの周辺装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に係わる発明は、上記の課題を解決するため、ラダー図により記述された複数のシーケンス・プログラムを格納する記憶手段と、前記記憶手段から第1シーケンス・プログラムおよび第2シーケンス・プログラムを読み出し、それぞれ第1表示部と第2表示部とに分割して前記ラダー図を表示する分割表示手段と、前記第1表示部に表示された前記第1シーケンス・プログラムの前記ラダー図を編集する編集手段と、前記第1シーケンス・プログラムのラダー図と前記第2シーケンス・プログラムのラダー図とを照合し、編集前と編集後の相違を識別可能に表示する照合結果表示手段と、編集された前記第1シーケンス・プログラムを前記記憶手段に格納する格納手段と、を備えることである。
【0009】
請求項2に係わる発明は、請求項1に記載のプログラマブルコントローラの周辺装置であって、前記照合結果表示手段は、表示画面上のラダー図の要素を区分する格子単位で相違を識別可能に、前記第1表示部および前記第2表示部の双方に表示することである。
【0010】
請求項3に係わる発明は、請求項1または2に記載のプログラマブルコントローラの周辺装置であって、前記第2シーケンス・プログラムのラダー図の編集を禁止する編集禁止手段を備えることである。
【0011】
請求項4に係わる発明は、請求項1〜3の何れか一項に記載のプログラマブルコントローラの周辺装置であって、前記分割表示手段は、前記第1シーケンス・プログラムのラダー図および前記第2シーケンス・プログラムのラダー図からブロック番号順にそれぞれのブロックを取得し、前記第1シーケンス・プログラムのブロックと前記第2シーケンス・プログラムのブロックとが対応関係にある場合、2つのブロックは、それぞれ前記第1表示部と前記第2表示部の同じ位置に表示し、前記第1シーケンス・プログラムのブロックと前記第2シーケンス・プログラムのブロックとが対応関係にない場合、それぞれのブロックは、前記第1表示部または前記第2表示部の一方にのみブロックを表示し、他方の同じ位置には、前記一方のブロックと同じ大きさの空白ブロックを表示するブロック表示位置合わせ手段と、を備えることである。
【0012】
請求項5に係わる発明は、請求項4に記載のプログラマブルコントローラの周辺装置であって、前記分割表示手段により、それぞれ前記第1表示部と前記第2表示部とに分割して表示された前記第1シーケンス・プログラムのラダー図と前記第2シーケンス・プログラムのラダー図を同期してスクロールさせる同期スクロール手段と、前記第1表示部と前記第2表示部のラダー図に表示された第1カーソルと第2カーソルを同期して移動させるカーソル同期移動手段と、
を備えることである。
【0013】
請求項6に係わる発明は、請求項1〜5の何れか一項に記載のプログラマブルコントローラの周辺装置であって、前記第2シーケンス・プログラムは、編集後のシーケンス・プログラムを実装する直前に、プログラマブルコントローラに実装されていたシーケンス・プログラムであり、前記第1シーケンス・プログラムは、編集後のシーケンス・プログラムである。
【発明の効果】
【0014】
上記のように構成した請求項1の発明によれば、プログラマブルコントローラの周辺装置は、シーケンス・プログラムの変更作業をおこなう場合において、編集対象となる第1シーケンス・プログラムと、編集時に参照する第2シーケンス・プログラムと、をそれぞれ記憶手段から読み出す。そして、分割表示手段により、2つのシーケンス・プログラムをそれぞれ第1表示部と第2表示部とに分割してラダー図を表示するとともに、照合結果表示手段により、2つのシーケンス・プログラムのラダー図を照合した結果の相違を識別可能に表示する。これにより、第1表示部と第2表示部に表示された2つのシーケンス・プログラムの相違を見ながら、第1シーケンス・プログラムを編集操作をおこなうことができる。また、編集操作後に2つのシーケンス・プログラムの照合結果の表示を更新することができる。そして、格納手段により、編集された第1シーケンス・プログラムを格納できる。このように、編集対象の第1シーケンス・プログラムを、第2シーケンス・プログラムとの相違を参照しながら編集操作をすることができるので、編集結果を容易に確認することができる。
【0015】
請求項2に係わる発明によれば、照合結果表示手段は、表示画面上のラダー図の要素を区分する格子単位で相違を識別可能に、第1表示部および第2表示部の双方に表示することができるので、複雑なシーケンス・プログラムであっても、相違をラダー図上に詳細に表示することができる。
【0016】
請求項3に係わる発明によれば、プログラマブルコントローラの周辺装置は、編集禁止手段により、第1表示部と第2表示部に分割して表示された第1シーケンス・プログラムと第2シーケンス・プログラムのラダー図のうち、第2表示部に表示された第2シーケンス・プログラムのラダー図の編集を禁止することができる。このため、第1表示部に表示された編集対象の第1シーケンス・プログラムのラダー図の編集中に、第2シーケンス・プログラムのラダー図が誤って編集されることがないので、編集操作を安全におこなうことができる。
【0017】
請求項4に係わる発明によれば、プログラマブルコントローラの周辺装置は、分割表示手段により、2つのシーケンス・プログラムのラダー図をそれぞれ第1表示部と第2表示部とに分割して表示することができる。そして、ブロック表示位置合わせ手段により、第1シーケンス・プログラムおよび第2シーケンス・プログラムにおいて、対応関係にある2つのブロックを、それぞれ第1表示部と第2表示部の同じ位置に表示することができる。また、第1シーケンス・プログラムおよび第2シーケンス・プログラムにおいて、対応関係にないブロックは、第1表示部と第2表示部の一方にのみブロックを表示し、他方の同じ位置には、一方のブロックと同じ大きさの空白ブロックを表示することができる。これにより、例えば水平方向に分割表示している場合、第1シーケンス・プログラムおよび第2シーケンス・プログラムにおいて、対応関係にあるブロックが水平方向に並んで表示されるので、第1シーケンス・プログラムおよび第2シーケンス・プログラムの対応関係を容易に把握することができる。
【0018】
請求項5に係わる発明によれば、プログラマブルコントローラの周辺装置は、同期スクロール手段により、第1表示部と第2表示部とに表示された第1シーケンス・プログラムのラダー図および第2シーケンス・プログラムのラダー図を、同期してスクロール表示することができる。これにより、対応関係のある2つのブロックの表示位置を維持したまま、見ることができるので、容易にシーケンス・プログラムの全体を確認することができる。
【0019】
また、カーソル同期移動手段により、第1シーケンス・プログラムおよび第2シーケンス・プログラムのラダー図上に表示された第1カーソルおよび第2カーソルを、同期して移動させることができる。これにより、第1カーソルまたは第2カーソルを移動しても、第1シーケンス・プログラムおよび第2シーケンス・プログラムのラダー図上において、同じ位置にある要素がカーソルで示されるので、相違を容易に把握することができる。
【0020】
請求項6に係わる発明によれば、プログラマブルコントローラの周辺装置は、シーケンス・プログラムを変更するため、当該シーケンス・プログラムが実装されていたプログラマブルコントローラからシーケンス・プログラムを読み出し、バックアップ・プログラムを作成する。このバックアップ・プログラムをコピーしたシーケンス・プログラムを第1シーケンス・プログラムとして、編集作業をおこなう。この第1シーケンス・プログラムを変更した後、再度、当該シーケンス・プログラムが実装されていたプログラマブルコントローラからシーケンス・プログラムを、第2シーケンスプログラムとして読み出す。そして、分割表示手段により、第1シーケンス・プログラムおよび第2シーケンス・プログラムを第1表示部と第2表示部とに分割してラダー図を表示するとともに、照合結果表示手段により、2つのシーケンス・プログラムのラダー図を照合した結果の相違を識別可能に表示する。
【0021】
ここで、当該シーケンス・プログラムの編集作業中に、他の作業者により当該シーケンス・プログラムが変更されていた場合、自分の変更分と他の作業者による変更分が相違として表示される。編集手段により、この表示された相違を参照しながら編集作業ができるので、他の作業者による変更分である相違を第1シーケンス・プログラムに組み込むことを容易におこなうことができる。これにより、複数の作業者が同一のシーケンス・プログラムを変更する場合であっても、シーケンス・プログラムの変更作業を安全におこなうことができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態を示す周辺装置のシステム構成図。
【図2】本発明の実施形態を示す周辺装置のラダー図表示領域の構成図。
【図3】本発明の実施形態を示す周辺装置のラダー・プロパティ・ダイアログ。
【図4】本発明の実施形態を示す周辺装置のブロック表示位置合わせ説明図。
【図5】本発明の実施形態を示す周辺装置のシーケンス・プログラム編集機能。
【発明を実施するための形態】
【0023】
プログラマブルコントローラの周辺装置には、専用のハードウェアにより構成されるものや、汎用のパーソナルコンピュータ(以下、PCと記す)で構成されるもの等、種々のタイプが存在する。図1は、本実施形態の周辺装置ソフトウェアをインストールしたPCを周辺装置10として使用した場合のシステム構成図である。
以下、本発明の実施形態の周辺装置10のシステム構成を図面に従って説明する。
【0024】
図1に示すように、周辺装置10は、CPU(central processing unit)11のシステム・バス12を介して、システムメモリ28、HDD(hard disk drive)24、通信インターフェース27、ディスプレイ21、キーボード22、マウス23が接続されている。HDD24には、周辺装置ソフトウェア26がインストールされている。
【0025】
システムメモリ28は、RAM(random access memory)14およびROM(read only memory)13等から構成される記憶手段である。RAM14は、CPU11によりHDD24から各プログラムを読み出して実行するのに使用される。また、RAM14は、各プログラムの実行に要するデータを一時記憶するデータ領域、各種情報を生成するワークエリアとして使用される。ROM13には、BIOS(basic input/output system)プログラム13aが記憶されており、周辺装置10の起動時において、初期設定をするとともに、HDD24にインストールされているOS(operating system)25の起動をおこなう。
【0026】
通信インターフェース27は、通信ケーブル(図示せず)を介して、プログラマブルコントローラとの通信をおこなう。ディスプレイ21は、出力デバイスであり、周辺装置ソフトウェア26により、シーケンス・プログラムのラダー図の画面出力等に使用される。キーボード22およびマウス23は、それぞれ入力デバイスであり、周辺装置ソフトウェア26により、シーケンス・プログラムのラダー図の編集をおこなう場合の情報の入力等に使用される。HDD24は、ハードディスクにて構成される記憶装置であり、周辺装置ソフトウェア26およびOS25等がインストールされている。
【0027】
周辺装置ソフトウェア26は、シーケンス・プログラム編集プログラム26a、分割表示プログラム26b、ブロック表示位置合わせプログラム26c、照合結果表示プログラム26d、同期スクロールプログラム26e、カーソル同期移動プログラム26f等が含まれている。周辺装置10は、周辺装置ソフトウェア26の各プログラムにより、各機能が実装されている。OS25は、例えば、Windows(登録商標)7等が適用される。
【0028】
シーケンス・プログラム編集プログラム26aは、シーケンス・プログラムのプログラム言語であるラダー図を編集する編集機能である。周辺装置10において、シーケンス・プログラム編集プログラム26aを実行すると、シーケンス・プログラムの新規作成状態となり、空のラダー図がディスプレイ21の画面に表示される。シーケンス・プログラムを新規作成する場合は、続けてラダー図の編集操作をおこなう。既存のシーケンス・プログラムを編集する場合は、編集対象の第1シーケンス・プログラム14aをHDD24から読み出し、ラダー図をディスプレイ21の画面に表示した後、編集操作をおこなう。さらに、第1シーケンス・プログラム14aの編集において、参照したいシーケンス・プログラムがある場合は、参照する第2シーケンス・プログラム14bを読み出す。
【0029】
分割表示プログラム26bは、上述した2つのシーケンス・プログラムが読み出されると、シーケンス・プログラム編集機能の画面中央部を第1表示部と第2表示部に分割し、第1シーケンス・プログラム14aのラダー図を第1表示部に表示し、および第2シーケンス・プログラム14bのラダー図を第2表示部に表示する。編集された第1シーケンス・プログラム14aは、HDD24に格納して、保存することができる。
【0030】
図2に示すように、シーケンス・プログラム編集機能のラダー図の表示領域は格子状に区切られ、接点、コイル等の要素が格子内に配置される。この表示領域の構成は、分割された第1表示部および第2表示部においても同じである。なお、図2において、表示領域の左端部および上端部に各格子の行を示す番号1,2,3,…と、列を示す記号A,B,C,…が表示されているが、これは説明のために便宜上表記したものであって、実際の表示部には表示されていない。
【0031】
A列の格子には、ブロック番号810と左側母線820が表示される。B〜L列の各格子には、接点等の入力要素のシンボル図形、アドレス、コメント文字列、隣接する格子との接続線等が配置される。例えば、2行C列には、接点のシンボル図形832、アドレス833、コメント文字列834、隣接する格子との接続線835等が配置されている。L列の格子には、コイル等の出力要素のシンボル図形、アドレスが配置される。例えば、1行L列には、コイルのシンボル図形842、アドレス843、接続線845が配置されている。タイマ、カウンタ、ファンクション等の出力要素は、複数の格子で構成され、L列の格子を右端として配置される。M列の格子には、L列に配置された出力要素のコメント文字列と右側母線が表示される。例えば、1行M列には、1行L列のコイルのコメント文字列844と右側母線821が表示されている。
【0032】
1ブロックは最小で1行で構成される。OR回路や特定のタイマ、カウンタ等を含む場合は複数行で1ブロックが構成される。最大行数は、シーケンス・プログラムの大きさにより変化する。
【0033】
ラダー図の表示領域には、ラダー図の要素を指定するカーソル880が表示される。カーソル880はキーボードの方向キーにて各方向に移動する。また、マウスにて格子をクリックすることにより、クリックした位置へカーソル880が移動する。
【0034】
ラダー図の編集は、接点、コイル等の要素を表示領域の各格子に配置することでおこなわれる。要素は、図3のラダー・プロパティ・ダイアログ300にて設定する。
【0035】
図3に示すように、ラダー・プロパティ・ダイアログ300は、要素種別タブ301において、接点、コイル、タイマ、ファンクションの各要素を選択できる。この要素種別タブ301を選択すると、対応するシンボル図形リスト302が表示される。要素を配置したい位置にカーソルを移動し、ラダー・プロパティ・ダイアログ300により、要素種別タブ301で要素を選択した後、シンボル図形リスト302、アドレス303、コメント文字列304等を設定し、適用ボタン306を押すと、配置される。既存の要素を変更する場合も同様にして、変更したい要素の位置にカーソルを移動し、ラダー・プロパティ・ダイアログ300により設定することで変更される。
【0036】
ブロック表示位置合わせプログラム26cは、第1表示部と第2表示部に表示された第1シーケンス・プログラム14aと第2シーケンス・プログラム14bにおいて、対応関係にある2つのブロックの表示位置を同じに表示する。対応関係にあるブロックとは、同じコイルのアドレスを有するブロックのように、出力要素に同じ要素とアドレスを有するブロックである。そして、対応関係にないブロックは、第1表示部と第2表示部の一方にのみブロックを表示し、他方の同じ位置には、一方のブロックと同じ大きさの空白ブロックを表示する。
【0037】
図4(a)に示すように、第1シーケンス・プログラム14aは、ブロック番号順に、アドレスa,b,c,d,e,fのコイルが記述されている。また、図4(b)に示すように、第2シーケンス・プログラム14bは、ブロック番号順に、アドレスa,b,p,c,d,q,rのコイルが記述されている。この場合、同じコイルのアドレスa,b,c,dを有する2つのブロックが対応関係にあるブロックである。また、第1シーケンス・プログラム14aのコイルのアドレスe,fのブロックと、第2シーケンス・プログラム14bのコイルのアドレスp,q,rのブロックは、対応関係のないブロックである。
【0038】
図4(c)に示すように、ブロック表示位置合わせプログラム26cは、第1表示部と第2表示部に表示された第1シーケンス・プログラム14aと第2シーケンス・プログラム14bのブロックの表示位置を調整する。
【0039】
ここで、第1表示部100と第2表示部200において、表示位置101と201、102と202、103と203、と続く2つの位置は水平方向に並ぶ位置である。また、第1シーケンス・プログラム14aと第2シーケンス・プログラム14bは、ブロックの表示位置が調整されても、ブロックの表示順序はブロック番号の昇順で表示される。
【0040】
先頭の第1シーケンス・プログラム14aのブロック番号0001と、第2シーケンス・プログラム14bのブロック番号0001は、同じコイルのアドレスaを有する対応関係にあるブロックと判別される。
【0041】
従って、第1表示部100の表示位置101に、第1シーケンス・プログラム14aのブロック番号0001を表示し、第2表示部200の表示位置201に、第2シーケンス・プログラム14bのブロック番号0001を表示する。
【0042】
同様に、第1シーケンス・プログラム14aのブロック番号0002と、第2シーケンス・プログラム14bのブロック0002番号も、同じコイルのアドレスbを有する対応関係にあるブロックと判別される。
【0043】
従って、第1表示部100の表示位置102に、第1シーケンス・プログラム14aのブロック番号0002を表示し、第2表示部200の表示位置202に、第2シーケンス・プログラム14bのブロック番号0002を表示する。
【0044】
続く、第1シーケンス・プログラム14aのブロック番号0003はコイルのアドレスがcであり、第2シーケンス・プログラム14bのブロック番号0003のコイルのアドレスはpであるので、この2つのブロックは対応関係にないブロックと判別される。
【0045】
ここで、第1シーケンス・プログラム14aのブロック番号0003のコイルと同じアドレスcを有するブロックは、第2シーケンス・プログラム14aのブロック番号0004に存在するので、この2つのブロックが対応関係にあるブロックと判別される。
【0046】
一方、第2シーケンス・プログラム14bのブロック番号0003のコイルと同じアドレスpを有するブロックは、第1シーケンス・プログラム14aに存在しないので、このブロックは対応関係のないブロックと判別される。
【0047】
従って、第1表示部100の表示位置103に、空白ブロック60を表示し、第2表示部200の表示位置203に、第2シーケンス・プログラム14bのブロック番号0003を表示する。この空白ブロック60は、第2シーケンス・プログラム14bのブロック番号0003と同じ大きさとし、ブロック番号は未定を示す****としている。
【0048】
そして、第1表示部100の表示位置104に、第1シーケンス・プログラム14aのブロック番号0003を表示し、第2表示部200の表示位置204に、第2シーケンス・プログラム14bのブロック番号0004を表示する。
【0049】
このように、第1表示部100と第2表示部200において、対応関係にあるすべてのブロックは、表示位置が同じとなるように調整される。また、他方にのみ存在するブロックに対応する位置に空白ブロックを表示することで、第1表示部100と第2表示部200の第1シーケンス・プログラム14aと第2シーケンス・プログラム14bの表示領域の大きさは同じとなる。
【0050】
照合結果表示プログラム26dは、対応関係にあるブロックの照合結果をラダー図上に表示する。照合はすべての対応関係にあるブロックに対しておこない、照合結果は、ラダー図の要素を区分する格子単位で相違を識別可能に表示する。これにより、対応関係にある2つのブロックの相違がラダー図上に詳細に表示される。また、照合結果は、編集操作後に表示を更新することができる。なお、この照合において、コメント文字列については照合対象としていない。
【0051】
同期スクロールプログラム26eは、第1表示部と第2表示部に表示された第1シーケンス・プログラム14aと第2シーケンス・プログラム14bのラダー図を同期してスクロールさせる。表示のスクロールは、カーソルの操作でも可能であり、例えば、表示部下端のカーソルを、方向キーで下方向に移動させると、上方向に表示がスクロールする。また、シーケンス・プログラム編集機能に備えた検索機能やジャンプ機能により、該当箇所に表示がスクロールする。これらの場合も、2つのシーケンス・プログラムが同期してスクロールする。
【0052】
カーソル同期移動プログラム26fは、第1表示部と第2表示部に表示された第1カーソルaと第2カーソルを同期して移動させる。例えば、第1表示部の第1カーソルを方向キーにより、右方向に移動させると、これに同期して第2表示部の第2カーソルを右方向に移動させる。また、マウスにてクリックすることにより、クリックした位置へカーソルが移動する。この場合も、2つのカーソルが同期して移動する。
【0053】
次に、本発明の周辺装置10のシーケンス・プログラム編集機能の詳細について説明する。周辺装置10において、シーケンス・プログラム編集プログラム26aを実行すると、シーケンス・プログラム編集機能が起動する。
【0054】
図5に示すように、シーケンス・プログラム編集機能は、上端に機能名称表示部411および操作メニュー412を備えている。画面中央部には、ラダー図の表示領域を備えている。図5は、表示領域が第1表示部501と第2表示部601に分割された状態を示している。この第1表示部501と第2表示部601には、それぞれ読み出された第1シーケンス・プログラムおよび第2シーケンス・プログラムのラダー図が表示される。
【0055】
第1表示部501と第2表示部601は、上端にタイトル表示部510,620、右端に第1スクロールバー511、第2スクロールバー611、下端に、ステータスバー416を備えている。タイトル表示部510,620には、読み出されたシーケンス・プログラムのファイル名称および編集(編集可)および参照(編集不可)の区別等が表示される。第1表示部501と第2表示部601のラダー図上には、それぞれ第1カーソル530、第2カーソル630を備えている。ステータスバー416には、ラダー図の照合結果表示の凡例が表示される。
【0056】
第1表示部501と第2表示部601に表示されるラダー図は、ブロック表示位置合わせプログラム26cにより、対応関係にあるすべてのブロックの表示位置が同じとなるように表示される。さらに、照合結果表示プログラム26dにより、対応関係にあるブロックの照合結果が、ラダー図上に詳細に表示される。
【0057】
例えば、編集対象として、第1シーケンス・プログラムT100.PRGを読み出し、参照用に、第2シーケンス・プログラムT200.PRGを読み出したとする。
【0058】
分割表示プログラム26bにより、画面は第1表示部501と第2表示部601に分割され、それぞれに第1シーケンス・プログラムT100.PRGと第2シーケンス・プログラムT200.PRGのラダー図が表示される。第2シーケンス・プログラムT200.PRGは編集禁止に設定される。
【0059】
ここで、第1シーケンス・プログラムT100.PRGのブロック番号0020,0021,0022,0025と第2シーケンス・プログラムT200.PRGのブロック番号0020,0021,0022,0023は対応関係にあるブロックである。また、第1シーケンス・プログラムT100.PRGのブロック番号0023,0024は、対応関係のないブロックである。
【0060】
そして、ブロック表示位置合わせプログラム26cにより、対応関係にある2つのブロックの表示位置が合わせられる。従って、第1表示部501のブロック番号0020,0021,0022,0025と第2表示部601のブロック番号0020,0021,0022,0023は同じ表示位置に表示される。また、対応関係のないブロックは、表示位置に合わせて空白ブロックが表示される。従って、第1表示部501のブロック番号0023,0024の表示位置と同じ第2表示部601の表示位置に空白ブロック61,62が表示される。
【0061】
さらに、照合結果表示プログラム26dにより、対応関係にあるブロックの照合結果が、表示される。第1シーケンス・プログラムT100.PRGのブロック番号0020,0021,0025と第2シーケンス・プログラムT200.PRGのブロック番号0020,0021,0023は対応関係にあるブロックであり、相違のない同一ブロックなので、照合結果は表示されない。
【0062】
また、第1シーケンス・プログラムT100.PRGのブロック番号0022と第2シーケンス・プログラムT200.PRGのブロック番号0022は対応関係にあるブロックであるが、アドレスL26の接点とアドレスM50の接点に相違が存在する。照合結果として、アドレスL26の接点とアドレスM50の接点の要素の配置された相違部521,621の背景色を他と識別可能に表示している。第1表示部501と第2表示部601において、この相違部521,621は同じ大きさで、同じ位置に表示される。
【0063】
ここで、第1カーソル530または第2カーソル630のどちらか一方を移動すると、カーソル同期移動プログラム26fにより、第1カーソル530と第2カーソル630は同期して移動する。例えば、第1表示部501の相違部521のアドレスL26の接点の格子位置に第1カーソル530を移動すると、第2カーソル630が第2表示部601の同位置に移動する。第2カーソル630は接続線のみを示している。このように、第1カーソル530および第2カーソル630がそれぞれ示す要素を見ることにより、相違を詳細に把握することができる。
【0064】
また、第1スクロールバー511または第2スクロールバー611のどちらか一方を操作すると、同期スクロールプログラム26eにより、第1シーケンス・プログラムT100.PRGと第2シーケンス・プログラムT200.PRGが同期してスクロールする。これにより、スクロール操作により、対応関係のある2つブロックの表示位置がずれることなく、シーケンス・プログラム全体を表示することができる。
【0065】
このように構成された周辺装置10において、複数の作業者が係わるプログラマブルコントローラのシーケンス・プログラムの変更作業について説明する。
【0066】
例えば、設備制御の変更依頼を受けた設備メーカーの担当者がこれを実施するとする。設備メーカー担当者は、設備制御の変更作業をおこなうにあたり、周辺装置を用いて、対象のプログラマブルコントローラからシーケンス・プログラムを読み出し、バックアップを作成する。さらに、このバックアップのコピーを作成し、このコピーを変更作業用のシーケンス・プログラムのベースとする。そして、変更仕様に基づきシーケンス・プログラムの編集をおこなう。
【0067】
一方、上記の変更作業中に、設備の保全担当者が不具合修正のため、上記のプログラマブルコントローラのシーケンス・プログラムの修正をおこなったとする。
【0068】
設備メーカー担当者は、編集後のシーケンス・プログラムを上記のプログラマブルコントローラに書き込む前に、再度対象のプログラマブルコントローラからシーケンス・プログラムを読み出し、HDD24に保存する。
【0069】
次に、周辺装置10のシーケンス・プログラム編集プログラム26aを実行し、編集対象として、編集後の第1シーケンス・プログラムを読み出し、参照用に、再度対象のプログラマブルコントローラから読み出した第2シーケンス・プログラムを読み出す。この第2シーケンス・プログラムは編集禁止に設定される。
【0070】
読み出された2つのシーケンス・プログラムは、図5に示すように、それぞれのラダー図が第1表示部501と第2表示部601に分割して表示される。そして、第1表示部501と第2表示部601において、対応関係にあるすべてのブロックの表示位置が同じとなるように表示される。さらに、対応関係にあるブロックの照合結果がラダー上に詳細に表示される。
【0071】
シーケンス・プログラムの全体を見るには表示をスクロール操作する。ここで、シーケンス・プログラムの一方をスクロール表示させると、他方も同期してスクロールするので、対応関係のある2つブロックの表示位置がずれることなく表示される。これにより、照合結果をシーケンス・プログラム全体にわたって、容易に確認することができる。
【0072】
このようにして、設備の保全担当者による不具合修正が、変更作業中におこなわれたことが確認されたならば、この変更分を自分の第1シーケンス・プログラムに組み込む作業をおこなう。この時、変更分の相違を参照しながら編集操作をすることができるので、組み込み作業を容易におこなうことができる。また、編集操作後に照合結果の表示を更新することができるので、編集結果を容易に確認することができる。
【0073】
また、相違のある要素にカーソルを移動すると、カーソルが同期して移動するので、相違を詳細に把握することができる。そして、このカーソル位置でラダー・プロパティ・ダイアログを表示することにより、カーソル位置のラダー図の要素を編集ができるので、編集作業を容易におこなうことができる。
【0074】
また、第2シーケンス・プログラムは編集禁止に設定されているので、誤って編集されて照合結果に影響を与えることもない。また、照合結果と編集画面が同時に表示されているので、画面切り替えが不要で、編集作業がしやすい。
【0075】
このように、複数の作業者が同一のシーケンス・プログラムを変更する場合であっても、2つのシーケンス・プログラムの相違を識別可能に表示しながら、一方のシーケンス・プログラムを編集をすることが容易にできるので、シーケンス・プログラムの変更作業を安全におこなうことができる。
【0076】
なお、本実施形態では、画面を水平方向に分割しているが、水平方向または垂直方向のどちらか編集作業のしやすい分割方向を選択できるようにしてもよい。周辺装置のディスプレイに合わせて画面を分割することで、編集を容易にすることができる。
【符号の説明】
【0077】
10:周辺装置、 11:CPU、 12:システムバス、
13:ROM、 13a:BIOS、 14:RAM、
14a:第1シーケンス・プログラム、 14b:第2シーケンス・プログラム、
21:ディスプレイ、 22:キーボード、
23:マウス、 24:HDD、 25:OS、
26:周辺装置ソフトウェア、
26a:シーケンス・プログラム編集プログラム、 26b:分割表示プログラム、
26c:ブロック表示位置合わせプログラム、 26d:照合結果表示プログラム、
26e:同期スクロールプログラム、 26f:カーソル同期プログラム、
27:通信インターフェース、 28:システムメモリ、
60,61,62:空白ブロック、
100:第1表示部、 101〜109:表示位置、
200:第2表示部、 201〜209:表示位置、
300:ラダー・プロパティ・ダイアログ
301:要素種別タブ、 302:シンボル図形リスト、 303:アドレス、
304:コメント文字列、 305:OR指定、 306:適用ボタン、
411:機能名称表示部、 412:操作メニュー、 416:ステータスバー
501:第1表示部、 510:タイトル表示部、 511:第1スクロールバー、
521:相違部、 530:第1カーソル、
601:第2表示部、 610:タイトル表示部、 611:第2スクロールバー、
621:相違部、 630:第2カーソル、
810:ブロック番号、 820:左側母線、 821:右側母線、
832:シンボル図形(接点)、 833:アドレス、 834:コメント文字列、
842:シンボル図形(コイル)、 843:アドレス、 844:コメント文字列、
852:シンボル図形(タイマ)、
880:カーソル

【特許請求の範囲】
【請求項1】
ラダー図により記述された複数のシーケンス・プログラムを格納する記憶手段と、
前記記憶手段から第1シーケンス・プログラムおよび第2シーケンス・プログラムを読み出し、それぞれ第1表示部と第2表示部とに分割して前記ラダー図を表示する分割表示手段と、
前記第1表示部に表示された前記第1シーケンス・プログラムの前記ラダー図を編集する編集手段と、
前記第1シーケンス・プログラムのラダー図と前記第2シーケンス・プログラムのラダー図とを照合し、編集前と編集後の相違を識別可能に表示する照合結果表示手段と、
編集された前記第1シーケンス・プログラムを前記記憶手段に格納する格納手段と、
を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項2】
請求項1に記載のプログラマブルコントローラの周辺装置であって、
前記照合結果表示手段は、表示画面上のラダー図の要素を区分する格子単位で相違を識別可能に、前記第1表示部および前記第2表示部の双方に表示することを特徴とするプログラマブルコントローラの周辺装置。
【請求項3】
請求項1または2に記載のプログラマブルコントローラの周辺装置であって、
前記第2シーケンス・プログラムのラダー図の編集を禁止する編集禁止手段を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項4】
請求項1〜3の何れか一項に記載のプログラマブルコントローラの周辺装置であって、
前記分割表示手段は、前記第1シーケンス・プログラムのラダー図および前記第2シーケンス・プログラムのラダー図からブロック番号順にそれぞれのブロックを取得し、前記第1シーケンス・プログラムのブロックと前記第2シーケンス・プログラムのブロックとが対応関係にある場合、2つのブロックは、それぞれ前記第1表示部と前記第2表示部の同じ位置に表示し、前記第1シーケンス・プログラムのブロックと前記第2シーケンス・プログラムのブロックとが対応関係にない場合、それぞれのブロックは、前記第1表示部または前記第2表示部の一方にのみブロックを表示し、他方の同じ位置には、前記一方のブロックと同じ大きさの空白ブロックを表示するブロック表示位置合わせ手段と、
を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項5】
請求項4に記載のプログラマブルコントローラの周辺装置であって、
前記分割表示手段により、それぞれ前記第1表示部と前記第2表示部とに分割して表示された前記第1シーケンス・プログラムのラダー図と前記第2シーケンス・プログラムのラダー図を同期してスクロールさせる同期スクロール手段と、
前記第1表示部と前記第2表示部のラダー図に表示された第1カーソルと第2カーソルを同期して移動させるカーソル同期移動手段と、
を備えることを特徴とするプログラマブルコントローラの周辺装置。
【請求項6】
請求項1〜5の何れか一項に記載のプログラマブルコントローラの周辺装置であって、
前記第2シーケンス・プログラムは、編集後のシーケンス・プログラムを実装する直前に、プログラマブルコントローラに実装されていたシーケンス・プログラムであり、前記第1シーケンス・プログラムは、編集後のシーケンス・プログラムである、
ことを特徴とするプログラマブルコントローラの周辺装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−109713(P2013−109713A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−256239(P2011−256239)
【出願日】平成23年11月24日(2011.11.24)
【出願人】(000001247)株式会社ジェイテクト (7,053)
【Fターム(参考)】