JP3677985B2 - PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM - Google Patents
PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM Download PDFInfo
- Publication number
- JP3677985B2 JP3677985B2 JP03524998A JP3524998A JP3677985B2 JP 3677985 B2 JP3677985 B2 JP 3677985B2 JP 03524998 A JP03524998 A JP 03524998A JP 3524998 A JP3524998 A JP 3524998A JP 3677985 B2 JP3677985 B2 JP 3677985B2
- Authority
- JP
- Japan
- Prior art keywords
- graphic symbol
- terminal
- graphic
- symbol
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、プログラマブルコントローラのプログラム作成支援ツールであるプログラミング装置に関する。
【0002】
【従来の技術】
プログラマブルコントローラ(以下、PCという)のプログラムの作成には、一般にそのプログラム作成支援ツールであるプログラミング装置が用いられる。このプログラミング装置は、通常、PCとは別個のものであり、プログラムの変更や修正、或いは新たに作成する場合等にPCに接続して用いられる。
【0003】
PCのプログラム言語としては、リレーシンボル、ロジックシンボル等の図形シンボルを用いたラダー図等の図示表現プログラムが知られている。プログラミング装置を用いた図示表現プログラムの作成は、表示画面上に図形シンボルを表示させて、これらを接続し、所謂回路図を作成することにより行われる。
【0004】
ところで、PCに用いられる図示表現プログラムとしては、上記ラダー図等の他に、ファンクションブロック(Function Block)図(以下、FB図という)と呼ばれる表現形式がある。FB図は、論理演算、加減算、乗除算等の処理単位を示す“関数”の図形シンボルと、例えばこの“関数”の入力データまたは出力データを示す“オペランド”の図形シンボル(以下、オペランド記述部という)とをディスプレイ画面上に配置して、これらの各図形シンボルが有する端子間を結線することにより、プログラムを表現するものである。
【0005】
図12は、FB図によるプログラム作成/表示の一例を示す図である。
同図は、加算(+)の関数を用いて、オペランドの“A”の値と“B”の値の和を求め、その結果を“C”に格納するプログラムの一例であり、その作成手順、表示例を示している。
【0006】
まず、図12(a)に示すように、ディスプレイ等の画面上に表示される命令群から、特に図示しないキーボード等の入力装置を操作して(又はタッチパネルを用いる入力方式の場合は表示画面上に直接タッチして)加算(+)の関数を選択し、この加算(+)の関数の図形シンボル(以下、セルと記述する)200を所望の位置に配置する。加算(+)の関数のセル200は、同図(a)に示すように、2入力1出力の端子(入力端子P、Q、出力端子R)を有している。尚、図12(a)〜(d)に示すP、Q、Rの文字は、説明の便宜上記載したものであり、実際に表示画面上に表示されるとは限らない。
【0007】
次に、同図(b)に示すように、上記(a)の場合と同様に命令群からオペランド記述部を選択して(ここでは“A”のオペランド記述部210)、上記加算(+)の関数のセル200の3つの端子P、R、Qの中で該選択したオペランド記述部210を接続すべき端子(例えば端子P)を確認して、その近傍に該オペランド記述部210を配置する。
【0008】
続いて、命令群から「線」を選択して、同図(c)に示すように、“A”のオペランド記述部210内の端子Sと、対応する関数のセル200の端子(P)とを結線する。
【0009】
特に図示しないが、“B”のオペランド記述部220と“C”のオペランド記述部230についても上記図12(b)、(c)に示す操作と同様な操作を行ってオペランド記述部220、230の配置と結線を行う。その結果、同図(d)に示すような図示表現プログラムが作成される。
【0010】
【発明が解決しようとする課題】
上述した従来の方法では、オペレータ等は、オペランド記述部を結線すべき関数のセルの端子を確認してから、この関数のセルの端子の近傍にオペランド記述部を配置できるスペースがあるか否かを確認して、オペランド記述部の配置操作を行い、更に「線」を選択してオペランド記述部の端子と関数のセルの端子とを結線する作業を行う必要があり、効率的なプログラム作成作業を行えるものではなかった。
【0011】
本発明の課題は、配置された関数に対してオペランド記述部の配置と結線を行う際に、オペレータ等はオペランド記述部の接続先の関数の端子を確認するだけで、自動的にオペランド記述部の配置、及びオペランド記述部の端子と関数のセルの端子との結線が行われるプログラマブルコントローラのプログラミング装置を提供することである。
【0012】
【課題を解決するための手段】
第1の発明のプログラミング装置は、プログラマブルコントローラを動作させるプログラムを、処理単位あるいは入力データまたは出力データを示す各図形シンボルと該各図形シンボルが有する端子間を結線して成る図示表現で作成させるプログラミング装置において、任意の位置に配置された第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われたことを検出する検出手段と、該検出手段により該配置操作が検出された第2の図形シンボルを前記第1の図形シンボル外で前記第1の端子に対応する位置に配置可能なエリアを検出して、該検出したエリアに前記第2の図形シンボルを配置する配置手段とを有する。
【0013】
上記第1の発明のプログラミング装置によれば、オペレータ等が画面上の任意の位置に配置されている第1の図形シンボル内の第1の端子に対して結線すべき第2の図形シンボルを、該第1の端子上に配置させる簡単な操作を行うだけで、上記第2の図形シンボルが自動的に配置される。
【0014】
第2の発明のプログラミング装置は、更に、前記第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ格納する記憶手段と、該記憶手段に格納されたセル情報と端子情報に基づいて前記第1の図形シンボル内の第1の端子と前記第2の図形シンボル内の第2の端子とを結線する結線手段とを有する。
【0015】
上記第2の発明のプログラミング装置によれば、オペレータ等が画面上の任意の位置に配置されている第1の図形シンボル内の第1の端子に対して結線すべき第2の図形シンボルを、該第1の端子上に配置させる簡単な操作を行うだけで、第2の図形シンボルが自動配置されると共に、前記第1の端子と前記第2の端子とが自動的に結線される。
【0016】
第3の発明のプログラミング装置は、プログラマブルコントローラを動作させるプログラムを、処理単位あるいは入力データまたは出力データを示す各図形シンボルと該各図形シンボルが有する端子間を結線して成る図示表現で作成させるプログラミング装置において、既に配置されている第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われたことを検出する検出手段と、該検出手段により該配置操作が検出された第2の図形シンボルを、前記第1の図形シンボルの第1の端子近辺の所定の位置に、該第1の図形シンボル及び他の図形シンボルと重なることなく配置可能か否かを判定する第1の判定手段と、該第1の判定手段により配置不可能であると判定された場合、前記第1の図形シンボルまたは他の図形シンボルを移動させることによって前記第2の図形シンボルを配置可能になるか否か、あるいは前記第2の図形シンボルを前記所定の位置から移動させることにより配置可能になるか否かを判定する第2の判定手段と、前記第1の判定手段または第2の判定手段により配置可能であると判定された位置に前記第2の図形シンボルを配置して、前記第1の図形シンボルと第2の図形シンボルの端子間を結線する配置・結線手段と、を有する。
【0017】
上記第3の発明のプログラミング装置によれば、オペレータ等が画面上の任意の位置に配置されている第1の図形シンボル内の第1の端子に対して結線すべき第2の図形シンボルを、該第1の端子上に配置させる簡単な操作を行うだけで、特に図形シンボルが密集していて第1の図形シンボル近辺に第2の図形シンボルを配置可能な場所がない場合であっても、第1の図形シンボルや他の図形シンボルを移動させる等して、自動的に第1の図形シンボルを配置できるスペースを作り出して、あるいは第2の図形シンボルを第1の図形シンボル近辺から離れた位置に配置する等して、第2の図形シンボルが自動配置すると共に、前記第1の端子と前記第2の端子とが自動的に結線する。
【0018】
このように、上記第1、第2、第3の発明のプログラミング装置によれば、図示表現プログラムを作成する際の作業効率が、従来よりも著しく向上する。
【0019】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態によるプログラミング装置10の構成を示すブロック図である。
【0020】
同図において、CPU1は、プログラミング装置10のシステム全体を制御する中央処理装置である。
入力部2は、例えばキーボード、マウス等、あるいはタッチパネルである。
【0021】
RAM3は、セル情報格納部3−1、端子情報格納部3−2、結線情報格納部3−3、及び結線管理情報格納部3−4等の各情報格納部が記憶される記憶領域を有するメモリである。これらの各情報格納部3−1〜3−4の構成については、後に詳述するが、これらの各情報格納部3−1〜3−4に格納される情報は、オペレータ等による入力部2を介した図示表現入力に応じて作成されるプログラムデータに相当する。尚、RAM3はバッテリーバックアップされており、電源OFF時でもデータが消去されないようになっている。尚、RAM3の代わりにEEPROM等を用いるようにしてもよい。
【0022】
記憶部4は、例えばHDD(ハードディスクドライブ)であり、OS(オペレーティングシステム)、各種アプリケーションプログラム等を記憶する。更に、本実施形態によるプログラミング装置の機能を提供するアプリケーションプログラムを記憶することも可能である。
【0023】
表示部5は、例えばCRTディスプレイであり、例えば上記セル情報格納部3−1、端子情報格納部3−2、及び結線情報格納部3−3に格納されたデータ(情報)に基づいてFB図を表示する。
【0024】
媒体駆動装置6は、後述する可搬記憶媒体7に記憶されているアプリケーションプログラムやデータ等の読み出し、あるいは書込みを、CPU1の制御により実行する装置であり、例えばFDD、CD−ROMドライブ等である。
【0025】
可搬記憶媒体7は、少なくとも本実施例によるプログラミング装置の機能を提供するアプリケーションプログラムが、媒体駆動装置6で読み出し可能で且つCPU1により実行可能な形式で記憶されているものである。可搬記憶媒体7は、例えば、FD(フロッピーディスク)、MO(光磁気ディスク)、CD−ROM、PCカード等であり、これらに磁気的あるいは光磁気的、又は電気的に、上記本実施例のプログラミング装置の機能を提供するアプリケーションプログラムが、媒体駆動装置6で読み出し可能で且つCPU1で実行可能な形式で記憶されている。
【0026】
通信部8は、プログラム作成作業が完了しRAM3内等に格納されたプログラムデータを、PC11内のプログラムメモリ(不図示)に転送する。あるいは、上記PC11内のプログラムメモリに格納されたプログラムデータを一部修正する場合等に、上記PC11側より転送されてくるプログラムデータを受信してRAM3に格納させるものである。
【0027】
PC11は、プログラマブル・コントローラである。
本実施形態によるプログラミング装置10は、図示表現で入力/作成されたFB図に基づいてセル情報(関数のセルまたはオペランドのセル(オペランド記述部)の情報)、端子情報、結線情報等を格納する記憶領域を、例えばRAM3内に有する。
【0028】
図2は、上記各情報格納部3−1〜3−4のデータ構成を示す図である。
図2(a)は、画面上に配置される各セルのセル情報を格納するセル情報格納部20のデータ構成を示す図である。
【0029】
同図(a)に示すように、セル情報格納部20は、各セル毎に、セル種別21、セル名称22、入力数23、入力端子情報格納部の先頭位置24、出力数25、出力端子情報格納部の先頭位置26、セルXY座標27、セル幅28、及びセル高さ29の各データから成るセル情報を格納する。
【0030】
セル種別21は、当該セルが関数のセルであるかオペランドのセル(オペランド記述部)であるかを示すデータである。例えば関数のセルである場合には‘1’、オペランド記述部である場合には‘2’が格納される。
【0031】
セル名称22は、上記セル種別21において、当該セルが関数のセルであることを示している場合には、例えば加減算(+)、(−)、乗除算(×)、(÷)等の演算処理単位を示すデータとなり、当該セルがオペランド記述部であることを示している場合には、例えば上述した“A”、“B”、“C”等のデータとなる。ここで、オペランド記述部における“A”、“B”、“C”等のデータは、例えば関数に入力する値又は関数の演算結果を格納するレジスタ等の名称を示す情報である。
【0032】
入力数23は、当該セルへの入力数(入力端子数)を示すデータである。入力数23のデータは、通常、当該セルが関数のセルである場合は‘2’であり、当該セルがオペランド記述部である場合は‘0’又は‘1’である。
【0033】
入力端子情報格納部の先頭位置24は、各端子に関する情報を格納する端子情報格納部30(図2(b);これについては後述する)における入力端子の情報を格納する記憶領域の先頭位置(先頭アドレス)を示すデータである。
【0034】
出力数25は、当該セルからの出力数(出力端子数)を示すデータである。出力数25のデータは、通常、当該セルが関数のセルである場合は‘1’であり、当該セルがオペランド記述部である場合は‘0’又は‘1’である。
【0035】
出力端子情報格納部の先頭位置26は、上記端子情報格納部30における出力端子の情報を格納する記憶領域の先頭位置(先頭アドレス)を示すデータである。
【0036】
セルXY座標27は、当該セルの表示画面上の配置位置を示すデータであり、例えば当該セルの左上端の(X,Y)座標値である。そして、この(X,Y)座標値のデータとセル幅28のデータ及びセル高さ29のデータとに基づいて表示画面上に当該セルが表示される。尚、セル幅28はセルのX方向の長さ、セル高さ29はセルのY方向の長さである。
【0037】
図2(b)は、画面上に配置される各セルが有する各端子に関する情報(端子情報)を格納する端子情報格納部30のデータ構成を示す図である。
同図(b)に示すように、端子情報格納部30は、各端子の入/出力区分31、該当セル情報格納位置32、前端子情報格納位置33、次端子位置情報格納位置34、端子XY座標35、及び結線管理情報位置36の各データから成る端子情報を格納している。
【0038】
入/出力区分31は、当該端子が入力端子であるか、出力端子であるかを示すデータである。例えば、入力端子の場合は‘1’、出力端子の場合は‘2’が格納される。
【0039】
該当セル情報格納位置32は、前記セル情報格納部20内の当該端子に該当するセルの情報が格納されている位置を示すデータ、換言すれば当該端子を有する関数のセル又はオペランド記述部の情報が格納されているセル情報格納部20内の記憶領域の先頭位置を示すデータである。
【0040】
前端子情報格納位置33は、当該端子の前の端子情報が格納されている端子情報格納部30内の記憶領域の先頭位置を示すデータである。
次端子情報格納位置34は、当該端子の次の端子情報が格納されている端子情報格納部30内の記憶領域の先頭位置を示すデータである。
【0041】
尚、前端子情報格納位置33、次端子情報格納位置34における前又は次の端子情報とは、同一セルにおいて入力端子または出力端子が複数ある場合に、入力端子同士間または出力端子同士間で端子情報格納部30内での複数の端子の情報格納位置をリンクするための情報である。
【0042】
端子XY座標35は、当該端子の表示画面上での表示位置を示す(X,Y)座標を示すデータである。
結線管理情報位置36は、結線管理情報格納部50(図2(d);後述する)内において当該端子に対応する結線管理情報が格納されている記憶領域の先頭位置を示すデータである。
【0043】
図2(c)は、結線情報格納部40のデータ構成を示す図である。
同図(c)に示すように、結線情報格納部40は、各結線の結線開始XY位置41、結線終了XY位置42、及び結線管理情報位置43の各データを格納している。
【0044】
結線開始XY位置41、結線終了XY位置42は、それぞれ当該結線の始点の(X,Y)座標、終点の(X,Y)座標を示すデータである。
結線管理情報位置43は、当該結線に対応する結線管理情報が格納されている結線管理情報格納部50内の記憶領域の先頭位置を示すデータである。。
【0045】
図2(d)は、結線管理情報格納部50のデータ構成を示す図である。
同図(d)に示すように、結線情報格納部50は、各結線の結線情報格納位置51、結線始点端子情報格納位置52、及び結線終点端子情報格納位置53の各データを格納している。
【0046】
結線情報格納部50に格納される情報は、互いに結線すべき各端子と結線情報とを関連付けて管理する為の情報であり、例えばある結線の始点と終点にある端子の情報は、それぞれ結線始点端子情報格納位置52、及び結線終点端子情報格納位置53によって端子情報格納部30内の先頭位置が示されている記憶領域内のデータを検索することにより得られる。
【0047】
図3は、第1の実施例のプログラミング装置によるプログラム作成支援処理の動作を説明するフローチャートである。尚、作成するプログラムは、図12に示す従来例と同じものである。
【0048】
図4〜図6は、図3のフローチャートの動作によって図2(a)〜(d)に示す各情報格納部に格納されるデータの一例を示す図である。
以下、図3〜図6を参照して、説明する。
【0049】
まず、図3において、オペレータ等によって命令群から関数のセル(例えば、加算(+)の関数のセル)が選択されて、該関数のセルを表示部5の画面上の任意の位置に配置する操作が行われると、RAM3内にセル情報格納部20及び端子情報格納部30の記憶領域を確保して、それらの格納部20、30にこの関数のセル(例えば、加算(+)の関数のセル)の配置情報を格納する(ステップS1)。
【0050】
このステップS1の処理によって、セル情報格納部20には、例えば図4(a)のセル情報格納部20−1に示すように、上記画面上に配置した関数(加算(+)の関数)のセル情報が格納される。また、端子情報格納部30には、例えば図4(b)の端子情報格納部30−1に示すように、上記配置した関数(加算(+)の関数)のセルが有する各端子(入力端子P、Q、及び出力端子R)の情報が格納される。
【0051】
図4(a)のセル情報格納部20−1では、セル種別21として関数のセルであることを示す‘1’が格納され、セル名称22として‘+’が格納される。入力数23、出力数25には、上記入力/出力端子数より、それぞれ‘2’、‘1’が格納される。入力端子情報格納部の先頭位置24には、端子情報格納部30−1に格納された入力端子情報の先頭位置を示す‘1’が格納される。出力端子情報格納部の先頭位置26には、端子情報格納部30−1に格納された出力端子情報の先頭位置を示す‘3’が格納される。
【0052】
セルXY座標27、セル幅28、及びセル高さ29には、それぞれ、例えばXY座標(8,0)、セル幅‘5’、及びセル高さ‘5’が格納される。
図4(b)の端子情報格納部30−1では、例えば端子情報格納部30内の先頭位置(上記入力端子情報格納部の先頭位置24に格納される位置‘1’に該当する記憶領域)に入力端子Pの情報が格納される。入力端子Pの情報の次の位置(位置‘2’)には入力端子Qの情報が格納され、さらにその次の位置(位置‘3’)には出力端子Rの情報が格納される。
【0053】
次に、入力端子Pの情報について説明する。
入/出力区分31には入力であることを示す‘1’が格納される。
該当セル情報格納位置32には、セル情報格納部20内において上記関数(加算(+)の関数)の情報が格納された位置を示す‘1’が格納される。
【0054】
前端子情報格納位置33には‘0’(なし)が格納される。
次端子位置情報格納位置34には、端子情報格納部30内において入力端子Qの情報が格納された位置を示す‘2’が格納される。
【0055】
端子XY座標35には、例えば座標(8,1)が格納される。
結線管理情報位置36には、現時点ではまだ端子P、Q、Rの結線は成されておらず、結線管理情報格納部50には当該情報は格納されていないので、‘0’(なし)が格納される。
【0056】
入力端子Q、出力端子Rの情報も上記と同様にして、端子情報格納部30内の位置‘2’、‘3’の記憶領域に格納される。
図4(c)、(d)に示すように、上記ステップS1の処理の段階では、まだ、結線情報格納部40、結線管理情報格納部50にはデータは格納されない。
【0057】
そして、セル情報格納部20及び端子情報格納部30に格納されたデータに基づいて、表示部5の画面上に加算(+)の関数のセルとその端子P、Q、Rを表示する。すなわち、図12(a)に示す表示例のようになる。
【0058】
図3において、次に、オペレータ等によって命令群からオペランド記述部“〔〕”が選択され、このオペランド記述部を結線すべき端子上(例えば上記加算(+)の関数のセルの端子P)に置く操作が行われると、まずこのオペランド記述部が置かれた端子を判断(検出)する処理を行う(ステップS2)。すなわち、このオペランド記述部が置かれた位置が例えばXY座標(8,1)であったとすると、図4(b)の端子情報格納部30内の各端子の端子XY座標35を検索して、座標が一致する端子を検出する。この場合、入力端子Pの端子XY座標が(8,1)であるので、オペランド記述部が置かれた端子は入力端子Pであるものと判断する。
【0059】
次に、この入力端子Pの該当セル情報格納位置32の情報より、該当するセル(入力端子Pを有するセル)のセル情報が格納されている位置を求め、セル情報格納部20内において該当するセル情報を検索する(ステップS3)。そして、セルXY座標27、セル幅28、及びセル高さ29のデータより、当該関数のセルが表示部5の表示画面上で占めるエリアの大きさ/位置を求め、この関数のセルと重ならずに上記入力端子Pの左側にオペランド記述部を配置できるスペースがあるか否かの判定を行う(ステップS4)。尚、オペランド記述部の幅、高さは予め所定の値に定められており、この値を用いて上記ステップS4の判定を行う。また、関数のセルに対するオペランド記述部の配置は、端子が入力端子である場合は当該端子の左側に、出力端子である場合は右側に配置するものとしている。更に、上記ステップS4では、関数のセルとオペランド記述部との間に結線するスペースがあるか否かについても考慮して判定を行う。
【0060】
尚、上記例では、オペランド記述部が加算(+)の関数のセルと重ならないようにして配置できることのみを考慮して判定を行っているが、実際には表示画面上に密集して多数のセル(関数のセル、オペランド記述部)が配置されている場合が考えられるので、セル情報格納部20に格納されている全てのセル(関数のセル、オペランド記述部)の情報を参照して、オペランド記述部を配置できる空きスペースを判別することになる。
【0061】
そして、オペランド記述部を配置可能な空きスペースがある場合には、この空きスペースにオペランド記述部を配置して、その配置情報をセル情報格納部20に格納し、更に当該オペランド記述部の端子Sの配置情報を端子情報格納部30に格納する(ステップS5)。このオペランド記述部の端子Sは、上記加算(+)の関数の端子Pが入力端子であることから、自動的に出力端子と判断される。
【0062】
この結果、セル情報格納部20、端子情報格納部30に格納される情報は、それぞれ図5(a)、(b)に示すようになる。
図5(a)のセル情報格納部20−2に示すように、セル情報格納部20には加算(+)の関数のセル情報の次の位置に、上記配置したオペランド記述部のセル情報が格納される。このオペランド記述部のセル情報は、同図に示すように、セル種別21は‘2’、セル名称22は‘A’、入力数23は‘0’、入力端子情報格納部の先頭位置24は‘0’、出力数25は‘1’、出力端子情報格納部の先頭位置26は‘4’、セルXY座標27は(0,0)、セル幅28は‘5’、セル高さ29は‘2’である。
【0063】
図5(b)の端子情報格納部30−2に示すように、セル情報格納部30には加算(+)の関数のセルの各端子P、Q、Rの情報の次の位置(位置‘4’)に、上記配置したオペランド記述部の端子(出力端子)Sの情報が格納される。
【0064】
このオペランド記述部の出力端子情報は、入/出力区分31は‘2’(出力)、該当セル情報格納位置32は‘2’、前端子情報格納位置33は‘0’(なし)、次端子位置情報格納位置34は‘0’(なし)、端子XY座標35は(5,1)、結線管理情報位置36は‘0’(なし)である。
【0065】
結線管理情報位置36が‘0’(なし)になっているのは、現段階では未だ結線が行われていないので、図5(c)、(d)に示すように、結線情報格納部40、結線管理情報格納部50にはデータが格納されていないからである。
【0066】
上記ステップS5の処理が終了すると、次に、結線情報格納部40、及び結線管理情報格納部50に上記オペランド記述部の端子Sと加算(+)の関数の端子Pとの結線情報を格納する(ステップS6)。互いに結線すべき端子は、上記の通り分かっているので、この各端子の座標値のデータを端子情報格納部30より読み出して、結線情報格納部40に格納する。更に上記結線すべき各端子の端子情報とその結線情報が格納されている位置を示す情報を結線管理情報格納部50に格納する。また、これに伴って、上記結線すべき各端子の結線管理情報位置36のデータを設定する。
【0067】
この結果、結線情報格納部40内の結線開始XY座標41、結線終了XY座標42には、それぞれ図6(c)の結線情報格納部40−3に示すように、オペランド記述部の出力端子Sの座標(5,1)と加算(+)の関数のセルの端子Pの座標(8,1)が格納され、更に結線管理情報位置43には、結線管理情報格納部50内で当該結線の管理情報が格納された位置を示す‘1’が格納される。また、結線管理情報格納部50には、図6(d)の結線管理情報格納部50−3に示すように、結線情報格納部40内において当該結線の情報が格納されている位置を示すデータ‘1’と、端子情報格納部30内において上記オペランド記述部の端子Sの端子情報が格納されている位置を示すデータ‘4’及び加算(+)の関数の端子Pの端子情報が格納されている位置を示すデータ‘1’が、それぞれ結線情報格納部位置51、結線の先頭端子情報格納部位置52、結線の最終端子情報格納部位置53に格納される。
【0068】
そして、最後に、図6(a)〜(d)に示すセル情報格納部20−3、端子情報格納部30−3、結線情報格納部40−3、及び結線管理情報格納部50−3に格納されたデータに基づいて、表示部5の表示画面上に図12(c)に示すようにオペランド記述部110及び端子S、P間の結線140を表示する(ステップS7)。
【0069】
また、上記と同様の処理により、図12(d)に示す結線も自動的に行える。
ところで、ここで、既に上述してあるが、例えば表示画面上に密集して多数のセル(関数のセル、オペランド記述部)が既に配置されている状況等では、例えばオブジェクト記述部を関数のセルに結線する場合、結線対象の関数のセルが占める領域だけではなく、少なくともその近隣の他のセルが占める領域も考慮して、オペランド記述部の配置可能な場所を見つける必要がある。
【0070】
これについて、以下に図7〜図10を参照して詳細に説明する。
図7は、第2の実施例のプログラミング装置によるプログラム作成支援処理の動作を説明するフローチャートである。
【0071】
同図において、まず、図3のステップS1〜S4と略同様の処理が行われる(ステップS11)。
すなわち、まず最初に、オペレータ等によって命令群から関数のセル(例えば、加算(+)の関数のセル)が選択されて、該関数のセルを表示部5の画面上の任意の位置に配置する操作が行われており、この操作に応じてRAM3内にセル情報格納部20及び端子情報格納部30の記憶領域を確保して、それらの格納部20、30にこの関数のセル(例えば、加算(+)の関数のセル)の配置情報を格納する処理が行われている。
【0072】
そして、オペレータ等によって命令群からオペランド記述部“〔 〕”が選択され、このオペランド記述部を結線すべき端子上(例えば図8(a)の加算(+)の関数のセル100の端子M)に置く操作が行われると、まずオペランド記述部が置かれた端子を判断(検出)する処理を行う。続いて、この検出した端子の該当セル情報格納位置32の情報より、該当するセル(入力端子Mを有するセル;この例ではセル100)のセル情報が格納されている位置を求め、セル情報格納部20内において該当するセル情報を検索する。次に、当該関数のセルが表示部5の表示画面上で占めるエリアの大きさ/位置を求め、この関数のセルと重ならずに所定の位置にオペランド記述部を配置できるか否かの判定を行う。但し、その際、図7の処理においては、当該関数のセルが占めるエリアのみではなく、他のセル(関数のセル、オペランドのセル等)が占めるエリアも算出する。これは、必ずしも全てのセルについて算出する必要はなく、結線対象の関数のセル(例えばセル100)の近隣のセル(例えばセル110)のみを対象にしても良い。
【0073】
そして、これら結線対象のセル及びその近隣のセルが占めるエリアと重ならずに、所定の位置(例えば上記端子Mの左側)にオペランド記述部を配置できるか否かを判定する。配置できる場合には、引続き図3のステップS5〜S7の処理を行えばよい。
【0074】
一方、例えば、図8(a)に示すように、加算(+)の関数のセル110が、加算(+)の関数のセル100に近接して配置されていた状況において、加算(+)の関数のセル100の端子Mにオペランド記述部140を置く操作が行われた場合には、同図に示すように所定の位置(例えば端子Mの左側)にオペランド記述部140を配置しようとしても、関数のセル110が関数のセル100に非常に近い位置に配置されている為に、オペランド記述部140を配置できるスペースがない。
【0075】
このような場合には、ステップS12以降の処理にすすむ。すなわち、まず、オペランド記述部140を、図8(a)に示す所定の位置から予め決められている規定の移動を行って(例えば図8(b)に示すように図8(a)の所定の位置から一段下にズラして)、この移動後の位置に配置できるか否かを判定する(ステップS12)。例えば図8(b)に示す例では、上記規定の移動を行った位置にオペランド記述部140を配置する空きスペースがあるので(ステップS12、YES)、この位置にオペランド記述部140を配置して図3のステップS5〜S7の処理と略同様の処理を行う(ステップS13)。
【0076】
一方、例えば図9(a)に示すように上記規定の移動を行った位置に、他のセル150が存在する等の為に、オペランド記述部140を配置する空きスペースがない場合には(ステップS12、NO)、結線すべき関数のセル100またはオペランド記述部140の配置を妨げている他のセル(セル150等)を移動させることで、空きスペースを作り出すことが可能であるか否かを調べる(ステップS14)。
そして、例えば、結線すべき関数のセル100を移動させて空きスペースを作り出すことが可能である場合には(ステップS14、YES)、例えば図9(b)に示すようにセル100を右方向に移動させることにより、このセル100の端子Mの左側にオペランド記述部140を配置できる空きスペースを作り出して、オペランド記述部140を配置する(ステップS15)。あるいは、他のセル150を移動させて空きスペースを作り出すことが可能である場合には(ステップS14、YES)、例えば図9(c)に示すようにセル150を図中の下方向に移動させることにより上記規定の移動を行った位置にオペランド記述部140を配置できる空きスペースを作り出して、上記規定の移動を行った位置にオペランド記述部140を配置する(ステップS15)。または、特に図示していないが、他のセル110を左方向に移動させることにより空きスペースを作り出して、オペランド記述部140を配置するようにしてもよい。
【0077】
そして、上記のようにして確保した空きスペースにオペランド記述部140を配置すると共に図3のステップS5〜ステップS7と略同様の処理を行う。その際、結線対象のセルや他のセル等を移動させた場合には、この移動させたセルの配置情報を変更する必要がある。
【0078】
すなわち、まず、上記のように配置したオペランド記述部140の配置情報を、セル情報格納部20に格納し、更に当該オペランド記述部の端子Nの配置情報を端子情報格納部30に格納する。次に、結線情報格納部40、及び結線管理情報格納部50に上記オペランド記述部140の端子Nと加算(+)の関数100の端子Mとの結線情報を格納する。更に、移動させたセルに係わる配置情報を変更する。すなわち、移動させたセルに関するセル情報格納部20のセルXY座標27、端子情報格納部30の端子XY座標35、及び結線情報格納部40の結線開始XY位置41及び/または結線終了XY位置42の情報を、移動後のセルの位置に対応する情報となるように変更する。
【0079】
尚、この移動させたセルに結線されているオペランド記述部の配置情報も変更する必要がある。例えば、セル110を移動させた場合にはこれに伴ってこのセル110の端子P、Qに結線されているオペランド記述部120、130も移動させる必要があるので、これに応じてオペランド記述部120、130の配置情報も変更する。
【0080】
そして、最後に、セル情報格納部20、端子情報格納部30、結線情報格納部40、及び結線管理情報格納部50に格納されたデータに基づいて、表示部5の表示画面上に関数のセル、オペランド記述部、端子、結線を表示する(ステップS16)。
【0081】
一方、既に配置されているセル(セル100、150等)を移動させて空きスペースを作り出すことができない場合には(ステップS14、NO)、例えば図10(a)に示すように、セル100を右方向に移動させたり、セル150を下方向に移動させると、“作成境界線”を越えてしまう為、移動させることができない場合には(セル110もその左側に特に図示しない他のセルが近接している等の為に移動できないものとする)、オペランド記述部140を配置可能な空きスペースの検索範囲を広げることによって(ステップS17)、配置可能な空きスペースがあるか否かを判定する(ステップS18)。例えば、オペランド記述部140を上記所定の位置から下方向または上方向(右方向または左方向であってもよい)に順次移動させていき、順次移動させる毎にその移動させた位置に他のセル(関数のセル、オブジェクト記述部等)が存在するか否かを調べる。
【0082】
オペランド記述部140を配置可能な場所が見つかった場合には(ステップS18、YES)、この場所にオペランド記述部140を配置すると共に図3のステップS5〜S7と略同様の処理を行う(ステップS19)。
【0083】
尚、検索範囲を広げてもオペランド記述部140を配置可能な空きスペースが見つからない場合には(ステップS18、NO)、例えば「このオペランドを配置するスペースが有りません」等のエラーメッセージを表示して、処理を終了する。
【0084】
尚、上記実施形態では、関数のセルとオペランド記述部間の結線を例にして説明したが、本発明はこれに限るものではない。関数のセル−関数のセル間の結線、あるいはオペランド記述部−オペランド記述部間の自動結線も行うことができる。
【0085】
ところで、PCのプログラミング装置は、専用に開発された装置の他に、一般のパソコン等をツール本体として、PCのプログラミング機能を実現するアプリケーションソフト(フロッピーディスク等の記憶媒体に格納されているソフトウェア)を用いるものがある。また、上記専用に開発された装置においても、フロッピーディスク等を用いてアプリケーションソフトの交換が行われる場合がある。よって、本発明は、プログラミング装置本体、プログラミング装置におけるプログラム作成支援方法に限らず、コンピュータにより使用されたときに、上述の本発明の実施形態の機能をコンピュータに行わせるためのコンピュータ読出し可能な記録媒体(記憶媒体)として構成することもできる。
【0086】
この場合、「記録媒体」には、例えば図11に示されるように、例えばCD−ROMディスク71、フロッピィーディスク72(あるいはMO、DVD、リムーバブルハードディスク等であってもよい)等の可搬記憶媒体70や、外部の装置60(サーバ等)内の記憶手段(不図示)、あるいは情報処理装置80の本体81内の記憶装置83(RAM/ROM又はハードディスク等)が含まれる。
【0087】
図11において、プログラム(データ)提供者側の外部の装置60内の記憶手段(不図示)に記憶されているプログラム(データ)60aは、公衆回線、専用回線、インタフェース等である回線90を介して、本願発明のアプリケーションプログラムの被提供者側の情報処理装置80の上記本体82内の記憶装置83にロードされて、実行される。
【0088】
また、CD−ROM71、フロッピーディスク72等を情報処理装置80の上記本体81に設けられた(あるいは接続された)媒体駆動装置82に挿入することで、これらの可搬記憶媒体70に記憶されているプログラム(プログラム(データ)71a、プログラム(データ)72a)が、媒体駆動装置82によって読み出され(記憶装置83にロードされ)実行される。
【0089】
尚、上記専用に開発された装置等はROM交換によってプログラムを変更する形態もあるので、上記可搬記憶媒体にはROMも含まれる。
【0090】
【発明の効果】
以上、詳細に説明したように、本発明のPCのプログラミング装置によれば、配置された関数のセルに対してオペランド記述部の配置と結線を行う際に、オペレータ等は選択したオペランド記述部を接続先の端子に置く操作を行うだけで、自動的にオペランド記述部の配置、及びオペランド記述部の端子と関数のセルの端子との結線が行われる。
【0091】
これによって、ユーザがオペランド記述部を配置可能な位置を判断して該オペランドの配置を行うという面倒な作業を行う必要がなくなり、更には端子間を結線する作業を行う必要がなくなるので、ユーザの操作負担が軽減され、効率的にプログラミングできるようになる。
【0092】
更に、セルが密集している等の為にオペランド記述部の配置可能なスペースがない場合でも、既に配置されているセル(関数のセル等)を移動させて空きスペースを作り出して、オペランド記述部の配置することもできる。
【0093】
また、関数のセル−関数のセル間、あるいはオペランド記述部−オペランド記述部間の配置及び端子間の結線についても、上記と同様の効果が得られる。
【図面の簡単な説明】
【図1】本実施形態によるプログラミング装置の構成を示すブロック図である。
【図2】各格納部のデータ構成図である。
【図3】第1の実施例によるプログラム作成支援処理の動作を説明するフローチャートである。
【図4】図3のフローチャートの動作によって図2に示す各情報格納部に格納されるデータの一例を示す図(その1)である。
【図5】図3のフローチャートの動作によって図2に示す各情報格納部に格納されるデータの一例を示す図(その2)である。
【図6】図3のフローチャートの動作によって図2に示す各情報格納部に格納されるデータの一例を示す図(その3)である。
【図7】第2の実施例によるプログラム作成支援処理の動作を説明するフローチャートである。
【図8】オペランド記述部の自動配置、自動結線の一例を示す図(その1)である。
【図9】オペランド記述部の自動配置、自動結線の一例を示す図(その2)である。
【図10】オペランド記述部の自動配置、自動結線の一例を示す図(その3)である。
【図11】記録媒体(記憶媒体)の一例を示す図である。
【図12】FB図によるプログラム作成/表示の一例を示す図である。
【符号の説明】
1 CPU
2 入力部
3 RAM
3−1 セル情報格納部
3−2 端子情報格納部
3−3 結線情報格納部
3−4 結線管理情報格納部
4 記憶部
5 表示部
6 媒体駆動装置
7 可搬記憶媒体
8 通信部
10 プログラミング装置
11 PC
20 セル情報格納部
21 セル種別
22 セル名称
23 入力数
24 入力端子情報格納先頭位置
25 出力数
26 出力端子情報格納先頭位置
27 セルXY座標
28 セル幅
29 セル高さ
30 端子情報格納部
31 入/出力区分
32 該当セル情報格納位置
33 前端子情報格納位置
34 次端子情報格納位置
35 端子XY座標
36 該当結線管理情報格納位置
40 結線情報格納部
41 結線開始XY座標
42 結線終了XY座標
43 該当結線管理情報格納位置
50 結線管理情報格納部
51 結線情報格納部位置
52 結線の先頭端子情報格納部位置
53 結線の最終端子情報格納部位置
60 外部の装置
60a プログラム(データ)
70 可搬記憶媒体
71 CD−ROM
71a プログラム(データ)
72 フロッピーディスク
72a プログラム(データ)
80 情報処理装置
81 本体
82 媒体駆動装置
83 記憶装置
83a プログラム(データ)
90 回線
100 関数のセル(結線対象のセル)
110 関数のセル(他のセル)
120 オペランド記述部
130 オペランド記述部
140 オペランド記述部(結線すべきオペランド)
150 関数のセル(他のセル)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a programming device which is a program creation support tool for a programmable controller.
[0002]
[Prior art]
For creating a program for a programmable controller (hereinafter referred to as a PC), a programming device that is a program creation support tool is generally used. This programming device is usually separate from the PC, and is used by being connected to the PC when changing or modifying a program or creating a new program.
[0003]
As a PC programming language, a graphical representation program such as a ladder diagram using graphic symbols such as relay symbols and logic symbols is known. Creation of a graphical representation program using a programming device is performed by displaying graphic symbols on a display screen, connecting them, and creating a so-called circuit diagram.
[0004]
By the way, as the illustrated representation program used for the PC, there is an expression format called a function block diagram (hereinafter referred to as FB diagram) in addition to the ladder diagram and the like. The FB diagram is a graphic symbol of “function” indicating a processing unit such as logical operation, addition / subtraction, multiplication / division, and a graphic symbol of “operand” indicating input data or output data of this “function” (hereinafter referred to as operand description section). Are arranged on the display screen and the terminals of these graphic symbols are connected to each other to express the program.
[0005]
FIG. 12 is a diagram showing an example of program creation / display based on the FB diagram.
This figure is an example of a program for calculating the sum of operand “A” and “B” values using the addition (+) function and storing the result in “C”. A display example is shown.
[0006]
First, as shown in FIG. 12A, an input device such as a keyboard (not shown) is operated from a group of instructions displayed on a screen such as a display (or on the display screen in the case of an input method using a touch panel). The function of addition (+) is selected by directly touching (), and a graphic symbol (hereinafter referred to as a cell) 200 of the function of addition (+) is arranged at a desired position. The addition (+)
[0007]
Next, as shown in FIG. 6B, the operand description part is selected from the instruction group (here, the
[0008]
Subsequently, a “line” is selected from the instruction group, and as shown in FIG. 4C, the terminal S in the
[0009]
Although not specifically shown, the
[0010]
[Problems to be solved by the invention]
In the above-described conventional method, the operator or the like confirms the terminal of the function cell to which the operand description part is to be connected, and then whether or not there is a space in which the operand description part can be arranged in the vicinity of the terminal of the function cell. , Operate the operand description part, and select "Line" to connect the terminal of the operand description part and the terminal of the function cell. It was not something that could be done.
[0011]
An object of the present invention is that when an operand description part is arranged and connected to an arranged function, the operator or the like automatically confirms the terminal of the function to which the operand description part is connected, and the operand description part automatically. And a programmable controller programming device in which the terminal of the operand description part and the terminal of the function cell are connected.
[0012]
[Means for Solving the Problems]
A programming device according to a first aspect of the present invention is a program for creating a program for operating a programmable controller with a graphic representation formed by connecting each graphic symbol indicating a processing unit or input data or output data and a terminal of each graphic symbol. In the apparatus, a detecting means for detecting that an operation of placing a second graphic symbol on the first terminal in the first graphic symbol arranged at an arbitrary position is performed, and the detecting means An area in which the second graphic symbol in which the placement operation is detected can be arranged outside the first graphic symbol at a position corresponding to the first terminal is detected, and the second graphic symbol is detected in the detected area. And arranging means for arranging.
[0013]
According to the programming device of the first aspect of the present invention, the second graphic symbol to be connected to the first terminal in the first graphic symbol arranged at an arbitrary position on the screen by the operator or the like, The second graphic symbol is automatically arranged by simply performing a simple operation of arranging the first terminal.
[0014]
The programming device of the second invention further includes storage means for storing the cell information and the terminal information of the first and second graphic symbols, respectively, and the cell information and the terminal information stored in the storage means. Connecting means for connecting the first terminal in the first graphic symbol and the second terminal in the second graphic symbol.
[0015]
According to the programming device of the second aspect of the invention, the second graphic symbol to be connected to the first terminal in the first graphic symbol, which is arranged at an arbitrary position on the screen by an operator or the like, By simply performing a simple operation of placing on the first terminal, the second graphic symbol is automatically arranged, and the first terminal and the second terminal are automatically connected.
[0016]
According to a third aspect of the present invention, there is provided a programming device for creating a program for operating a programmable controller in the form of a graphic representation formed by connecting each graphic symbol indicating a processing unit or input data or output data and a terminal of each graphic symbol. In the apparatus, detecting means for detecting that an operation of arranging a second graphic symbol is performed on a first terminal in a first graphic symbol that has already been arranged, and the arranging operation by the detecting means Whether or not the second graphic symbol in which the first graphic symbol is detected can be arranged at a predetermined position near the first terminal of the first graphic symbol without overlapping the first graphic symbol and other graphic symbols. A first determination means for determining, and when the first determination means determines that the arrangement is impossible, the first graphic symbol or another Determining whether or not the second graphic symbol can be arranged by moving the shape symbol, or whether or not the second graphic symbol can be arranged by moving the second graphic symbol from the predetermined position; The second graphic symbol is arranged at a position determined by the two determination means and the first determination means or the second determination means to be arranged, and the first graphic symbol and the second graphic symbol are arranged. And an arrangement / connection means for connecting the terminals of the graphic symbol.
[0017]
According to the programming device of the third aspect of the invention, the second graphic symbol to be connected to the first terminal in the first graphic symbol, which is arranged at an arbitrary position on the screen by an operator or the like, Even if a simple operation of placing on the first terminal is performed, especially when the graphic symbols are dense and there is no place where the second graphic symbol can be arranged in the vicinity of the first graphic symbol, Move the first graphic symbol and other graphic symbols to create a space where the first graphic symbol can be automatically placed, or position the second graphic symbol away from the vicinity of the first graphic symbol For example, the second graphic symbol is automatically arranged, and the first terminal and the second terminal are automatically connected.
[0018]
As described above, according to the programming devices of the first, second, and third inventions, the work efficiency in creating the illustrated representation program is remarkably improved as compared with the prior art.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of the
[0020]
In the figure, a
The
[0021]
The
[0022]
The
[0023]
The
[0024]
The medium driving device 6 is a device that executes reading or writing of application programs and data stored in a
[0025]
The
[0026]
The
[0027]
The
The
[0028]
FIG. 2 is a diagram showing a data configuration of each of the information storage units 3-1 to 3-4.
FIG. 2A is a diagram illustrating a data configuration of the cell
[0029]
As shown in FIG. 5A, the cell
[0030]
The
[0031]
When the
[0032]
The number of
[0033]
The
[0034]
The
[0035]
The
[0036]
The cell XY coordinate 27 is data indicating the arrangement position of the cell on the display screen, and is, for example, the (X, Y) coordinate value of the upper left corner of the cell. Then, the cell is displayed on the display screen based on the data of the (X, Y) coordinate value, the data of the
[0037]
FIG. 2B is a diagram illustrating a data configuration of the terminal
As shown in FIG. 4B, the terminal
[0038]
The input /
[0039]
The corresponding cell
[0040]
The front terminal
The next terminal
[0041]
The previous or next terminal information at the previous terminal
[0042]
The terminal XY coordinates 35 are data indicating (X, Y) coordinates indicating the display position of the terminal on the display screen.
The connection
[0043]
FIG. 2C is a diagram illustrating a data configuration of the connection
As shown in FIG. 5C, the connection
[0044]
The connection start
The connection management information position 43 is data indicating the head position of the storage area in the connection management
[0045]
FIG. 2D is a diagram illustrating a data configuration of the connection management
As shown in FIG. 6D, the connection
[0046]
The information stored in the connection
[0047]
FIG. 3 is a flowchart for explaining the operation of the program creation support process by the programming device of the first embodiment. The program to be created is the same as that of the conventional example shown in FIG.
[0048]
4 to 6 are diagrams illustrating examples of data stored in the information storage units illustrated in FIGS. 2A to 2D by the operation of the flowchart of FIG. 3.
Hereinafter, a description will be given with reference to FIGS.
[0049]
First, in FIG. 3, a function cell (for example, an addition (+) function cell) is selected from an instruction group by an operator or the like, and the function cell is arranged at an arbitrary position on the screen of the
[0050]
By the processing of step S1, the cell
[0051]
In the cell information storage unit 20-1 in FIG. 4A, “1” indicating that the cell is a function cell is stored as the
[0052]
In the cell XY coordinate 27, the
In the terminal information storage unit 30-1 in FIG. 4B, for example, the head position in the terminal information storage unit 30 (the storage area corresponding to the position '1' stored in the
[0053]
Next, information about the input terminal P will be described.
The input /
In the cell
[0054]
The front terminal
The next terminal position
[0055]
For example, coordinates (8, 1) are stored in the terminal XY coordinates 35.
The connection
[0056]
The information on the input terminal Q and the output terminal R is also stored in the storage areas at the positions “2” and “3” in the terminal
As shown in FIGS. 4C and 4D, data is not yet stored in the connection
[0057]
Based on the data stored in the cell
[0058]
In FIG. 3, next, an operand description section “[]” is selected from the instruction group by an operator or the like, and this operand description section is placed on the terminal to be connected (for example, the terminal P of the cell of the function of addition (+)). When the placing operation is performed, first, a process of determining (detecting) the terminal where the operand description portion is placed is performed (step S2). That is, if the position where this operand description part is placed is, for example, XY coordinates (8, 1), the terminal XY coordinates 35 of each terminal in the terminal
[0059]
Next, from the information of the corresponding cell
[0060]
In the above example, the determination is performed only considering that the operand description part can be arranged so as not to overlap with the cell of the addition (+) function. Since cells (function cells, operand description sections) may be arranged, refer to information of all cells (function cells, operand description sections) stored in the cell
[0061]
If there is a free space where the operand description part can be placed, the operand description part is placed in this free space, the placement information is stored in the cell
[0062]
As a result, the information stored in the cell
As shown in the cell information storage unit 20-2 in FIG. 5A, the cell
[0063]
As shown in the terminal information storage unit 30-2 in FIG. 5B, the cell
[0064]
The output terminal information of this operand description part is “2” (output) for the input /
[0065]
The reason why the connection
[0066]
When the processing of step S5 is completed, next, the connection information between the terminal S of the operand description unit and the terminal P of the addition (+) function is stored in the connection
[0067]
As a result, the connection start XY coordinate 41 and the connection end XY coordinate 42 in the connection
[0068]
Finally, the cell information storage unit 20-3, the terminal information storage unit 30-3, the connection information storage unit 40-3, and the connection management information storage unit 50-3 shown in FIGS. Based on the stored data, the
[0069]
Further, the connection shown in FIG. 12D can be automatically performed by the same processing as described above.
By the way, as already described above, for example, in a situation where a large number of cells (function cells, operand description sections) are already arranged on the display screen, for example, the object description section is replaced with the function cell. In this case, not only the area occupied by the cell of the function to be connected but also at least the area occupied by other neighboring cells must be found to find a place where the operand description section can be arranged.
[0070]
This will be described in detail below with reference to FIGS.
FIG. 7 is a flowchart for explaining the operation of the program creation support process by the programming device of the second embodiment.
[0071]
In the figure, first, substantially the same processing as steps S1 to S4 in FIG. 3 is performed (step S11).
That is, first, a function cell (for example, an addition (+) function cell) is selected from an instruction group by an operator or the like, and the function cell is arranged at an arbitrary position on the screen of the
[0072]
Then, an operand description section “[]” is selected from the instruction group by an operator or the like, and this operand description section is connected to a terminal to be connected (for example, the terminal M of the
[0073]
Then, it is determined whether or not the operand description part can be arranged at a predetermined position (for example, on the left side of the terminal M) without overlapping with the area occupied by these connection target cells and neighboring cells. If it can be arranged, the processing of steps S5 to S7 in FIG.
[0074]
On the other hand, for example, as shown in FIG. 8A, in a situation where the
[0075]
In such a case, the process proceeds to step S12 and subsequent steps. That is, first, the
[0076]
On the other hand, for example, as shown in FIG. 9 (a), when there is no free space for placing the
For example, when it is possible to move the
[0077]
Then, the
[0078]
That is, first, the arrangement information of the
[0079]
It is also necessary to change the arrangement information of the operand description part connected to the moved cell. For example, when the
[0080]
Finally, based on the data stored in the cell
[0081]
On the other hand, when it is not possible to move the already arranged cells (
[0082]
If a place where the
[0083]
If a free space where the
[0084]
In the above embodiment, the connection between the function cell and the operand description part has been described as an example, but the present invention is not limited to this. Connection between function cells and function cells, or automatic connection between an operand description section and an operand description section, can also be performed.
[0085]
By the way, the PC programming device is an application software (software stored in a storage medium such as a floppy disk) that realizes the PC programming function using a general personal computer or the like as a tool body in addition to a device developed exclusively for the PC. Some use In addition, even in the apparatus developed exclusively for the above, application software may be exchanged using a floppy disk or the like. Therefore, the present invention is not limited to the programming device main body and the program creation support method in the programming device, and when used by a computer, the computer-readable recording for causing the computer to perform the functions of the above-described embodiments of the present invention. It can also be configured as a medium (storage medium).
[0086]
In this case, the “recording medium” includes, for example, a portable storage medium such as a CD-
[0087]
In FIG. 11, a program (data) 60a stored in a storage means (not shown) in an external device 60 on the program (data) provider side passes through a line 90 which is a public line, a dedicated line, an interface, or the like. Thus, the application program of the present invention is loaded into the storage device 83 in the main body 82 of the information processing device 80 on the recipient side and executed.
[0088]
Further, by inserting the CD-
[0089]
In addition, since the apparatus etc. developed exclusively for the above have a form which changes a program by ROM exchange, ROM is also contained in the said portable storage medium.
[0090]
【The invention's effect】
As described above in detail, according to the PC programming device of the present invention, when performing placement and connection of the operand description portion to the cell of the placed function, the operator or the like selects the selected operand description portion. By simply placing an operation on the connection destination terminal, the operand description part is automatically arranged and the terminal of the operand description part is connected to the terminal of the function cell.
[0091]
This eliminates the need for the user to perform the troublesome work of determining the position where the operand description portion can be placed and arranging the operand, and further, does not require the work of connecting the terminals. The operational burden is reduced and programming can be performed efficiently.
[0092]
Furthermore, even if there is no space where the operand description part can be placed due to the denseness of cells, etc., the already-placed cell (function cell, etc.) is moved to create an empty space, and the operand description part Can also be arranged.
[0093]
Further, the same effect as described above can be obtained with respect to the arrangement between the function cell and the function cell or between the operand description part and the operand description part and to the connection between terminals.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a programming device according to an embodiment.
FIG. 2 is a data configuration diagram of each storage unit;
FIG. 3 is a flowchart for explaining the operation of a program creation support process according to the first embodiment.
4 is a diagram (part 1) illustrating an example of data stored in each information storage unit illustrated in FIG. 2 by the operation of the flowchart in FIG. 3;
5 is a diagram (part 2) illustrating an example of data stored in each information storage unit illustrated in FIG. 2 by the operation of the flowchart in FIG. 3;
6 is a diagram (part 3) illustrating an example of data stored in each information storage unit illustrated in FIG. 2 by the operation of the flowchart in FIG. 3;
FIG. 7 is a flowchart illustrating the operation of a program creation support process according to the second embodiment.
FIG. 8 is a diagram (part 1) illustrating an example of automatic placement and automatic connection of an operand description part;
FIG. 9 is a diagram (part 2) illustrating an example of automatic placement and automatic connection of an operand description part;
FIG. 10 is a diagram (part 3) illustrating an example of automatic arrangement and automatic connection of an operand description part;
FIG. 11 is a diagram illustrating an example of a recording medium (storage medium).
FIG. 12 is a diagram showing an example of program creation / display based on an FB diagram.
[Explanation of symbols]
1 CPU
2 Input section
3 RAM
3-1 Cell information storage
3-2 Terminal information storage
3-3 Connection information storage unit
3-4 Connection management information storage
4 storage
5 display section
6 Medium drive
7 Portable storage media
8 Communication Department
10 Programming device
11 PC
20 Cell information storage
21 Cell type
22 Cell name
23 Number of inputs
24 Input terminal information storage head position
25 number of outputs
26 Output terminal information storage head position
27 Cell XY coordinates
28 cell width
29 cell height
30 Terminal information storage
31 Input / output classification
32 Corresponding cell information storage location
33 Front terminal information storage location
34th terminal information storage location
35 Terminal XY coordinates
36 Corresponding connection management information storage location
40 Connection information storage
41 Connection start XY coordinates
42 Connection end XY coordinates
43 Corresponding connection management information storage location
50 Connection management information storage
51 Connection information storage location
52 Lead terminal information storage location of connection
53 Location of last terminal information storage for connection
60 External devices
60a Program (data)
70 Portable storage media
71 CD-ROM
71a Program (data)
72 floppy disk
72a Program (data)
80 Information processing equipment
81 body
82 Medium drive
83 Storage device
83a Program (data)
90 lines
100 function cell (cell to be connected)
110 Function cell (other cells)
120 Operand description part
130 Operand description part
140 Operand description (operands to be connected)
150 function cell (other cells)
Claims (11)
任意の位置に配置された第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われると、該第2の図形シンボルが配置された位置に対応する前記第1の端子を検出する検出手段と、
前記第2の図形シンボルを前記第1の図形シンボル外で前記第1の端子に対応する位置に配置可能なエリアを検出して、該検出したエリアに前記第2の図形シンボルを配置する配置手段と、
前記配置された第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ格納する記憶手段と、
該記憶手段に格納されたセル情報と端子情報に基づいて、前記第1の図形シンボル内の第1の端子と前記第2の図形シンボル内の第2の端子とを結線する結線手段と、
を有することを特徴とするプログラミング装置。In a programming device for creating a program for operating a programmable controller in a graphic representation formed by connecting each graphic symbol indicating a processing unit or input data or output data and a terminal of each graphic symbol,
On the first terminal of the first graphic symbols arranged in any position, the operation is Ru is performed to place the second graphic symbol, corresponding to the position where the graphic symbol of the second is arranged Detecting means for detecting the first terminal;
The second graphic symbol to detect a possible arrangement area in a position corresponding to the first terminal outside the first graphic symbol, placement means for placing the second graphic symbol in an area the detected When,
Storage means for storing the cell information and the terminal information of the arranged first and second graphic symbols, respectively;
Wiring means for connecting the first terminal in the first graphic symbol and the second terminal in the second graphic symbol based on the cell information and the terminal information stored in the storage means;
A programming device comprising:
前記配置手段は、前記記憶手段に格納されている第1の図形シンボルのセル情報に基づいて該第1の図形シンボルが画面上に占める第1のエリアを算出し、該第1のエリアと重ならずに前記第2の図形シンボルを配置可能な画面上の第2のエリアを検出して、該第2のエリアに該第2の図形シンボルを配置させることを特徴とする請求項1記載のプログラミング装置。The detection means detects an arrangement coordinate on the screen where the second graphic symbol is placed, searches the terminal information of the first graphic symbol stored in the storage means, and detects the detected arrangement. Determining a first terminal in the first graphic symbol by detecting a terminal arrangement coordinate coinciding with the coordinate;
The arrangement means calculates a first area occupied on the screen by the first graphic symbol based on the cell information of the first graphic symbol stored in the storage means, and overlaps the first area. not without said second graphic symbol to detect a second area on which can be placed screen, according to claim 1, wherein the placement of graphic symbol of the second to the second area Programming device.
既に配置されている第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われると、該第2の図形シンボルが配置された位置に対応する前記第1の端子を検出する検出手段と、
前記第2の図形シンボルを、前記第1の図形シンボルの第1の端子近辺の所定の位置に、該第1の図形シンボル及び他の図形シンボルと重なることなく配置可能か否かを判定する第1の判定手段と、
該第1の判定手段により配置不可能であると判定された場合、前記第1の図形シンボルまたは他の図形シンボルを移動させることによって前記第2の図形シンボルを配置可能になるか否か、あるいは前記第2の図形シンボルを前記所定の位置から移動させることにより配置可能になるか否かを判定する第2の判定手段と、
前記第1の判定手段または第2の判定手段により配置可能であると判定された位置に前記第2の図形シンボルを配置する配置手段と、
前記配置された第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ格納する記憶手段と、
該記憶手段に格納されたセル情報と端子情報に基づいて、前記第1の図形シンボル内の第1の端子と前記第2の図形シンボル内の第2の端子とを結線する結線手段と、
を有することを特徴とするプログラミング装置。In a programming device for creating a program for operating a programmable controller in a graphic representation formed by connecting each graphic symbol indicating a processing unit or input data or output data and a terminal of each graphic symbol,
Already on the first terminal of the first graphic symbols placed, the operation is Ru is performed to place the second graphic symbol, the graphic symbols of said 2 corresponds to the arrangement position No. Detecting means for detecting one terminal;
A first determination is made as to whether or not the second graphic symbol can be arranged at a predetermined position near the first terminal of the first graphic symbol without overlapping the first graphic symbol and other graphic symbols. 1 determination means;
Whether or not the second graphic symbol can be arranged by moving the first graphic symbol or another graphic symbol when it is determined by the first determination means that the arrangement is impossible; or Second determination means for determining whether or not placement is possible by moving the second graphic symbol from the predetermined position;
Arrangement means for arranging the second graphic symbol at a position determined to be arrangeable by the first determination means or the second determination means ;
Storage means for storing the cell information and the terminal information of the arranged first and second graphic symbols, respectively;
Wiring means for connecting the first terminal in the first graphic symbol and the second terminal in the second graphic symbol based on the cell information and the terminal information stored in the storage means;
A programming device comprising:
任意の位置に配置された第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われると、該第2の図形シンボルが配置された位置に対応する前記第1の端子を検出し、
前記第2の図形シンボルを前記第1の図形シンボル外で前記第1の端子に対応する位置に配置可能なエリアを検出し、
該検出したエリアに前記第2の図形シンボルを配置し、
前記配置された第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ記憶し、
該記憶されたセル情報と端子情報に基づいて、該配置した第2の図形シンボル内の第2の端子と前記第1の端子とを結線することを特徴とする配置・結線方法。In an arrangement / connection method in a programming device for creating a program for operating a programmable controller in a graphic representation formed by connecting between each graphic symbol indicating a processing unit or input data or output data and a terminal of each graphic symbol,
On the first terminal of the first graphic symbols arranged in any position, the operation is Ru is performed to place the second graphic symbol, corresponding to the position where the graphic symbol of the second is arranged Detecting the first terminal;
Detecting a possible arrangement area in a position corresponding to the first terminal of the second graphic symbol outside the first graphic symbol,
Placing the second graphic symbol in the detected area;
Storing cell information and terminal information of the arranged first and second graphic symbols, respectively;
An arrangement / connection method characterized in that , based on the stored cell information and terminal information, the second terminal in the arranged second graphic symbol and the first terminal are connected.
既に配置されている第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われると、該第2の図形シンボルが配置された位置に対応する前記第1の端子を検出し、
前記第2の図形シンボルを、前記第1の図形シンボルの第1の端子近辺の所定の位置に、該第1の図形シンボル及び他の図形シンボルと重なることなく配置可能か否かを判定し、
配置不可能であると判定された場合、前記第1の図形シンボルまたは他の図形シンボルを移動させることによって前記第2の図形シンボルを配置可能になるか否か、あるいは前記第2の図形シンボルを前記所定の位置から移動させることにより配置可能になるか否かを判定し、
該判定結果に応じて、前記第2の図形シンボルを配置可能なエリアに該第2の図形シンボルを配置し、
前記配置された第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ記憶し、
該記憶されたセル情報と端子情報に基づいて、前記第1の図形シンボル内の第1の端子と前記第2の図形シンボル内の第2の端子とを結線することを特徴とする配置・結線方法。In an arrangement / connection method in a programming device for creating a program for operating a programmable controller in a graphic representation formed by connecting between each graphic symbol indicating a processing unit or input data or output data and a terminal of each graphic symbol,
Already on the first terminal of the first graphic symbols placed, the operation is Ru is performed to place the second graphic symbol, the graphic symbols of said 2 corresponds to the arrangement position No. 1 terminal is detected,
The second graphic symbol, in place of the first near terminals of the first graphic symbol, to determine placement is possible or not without overlapping the graphic symbol and other graphic symbol of the first,
If it is determined that the second graphic symbol cannot be arranged, it is determined whether the second graphic symbol can be arranged by moving the first graphic symbol or another graphic symbol, or the second graphic symbol is Determine whether it is possible to arrange by moving from the predetermined position,
According to the determination result, the second graphic symbol is arranged in an area where the second graphic symbol can be arranged ,
Storing cell information and terminal information of the arranged first and second graphic symbols, respectively;
Arrangement / connection in which the first terminal in the first graphic symbol and the second terminal in the second graphic symbol are connected based on the stored cell information and terminal information Method.
任意の位置に配置された第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われると、該第2の図形シンボルが配置された位置に対応する前記第1の端子を検出する機能と、
前記第2の図形シンボルを前記第1の図形シンボル外で前記第1の端子に対応する位置に配置可能なエリアを検出する機能と、
該検出したエリアに前記第2の図形シンボルを配置する機能と、
前記配置された第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ記憶する機能と、
該記憶されたセル情報と端子情報に基づいて、該配置した第2の図形シンボル内の第2の端子と前記第1の端子とを結線する機能と、
を前記コンピュータにより実行されることにより実現するプログラムを前記コンピュータが読取可能な形式で記録した記録媒体。A recording medium on which a program for creating a program for operating a programmable controller by being executed by a computer is created in a diagrammatic representation,
On the first terminal of the first graphic symbols arranged in any position, the operation is Ru is performed to place the second graphic symbol, corresponding to the position where the graphic symbol of the second is arranged A function of detecting the first terminal;
A function of detecting a possible arrangement area in a position corresponding to the first terminal of the second graphic symbol outside the first graphic symbol,
A function of placing the second graphic symbol in the detected area;
A function of storing cell information and terminal information of the arranged first and second graphic symbols,
Based on the stored cell information and terminal information, a function of connecting the second terminal in the arranged second graphic symbol and the first terminal;
The recording medium which recorded the program which implement | achieves by being executed by the computer in the format which the said computer can read.
既に配置されている第1の図形シンボル内の第1の端子上に、第2の図形シンボルを配置する操作が行われると、該第2の図形シンボルが配置された位置に対応する前記第1の端子を検出する機能と、
前記第2の図形シンボルを、前記第1の図形シンボルの第1の端子近辺の所定の位置に、該第1の図形シンボル及び他の図形シンボルと重なることなく配置可能か否かを判定する機能と、
配置不可能であると判定された場合、前記第1の図形シンボルまたは他の図形シンボルを移動させることによって前記第2の図形シンボルを配置可能になるか否か、あるいは前記第2の図形シンボルを前記所定の位置から移動させることにより配置可能になるか否かを判定する機能と、
該判定結果に応じて、前記第2の図形シンボルを配置可能なエリアに該第2の図形シンボルを配置する機能と、
前記配置された第1、第2の図形シンボルのセル情報とその端子情報とをそれぞれ記憶する機能と、
該記憶されたセル情報と端子情報に基づいて、前記第1の図形シンボル内の第1の端子と前記第2の図形シンボル内の第2の端子とを結線する機能と、
を前記コンピュータにより実行されることにより実現するプログラムを前記コンピュータが読取可能な形式で記録した記録媒体。A recording medium on which a program for creating a program for operating a programmable controller by being executed by a computer is created in a diagrammatic representation,
When an operation of placing a second graphic symbol on a first terminal in a first graphic symbol that has already been arranged is performed, the first graphic corresponding to the position where the second graphic symbol is arranged A function to detect the terminal of
A function of determining whether the second graphic symbol can be arranged at a predetermined position near the first terminal of the first graphic symbol without overlapping the first graphic symbol and other graphic symbols. When,
If it is determined that the second graphic symbol cannot be arranged, it is determined whether the second graphic symbol can be arranged by moving the first graphic symbol or another graphic symbol, or the second graphic symbol is A function of determining whether or not placement is possible by moving from the predetermined position;
A function of arranging the second graphic symbol in an area where the second graphic symbol can be arranged according to the determination result ;
A function of storing cell information and terminal information of the arranged first and second graphic symbols,
A function of connecting the first terminal in the first graphic symbol and the second terminal in the second graphic symbol based on the stored cell information and terminal information;
The recording medium which recorded the program which implement | achieves by being executed by the computer in the format which the said computer can read.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03524998A JP3677985B2 (en) | 1997-09-25 | 1998-02-17 | PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25965597 | 1997-09-25 | ||
| JP9-259655 | 1997-09-25 | ||
| JP03524998A JP3677985B2 (en) | 1997-09-25 | 1998-02-17 | PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11161305A JPH11161305A (en) | 1999-06-18 |
| JP3677985B2 true JP3677985B2 (en) | 2005-08-03 |
Family
ID=26374202
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP03524998A Expired - Fee Related JP3677985B2 (en) | 1997-09-25 | 1998-02-17 | PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3677985B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7340683B2 (en) | 2001-03-29 | 2008-03-04 | Mitsubishi Denki Kabushiki Kaisha | Programming tool |
| JP4888717B2 (en) * | 2007-06-12 | 2012-02-29 | オムロン株式会社 | Program development support device for safety controller |
| JP6757385B2 (en) | 2018-10-23 | 2020-09-16 | 株式会社キーエンス | Programmable logic controller and main unit |
-
1998
- 1998-02-17 JP JP03524998A patent/JP3677985B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11161305A (en) | 1999-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5704825B2 (en) | Information processing apparatus, control method thereof, and program | |
| EP2701044B1 (en) | Information processing device, information processing method, and computer-readable recording medium which records program | |
| JP2006048408A (en) | Input and output screen creation system, input and output screen creation method and business processing system | |
| JP2005044026A (en) | Instruction execution method, instruction execution program, and instruction execution apparatus | |
| WO2020174888A1 (en) | Design assistance device, design assistance method, and design assistance program | |
| JP3677985B2 (en) | PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM | |
| EP1367477A2 (en) | Information processing apparatus | |
| JPH1195819A (en) | Programming device for programmable controller, connection method, and recording medium | |
| JP2017199226A (en) | Program editing method, program development support device, and programmable controller | |
| JP3305682B2 (en) | Vehicle part display system and vehicle repair estimation system using the same | |
| JP3144954B2 (en) | Computer system | |
| JP3037232B2 (en) | Circuit diagram display method in circuit diagram data editing device | |
| JP3781923B2 (en) | Line drawing apparatus, line drawing method, and computer-readable recording medium recording line drawing program | |
| JP2001195432A (en) | CAD system | |
| JP3688796B2 (en) | Image display device and input device | |
| US20130328940A1 (en) | Designing device, designing method, and recording medium | |
| JP2008112388A (en) | CAD system | |
| CN119002771A (en) | Multi-agent cooperative interaction method and device | |
| JP3521212B2 (en) | Multi-window computer system | |
| JP2574466B2 (en) | Multi-window display method | |
| JP3483977B2 (en) | Cursor navigation device for graphic processing device | |
| JP3037141B2 (en) | Spreadsheet system and method with auxiliary line display function | |
| JPH0511969A (en) | Icon display system | |
| JPH1196040A (en) | Process execution system and recording medium | |
| JPH10105518A (en) | Electronic computing device, electronic computing method, and recording medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040218 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041214 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050214 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050419 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050502 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080520 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090520 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |