(57)【特許請求の範囲】
【請求項１】
プログラマブルコントローラに設けるラダープログラムの作成、変更、プログラム転送、モニタリング、デバッグなどを行うローダにおいて、
前記ローダは、
前記ラダープログラムのマスタコントロールレベルを示すネストレベルをラダー回路の母線に表示する手段と、
前記ネストレベル表示付きのラダープログラムの表示状態で、前記ネストレベル又は任意のラダー回路部分をポインティングデバイスなどで指定したときに、そのプログラムのマスタコントロール条件回路を表示する手段と、
を備えたことを特徴とするプログラマブルコントローラのローダ。
【請求項２】
前記ローダは、前記ネストレベル表示付きのラダープログラムの表示状態で、前記マスタコントロール条件表示を指定したときに、マスタコントロール条件回路及び当該マスタコントロール条件の動作状態を表示する手段を備えたことを特徴とする請求項１に記載のプログラマブルコントローラのローダ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラのローダに係り、特にラダープログラムでのマスターコントロールのネストレベルの表示とそのマスターコントロールの条件表示によるモニタリング方式に関する。
【０００２】
【従来の技術】
プログラマブルコントローラは、外部データを入力し、そのデータを元に演算を行い、演算結果を出力データとして外部に出力する。この動作を繰り返し実行することで、外部システムの制御を行っている。
【０００３】
また、プログラマブルコントローラとは別に、ローダと呼ばれる装置がプログラムの作成、変更、プログラム転送、モニタリング、デバッグなどのために用いられている。図５は、ローダとプログラマブルコントローラによるシステム構成を示す。プログラマブルコントローラ１とローダ２は、それぞれＣＰＵやメモリ（記憶装置）を持つコンピュータ構成にされて通信インタフェース３、４で結合され、ローダ２で作成、変更したプログラムをプログラマブルコントローラ１に転送し、さらに、ラダープログラムの場合、このローダのモニタリング情報がラダープログラムのデバッグに効果を上げている。
【０００４】
ラダープログラムの場合、ある入力データがプログラムのある範囲の動作条件となるようなことがある。一般的に、これをマスターコントロール条件と呼んでいる。マスターコントロール条件の開始を明記するために、ラダープログラムではマスターコントロールセット命令(ＭＣＳ命令）を用意している。また、マスターコントロール条件の終了を明記するためにマスターコントロールリセット命令（ＭＣＲ命令）を用意している。
【０００５】
図６にその例を示す。ここで、入力データＸ０がマスターコントロール条件であり、続くプログラムの条件となっている。その条件は、ＭＣＲ命令が現れるまで有効になる。
【０００６】
また、図７ではＭＣＳ命令とＭＣＲ命令に挟まれたプログラム中にさらにＭＣＳ命令とＭＣＲ命令が存在している。即ち、マスターコントロール条件がネストしていることを示している。このようなプログラムでは、マスタコントロール条件が複雑なプログラムでも、それぞれの条件を整理してプログラムを作成することができる。
【０００７】
【発明が解決しようとする課題】
図６において、ＭＣＳ命令とＭＣＲ命令により挟まれた部分が少ない場合には、マスタコントロール条件はすぐに理解できるが、その部分が長くなると、そのマスタコントロール条件がわからなくなったり、場合によってはマスタコントロール条件があったことさえも忘れてしまうことがある。
【０００８】
図７において、ＭＣＳ命令とＭＣＲ命令によるマスタコントロールがネストしている場合、現在注目しているプログラムがどのマスタコントロール条件で動作しているのか、また、ネストレベルはいくつなのかを知ることはプログラムを理解するために非常に重要となる。
【０００９】
このようなマスタコントロール条件がいくつもある場合に、注目しているプログラムのマスタコントロール条件を正しく調べることは非常に面倒であった。
【００１０】
本発明の目的は、以上のような点を考慮したものであり、任意のプログラムのマスタコントロールのネストレベルが容易に分かるようにし、かつ、マスタコントロール命令（ＭＣＳ命令とＭＣＲ命令）に挟まれたラダープログラムのマスタコントロール条件を瞬時に表示することを可能にしたプログラマブルコントローラのローダを提供することにある。
【００１１】
【課題を解決するための手段】
本発明は、前記課題を解決するため、マスタコントロール条件のネスト数をラダープログラムの母線に表示し、さらにネストレベルを示す数字又は任意のラダー回路部分を指定したときにそのプログラムが関係するマスタコントロール条件を表示し、さらにまたオンライン状態であれば、表示中のマスタコントロール条件プログラムの動作状態を表示するようにしたもので、以下のモニタリング方式を特徴とする。
【００１２】
（第１の発明）
プログラマブルコントローラに設けるラダープログラムの作成、変更、プログラム転送、モニタリング、デバッグなどを行うローダにおいて、
前記ローダは、
前記ラダープログラムのマスタコントロールレベルを示すネストレベルをラダー回路の母線に表示する手段と、
前記ネストレベル表示付きのラダープログラムの表示状態で、前記ネストレベル又は任意のラダー回路部分をポインティングデバイスなどで指定したときに、そのプログラムのマスタコントロール条件回路を表示する手段とを備えたことを特徴とする。
【００１４】
（第２の発明）
前記ローダは、前記ネストレベル表示付きのラダープログラムの表示状態で、前記マスタコントロール条件表示を指定したときに、マスタコントロール条件回路及び当該マスタコントロール条件の動作状態を表示する手段を備えたことを特徴とする。
【００１５】
【発明の実施の形態】
（第１の実施形態）
本実施形態では、図５の構成において、図１に示すように、ネストレベルをラダー回路の母線に表示する。これによって、表示中のプログラムのマスタコントロールのネストレベルがいくつになっているかをプログラマが容易に知ることができるようにする。
【００１６】
マスタコントロール命令（ＭＣＳ命令とＭＣＲ命令）に挟まれた部分は、マスタコントロール条件（図１ではＸ０、Ｘ１００）によって、演算条件が決まる。図１の例では、Ｙ０及びＹ１００はマスタコントロール条件としてはＸ０のみであるが、Ｙ１及びＹ１０はＸ０とＸ１００の２つのマスタコントロール条件が存在する。つまり、Ｙ０及びＹ１００のネストレベルは１であるが、Ｙ１及びＹ１０のネストレベルは２ということになる。
【００１７】
このようらネストレベルの表示機能を実現するには、ハードディスク等の外部記憶装置５に格納されているラダープログラムをキーボード６の操作又はマウス７等のポインティングデバイスの操作によって、主記憶８に呼び出し、このプログラムをその先頭から順にスキャンしてＭＣＳ命令を検索し、ＭＣＳ命令のラダーが見つかったときにカウンタの値をインクリメント（＋１）し、このＭＣＳ命令後のラダー回路の母線部分にカウンタの値を表示する。そして、ＭＣＲ命令が検索されたときに、カウンタの値をデクリメント（−１）する。
【００１８】
ネスト構造になる場合、ＭＣＳ命令の検索後に再度のＭＣＳ命令が検索されることから、カウンタのインクリメントが複数回続き、後にカウンタの値だけＭＣＲ命令が複数回続くことでネストレベルを表示できる。
【００１９】
これらネストレベルの表示のためのプログラムは、主記憶８等に用意しておく。
【００２０】
（第２の実施形態）
本実施形態は、図５の構成において、ローダ２とプログラマブルコントローラ１が伝送路を介して接続されていない状態（オフライン状態）でのモニタリング方式である。
【００２１】
この構成の場合、プログラム作成者は、ハードディスク等の外部記憶装置５に格納されているラダープログラムをキーボード６の操作又はマウス７等のポインティングデバイスの操作によって、主記憶８に呼び出し、その内容をＣＲＴ等の表示装置９にラダープログラムとして表示することになる。
【００２２】
ここで、本実施形態では、図２のようなネストレベル表示付きのプログラムを表示中に母線のマスタコントロールレベルを示す数字をポインティングデバイスなどで指定することによって、そのプログラムのマスタコントロール条件を表示できるようにする。
【００２３】
そのために、ローダ２の主記憶８にあるラダープログラムを先頭からスキャンして、現在表示しているプログラムに対応するマスタコントロール条件を明示しているＭＣＳ命令をネストの数だけ見つけ、そのプログラムを画面表示する。この表示は、ネスト数だけ行うことになる。図２は、その表示例である。ローダ２のＯＳがＷｉｎｄｏｗｓなどの場合、リストボックス等に表示することで対応できる。
【００２４】
図３は、本実施形態を実現するための表示フローである。プログラマにより指定された部分のプログラムアドレスを記憶し（Ｓ１）、この部部のネストレベルをカウンタにセットし（Ｓ２）、カウンタの現在値が０でないときに（Ｓ３）、当該プログラムアドレスの１つ前のラダーを読み出し（Ｓ４）、このラダーがＭＣＳ命令か否かをチェックし（Ｓ５）、ＭＣＳ命令でないときはプログラムアドレスを−１し（Ｓ６）、当該ラダーがプログラムの先頭でないときは（Ｓ７）処理Ｓ４に戻ってプログラムアドレスを前に進める。
【００２５】
これら処理は、ＭＣＳ命令が見つかるまで繰り返され、ＭＣＳ命令のラダーに達したとき（Ｓ５）、そのＭＣＳ命令を含むラダーを表示し（Ｓ８）、カウンタの値を−１する（Ｓ９）。これにより１つのＭＣＳ命令のラダーが表示される。
【００２６】
ネストレベルが２以上のとき、１回のＭＣＳ命令に対する処理Ｓ９での処理では、カウンタの値が０でないため、これを処理Ｓ１０でチェックし、処理Ｓ６に分岐してプログラムアドレスをさらに前に進め、次のＭＣＳ命令が見つかったときに当該アドレスのラダーを表示する。
【００２７】
（第３の実施形態）
本実施形態では、図５の構成において、ローダ２とプログラマブルコントローラ１が伝送路を介して接続されている状態（オンライン状態）でのモニタリング方式である。
【００２８】
この構成の場合、プログラム作成者は、ハードディスク等の外部記憶装置５又はプログラマブルコントローラ１のプログラムメモリ１０に格納されているラダープログラムをキーボード６の操作又はマウス７等のポインティングデバイスからの操作によって、主記憶８に格納し、その内容をＣＲＴ等の表示装置９にラダープログラムとして表示することになる。
【００２９】
ここで、本実施形態では、図１又は図２のようなネストレベル表示付きのプログラムを表示中に母線のマスタコントロールレベルを示す数字をポインティングデバイスなどで指定することによって、そのプログラムのマスタコントロール条件を表示できるようにする。
【００３０】
そのために、ローダ２の主記憶８にあるラダープログラムを先頭からスキャンして、現在表示しているプログラムに対応するマスタコントロール条件を明示しているＭＣＳ命令をネストの数だけ見つけ、そのプログラムを画面表示する。この表示は、ネスト数だけ行うことになる。更に、オンライン状態では、そのマスタコントロール条件が現在どういう状態であるのかをローダがプログラマブルコントローラに問い合わせて表示する。
【００３１】
図４は、その表示例である。ローダのＯＳがＷｉｎｄｏｗｓなどの場合、リストボックス等に表示することで対応できる。また、本実施形態を実現するための表示フローは、図３の場合と同様になる。
【００３２】
（第４の実施形態）
本実施形態では、図５の構成において、ローダ２とプログラマブルコントローラ１が伝送路を介して接続されている状態（オンライン状態）での他のモニタリング方式である。
【００３３】
この構成の場合、プログラム作成者は、ハードディスク等の外部記憶装置５又はプログラマブルコントローラ１のプログラムメモリ１０に格納されているラダープログラムをキーボード６の操作又はマウス７等のポインティングデバイスからの操作によって、主記憶８に格納し、その内容をＣＲＴ等の表示装置９にラダープログラムとして表示することになる。
【００３４】
ここで、本実施形態では、図１又は図２のようなプログラムを表示中に任意のラダー部分にポインティングデバイスなどで指定し、そこで、キーボード又はマウスなどのポインティングデバイスによってマスタコントロール条件表示を指定することによって、そのプログラムのマスタコントロール条件を表示できるようにする。
【００３５】
以下の操作は第２の実施形態及び第３の実施形態のものと同じになる。なお、ローダのＯＳがＷｉｎｄｏｗｓなどの場合、メニューバーにマスタコントロール条件表示機能を登録したり、そのアイコンを用意することで、その機能を容易に実現できる。
【００３６】
【発明の効果】
以上のとおり、本発明によれば、マスタコントロール条件のネスト数をラダープログラムの母線に表示し、さらにネストレベルを示す数字又は任意のラダー回路部分を指定したときにそのプログラムが関係するマスタコントロール条件を表示し、さらにまたオンライン状態であれば、表示中のマスタコントロール条件プログラムの動作状態を表示するようにしたため、マスタコントロールの条件を簡単に参照できることにより、ラダープログラムのデバッグやプログラム作成が容易になる。
【図面の簡単な説明】
【図１】本発明の実施形態を示すマスタコントロール命令のネストレベル表示例。
【図２】本発明の他の実施形態を示すマスタコントロール条件のネスト表示例。
【図３】実施形態におけるマスタコントロール条件プログラム表示フロー。
【図４】実施形態におけるマスタコントロール条件のネスト表示例。
【図５】プログラマブルコントローラとローダによるシステム構成。
【図６】マスタコントロール命令の例。
【図７】マスタコントロール命令のネスト例。
【符号の説明】
１…プログラマブルコントローラ
２…ローダ
【図１】
0003661336.tif 000002
【図２】
0003661336.tif 000003
【図３】
0003661336.tif 000004
【図４】
0003661336.tif 000005
【図５】
0003661336.tif 000006
【図６】
0003661336.tif 000007
【図７】
0003661336.tif 000008