(57)【要約】【課題】ファンクション・ブロックの入力端子と出力端子の信号状態をタイムチャート表示して、ファンクション・ブロックを使用したシーケンスプログラムのデバッグを容易におこなうことができるモニタ装置を提供する。【解決手段】プログラマブルコントローラ用のモニタ装置１００は、シーケンスプログラム表示手段１１６ａと、ファンクション・ブロックを選択する選択手段１２２と、現在の各信号状態を取得する信号状態取得手段１１６ｂと、選択手段１２２でファンクション・ブロックを選択すると、入力端子および出力端子のファンクション・ブロック・プログラムでのアドレスを監視アドレスと関連付ける監視アドレス設定手段１１６ｄと、信号状態取得手段１１６ｄにより、各入力端子および各出力端子の現在の各信号状態をプログラマブルコントローラの実行中に取得し、タイムチャートとして表示するタイムチャート表示手段１１６ｃを備える。【選択図】図１
2013054636.tif 000002
【特許請求の範囲】
【請求項１】
装置をシーケンス制御するために、接点およびコイル等の回路要素を含むシーケンスプログラム・ラダー回路を構成するシーケンスプログラムと、
前記装置の特定動作をシーケンス制御するために、前記シーケンスプログラム・ラダー回路に入力端子および出力端子が接続されたファンクション・ブロックと、
前記入力端子および出力端子を含むファンクション・ブロック・論理回路を構成するファンクション・ブロック・プログラムと、
から構成されるプログラマブルコントローラ用のモニタ装置にして、
前記シーケンスプログラム・ラダー回路に前記ファンクション・ブロックの入力端子および出力端子が接続された前記シーケンスプログラム・ラダー回路を表示装置に表示するシーケンスプログラム表示手段と、
前記シーケンスプログラム表示装置に表示された前記シーケンスプログラム・ラダー回路の前記ファンクション・ブロックを選択する選択手段と、
前記シーケンスプログラムの前記各回路要素、前記ファンクション・ブロックの前記各入力端子および前記各出力端子にそれぞれ割り付けられた監視アドレスに、信号状態記憶手段により記憶された前記各入力端子および前記各出力端子の現在の各信号状態を、取得する信号状態取得手段と、
前記選択手段で前記ファンクション・ブロックを選択すると、前記入力端子および前記出力端子の前記ファンクション・ブロック・プログラムでのアドレスを前記監視アドレスと関連付ける監視アドレス設定手段と、
信号状態取得手段により、前記信号状態記憶手段に記憶された前記各入力端子および前記各出力端子の現在の前記各信号状態を前記プログラマブルコントローラの実行中に取得してタイムチャートとして表示するタイムチャート表示手段と、
を備えるプログラマブルコントローラ用のモニタ装置。
【請求項２】
請求項１に記載のプログラマブルコントローラ用のモニタ装置であって、
前記シーケンスプログラム・ラダー回路と同一画面に前記タイムチャートを表示するシーケンスプログラム・ラダー回路およびタイムチャート・同一画面表示手段を備えるプログラマブルコントローラ用のモニタ装置。
【請求項３】
請求項２に記載のプログラマブルコントローラ用のモニタ装置であって、
前記ファンクション・ブロック・プログラムの回路要素、前記各入力端子および前記各出力端子の前記ファンクション・ブロック・プログラムでのアドレスを前記監視アドレスと関連付けるファンクション・ブロック監視アドレス設定手段と、
前記ファンクション・ブロック・論理回路を表示装置に表示するファンクション・ブロック・プログラム表示手段と、
前記ファンクション・ブロック・プログラムと同一画面に前記タイムチャートを表示するファンクション・ブロック・プログラムおよびタイムチャート同一画面表示手段と、
を備えるプログラマブルコントローラ用のモニタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は例えば生産設備等のプログラマブルコントローラ用のモニタ装置に関する。
【背景技術】
【０００２】
生産設備の設備機械は各種の装置により構成され、これらの装置の制御には、主にプログラマブルコントローラが使用されている。プログラマブルコントローラは、シーケンサとも呼ばれており、シーケンスプログラムの記述に従って、プログラマブルコントローラがシーケンスプログラムを順次実行（シーケンス処理）することにより、各種の装置を制御している。このシーケンスプログラムを記述する代表的なものとして、ラダー回路やファンクション・ブロックが知られている。ラダー回路は、梯子状に描かれた、両端の垂直な二つの線とその間を水平に結ぶ平行な線上に、接点・コイル等の回路要素の配置により論理回路を示したものであり、広く使用されている。ファンクション・ブロックは、概略矩形にて表現され、左右に複数の入力端子および出力端子を有しており、ラダー回路上に配置して回路要素の一つとして扱うことができる。ファンクション・ブロックは装置の種類ごとに作成され、内部に対象の装置を制御する論理回路を有したファンクション・ブロック・プログラムからなる。
【０００３】
通常これらのファンクション・ブロックは、プログラマブルコントローラのメーカーや生産技術部門において作成され、生産設備のメーカーに供給される。従って、生産設備のメーカーは、シーケンスプログラムの作成において、装置ごとに制御回路を作成する必要はない。装置に対応するファンクション・ブロックを回路要素の一つとして、ラダー回路上に配置し、その入力端子および出力端子にそれぞれ必要な入力回路および出力回路を接続することで、制御回路を完成させることができる。このように、ファンクション・ブロックを使用することで、シーケンスプログラムを効率的に作成することができる。また、シーケンスプログラムにファンクション・ブロックを使用することで、装置が正常に動作しない場合、調査するシーケンスプログラムの範囲を、該当装置に対応したファンクション・ブロック部分に絞り込むことができるので、デバッグを容易にすることができる。
【０００４】
ところで、シーケンスプログラムのデバッグをおこなう場合は、従来、モニタ装置の画面上にシーケンスプログラムのラダー回路を表示し、回路要素を信号状態に合わせて強調表示させて、回路の論理状態を把握することにより、解析することがおこなわれている。特許文献１では、上記の表示に加えて、回路要素の時系列での信号変化をタイムチャート表示するものが開示されている。タイムチャート表示により、回路要素の信号変化が時系列で把握できるので、さらに詳細な解析をおこなうことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−３７０８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された発明では、ファンクション・ブロックを使用したシーケンスプログラムの場合については説明されていない。タイムチャートを表示するには、シーケンスプログラムのラダー回路から目視で回路要素のアドレスを取得し、このアドレスを監視アドレスとして設定する必要がある。ところで、ファンクション・ブロックの入力端子および出力端子には、ファンクション・ブロックごとに異なるアドレスが割り付けられることからアドレスは表示されておらず、目視でアドレスを取得することができない。このため、ファンクション・ブロックの入力端子および出力端子の信号状態は、直接タイムチャート表示することができず、入力端子および出力端子にそれぞれ接続される入力回路および出力回路の信号状態から判断することとなり、容易ではなかった。
【０００７】
また、入力回路および出力回路の信号状態から入力端子および出力端子の信号状態を判断する場合、目視で入力回路および出力回路から回路要素のアドレスを取得し、監視アドレスとして手動で設定する必要があるため、タイムチャート表示するのに手間がかかっていた。さらに、タイムチャート表示とファンクション・ブロックの配置されたシーケンスプログラム表示は、表示画面が別々になって表示しているため、回路要素とタイムチャートとの対応関係が理解しにくいという問題があった。
【０００８】
また、ファンクション・ブロックを作成するメーカーや生産技術部門においては、ファンクション・ブロック．プログラムを作成し、デバッグする必要がある。しかし、ファンクション・ブロック・プログラムはタイムチャート表示をおこなっていないため、ファンクション・ブロックの入力端子および出力端子の信号状態は、シーケンスプログラムの場合と同様に、入力端子および出力端子にそれぞれ接続されるシーケンスプログラムの入力回路および出力回路から判断することとなり、容易ではなかった。また、タイムチャート表示とシーケンスプログラム表示は、表示画面が別々になって表示しているため、回路要素とタイムチャートの対応関係が理解しにくいという問題があった。
【０００９】
本発明はかかる問題点を解決するためになされたもので、ファンクション・ブロックの入力端子および出力端子の信号状態をタイムチャート表示して、ファンクション・ブロックを使用したシーケンスプログラムのデバッグを容易におこなうことができるモニタ装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係わる発明は、上記の課題を解決するため、装置をシーケンス制御するために、接点およびコイル等の回路要素を含むシーケンスプログラム・ラダー回路を構成するシーケンスプログラムと、前記装置の特定動作をシーケンス制御するために、前記シーケンスプログラム・ラダー回路に入力端子および出力端子が接続されたファンクション・ブロックと、前記入力端子および出力端子を含むファンクション・ブロック・論理回路を構成するファンクション・ブロック・プログラムと、から構成されるプログラマブルコントローラ用のモニタ装置にして、前記シーケンスプログラム・ラダー回路に前記ファンクション・ブロックの入力端子および出力端子が接続された前記シーケンスプログラム・ラダー回路を表示装置に表示するシーケンスプログラム表示手段と、前記シーケンスプログラム表示装置に表示された前記シーケンスプログラム・ラダー回路の前記ファンクション・ブロックを選択する選択手段と、前記シーケンスプログラムの前記各回路要素、前記ファンクション・ブロックの前記各入力端子および前記各出力端子にそれぞれ割り付けられた監視アドレスに、信号状態記憶手段により記憶された前記各入力端子および前記各出力端子の現在の各信号状態を、取得する信号状態取得手段と、前記選択手段で前記ファンクション・ブロックを選択すると、前記入力端子および前記出力端子の前記ファンクション・ブロック・プログラムでのアドレスを前記監視アドレスと関連付ける監視アドレス設定手段と、信号状態取得手段により、前記信号状態記憶手段に記憶された前記各入力端子および前記各出力端子の現在の前記各信号状態を前記プログラマブルコントローラの実行中に取得してタイムチャートとして表示するタイムチャート表示手段と、を備えることである。
【００１１】
請求項２に係わる発明は、請求項１に記載のプログラマブルコントローラ用のモニタ装置であって、前記シーケンスプログラム・ラダー回路と同一画面に前記タイムチャートを表示するシーケンスプログラム・ラダー回路およびタイムチャート・同一画面表示手段を備えることである。
【００１２】
請求項３に係わる発明は、請求項１に記載のプログラマブルコントローラ用のモニタ装置であって、前記ファンクション・ブロック・プログラムの回路要素、前記各入力端子および前記各出力端子の前記ファンクション・ブロック・プログラムでのアドレスを前記監視アドレスと関連付けるファンクション・ブロック監視アドレス設定手段と、前記ファンクション・ブロック・論理回路を表示装置に表示するファンクション・ブロック・プログラム表示手段と、前記ファンクション・ブロック・プログラムと同一画面に前記タイムチャートを表示するファンクション・ブロック・プログラムおよびタイムチャート同一画面表示手段と、を備えることである。
【発明の効果】
【００１３】
上記のように構成した請求項１の発明によれば、シーケンス制御される装置の特定動作の一動作が正常でない場合、以下の操作により、シーケンスプログラムのデバッグをおこなうことができる。まず、プログラマブルコントローラ用のモニタ装置において、シーケンスプログラム表示手段により、シーケンスプログラムのラダー回路を表示装置に表示する。そして、ラダー回路上において、上記装置に対応したファンクション・ブロックを表示する。ここで、信号状態記憶手段は、回路要素、入力端子および出力端子にそれぞれ割り付けられた監視アドレスに、現在の各信号状態を記憶している。次に、選択手段により、このファンクション・ブロックを選択すると、監視アドレス設定手段が入力端子および出力端子のファンクション・ブロック・プログラムでのアドレスを信号状態記憶手段の監視アドレスと関連付ける。そして、タイムチャート表示手段は、信号状態取得手段により、信号状態記憶手段に記憶された現在の各信号状態をプログラマブルコントローラの実行中に取得して、タイムチャート表示することができる。これにより、入力端子および出力端子にそれぞれ接続されるシーケンスプログラム・ラダー回路の各回路要素の信号状態から判断することなく、入力端子および出力端子の信号状態の変化を時系列で見ることができる。また、監視アドレス設定手段により、タイムチャートにファンクション・ブロックの入力端子および出力端子のアドレスが自動的に設定されるので、タイムチャート表示するのに手間がかからない。このように、ファンクション・ブロックの入力端子および出力端子の信号状態をタイムチャート表示して、ファンクション・ブロックを使用したシーケンスプログラムのデバッグを容易におこなうことができる。
【００１４】
請求項２に係わる発明によれば、シーケンスプログラム・ラダー回路およびタイムチャート・同一画面表示手段により、シーケンスプログラム・ラダー回路と同一画面にタイムチャートを表示することができるので、シーケンスプログラムの回路要素とタイムチャートとの対応関係を理解しやすくすることができる。
【００１５】
請求項３に係わる発明によれば、ファンクション・ブロック・論理回路の回路要素のタイムチャートを表示することに加えて、ファンクション・ブロックの入力端子および出力端子の信号状態を含めて表示することができる。また、ファンクション・ブロック・プログラムおよびタイムチャート同一画面表示手段により、ファンクション・ブロック・論理回路と同一画面にタイムチャートを同時に表示することができるので、ファンクション・ブロック・論理回路の回路要素とタイムチャートとの対応関係を理解しやすくすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態を示すモニタ装置とプログラマブルコントローラと設備機械の構成を示すブロック図。
【図２】図１の設備機械の部分概略図。
【図３】図１のプログラマブルコントローラのアドレス設定。
【図４】図１のプログラマブルコントローラのシーケンスプログラムの主要部。
【図５】図１のプログラマブルコントローラのシーケンスプログラムのファンクション・ブロック部。
【図６】本発明の第１の実施形態を示すモニタ装置の各種情報テーブル。
【図７】本発明の第１の実施形態を示すモニタ装置の監視アドレス設定処理のフローチャート。
【図８】本発明の第１の実施形態を示すモニタ装置のタイムチャート表示処理の描画座標系。
【図９】本発明の第１の実施形態を示すモニタ装置のタイムチャート表示処理のフローチャート。
【図１０】本発明の第１の実施形態を示すモニタ装置のタイムチャート表示例。
【図１１】本発明の第２の実施形態を示すモニタ装置のタイムチャート表示例。
【図１２】本発明の第３の実施形態を示すモニタ装置のタイムチャート表示例。
【発明を実施するための形態】
【００１７】
［第１の実施形態］
以下、本発明の実施形態のモニタ装置１００の構成を図面に従って説明する。なお、図中ファンクション・ブロックはＦＢと略記している。
図１に示すように、モニタ装置１００の表示部１１０は、液晶表示板１２１と、その液晶表示板１２１上を被覆した透明の電極板からなるタッチパネル１２２とにより構成されている。モニタ装置１００には、ＣＰＵ１１１の内部バス１１２を介して、ＲＡＭ１１４、ＲＯＭ１１５、表示部インターフェース１１８、通信インターフェース１１９が接続されている。プログラマブルコントローラ１０には、ＣＰＵ１１の内部バス１２を介して、プログラムメモリ１３、ＲＡＭ１４、ＲＯＭ１５、Ｉ／Ｏ制御回路１７、通信インターフェース１９が接続されている。プログラマブルコントローラ１０とモニタ装置１００は、それぞれの通信インターフェース１９,１１９を介して接続されている。制御対象である設備機械５０は、プログラマブルコントローラ１０のＩ／Ｏ制御回路１７を介して、装置１，２等の出力デバイス、およびセンサやスイッチ等の入力デバイス（図示せず）に接続されている。プログラマブルコントローラ１０のＲＯＭ１５は、システムプログラム１５ａが格納されている。ＲＡＭ１４は、システムプログラム１５ａがシーケンスプログラム１３ａを実行する際に使用されるワークメモリ１４ａが設けられている。
【００１８】
プログラムメモリ１３には、設備機械５０を制御するためのシーケンスプログラム１３ａや装置１，２等に対応したファンクション・ブロックを含むファンクション・ブロック・プログラム１３ｂが格納されている。なお、ファンクション・ブロック・プログラム１３ｂには、論理回路の他にも、ＦＢ入出力情報等のデータが含まれている。システムプログラム１５ａは、ＣＰＵ１１により実行されてプログラマブルコントローラ１０の全体を制御する。モニタ装置１００のＲＯＭ１１５は、システムプログラム１１６に含まれるシーケンスプログラム表示手段１１６ａ、信号状態取得手段１１６ｂ、タイムチャート表示手段１１６ｃ、監視アドレス設定手段１１６ｄ、ファンクション・ブロック・プログラム表示手段１１６ｅ、が格納されている。ＲＡＭ１１４は、システムプログラム１１６が、上記の表示手段１１６ａ〜１１６ｅを実行する際に使用されるワークメモリ１１４ａが設けられている。システムプログラム１１６は、ＣＰＵ１１１により実行されてモニタ装置１００の全体を制御するとともに、オペレータの操作により、上記の表示手段１１６ａ〜１１６ｅを適宜呼び出す。上記の表示手段１１６ａ〜１１６ｅは、表示部インターフェース１１８を介して、表示部１１０に表示する。
【００１９】
次に、本実施形態の設備機械５０の構成について説明する。
図２に示すように、設備機械５０は、アーム装置５１とハンド装置５２により構成される部分を有している。アーム装置５１は、ベース部に固定され、エアシリンダーにより水平方向に動作する。また、ハンド装置５２は、アーム端部に固定され、エアシリンダーによりチャック動作する。また、ベース部にはアーム装置５１のアーム位置Ａおよびアーム位置Ｂを検出するリミットスイッチＬＳ１，ＬＳ２がそれぞれ設けられている。リミットスイッチＬＳ１は、アーム後退端のアーム位置Ａにおいて信号状態がオンし、リミットスイッチＬＳ２は、アーム前進端のアーム位置Ｂにおいて信号状態がオンするように配置されている。そして、アーム端部にはハンド装置５２のアンチャック端およびチャック端の位置を検出するリミットスイッチＬＳ３，ＬＳ４がそれぞれ設けられている。リミットスイッチＬＳ３は、ハンド装置５２のアンチャック端の位置において信号状態がオンし、リミットスイッチＬＳ４は、ハンド装置５２のチャック端の位置において信号状態がオンするように配置されている。また、アーム位置Ｂおよびアーム位置Ａにおいて、ワークＷの有無を検出するセンサＰ１，Ｐ２がそれぞれベース部に設けられている。
【００２０】
次に、設備機械５０の動作の概略について説明する。
初期状態において、アーム装置５１を後退端のアーム位置Ａとし、ハンド装置５２をアンチャック端の位置として、待機する。（１）ワークＷがセットされたことを検出すると、ハンド装置５２によりワークＷをチャックする。（２）次に、アーム装置５１のアームを前進端のアーム位置Ｂまで前進させる。（３）次に、ハンド装置５２をアンチャックして、ワークＷを置き台に置く。（４）次に、アーム装置５１のアームを後退端のアーム位置Ａまで後退させる。（５）次のワークＷがセットされるまで待機し、ワークＷがセットされたことを検出されたら、（１）の動作に戻る。以下は繰り返しの動作となる。これらの動作は、エアシリンダー等からなるアクチュエータの前進動作と後退動作を制御するファンクション・ブロックＦＢ２００をアーム装置５１およびハンド装置５２に使用したシーケンスプログラム１３ａのラダー回路により記述されている。
【００２１】
次に、本実施形態のシーケンスプログラム１３ａの概略を示す。
シーケンスプログラム１３ａは、図３に示されるアドレス設定を用いて、図４、図５に示すファンクション・ブロックを使用したラダー回路により記述されている。これらのアドレスはプログラマブルコントローラ１０が認識可能な形式であり、先頭の識別文字に１６進のワードアドレスを付加したものである。先頭の識別文字がＭのアドレスは、プログラマブルコントローラ１０のワークメモリ１４ａ上のアドレスであることを示している。また、先頭の識別文字がＸおよびＹのアドレスは、それぞれＩ／Ｏ制御回路１７を介して装置と接続され、装置と信号の入力および出力をおこなうアドレスである。図４に示すブロック番号００１０〜００１３は、上記（１）〜（５）の動作指示をおこなう。図５に示すブロック番号００２０および００２１は、それぞれファンクション・ブロックＦＢ２００を使用して、アーム装置５１およびハンド装置５２の動作を制御する。
【００２２】
ファンクション・ブロックＦＢ２００のファンクション．ブロック・論理回路は、エアシリンダー等からなるアクチュエータの特定動作を構成する前進動作と後退動作を制御するファンクション・ブロックであり、以下に示すように論理回路が構成されている。図５に示すように、ファンクション・ブロックＦＢ２００は、６個の入力端子と、４個の出力端子を有している。入力端子の前進指示ＩＮ１と、前進条件ＩＮ３と、後退端ＬＳＩＮ５の信号がオンし、前進端ＬＳＩＮ６の信号がオフにて、前進動作の出力端子ＯＵＴ３の信号がオンする。前進動作の出力端子ＯＵＴ３の信号は、前進端ＬＳＩＮ６の信号がオンにて、オフとなるとともに、遅延して前進端の出力端子ＯＵＴ１の信号をオンする。入力端子の後退指示ＩＮ２と、後退前進条件ＩＮ４と、後退端ＬＳＩＮ５の信号がオフし、前進端ＬＳＩＮ６の信号がオンにて、後退動作の出力端子ＯＵＴ４の信号がオンする。後退動作の出力端子ＯＵＴ４の信号は、後退端ＬＳＩＮ５の信号がオンにて、オフとなるとともに、遅延して後退端の出力端子ＯＵＴ２の信号をオンする。従って、前進動作の出力端子ＯＵＴ３には、アクチュエータの前進動作指令となるコイルを接続し、後退動作の出力端子ＯＵＴ４には、アクチュエータの後退動作指令となるコイルを接続する。また、後退端ＬＳＩＮ５には、アクチュエータの後退端にてオンするリミットスイッチの接点を接続し、前進端ＬＳＩＮ６には、アクチュエータの前進端にてオンするリミットスイッチの接点を接続する。
【００２３】
シーケンスプログラム１３ａは、上方から下方に順次実行され、下端まで実行されると、入出力信号をリフレッシュした後、上端から繰り返し実行する。入出力信号は、図１のＩ／Ｏ制御回路１７を介して、装置２に相当するアーム装置５１およびハンド装置５２に受け渡される。なお、これらのシーケンスプログラム１３ａおよびファンクション・ブロック・プログラム１３ｂは、周辺装置等によって作成されている。
【００２４】
次に、本実施形態のシーケンスプログラム１３ａの動作の詳細を示す。
初期状態において、アーム装置５１は後退端に位置しており、これを示す接点Ｍ１０７がオンし、ハンド装置５２はアンチャック端に位置しており、これを示す接点Ｘ２０３がオンしている。
【００２５】
次に、図４に示すように、ブロック番号００１０において、運転条件を満たしていることを示す接点Ｘ０１０がオンし、ワークＷがセットされたことを示す接点Ｘ２１１がオンし、ハンド装置５２がチャック端に位置していることを示す接点Ｍ１０８がオフであると、ハンド装置５２にチャック指示するコイルＭ０７１をオンするとともに、コイルＭ０７１を自己保持する。
【００２６】
図５に示すように、ブロック番号００２１において、ファンクション・ブロックＦＢ２００の入力端子であるＩＮ１に接続された接点Ｍ０７１と、ＩＮ３に接続された接点Ｍ１０７と、ＩＮ５に接続された接点Ｘ２０３がオンであると、ファンクション．ブロック・論理回路により、前進動作の出力端子ＯＵＴ３がオンする。ファンクション・ブロックＦＢ２００の前進動作の出力端子ＯＵＴ３には、チャック動作指令となるコイルＹ２７５が接続されており、ハンド装置５２は、Ｙ２７５の信号がオンであるとチャック動作をおこなうように構成されている。ハンド装置５２のチャック動作により、チャック端に配置されたリミットスイッチＬＳ４の信号状態がオンであると、入力端子ＩＮ６に接続された接点Ｘ２０４がオンする。ファンクション・ブロックＦＢ２００は、前進端ＬＳの入力端子ＩＮ６がオンであると、ファンクション．ブロック・論理回路により、前進動作の出力端子ＯＵＴ３をオフするとともに、前進端の出力端子ＯＵＴ１がオンする。ファンクション・ブロックＦＢ２００の前進端の出力端子ＯＵＴ１には、ハンド装置５２がチャック端に位置していることを示すコイルＭ１０８が接続され、ＯＵＴ１がオンするとともに、コイルＭ１０８がオンする。ブロック００１０は、接点Ｍ１０８がオンであると、ハンド装置５２のチャック指示するＭ０７１のコイルをオフする。
【００２７】
図４に示すように、ブロック番号００１１において、ハンド装置５２がチャック端に位置にあることを示す接点Ｍ１０８がオンし、アーム装置５１が前進端のアーム位置Ｂにあることを示す接点Ｍ１０６がオフであると、アーム装置５１に前進指示するコイルＭ０６１をオンするとともに、コイルＭ０６１を自己保持する。
【００２８】
図５に示すように、ブロック番号００２０において、ファンクション・ブロックＦＢ２００の入力端子であるＩＮ１に接続された接点Ｍ０６１と、ＩＮ３に接続された接点Ｍ１０８と、ＩＮ５に接続された接点Ｘ２０１がオンであると、ファンクション．ブロック・論理回路により、前進動作の出力端子ＯＵＴ３がオンする。ファンクション・ブロックＦＢ２００の前進動作の出力端子ＯＵＴ３には、前進動作指令となるコイルＹ２７３が接続されており、アーム装置５１は、Ｙ２７３の信号がオンであると前進動作をおこなうように構成されている。アーム装置５１の前進動作により、前進端に配置されたリミットスイッチＬＳ２の信号状態がオンであると、入力端子ＩＮ６に接続された接点Ｘ２０２がオンする。ファンクション・ブロックＦＢ２００は、前進端ＬＳの入力端子ＩＮ６がオンであると、ファンクション．ブロック・論理回路により、前進動作の出力端子ＯＵＴ３をオフするとともに、前進端の出力端子ＯＵＴ１をオンする。ファンクション・ブロックＦＢ２００の前進端の出力端子ＯＵＴ１には、アーム装置５１が前進端のアーム位置Ｂにあることを示すコイルＭ１０６が接続され、ＯＵＴ１がオンするとともに、コイルＭ１０６がオンする。
【００２９】
図４に示すように、ブロック番号００１１は、接点Ｍ１０６がオンであると、アーム装置５１に前進指示するＭ０６１のコイルをオフする。そして、ブロック番号００１２において、アーム装置５１が前進端のアーム位置Ｂにあることを示す接点Ｍ１０６がオンし、ワークＷがセットされたことを示す接点Ｘ２１２がオンし、ハンド装置５２がアンチャック端に位置していることを示す接点Ｍ１０９がオフであると、ハンド装置５２にアンチャック指示するコイルＭ０７２をオンするとともに、コイルＭ０７２を自己保持する。
【００３０】
図５に示すように、ブロック番号００２１において、ファンクション・ブロックＦＢ２００の入力端子であるＩＮ２に接続された接点Ｍ０７２と、ＩＮ４に接続された接点Ｍ１０６と、ＩＮ６に接続された接点Ｘ２０４がオンであると、ファンクション．ブロック・論理回路により、後退動作の出力端子ＯＵＴ４がオンする。ファンクション・ブロックＦＢ２００の後退動作の出力端子ＯＵＴ４には、アンチャック動作指令となるコイルＹ２７４が接続されており、ハンド装置５２は、Ｙ２７４の信号がオンであるとアンチャック動作をおこなうように構成されている。ハンド装置５２のアンチャック動作により、アンチャック端に配置されたリミットスイッチＬＳ３の信号状態がオンであると、入力端子ＩＮ６に接続された接点Ｘ２０３がオンする。ファンクション・ブロックＦＢ２００は、後退端ＬＳの入力端子ＩＮ５がオンであると、ファンクション．ブロック・論理回路により、後退動作の出力端子ＯＵＴ４をオフするとともに、後退端の出力端子ＯＵＴ２がオンする。ファンクション・ブロックＦＢ２００の後退端の出力端子ＯＵＴ２には、ハンド装置５２がアンチャック端に位置していることを示すコイルＭ１０９が接続され、ＯＵＴ２がオンするとともに、コイルＭ１０９がオンする。ブロック００１２は、接点Ｍ１０９がオンであると、ハンド装置５２のアンチャック指示するＭ０７２のコイルをオフする。
【００３１】
図４に示すように、ブロック番号００１３において、ハンド装置５２がアンチャック端に位置していることを示す接点Ｍ１０９がオンし、アーム装置５１が後退端のアーム位置Ｂにあることを示す接点Ｍ１０７がオフであると、アーム装置５１に後退指示するコイルＭ０６２をオンするとともに、コイルＭ０６２を自己保持する。
【００３２】
図５に示すように、ブロック番号００２０において、ファンクション・ブロックＦＢ２００の入力端子であるＩＮ２に接続された接点Ｍ０６２と、ＩＮ４に接続された接点Ｍ１０９と、ＩＮ６に接続された接点Ｘ２０２がオンであると、ファンクション．ブロック・論理回路により、後退動作の出力端子ＯＵＴ４がオンする。ファンクション・ブロックＦＢ２００の後退動作の出力端子ＯＵＴ４３には、後退動作指令となるコイルＹ２７２が接続されており、アーム装置５１は、Ｙ２７２の信号がオンであると後退動作をおこなうように構成されている。アーム装置５１の後退動作により、後退端に配置されたリミットスイッチＬＳ１の信号状態がオンであると、入力端子ＩＮ５に接続された接点Ｘ２０１がオンする。ファンクション・ブロックＦＢ２００は、後退端ＬＳの入力端子ＩＮ５がオンであると、ファンクション．ブロック・論理回路により、後退動作の出力端子ＯＵＴ４をオフするとともに、後退端の出力端子ＯＵＴ２をオンする。ファンクション・ブロックＦＢ２００の後退端の出力端子ＯＵＴ２には、アーム装置５１が後退端のアーム位置Ａにあることを示すコイルＭ１０７が接続され、ＯＵＴ２がオンするとともに、コイルＭ１０７がオンする。
【００３３】
図４に示すように、ブロック番号００１３は、接点Ｍ１０７がオンであると、アーム装置５１に後退指示するＭ０６２のコイルをオフする。
【００３４】
次に、本実施形態の本実施形態のモニタ装置１００の動作について説明する。
モニタ装置１００は、オペレータがタッチパネル１２２上のシーケンスプログラム表示を選択すると、システムプログラム１１６により、シーケンスプログラム表示手段１１６ａを呼び出す。シーケンスプログラム表示手段１１６ａは、通信インターフェース１１８を介して、プログラマブルコントローラ１０から、シーケンスプログラム１３ａおよびファンクション・ブロック・プログラム１３ｂを読み出し、表示部インターフェース１１８を介して、表示部１１０にシーケンスプログラム１３ａを表示する。
【００３５】
また、システムプログラム１１６は、読み出されたシーケンスプログラム１３ａおよびファンクション・ブロック・プログラム１３ｂから、図６（ａ）に示されるＦＢ位置情報テーブル、図６（ｂ）に示されるＦＢ入出力情報テーブル、図６（ｃ）に示されるメモリマップの各情報テーブルをワークメモリ１４ａ上に生成する。
【００３６】
ファンクション・ブロック位置情報テーブルは、図６（ａ）に示すようにシーケンスプログラム１３ａに記述されたファンクション・ブロックの位置、ファンクション・ブロック名、ワークメモリの先頭アドレス、ワークメモリのサイズの情報を有している。
【００３７】
ファンクション・ブロック入出力情報テーブルは、図６（ｂ）に示すようにファンクション・ブロックごとのタグ名、コメント文字列、データ型、オフセットサイズの情報を有している。タグ名とはファンクション・ブロックの入力端子および出力端子等の回路要素に設定される名称である。これらの情報は、ファンクション・ブロック・プログラム１３ｂのプログラミングとともに、周辺装置等によって設定されている。
【００３８】
メモリマップは、図６（ｃ）に示すようにシーケンスプログラム１３ａに記述されたファンクション・ブロックごとに、ワークメモリ１４ａ上に割り当てられたワークエリアの先頭アドレスの情報を有している。
【００３９】
シーケンスプログラム表示手段１１６ａにより、表示部１１０に表示されたシーケンスプログラム１３ａにおいて、選択手段のタッチパネル１２２からファンクション・ブロックをオペレータがタッチすると、システムプログラム１１６は、タイムチャート表示手段１１６ｃを呼び出す。タイムチャート表示手段１１６ｃは、監視アドレス設定手段１１６ｄを呼び出し、タッチされたブロック番号００２０のファンクション・ブロックＦＢ２００の監視アドレス設定処理をおこなう。
【００４０】
以下、本実施形態の監視アドレス設定手段１１６ｄである監視アドレス設定処理を図７に示すフローチャートに従って説明する。
【００４１】
図７に示すように、監視アドレス設定処理は、表示部１１０に表示されたシーケンスプログラム１３ａから、選択手段により選択されたファンクション・ブロックのブロック番号を取得する。（ステップＳ００１）次に、ファンクション・ブロック位置情報テーブルから、選択されたファンクション・ブロックのワークメモリの先頭アドレスＷＭを取得する。（ステップＳ００２）例えば、図６（ａ）のファンクション・ブロック位置情報テーブルの場合、ブロック番号００２０と、ファンクション・ブロックＦＢ２００から、ワークメモリの先頭アドレスＷＭのＷ００８を取得する。なお、この先頭アドレスはプログラマブルコントローラ１０が認識可能な形式であり、先頭の識別文字Ｗに１６進のワードアドレスを付加したものである。次に、ファンクション・ブロック入出力情報テーブルから、ファンクション・ブロック先頭の入出力端子の情報を取得する。（ステップＳ００３）例えば、図６（ｂ）のファンクション・ブロック入出力情報テーブルの場合、入力端子のＩＮ１を取得する。次に入出力端子のオフセットＯＦＳを取得する。（ステップＳ００４）例えば、図６（ｂ）のファンクション・ブロック入出力情報テーブルの場合、入力端子ＩＮ１から、オフセットＯＦＳの０ワードを取得する。次に入出力端子の監視アドレスＴＡを算出する。（ステップＳ００５）例えば、ブロック番号００２０のファンクション・ブロックＦＢ２００の入力端子のＩＮ１の場合、ワークメモリの先頭アドレスＷＭがＷ００８であり、オフセットＯＦＳは０ワードであることから、アドレスＴＡは、ＷＭ＋ＯＦＳ＝Ｗ００８を算出する。次に、アドレスＴＡを監視アドレスリストに追加する。（ステップＳ００６）次に、入出力端子が最大入出力端子の個数を超えているか判別する。入出力端子が最大入出力端子の個数を超えていた場合、監視アドレス設定処理を終了する。（ステップＳ００７）入出力端子が最大入出力端子の個数を超えていなければ、ファンクション・ブロック入出力情報テーブルから、次の入出力端子の情報を取得し、ステップＳ００４へジャンプする。（ステップＳ００８）例えば、図６（ｂ）のファンクション・ブロック入出力情報テーブルの場合、入力端子のＩＮ２を取得する。
【００４２】
このようにして、監視アドレス設定処理は、ファンクション・ブロックごとに割り付けられた入力端子および出力端子のアドレスを取得するとともに、監視アドレスとして関連付け、監視アドレスリストとして設定する。
【００４３】
以下、本実施形態のタイムチャート表示手段１１６ｃであるタイムチャート表示処理を図８に示す描画座標系と、図９に示すフローチャートに従って説明する。
【００４４】
図８に示すように、本実施形態のタイムチャートの描画座標系は、横軸であるＸ軸に時間軸を配置し、縦軸であるＹ軸に信号軸を配置したものである。この水平線の水平方向の長さは時間を表し、水平線の高さは信号状態のオン状態とオフ状態を表している。表示は、信号状態のサンプリング時間間隔ｄごとに更新され、右端に最新の信号状態を描画する。現在（今回）の描画座標位置をｘとすると、前回の信号状態の水平線の高さｕまたはｌにて、水平線をｘからｘ＋ｄまで描画した後、今回の信号状態の垂直線をｘ＋ｄに描画する。複数のアドレスのタイムチャートを同じ時間軸で描画することにより、アドレス間の信号変化の状況を理解しやすくしている。
【００４５】
図９に示すように、タイムチャート表示処理は、最初に監視アドレス設定処理を呼び出し、監視アドレスリストを生成する（ステップＳ００１）次に、タイムチャートの描画座標系における描画座標位置を初期化する。また、監視アドレスリストのポインタを先頭位置にする。（ステップＳ００２）次に、監視アドレスリストから、ポインタの示すアドレスを取得する。（ステップＳ００３）次に、信号状態取得手段によりこのアドレスに記憶された、現在（今回）の信号状態を取得する。（ステップＳ００４）次に、今回の信号状態がオンならば、前回の信号状態がオンであったか判別する。（ステップＳ００５）（ステップＳ００６）そして、今回の信号状態がオフならば、前回の信号状態がオフであったか判別する。（ステップＳ０１０）今回の信号状態がオンかつ前回の信号状態がオンならば、描画座標位置に水平線を描画する。（ステップＳ００７）今回の信号状態がオンかつ前回の信号状態がオフならば、描画座標位置に水平線と垂直線を描画する。（ステップＳ００８）（ステップＳ００９）今回の信号状態がオフかつ前回の信号状態がオフならば、描画座標位置に水平線を描画する。（ステップＳ０１１）今回の信号状態がオフかつ前回の信号状態がオンならば、描画座標位置に水平線と垂直線を描画する。（ステップＳ０１２）（ステップＳ０１３）描画した前回の信号状態を今回の信号状態として記憶する。（ステップＳ０１４）次に、監視アドレスリストのポインタが末尾位置を超えているか判別する。（ステップＳ０１５）監視アドレスリストのポインタが末尾位置を超えていた場合、監視アドレスリストのポインタを先頭位置とし、タイムチャートの描画座標位置を次回の時間位置に更新し、信号状態サンプリング時間ｄ経過するのを待った後、ステップＳ００２へジャンプする。（ステップＳ０１６）監視アドレスリストのポインタが末尾位置を超えていなければ、ポインタを次位置に更新して、ポインタの示すアドレスを取得する。（ステップＳ０１７）タイムチャートの描画座標位置を次のアドレス位置に更新し、ステップＳ００３へジャンプする。（ステップＳ０１８）
【００４６】
このように構成された本実施形態のプログラマブルコントローラ用のモニタ装置１００によれば、例えば、本実施形態の設備機械５０のアーム装置５１が正常に動作しない場合、以下のようにシーケンスプログラム１３ａのデバッグをおこなうことができる。
【００４７】
まず、モニタ装置１００により、シーケンスプログラム１３ａを表示部１１０に表示する。そして、シーケンスプログラム１３ａにおいて、アーム装置５１に対応するブロック番号００２０のファンクション・ブロックＦＢ２００を表示する。そして、選択手段のタッチパネル１２２からファンクション・ブロックＦＢ２００をオペレータがタッチすると、システムプログラム１１６は、タイムチャート表示処理を呼び出す。タイムチャート表示処理は、監視アドレス設定処理を呼び出し、タッチされたブロック番号００２０のファンクション・ブロックＦＢ２００の監視アドレス設定処理をおこなう。監視アドレス設定処理は、ブロック番号００２０のファンクション・ブロックＦＢ２００の入力端子および出力端子のファンクション・ブロック・プログラム１３ｂでのアドレスを、信号状態記憶手段の監視アドレスと関連付ける。これにより、入力端子ＩＮ１〜ＩＮ６および出力端子のＯＵＴ１〜ＯＵＴ４のアドレスを監視アドレスとして、監視アドレスリストにＷ００８〜Ｗ０１１が設定される。
【００４８】
そして、図１０に示すように、タイムチャート表示処理は、信号状態記憶手段により記憶され、監視アドレス設定処理により、監視アドレスと関連付けられた各アドレスの現在の各信号状態を、信号状態取得手段１１６ｂによりプログラマブルコントローラ１０の実行中に取得し、これをタイムチャート表示する。これにより、ファンクション・ブロックの入力端子および出力端子の信号変化が時系列で把握できるので、さらに詳細な解析をおこなうことができる。
【００４９】
［第２の実施形態］
図１１は、本発明の第２の実施形態を示すモニタ装置のタイムチャート表示例である。
本実施形態では、モニタ装置１００により、表示部１１０に表示されたシーケンスプログラム１３ａにおいて、アーム装置５１に対応するブロック番号００２０のファンクション・ブロックＦＢ２００を表示する。そして、選択手段のタッチパネル１２２からファンクション・ブロックＦＢ２００をオペレータがタッチすると、システムプログラム１１６は、シーケンスプログラム・ラダー回路およびタイムチャート・同一画面表示手段を呼び出す。シーケンスプログラム・ラダー回路およびタイムチャート・同一画面表示手段は、シーケンスプログラム表示手段１１６ａとタイムチャート表示手段１１６ｃを呼び出す。
【００５０】
図１１に示すように、シーケンスプログラム表示手段１１６ａにより、シーケンスプログラム・ラダー回路を第１ウィンドウ２０１に表示し、タイムチャート表示手段１１６ｃによりタイムチャートを第２ウィンドウ２０２に表示し、この第１ウィンドウ２０１と第２ウィンドウ２０２を同一画面に表示する。これにより、シーケンスプログラムの回路要素とタイムチャートとの対応関係を理解しやすくすることができる。
【００５１】
［第３の実施形態］
図１２は、本発明の第３の実施形態を示すモニタ装置のタイムチャート表示例である。
本実施形態では、モニタ装置１００により、表示部１１０に表示されたシーケンスプログラム１３ａにおいて、アーム装置５１に対応するブロック番号００２０のファンクション・ブロックＦＢ２００を表示する。そして、選択手段のタッチパネル１２２からファンクション・ブロックＦＢ２００をオペレータがタッチすると、システムプログラム１１６は、ファンクション・ブロック・プログラムおよびタイムチャート同一画面表示手段を呼び出す。ファンクション・ブロック・プログラムおよびタイムチャート同一画面表示手段は、ファンクション・ブロック・プログラム表示手段１１６eとタイムチャート表示手段１１６ｃを呼び出す。
【００５２】
ここで、タイムチャート表示手段１１６ｃは、ファンクション・ブロック監視アドレス設定手段により、ファンクション・ブロック・論理回路の回路要素、各入力端子および各出力端子のファンクション・ブロック・論理回路でのアドレスを監視アドレスと関連付けた後、信号状態取得手段１１６ｂにより各アドレスの現在の各信号状態をプログラマブルコントローラ１０の実行中に取得し、これをタイムチャート表示する。
【００５３】
図１２に示すように、ファンクション・ブロック・プログラム表示手段１１６eにより、ファンクション・ブロック・論理回路を第１ウィンドウ２０１に表示し、タイムチャート表示手段１１６ｃによりタイムチャートを第２ウィンドウ２０２に表示し、この第１ウィンドウ２０１と第２ウィンドウ２０２を同一画面に表示する。これにより、ファンクション・ブロック・論理回路の回路要素とタイムチャートとの対応関係を理解しやすくすることができる。
【００５４】
なお、本実施形態では、モニタ装置１００の選択手段としてタッチパネル１２２を使用しているが、マウスやキーボード等を用いても良い。
【符号の説明】
【００５５】
１０：プログラマブルコントローラ、  １１：ＣＰＵ、  １２：内部バス、
１３：プログラムメモリ、  １３ａ：シーケンスプログラム、
１４：ＲＡＭ、  １４ａ：ワークメモリ、  １５：ＲＯＭ、
１５ａ：システムプログラム、  １９：通信インターフェース、
４１：装置１、  ４２：装置２、  ４３：装置３、
５０：設備機械、  ５１：アーム装置、  ５２：ハンド装置、
１００：モニタ装置、  １１０：表示部、  １１１：ＣＰＵ、
１１２：内部バス、  １１４：ＲＡＭ、  １１４ａ：ワークメモリ、
１１５：ＲＯＭ、  １１６：システムプログラム、
１１６ａ：シーケンスプログラム表示手段、
１１６ｂ：信号状態記憶手段、
１１６ｃ：タイムチャート表示手段、
１１６ｄ：監視アドレス設定手段、
１１６ｅ：ＦＢプログラム表示手段、
１１８：表示部インターフェース、  １１９：通信インターフェース、
１２１：液晶表示板、  １２２：タッチパネル、
２０１：第１ウィンドウ、  ２０２：第２ウィンドウ、
ＬＳ１，ＬＳ２，ＬＳ３，ＬＳ４：リミットスイッチ、
Ｐ１，Ｐ２：センサ、
Ｗ：ワーク
【図１】
2013054636.tif 000003
【図２】
2013054636.tif 000004
【図３】
2013054636.tif 000005
【図４】
2013054636.tif 000006
【図５】
2013054636.tif 000007
【図６】
2013054636.tif 000008
【図７】
2013054636.tif 000009
【図８】
2013054636.tif 000010
【図９】
2013054636.tif 000011
【図１０】
2013054636.tif 000012
【図１１】
2013054636.tif 000013
【図１２】
2013054636.tif 000014