(57)【要約】 【課題】並列回路を容易に作成することができ、したがって作業効率の良いプログラミングが行えるプログラミング装置を提供する。  【解決手段】選択したい接点命令の上にマウスのポインタを移動し、ドラッグすると、そのマウスポインタのＸ座標とＹ座標と同じ座標の接点命令を、前記接点命令の位置座標記憶領域より検索し、同じ座標を持つ接点命令があればそのドラッグのまま、並列回路を作成したい別の接点命令の上に前記マウスポインタを移動してマウスポインタのＸ座標とＹ座標を前記マウスポインタ位置座標記憶領域に格納し、前記マウスポインタのＸ座標とＹ座標と同じＸ座標とＹ座標の前記接点命令を接点命令の位置座標記憶領域より検索し、同じ座標をもつ接点命令があれば、マウスによりドラッグした前記接点命令のドロップによりラダーダイアグラムの並列回路を作成する。    【選択図】図１２
2008171454.tif 000002
【特許請求の範囲】
【請求項１】
入力装置としてのマウスとＣＰＵと表示装置と記憶領域とを備え、前記表示装置の表示画面上にラダーダイアグラムを作成することによりプログラマブルコントローラ用シーケンスプログラムを作成するプログラマブルコントローラのプログラミング装置であって、前記記憶領域には各種接点命令の表示位置座標記憶領域を有する記憶手段と、マウスのポインタの位置座標を記憶する記憶領域を有するマウスポインタ位置座標記憶手段と、を備えたプログラマブルコントローラのプログラミング装置において、
前記表示画面上のラダーダイアグラムに分岐回路を配置する際、選択したい接点命令の上に前記マウスのポインタを移動し、ドラッグすると、そのマウスポインタのＸ座標とＹ座標と同じ座標の接点命令を、前記接点命令の位置座標記憶領域より検索し、同じ座標を持つ接点命令があればそのドラッグのまま、並列回路を作成したい別の接点命令の上に前記マウスポインタを移動することで、移動したマウスポインタのＸ座標とＹ座標を前記マウスポインタ位置座標記憶領域に格納し、前記マウスポインタのＸ座標とＹ座標と同じＸ座標とＹ座標の前記接点命令を、前記接点命令の位置座標記憶領域より検索し、同じ座標をもつ接点命令があれば、前記マウスによりドラッグした前記接点命令のドロップによりラダーダイアグラムの並列回路を作成することを特徴とするプログラマブルコントローラのプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラの実行するシーケンスプログラムを、ラダーダイアグラムにより作成するプログラマブルコントローラのプログラミング装置に関する。
【背景技術】
【０００２】
従来、プログラマブルコントローラのプログラミング装置において、ラダーダイアグラム上を構成する各ライン上に分岐回路を作成することが行われている（例えば、特許文献１参照）。
このようなラダーダイアグラム上を構成する各ライン上に分岐回路を作成する際、分岐の始点、終点の設定方法は、例えば、図９のように行われていた。
図９において、１１はプログラミング装置、１２はプログラミング装置１１の保守・調整対象のプログラマブルコントローラ、１３はプログラミング装置１１で作成するラダーダイアグラムの表示画面である。前記表示画面１３において、１は分岐および命令群を配置するライン、２は分岐回路を構成する分岐、３は命令群であり、ラダーダイアグラムは前記ライン、分岐、および命令群の組み合わせにより構成される。６は新規に挿入する分岐の始点位置、７は分岐設定途中のカーソル位置であり、前記始点決定後に、終点位置に分岐の片端をドラッグしている状態である。
ところが、従来技術では、前記分岐の始点に対する終点の設定可能な位置に関する制約が陽に情報として与えられないため、終点として想定した位置が実際に設定可能かどうかは、いったん位置指定を実行してからでなければ判断することができない。このためプログラム作成の作業効率が低下する問題があった。
【０００３】
これと同じような作業効率が低下するプログラム作成上の問題として、表示画面１３（図９）において図１３で示すような並列回路を作成する場合においても存在していた。すなわち、プログラマブルコントローラ用シーケンスプログラムには、図１３で示すような直列回路と並列回路からプログラムが構成されている。図１３において、５０は並列回路を作成する前のシーケンスプログラム、５１、５２は接点命令であり、６０は並列分岐回路を作成したシーケンスプログラム、６１は並列分岐回路であり、７０は並列回路を作成したシーケンスプログラム、７１は並列回路である。そこで、シーケンスプログラム５０で並列回路７１を作成する時は、従来は、まず接点命令５２に対して、並列分岐回路６１を作成し、次に前記作成した並列分岐回路６１に接点命令５１を配置するという方法がとられていた。ところが、このような従来の方法では、並列回路を作成するために、並列分岐回路を作成する必要があり、その分手間がかかり、プログラムを速やかに作成することができないという問題があった。
【特許文献１】特開平２−１００１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで本発明の目的は、これらの課題を解決するためのもので、従来技術のような、分岐の始点に対する終点として想定した位置が実際に設定可能かどうかは位置指定を実行してからでなければ判断することができないといった作業効率の悪いものではなくて、予め分岐の終点の設定可能な位置の方向を示すようにして即座に設定可能かどうかを判断できるようにしたプログラミング装置を提供することにある。また、並列回路の作成においても、並列分岐回路をわざわざ作成する必要のない、効率良くプログラマブルコントローラ用シーケンスプログラムが作成できるプログラミング装置を提供することにある。
【課題を解決するための手段】
【０００５】
前記問題を解決するために、請求項１記載のプログラマブルコントローラのプログラミング装置の発明は、入力装置としてのマウスとＣＰＵと表示装置と記憶領域とを備え、前記表示装置の表示画面上にラダーダイアグラムを作成することによりプログラマブルコントローラ用シーケンスプログラムを作成するプログラマブルコントローラのプログラミング装置であって、前記記憶領域には各種接点命令の表示位置座標記憶領域を有する記憶手段と、マウスのポインタの位置座標を記憶する記憶領域を有するマウスポインタ位置座標記憶手段と、を備えたプログラマブルコントローラのプログラミング装置において、前記表示画面上のラダーダイアグラムに分岐回路を配置する際、選択したい接点命令の上に前記マウスのポインタを移動し、ドラッグすると、そのマウスポインタのＸ座標とＹ座標と同じ座標の接点命令を、前記接点命令の位置座標記憶領域より検索し、同じ座標を持つ接点命令があればそのドラッグのまま、並列回路を作成したい別の接点命令の上に前記マウスポインタを移動することで、移動したマウスポインタのＸ座標とＹ座標を前記マウスポインタ位置座標記憶領域に格納し、前記マウスポインタのＸ座標とＹ座標と同じＸ座標とＹ座標の前記接点命令を、前記接点命令の位置座標記憶領域より検索し、同じ座標をもつ接点命令があれば、前記マウスによりドラッグした前記接点命令のドロップによりラダーダイアグラムの並列回路を作成することを特徴としている。
【発明の効果】
【０００６】
以上の構成により、並列回路の作成の場合においても、選択したい接点命令をマウスによりドラッグし、並列回路を作成したい接点命令のところで、ドラッグした接点命令をドロップすることによって並列回路を容易に作成することができるため、したがって作業効率の良いプログラミングが行える。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施例を図に基づいて説明する。
図１は本発明による装置を用いて、ラダーダイアグラムを作成する際の表示画面例である。同図において、１は分岐、命令を配置するライン、２は分岐回路を構成する分岐、３は命令群である。図２は、本発明におけるプログラマブルコントローラのプログラミング装置の構成を示すブロック図である。図において、２１は入力装置（マウス）、２２はＣＰＵを含む主制御部、２３は記憶領域（メモリ）、２４は表示装置である。記憶領域２３内には、本発明により設けられた次の３領域がある。２３０は本発明の第１の実施の形態による既存の分岐情報記憶領域であり、主制御部２２によって随時、格納および読み込みが行われ、表示装置２４にラダーダイアグラムを表示する。２３１は本発明の第２の実施の形態によるラダーダイアグラム上の接点命令の位置座標記憶領域であり、同じく主制御部２２によって随時、格納および読み込みが行われ、表示装置２４にラダーダイアグラムを表示する。２３２は第１および第２の実施の形態で用いられるマウスのポインタの位置座標記憶領域であり、入力装置（マウス）２１で、マウスのポインタを移動すると、主制御部２によって位置座標が記憶領域に格納される。図３は、ラダーダイアグラムを作成する際の図１の表示画面を用いて分岐を設定する際の回路構成の制約を説明する図である。図３において、４は既存の分岐、５は新規に設定する分岐である。ラダーダイアグラムを作成する際、異なる分岐回路同士の交叉は認められないという制約がある。交叉を認めると回路構成のロジックが不正となるためである。この制約に基づいて図３の回路を見ると、図３（Ａ）の（１）、（２）の２つの図はいずれも前記新規分岐５が前記既存分岐４と交叉していないことが分かる。このため上記回路構成の制約は守られていることになり、この新規分岐５は適正なものである。ところが、図３（Ｂ）の（１）、（２）の２つの図はいずれも前記新規分岐が前記既存分岐４と交叉しているのが認められる。すなわち、図３（Ｂ）（１）において、既存分岐４と新規分岐５とが点ａにおいて交叉しており、また、図３（Ｂ）（２）においては、既存分岐４と新規分岐５とが区間ｂ−ｃにおいて逆向きとなっており、交叉している。このように（Ｂ）の（１）においては既存分岐４と新規分岐５が交叉しているため回路構成の制約が守られておらず、ロジックが不正となるので、この新規分岐５は不適正なものである。本発明はこの制約に着目し、これに基づいて適正なものとなるように方向ガイドを採用するようにしたことが特徴である。
【０００８】
図４は本発明による装置を用いて、右方向を示すガイドが表示される分岐の設定例である。８は右方向にのみ分岐の接続可能を表す方向ガイドである。図４（Ａ）に示すように、新規に分岐を挿入する際に、既存の分岐の分岐点を新規分岐の始点６として指定した場合、前記新規分岐の終点は、異なる分岐回路同士が交叉してはならないという回路構成の制約から始点の右側にのみ設定可能という制約が生じる。そのため、本発明により、図４（Ｂ）のように右方向にのみ終点設定可能を意味する方向ガイド８が表示されるようになる。したがって、オペレータはこの方向ガイド８を見ながら、その指示する方向にカーソル位置７を移動させればよいので、新規分岐の終点が設定可能かどうか考える必要がなくなり、作業効率の良いプログラミングが行える。前記新規分岐の終点が左側にも設定可能とすると、分岐同士が交叉することになり回路構成のロジックが不正となる。
図５は本発明による装置を用いて、左方向を示すガイドが表示される分岐の設定例である。９は左方向にのみ分岐の接続可能を表す方向ガイドである。図５（Ａ）の状態から、新規に分岐を挿入する際に、既存の分岐の合流点を新規分岐の始点６として指定した場合、前記新規分岐の終点は、異なる分岐回路同士が交叉してはならないという回路構成の制約から始点の左側にのみ設定可能という制約が生じる。そのため、図５（Ｂ）のように左方向にのみ終点設定可能を意味する方向ガイド９が表示される。前記新規分岐の終点が右側にも設定可能とすると、分岐同士が交叉することになり回路構成のロジックが不正となる。
【０００９】
図６は本発明による装置を用いて、左右両方向を示すガイドが表示される分岐の設定例である。１０は左右両方向に分岐の接続可能を表す方向ガイドである。図６（Ａ）の状態から、新規に分岐を挿入する際に、既存の分岐の分岐点、および合流点とは異なる位置を新規分岐の始点６として指定した場合、前記始点６の左右いずれも終点として設定可能な位置が存在するため、前記新規分岐の終点の方向には回路構成の制約が生じない。そのため、図６（Ｂ）のように左右両方向に終点配置可能を意味する方向ガイド１０が表示される。
【００１０】
図７は図４〜図６の表示を行わせるフローチャートである。図７において、オペレータは表示装置（図２の２４）の表示画面に図９の１３のようなラダーダイアグラムを表示させ、分岐作業を開始する。
まず、マウス（図２の２１）を用いて新規に設定する分岐の始点を指定する（ステップ１）と、その始点が既存の分岐の分岐始点と点を共有するかどうか「既存の分岐情報記憶領域」（図２の２３０）へ調べにゆき（ステップ２）、その結果、共有すれば右方向ガイド（図４の８）を表示する（ステップ３）。
一方、ステップ２で分岐始点を共有しなければステップ４へ飛び、その始点が既存の分岐の合流点と点を共有するかどうか調べ（ステップ４）、共有すれば左方向ガイド（図５の９）を表示する（ステップ６）。
さらに、ステップ４で合流点も共有しなければ左右両方向ガイド（図６の１０）を表示する。オペレータはこれらの方向ガイドを参考にしながらマウスで分岐を描き終点までドラッグする（ステップ８）。
そしてこの場合、このドラッグが方向ガイドにしたがってなされたとしても、図４のｄのようにドラッグしすぎて既存の分岐と交叉することもありうるので、これとの交叉がないか「既存の分岐情報記憶領域」（図２の２３０）へ調べにゆき（ステップ９）、交叉していれば分岐は形成せず（ステップ１０）、交叉していなければ分岐を形成して（ステップ１１）、この分岐作業は終了する。
以上のように、本発明の第１実施の形態によれば、ラダーダイアグラム作成時の分岐の設定において、分岐の始点を決定後に前記分岐の終点の設定可能な位置の方向を、異なる分岐回路同士が交叉してはならないという回路構成の制約に基づいて判断し、右方向、左方向、左右両方向の３種類のガイドを用いて表示するので、終点の設定可能な方向が即座に判断可能となり、作業効率が向上する。
【００１１】
なお、上記第１実施の形態では、右方向、左方向、左右両方向の３種類のガイドを用いて表示するようにしているが、この変形例として、始点から終点に至るまでの設定可能な範囲を、図８のようにハッチングで表示して、周囲とは異なった表示形態で表示するようにすれば、オペレータはこの範囲内で終点を設定すればよいのできわめて便利である。
図８（Ａ）に示すように、新規に分岐を挿入する際に、既存の分岐の分岐点を新規分岐の始点６として指定した場合、前記新規分岐の終点は異なる分岐回路同士が交叉してはならないという回路構成の制約から、始点の右側にのみ設定可能という制約が生じる。この制約に基づいて既存の分岐の範囲内のエリア８’の表示（ハッチング）および既存の分岐の範囲外のエリア８”の表示（網点）を行うと、オペレータはこのエリア８’又は８”の範囲でカーソル位置を移動させればよいので、新規分岐の終点が設定可能かどうか考える必要がなくなり、作業効率の良いプログラミングが行える。
図８（Ｂ）は新規分岐の始点６を既存の分岐の合流点に指定した場合の表示例である。上記と同じく、新規分岐の終点は異なる分岐回路同士が交叉してはならないという回路構成の制約に基づいて既存の分岐の範囲内のエリア９’の表示（ハッチング）および既存の分岐の範囲外のエリア９”の表示（網点）を行うと、オペレータはこのエリア９’又は９”の範囲でカーソル位置を移動させればよいので、新規分岐の終点が設定可能かどうか考える必要がなくなり、作業効率の良いプログラミングが行える。図８（Ｃ）は左右両方向を示すガイドが表示される分岐の設定例である。新規に分岐を挿入する際に、既存の分岐の分岐点、および合流点とは異なる位置を新規分岐の始点６として指定した場合、前記始点６の左右いずれも終点として設定可能な位置が存在するため、既存の分岐の範囲内のエリア１０’の表示（ハッチング）を行うと、オペレータはこのエリア１０’の範囲でカーソル位置を移動させればよいので、新規分岐の終点が設定可能かどうか考える必要がなくなり、作業効率の良いプログラミングが行える。エリアの表示は、ハッチングや網掛けの他、各色のカラー表示などを採用してもよい。この表示を行わせるフローチャートは本質的に図７と同じであり、異なる点はステップ３，６，７であり、各ステップにおける各ガイドの表示に代えて、既存の分岐点の始点と合流点で囲まれる内側のエリアの表示をハッチング等の表示形態で表示させればよい。
【００１２】
次に、本発明の第２の実施の形態を図２および図１０〜図１２に基づいて説明する。図２において、２１は入力装置、２２はＣＰＵを含む主制御部、２３は記憶領域、２４は表示装置であり、本発明の第２の実施の形態により、２３１のラダーダイアグラム上の接点命令の位置座標記憶領域が設けられ、主制御部２２によって随時、格納および読み込みがここに行われ、表示装置２４にラダーダイアグラムを表示する。２３２はマウスのポインタの位置座標記憶領域であり、入力装置２１で、マウスのポインタを移動すると、主制御部２によって位置座標が記憶領域に格納される。図１０は図２の表示装置２４に表示されるラダーダイアグラムの例であり、Ａ、Ｂ、Ｃ、Ｄは接点命令である。４１は接点命令Ｃと接点命令Ｄの並列回路であり、４２は接点命令Ｃに対する並列分岐回路である。Ｘ、Ｙはそれぞれラダーダイアグラムの左上を原点としたＸ座標、Ｙ座標を意味する。
図１１は図２の記憶領域２３に格納されたデータの内容を説明する図であり、接点命令の位置座標記憶領域２３１は、表示装置２４に表示されているラダーダイアグラム中の、各接点命令の表示位置座標データを、Ｘ座標とＹ座標として記憶している。マウスポインタの位置座標記憶領域２３２は、ラダーダイアグラム中のマウスポインタの表示位置座標データを、Ｘ座標とＹ座標として記憶している。
図１２は、図２に示したプログラミング装置を用いて、プログラマブルコントローラ用シーケンスプログラムを作成する手順を示したフローチャートである。
第２の実施の形態によるプログラミング装置を使ってシーケンスプログラムを作成する場合、ロードされた図示しないプログラムによって主制御部２２（図２）が動作すると、ラダーダイアグラム中における接点命令のＸ座標、Ｙ座標を記憶領域２３１に、マウスポインタのＸ座標、Ｙ座標を記憶領域２３２に格納し、入力装置（マウス）２１からの入力を待つ（ステップＳ１）。
選択したい接点命令Ａの上にマウスポインタを移動し、マウスボタンによりドラッグする（ステップＳ２）。マウスポインタのＸ座標とＹ座標と同じ座標の接点命令を、接点命令の位置座標記憶領域２３１より検索する（ステップＳ３）。同じ座標を持つ接点命令があれば、前記ドラッグのまま、並列回路を作成したい接点命令Ｂの上にマウスポインタを移動する（ステップＳ８）。
移動したマウスポインタのＸ座標とＹ座標を、記憶領域２３２に格納し（ステップＳ９）、マウスポインタのＸ座標とＹ座標と、同じＸ座標とＹ座標の接点命令を、接点命令の位置座標記憶領域２３１より検索する（ステップＳ４）。
同じ座標をもつ接点命令があれば、マウスボタンにより前記選択した接点命令Ａをドロップ（ステップＳ５）して、ステップＳ４で検索した接点命令Ｂに並列分岐回路を作成し（ステップＳ６）、ステップＳ３で選択した接点命令ＡをステップＳ６で作成した並列分岐回路上に配置し（ステップＳ７）、処理は終了する。
これにより、並列回路４１と同じ回路が作成される。以上のように、本発明の第２の実施の形態によれば、選択したい接点命令をマウスによりドラッグし、並列回路を作成したい接点命令のところで、ドラッグした接点命令をドロップすることによって並列回路を容易に作成することができるため、シーケンスプログラム作成の効率が向上する。
【００１３】
以上述べたように、本発明の第１の実施の形態によれば、ラダーダイアグラム作成時の分岐の設定において、分岐の始点を決定後に前記分岐の終点の設定可能な位置の方向を、異なる分岐回路同士が交叉してはならないという回路構成の制約に基づいて判断し、右方向、左方向、左右両方向の３種類のガイド等を用いて表示することにより、終点の設定可能な方向が即座に判断可能となり、作業効率が向上するなどの効果がある。
また、本発明の第２の実施の形態によれば、選択したい接点命令をマウスによりドラッグし、並列回路を作成したい接点命令のところで、ドラッグした接点命令をドロップすることによって並列回路を容易に作成することができるため、シーケンスプログラム作成の効率が向上するという効果がある。
【図面の簡単な説明】
【００１４】
【図１】本発明が対象とするラダーダイアグラムの表示画面例である。
【図２】本発明におけるプログラマブルコントローラのプログラミング装置の構成を示すブロック図である。
【図３】本発明の第１の実施の形態の基礎となる回路構成の制約説明図である。
【図４】本発明の第１の実施の形態で右方向に設定可能な例である。
【図５】本発明の第１の実施の形態で左方向に設定可能な例である。
【図６】本発明の第１の実施の形態で左右両方向に設定可能な例である。
【図７】図４〜図６の表示を行わせるフローチャートである。
【図８】本発明の第１の実施の形態の変形例である。
【図９】従来のプログラミング装置のラダーダイアグラムにおける新規分岐の作成例である。
【図１０】表示装置に表示されるラダーダイアグラムの例である。
【図１１】記憶領域（メモリ）に格納されたデータの内容を示す図である。
【図１２】第２の実施の形態によるプログラマブルコントローラ用シーケンスプログラムを作成する手順である。
【図１３】従来の並列回路の作成手順を示す図である。
【符号の説明】
【００１５】
１ 分岐、命令を配置するライン
２ 分岐回路を構成する分岐
３ 命令群
４ 既存の分岐
５ 新規分岐
６ 新規分岐の始点位置
７ 分岐設定途中のカーソル（ドラッグ状態）
８ 右方向ガイド
９ 左方向ガイド
１０ 左右両方向ガイド
１１ プログラミング装置
１２ プログラミング装置１１の保守・調整対象のプログラマブルコントローラ
１３ プログラミング装置１１で作成するラダーダイアグラムの表示画面
２１ 入力装置
２２ 主制御部
２３ 記憶領域
２３１ 接点命令の位置座標記憶領域
２３２ マウスポインタの位置座標記憶領域
２４ 表示装置
４１ 接点命令Ｃと接点命令Ｄの並列回路
４２ 接点命令Ｃに対する並列分岐回路
５０ 並列回路を作成する前のシーケンスプログラム
５１ 接点命令
５２ 接点命令
６０ 並列分岐回路を作成したシーケンスプログラム
６１ 並列分岐回路
７０ 並列回路を作成したシーケンスプログラム
７１ 並列回路
Ａ、Ｂ、Ｃ、Ｄ 接点命令
Ｘ ラダーダイアグラムの左上を原点としたＸ座標
Ｙ ラダーダイアグラムの左上を原点としたＹ座標
【図１】
2008171454.tif 000003
【図２】
2008171454.tif 000004
【図３】
2008171454.tif 000005
【図４】
2008171454.tif 000006
【図５】
2008171454.tif 000007
【図６】
2008171454.tif 000008
【図７】
2008171454.tif 000009
【図８】
2008171454.tif 000010
【図９】
2008171454.tif 000011
【図１０】
2008171454.tif 000012
【図１１】
2008171454.tif 000013
【図１２】
2008171454.tif 000014
【図１３】
2008171454.tif 000015