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