(57)【要約】【課題】シーケンスプログラムを通常一般の技術者が容易に把握し理解できるようにすること。【解決手段】複数の制御工程を一定順序でつなぎ順番通りに実行させるためのシーケンスプログラムを表示画面上に表示する方法において、上記表示画面上には、上各制御工程を、ブロック化しさらに各ブロックに実行順番を付すと共に各ブロックを実行順番に従い結線で接続してなるブロック回路結線図で表示し、かつ、各ブロックを当該制御工程の制御内容を関数定義すると共に各ブロック上に関数定義名を表示する。【選択図】図１
2009080737.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御工程を一定順序でつなぎ、順番通りに実行させるためのシーケンスプログラムを表示画面上に表示する方法において、
上記表示画面上には、各制御工程を、ブロック化しさらに各ブロックに実行順番を付すと共に各ブロックを実行順番に従い結線で接続してなるブロック回路結線図で表示し、かつ、各ブロックを当該制御工程の制御内容を関数定義すると共に各ブロック内または当該ブロック自体に関数定義の表示をする、ことを特徴とするシーケンスプログラム表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスプログラムをパーソナルコンピュータ等のシーケンスプログラム編集ツールの表示画面やその他の表示画面上で見えるシーケンスプログラム表示方法に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラ（ＰＬＣ）は、工場等に設備される制御機械をシーケンスプログラムに従い制御することができる。このシーケンスプログラムには、ラダー図方式のシーケンスプログラム（ラダープログラム）が汎用されている。
【０００３】
このラダープログラムは、専門技術者により特有のラダー言語で作成されるために、そのラダープログラムの編集等のため当該ラダープログラムをパーソナルコンピュータ画面上に表示しても、通常一般の技術者ではその編集等は必ずしも容易ではない。
【０００４】
なお、ラダープログラムには特許文献１等多数が提案されている。
【特許文献１】特開２００６−２９３８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、シーケンスプログラムをパーソナルコンピュータ画面上で制御工程がどのようになって制御対象が制御されるのか等を通常一般の技術者が容易に把握し理解でき、また、その画面上で容易に編集等ができるようにすることである。
【課題を解決するための手段】
【０００６】
本発明によるシーケンスプログラム表示方法は、複数の制御工程を一定順序でつなぎ、順番通りに実行させるためのシーケンスプログラムを表示画面上に表示する方法において、上記表示画面上には、各制御工程を、ブロック化しさらに各ブロックに実行順番を付すと共に各ブロックを実行順番に従い結線で接続してなるブロック回路結線図で表示し、かつ、各ブロックを当該制御工程の制御内容を関数定義すると共に各ブロック内または当該ブロック自体に関数定義の表示をすることを特徴とするものである。
【０００７】
本発明では、表示画面上のブロック回路結線図には各ブロックがどの制御工程のどのような制御内容かを関数で定義され表示されているので、各制御工程全体がどのようになって制御対象を制御するのか等を、通常一般の技術者でも容易に把握しまた理解できるようになり、その画面上での編集等も容易に行うことができる。
【０００８】
好ましくは上記ブロック内に関数定義を文字等で記述表示する。
【０００９】
好ましくは上記ブロックの形状により関数定義を表示する。
【発明の効果】
【００１０】
本発明によれば、パーソナルコンピュータ画面等の表示画面上にはシーケンスプログラムがラダー図ではなくブロック回路結線図で表示されているので、ラダー言語等を知らなくても通常一般の技術者は制御対象がどのような制御工程で制御されるのか等を容易に把握し理解できる。
【発明を実施するための最良の形態】
【００１１】
以下、添付した図面を参照して、本発明の実施の形態に係るシーケンスプログラム表示方法を説明する。
【００１２】
図１を参照して、１はＰＬＣ、３はＰＬＣ周辺装置でシーケンスプログラム編集ツールの一例としてのパーソナルコンピュータである。ＰＬＣ１には、ユーザプログラムであるシーケンスプログラムが実装されている。ＰＬＣ１はそのシーケンスプログラムに従い制御機械の一例であるロボットハンド５を制御する。ＰＬＣ１は、ＣＰＵ１ａ、システムプログラムメモリ１ｂ、シーケンスプログラムメモリ１ｃ、ロボットハンド制御関数定義メモリ１ｄ、入力部１ｅ、出力部１ｆ、インターフェース部１ｇ、等を有する。
【００１３】
パーソナルコンピュータ３は、ＣＰＵ３ａ、システムプログラムメモリ３ｂ、シーケンスプログラム作成データメモリ３ｃ、表示部３ｄ、操作部３ｅ、インターフェース部３ｆ等を備える。
【００１４】
ロボットハンド制御関数は、例えば図２で示すように定義されている。ロボットハンド名ＲＯＢＯＴＨ、ロボットハンド５の制御関数ｆ０は、「つかまずに降ろす」、制御関数ｆ１は「つかんで降ろす」、制御関数ｆ２は「つかんで前進移動する」、制御関数ｆ３は「つかまず移動する」、制御関数ｆ４は「つかんで上昇する」、制御関数ｆ５は「つかまずに上昇する」、制御関数ｆ６は「つかまず後退移動して原点復帰する」、等である。なお、制御関数には、始点座標位置、終点座標位置の変数データと、その動作速度の変数データとが与えられる。例えば制御関数ｆ０であれば、つかまずに降ろしを開始する始点座標位置（ｘ０，ｙ０，ｚ０）、つかまずに降ろす動作を終了する終点座標位置（ｘ１，ｙ１，ｚ１）である。
【００１５】
この制御関数の定義にはロボットハンドに装備したセンサやスイッチやモータ等の動作内容が含まれる。この点はラダープログラムでそれらセンサ、スイッチ、モータ等の動作を記述していくのと同様である。実施の形態ではそれらの動作を制御関数で定義するものである。
【００１６】
また、ロボットハンドの上昇速度の変数名は図３で示すように、ＳＰｕｐ、下降速度の変数名はＳＰｄｏｗｎ、移動速度の変数名はＳＰｍｏｖｅである。その変数名はさらに上昇速度で高移動速度はＳＰｕｐ（ｈｉｇｈ）、中移動速度はＳＰｕｐ（ｍｉｄｄｌｅ）、低移動速度はＳＰｕｐ（ｌｏｗ）、下降速度で高移動速度はＳＰｄｏｗｎ（ｈｉｇｈ）、中移動速度はＳＰｄｏｗｎ（ｍｉｄｄｌｅ）、低移動速度はＳＰｄｏｗｎ（ｌｏｗ）、移動速度で高移動速度はＳＰｍｏｖｅ（ｈｉｇｈ）、中移動速度はＳＰｍｏｖｅ（ｍｉｄｄｌｅ）、低移動速度はＳＰｍｏｖｅ（ｌｏｗ）である。また、前進移動では例えばＳＰｍｏｖｅ＿ｆｏｒｗａｒｄ、後退ではＳＰｍｏｖｅ＿ｂａｃｋｗａｒｄと定義してもよい。
【００１７】
この変数名は、制御関数ｆの（）内に記述される。また、上記記号では速度は高速（ｈｉｇｈ）、中速（ｍｉｄｄｌｅ）、低速（ｌｏｗ）の３種類だけであるが、細かく速度を制御する場合では、速度を具体数値で記述可能にしてもよい。
【００１８】
図４で示すように、ロボットハンド５は、図４（ａ）が「原点位置」、図４（ｂ）が製品７を制御工程「つかまないで降ろす」、図４（ｃ）が制御工程「つかんで上昇する」、図４（ｄ）が制御工程「つかんで前進移動する」、図４（ｅ）が制御工程「つかんで降ろす」、である。図４（ｆ）が制御工程「つかまないで上昇する」、図４（ｇ）が制御工程「つかまないで後退移動する」、である。
【００１９】
図５に、ロボットハンド５のシーケンスプログラムを示す。
【００２０】
このシーケンスプログラムでは、上記図４（ａ）ないし図４（ｅ）の制御工程を一定順序でつなぎ順番通りに実行させるためのシーケンスプログラムであり、パーソナルコンピュータ画面上に以下のブロック回路結線図で表示される。すなわち、表示画面上に、各制御工程はブロック化されて表示されている。各ブロックには実行順番であるｓ１，ｓ２，ｓ３，…が付される。各ブロックは実行順番に従い結線で接続される。
【００２１】
以上のブロック回路結線図において、
実行順番ｓ１で示すブロックＢ１は、図４（ｂ）の制御工程に該当する。このブロックＢ１にはロボットハンド５は「つかまないで降ろす」であるので、「ＲＯＢＯＴＨ＿ｆ０（ＳＰｄｏｗｎ（ｌｏｗ））」、が表示される。
【００２２】
実行順番ｓ２で示すブロックＢ２は、図４（ｃ）の制御工程に該当する。このブロックＢ２には「つかんで上昇する」であるので、「ＲＯＢＯＴＨ＿ｆ４（ＳＰｕｐ（ｍｉｄｄｌｅ））」、が表示される。
【００２３】
実行順番ｓ３で示すブロックＢ３は、図４（ｄ）の制御工程に該当する。このブロックＢ３には「つかんで前進移動する」であるので、「ＲＯＢＯＴＨ＿ｆ２（ＳＰｍｏｖｅ（ｍｉｄｄｌｅ））」、が表示される。
【００２４】
実行順番ｓ４で示すブロックＢ４は、図４（ｅ）の制御工程に該当する。このブロックＢ４には「つかんで降ろす」であるので、「ＲＯＢＯＴＨ＿ｆ１（ＳＰｄｏｗｎ（ｌｏｗ））」、が表示される。図４（ｆ）以降の原点復帰の各ブロックの説明は省略する。
【００２５】
以上のように、本実施の形態では、パーソナルコンピュータ画面上に、ロボットハンド５により行われる制御工程を、ブロック化し、各ブロックに実行順番を付すと共に各ブロックを実行順番に従い結線で接続したブロック回路結線図が表示される。そして、各ブロックは、制御工程の制御内容が関数で定義されると共にその関数定義名、関数定義名内に変数定義名が表示されるようにしたので、通常一般の技術者はロボットハンド５がどのような制御工程で制御されるのか等を容易に把握し理解できる。
【００２６】
なお、図５ではシーケンスプログラムは四角形のブロックで表示されているが、ブロック形状はこの四角形に限定されず、例えば、図４で示すロボットハンドの形状で表示してもよい。
【００２７】
この場合では、上記文字等で制御工程の内容を定義しブロック内に記述して表示したりせず、例えばロボットハンドの形状それ自体を関数定義してもよい。
【００２８】
また、シーケンスプログラムでは制御工程をいずれかに分岐させる場合もあり、ブロックは種々の形状にすることができる。
【００２９】
さらに、制御機械はロボットハンドに限定されるものではなく、スイッチやモータ等でもよく、種々の制御対象に適用することができる。
【００３０】
ブロック内にはロボットハンドでも製造メーカーに対応したロボットハンドとしてＡ社であれば、ＲＯＢＯＴＨ＿Ａ、Ｂ社であれば、ＲＯＢＯＴＨ＿Ｂとすると共に、そのロボットハンドの駆動に必要な電流、電圧、電力、速度、トルク等の各種データも関数定義に含めることができる。同様にモータであれば、ＭＯＴＯＲ＿Ａ、Ｂ社であれば、ＭＯＴＯＲ＿Ｂとすると共に、そのモータの駆動に必要な電流、電圧、電力、速度、トルク等の各種データも関数定義に含めることができる。
【００３１】
さらに、パーソナルコンピュータ３には、関数定義ライブラリを設け、ユーザがパーソナルコンピュータ画面上で、シーケンスプログラムを作成ないし編集したりする場合、関数定義ライブラリから所望する関数を選択してそれらシーケンスプログラムの作成ないし編集を実施することができるようにしてもよい。
【図面の簡単な説明】
【００３２】
【図１】図１はＰＬＣシステムの概略構成を示す図である。
【図２】図２はロボットハンドの制御関数の定義を説明するための図である。
【図３】図３はロボットハンドの制御関数の定義内の変数名定義を説明するための図である。
【図４】図４はロボットハンドの制御工程を示す図である。
【図５】図５はロボットハンドのシーケンスプログラムを示す図である。
【符号の説明】
【００３３】
１  ＰＬＣ
３  パーソナルコンピュータ
５  ロボットハンド
【図１】
2009080737.tif 000003
【図２】
2009080737.tif 000004
【図３】
2009080737.tif 000005
【図４】
2009080737.tif 000006
【図５】
2009080737.tif 000007