Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3677985B2 - PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM - Google Patents
[go: Go Back, main page]

JP3677985B2 - PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM - Google Patents

PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM Download PDF

Info

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
Application number
JP03524998A
Other languages
Japanese (ja)
Other versions
JPH11161305A (en
Inventor
将直 後藤
豊実 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Electric Systems Co Ltd filed Critical Fuji Electric Systems Co Ltd
Priority to JP03524998A priority Critical patent/JP3677985B2/en
Publication of JPH11161305A publication Critical patent/JPH11161305A/en
Application granted granted Critical
Publication of JP3677985B2 publication Critical patent/JP3677985B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 (+) function cell 200 has terminals with two inputs and one output (input terminals P and Q, output terminal R) as shown in FIG. The characters P, Q, and R shown in FIGS. 12A to 12D are described for convenience of explanation, and are not always displayed on the display screen.
[0007]
Next, as shown in FIG. 6B, the operand description part is selected from the instruction group (here, the operand description part 210 of “A”) as in the case of (a) above, and the addition (+) The terminal (for example, terminal P) to which the selected operand description unit 210 is to be connected is confirmed among the three terminals P, R, and Q of the cell 200 of the function, and the operand description unit 210 is arranged in the vicinity thereof. .
[0008]
Subsequently, a “line” is selected from the instruction group, and as shown in FIG. 4C, the terminal S in the operand description section 210 of “A” and the terminal (P) of the cell 200 of the corresponding function Connect.
[0009]
Although not specifically shown, the operand description sections 220 and 230 of “B” operand description section 220 and “C” operand description section 230 are also operated in the same manner as the operations shown in FIGS. Perform placement and connection. As a result, a graphical representation program as shown in FIG.
[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 programming device 10 according to the present embodiment.
[0020]
In the figure, a CPU 1 is a central processing unit that controls the entire system of the programming device 10.
The input unit 2 is, for example, a keyboard, a mouse, or a touch panel.
[0021]
The RAM 3 has storage areas for storing information storage units such as a cell information storage unit 3-1, a terminal information storage unit 3-2, a connection information storage unit 3-3, and a connection management information storage unit 3-4. It is memory. The configuration of each of these information storage units 3-1 to 3-4 will be described in detail later, but the information stored in each of these information storage units 3-1 to 3-4 is the input unit 2 by an operator or the like. It corresponds to the program data created in response to the graphical representation input via. The RAM 3 is backed up by a battery so that data is not erased even when the power is turned off. An EEPROM or the like may be used instead of the RAM 3.
[0022]
The storage unit 4 is, for example, an HDD (hard disk drive), and stores an OS (operating system), various application programs, and the like. Furthermore, an application program that provides the function of the programming device according to the present embodiment can be stored.
[0023]
The display unit 5 is, for example, a CRT display. For example, the display unit 5 is an FB diagram based on data (information) stored in the cell information storage unit 3-1, the terminal information storage unit 3-2, and the connection information storage unit 3-3. Is displayed.
[0024]
The medium driving device 6 is a device that executes reading or writing of application programs and data stored in a portable storage medium 7 to be described later under the control of the CPU 1, and is, for example, an FDD, a CD-ROM drive, or the like. .
[0025]
The portable storage medium 7 stores at least an application program that provides the function of the programming device according to the present embodiment in a format that can be read by the medium driving device 6 and executed by the CPU 1. The portable storage medium 7 is, for example, an FD (floppy disk), an MO (magneto-optical disk), a CD-ROM, a PC card, etc., and these are magnetically, magneto-optically, or electrically. An application program that provides the functions of the programming device is stored in a format that can be read by the medium driving device 6 and executed by the CPU 1.
[0026]
The communication unit 8 transfers program data stored in the RAM 3 or the like after the completion of the program creation work to a program memory (not shown) in the PC 11. Alternatively, when part of the program data stored in the program memory in the PC 11 is corrected, the program data transferred from the PC 11 side is received and stored in the RAM 3.
[0027]
The PC 11 is a programmable controller.
The programming device 10 according to the present embodiment stores cell information (function cell or operand cell (operand description part) information), terminal information, connection information, and the like based on the FB diagram input / created in the illustrated representation. A storage area is provided in, for example, the RAM 3.
[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 information storage unit 20 that stores cell information of each cell arranged on the screen.
[0029]
As shown in FIG. 5A, the cell information storage unit 20 includes a cell type 21, a cell name 22, an input number 23, an input terminal information storage head position 24, an output number 25, and an output terminal for each cell. Cell information including data of the head position 26, cell XY coordinates 27, cell width 28, and cell height 29 of the information storage unit is stored.
[0030]
The cell type 21 is data indicating whether the cell is a function cell or an operand cell (operand description part). For example, “1” is stored in the case of a function cell, and “2” is stored in the case of an operand description part.
[0031]
When the cell name 22 indicates that the cell is a function cell in the cell type 21, for example, addition / subtraction (+), (−), multiplication / division (×), (÷), etc. When the data indicates a processing unit and indicates that the cell is an operand description section, the data is, for example, the above-described data such as “A”, “B”, and “C”. Here, data such as “A”, “B”, and “C” in the operand description part is information indicating the name of a register or the like that stores, for example, a value input to a function or an operation result of the function.
[0032]
The number of inputs 23 is data indicating the number of inputs (number of input terminals) to the cell. The data of the number of inputs 23 is normally “2” when the cell is a function cell, and is “0” or “1” when the cell is an operand description part.
[0033]
The head position 24 of the input terminal information storage section is the head position of the storage area for storing information of the input terminal in the terminal information storage section 30 (FIG. 2B; this will be described later) for storing information relating to each terminal ( This is data indicating the head address.
[0034]
The output number 25 is data indicating the number of outputs from the cell (number of output terminals). The data of the number of outputs 25 is normally “1” when the cell is a function cell, and is “0” or “1” when the cell is an operand description part.
[0035]
The head position 26 of the output terminal information storage unit is data indicating the head position (head address) of the storage area for storing the information of the output terminal in the terminal information storage unit 30.
[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 cell width 28, and the data of the cell height 29. The cell width 28 is the length of the cell in the X direction, and the cell height 29 is the length of the cell in the Y direction.
[0037]
FIG. 2B is a diagram illustrating a data configuration of the terminal information storage unit 30 that stores information (terminal information) related to each terminal included in each cell arranged on the screen.
As shown in FIG. 4B, the terminal information storage unit 30 includes an input / output classification 31 for each terminal, a corresponding cell information storage location 32, a previous terminal information storage location 33, a next terminal location information storage location 34, and a terminal XY. The terminal information which consists of each data of the coordinate 35 and the connection management information position 36 is stored.
[0038]
The input / output section 31 is data indicating whether the terminal is an input terminal or an output terminal. For example, “1” is stored for an input terminal, and “2” is stored for an output terminal.
[0039]
The corresponding cell information storage position 32 is data indicating the position where the information of the cell corresponding to the terminal in the cell information storage unit 20 is stored, in other words, the information of the cell or operand description part of the function having the terminal. Is data indicating the start position of the storage area in the cell information storage unit 20 in which is stored.
[0040]
The front terminal information storage position 33 is data indicating the head position of the storage area in the terminal information storage unit 30 in which the terminal information before the terminal is stored.
The next terminal information storage position 34 is data indicating the head position of the storage area in the terminal information storage unit 30 in which the next terminal information of the terminal is stored.
[0041]
The previous or next terminal information at the previous terminal information storage position 33 and the next terminal information storage position 34 is a terminal between input terminals or between output terminals when there are a plurality of input terminals or output terminals in the same cell. This is information for linking information storage positions of a plurality of terminals in the information storage unit 30.
[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 management information position 36 is data indicating the start position of the storage area in which the connection management information corresponding to the terminal is stored in the connection management information storage unit 50 (FIG. 2D; described later).
[0043]
FIG. 2C is a diagram illustrating a data configuration of the connection information storage unit 40.
As shown in FIG. 5C, the connection information storage unit 40 stores data of a connection start XY position 41, a connection end XY position 42, and a connection management information position 43 of each connection.
[0044]
The connection start XY position 41 and the connection end XY position 42 are data indicating the (X, Y) coordinates of the start point and the (X, Y) coordinates of the end point of the connection, respectively.
The connection management information position 43 is data indicating the head position of the storage area in the connection management information storage unit 50 in which the connection management information corresponding to the connection is stored. .
[0045]
FIG. 2D is a diagram illustrating a data configuration of the connection management information storage unit 50.
As shown in FIG. 6D, the connection information storage unit 50 stores data of a connection information storage position 51, a connection start point terminal information storage position 52, and a connection end point terminal information storage position 53 for each connection. .
[0046]
The information stored in the connection information storage unit 50 is information for associating and managing each terminal to be connected to each other and the connection information. For example, the information on the terminals at the start point and the end point of a certain connection is the connection start point, respectively. It is obtained by searching the data in the storage area where the head position in the terminal information storage unit 30 is indicated by the terminal information storage position 52 and the connection end point terminal information storage position 53.
[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 display unit 5. When the operation is performed, storage areas of the cell information storage unit 20 and the terminal information storage unit 30 are secured in the RAM 3, and cells of this function (for example, the function of the addition (+)) are stored in the storage units 20 and 30. Cell) arrangement information is stored (step S1).
[0050]
By the processing of step S1, the cell information storage unit 20 stores the function (addition (+) function) arranged on the screen as shown in the cell information storage unit 20-1 of FIG. Cell information is stored. Further, in the terminal information storage unit 30, for example, as shown in the terminal information storage unit 30-1 in FIG. 4B, each terminal (input terminal) included in the cell of the function (addition (+) function) arranged as described above. Information of P, Q, and output terminal R) is stored.
[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 cell type 21, and “+” is stored as the cell name 22. The number of inputs 23 and the number of outputs 25 store “2” and “1”, respectively, based on the number of input / output terminals. The leading position 24 of the input terminal information storage unit stores “1” indicating the leading position of the input terminal information stored in the terminal information storage unit 30-1. The leading position 26 of the output terminal information storage unit stores “3” indicating the leading position of the output terminal information stored in the terminal information storage unit 30-1.
[0052]
In the cell XY coordinate 27, the cell width 28, and the cell height 29, for example, an XY coordinate (8, 0), a cell width '5', and a cell height '5' are stored, respectively.
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 head position 24 of the input terminal information storage unit). Stores information on the input terminal P. Information on the input terminal Q is stored at the next position (position '2') of the information on the input terminal P, and information on the output terminal R is stored at the next position (position '3').
[0053]
Next, information about the input terminal P will be described.
The input / output section 31 stores “1” indicating input.
In the cell information storage position 32, “1” indicating the position where the information of the above function (function of addition (+)) is stored in the cell information storage unit 20 is stored.
[0054]
The front terminal information storage position 33 stores “0” (none).
The next terminal position information storage position 34 stores “2” indicating the position where the information of the input terminal Q is stored in the terminal information storage unit 30.
[0055]
For example, coordinates (8, 1) are stored in the terminal XY coordinates 35.
The connection management information position 36 has not yet been connected to the terminals P, Q, and R, and the connection management information storage unit 50 does not store the information, so “0” (none) is displayed. Stored.
[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 information storage unit 30 in the same manner as described above.
As shown in FIGS. 4C and 4D, data is not yet stored in the connection information storage unit 40 and the connection management information storage unit 50 at the stage of the processing in step S1.
[0057]
Based on the data stored in the cell information storage unit 20 and the terminal information storage unit 30, the cell of the addition (+) function and its terminals P, Q, and R are displayed on the screen of the display unit 5. That is, the display example shown in FIG.
[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 information storage part 30 of FIG. Detect terminals with matching coordinates. In this case, since the terminal XY coordinate of the input terminal P is (8, 1), it is determined that the terminal where the operand description part is placed is the input terminal P.
[0059]
Next, from the information of the corresponding cell information storage position 32 of the input terminal P, the position where the cell information of the corresponding cell (cell having the input terminal P) is stored is obtained, and the corresponding information is stored in the cell information storage unit 20. Cell information is searched (step S3). Then, from the data of the cell XY coordinates 27, the cell width 28, and the cell height 29, the size / position of the area occupied by the cell of the function on the display screen of the display unit 5 is obtained. First, it is determined whether or not there is a space where the operand description part can be arranged on the left side of the input terminal P (step S4). Note that the width and height of the operand description part are predetermined values, and the determination in step S4 is performed using these values. Further, the arrangement of the operand description section for the function cell is arranged on the left side of the terminal when the terminal is an input terminal, and on the right side when the terminal is an output terminal. Further, in step S4, the determination is made in consideration of whether or not there is a space to be connected between the function cell and the operand description part.
[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 information storage section 20, The free space in which the operand description part can be placed is determined.
[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 information storage part 20, and the terminal S of the operand description part is further stored. Is stored in the terminal information storage unit 30 (step S5). The terminal S of this operand description part is automatically determined as an output terminal because the terminal P of the addition (+) function is an input terminal.
[0062]
As a result, the information stored in the cell information storage unit 20 and the terminal information storage unit 30 is as shown in FIGS. 5A and 5B, respectively.
As shown in the cell information storage unit 20-2 in FIG. 5A, the cell information storage unit 20 stores the cell information of the operand description unit arranged above at the position next to the cell information of the function of addition (+). Stored. As shown in the figure, the cell information in this operand description part is “2” for the cell type 21, “A” for the cell name 22, “0” for the input number 23, and the head position 24 of the input terminal information storage part is '0', output number 25 is '1', output terminal information storage head position 26 is '4', cell XY coordinate 27 is (0, 0), cell width 28 is '5', cell height 29 is '2'.
[0063]
As shown in the terminal information storage unit 30-2 in FIG. 5B, the cell information storage unit 30 stores the next position (position ') of the information of each terminal P, Q, R of the cell of the function of addition (+). 4 ′) stores information on the terminal (output terminal) S of the arranged operand description part.
[0064]
The output terminal information of this operand description part is “2” (output) for the input / output section 31, “2” for the corresponding cell information storage location 32, “0” (none) for the previous terminal information storage location 33, and the next terminal. The position information storage position 34 is “0” (none), the terminal XY coordinates 35 are (5, 1), and the connection management information position 36 is “0” (none).
[0065]
The reason why the connection management information position 36 is “0” (none) is that connection has not yet been performed at this stage, and therefore, as shown in FIGS. This is because no data is stored in the connection management information storage unit 50.
[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 information storage unit 40 and the connection management information storage unit 50. (Step S6). Since the terminals to be connected to each other are known as described above, the coordinate value data of each terminal is read from the terminal information storage unit 30 and stored in the connection information storage unit 40. Further, terminal information of each terminal to be connected and information indicating a position where the connection information is stored are stored in the connection management information storage unit 50. Along with this, data of the connection management information position 36 of each terminal to be connected is set.
[0067]
As a result, the connection start XY coordinate 41 and the connection end XY coordinate 42 in the connection information storage unit 40 are respectively connected to the output terminal S of the operand description unit as shown in the connection information storage unit 40-3 of FIG. The coordinates (5, 1) of the cell and the coordinates (8, 1) of the cell terminal P of the function of addition (+) are stored. Further, the connection management information position 43 stores the coordinates of the connection in the connection management information storage unit 50. '1' indicating the position where the management information is stored is stored. Further, in the connection management information storage unit 50, as shown in the connection management information storage unit 50-3 in FIG. 6D, data indicating the position where the information on the connection is stored in the connection information storage unit 40. “1”, data “4” indicating the position where the terminal information of the terminal S of the operand description section is stored in the terminal information storage section 30, and the terminal information of the terminal P of the function of addition (+) are stored. The data '1' indicating the current position is stored in the connection information storage position 51, the connection leading terminal information storage position 52, and the connection final terminal information storage position 53, respectively.
[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 operand description section 110 and the connection 140 between the terminals S and P are displayed on the display screen of the display section 5 as shown in FIG. 12C (step S7).
[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 display unit 5. In response to this operation, storage areas of the cell information storage unit 20 and the terminal information storage unit 30 are secured in the RAM 3, and cells of this function (for example, addition) are stored in the storage units 20 and 30. (+) Function cell) is stored.
[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 cell 100 of the function of addition (+) in FIG. 8A). When the operation placed on is performed, first, processing for determining (detecting) the terminal where the operand description portion is placed is performed. Subsequently, from the information of the detected cell information storage position 32 of the terminal, the position where the cell information of the corresponding cell (the cell having the input terminal M; cell 100 in this example) is stored is obtained, and the cell information storage is performed. The corresponding cell information is searched in the unit 20. Next, the size / position of the area occupied by the cell of the function on the display screen of the display unit 5 is obtained, and it is determined whether or not the operand description part can be arranged at a predetermined position without overlapping the cell of the function. I do. However, in this case, in the process of FIG. 7, not only the area occupied by the cell of the function but also the area occupied by other cells (function cell, operand cell, etc.) is calculated. This does not necessarily have to be calculated for all cells, but may be targeted only for cells (for example, cell 110) in the vicinity of the cell of the function to be connected (for example, cell 100).
[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 cell 110 of the addition (+) function is arranged close to the cell 100 of the addition (+) function, the addition (+) When an operation for placing the operand description unit 140 at the terminal M of the function cell 100 is performed, even if the operand description unit 140 is arranged at a predetermined position (for example, the left side of the terminal M) as shown in FIG. Since the function cell 110 is arranged at a position very close to the function cell 100, there is no space in which the operand description part 140 can be arranged.
[0075]
In such a case, the process proceeds to step S12 and subsequent steps. That is, first, the operand description unit 140 is moved in a predetermined manner from a predetermined position shown in FIG. 8A (for example, as shown in FIG. 8B, the predetermined description in FIG. 8A). It is determined whether or not it can be placed at the position after this movement (step S12). For example, in the example shown in FIG. 8B, since there is a free space for placing the operand description unit 140 at the position where the prescribed movement has been performed (step S12, YES), the operand description unit 140 is placed at this position. Processes similar to those in steps S5 to S7 in FIG. 3 are performed (step S13).
[0076]
On the other hand, for example, as shown in FIG. 9 (a), when there is no free space for placing the operand description section 140 because there is another cell 150 at the position where the above-mentioned prescribed movement has been performed (steps). S12, NO), whether or not it is possible to create an empty space by moving the cell 100 of the function to be connected or another cell (such as the cell 150) that prevents the placement of the operand description unit 140. Check (step S14).
For example, when it is possible to move the cell 100 of the function to be connected to create an empty space (step S14, YES), the cell 100 is moved to the right as shown in FIG. 9B, for example. By moving, an empty space in which the operand description unit 140 can be arranged is created on the left side of the terminal M of the cell 100, and the operand description unit 140 is arranged (step S15). Alternatively, when it is possible to move another cell 150 to create an empty space (step S14, YES), for example, as shown in FIG. 9C, the cell 150 is moved downward in the figure. Thus, an empty space where the operand description unit 140 can be arranged at the position where the prescribed movement has been performed is created, and the operand description part 140 is arranged at the position where the prescribed movement has been carried out (step S15). Alternatively, although not particularly illustrated, the operand description section 140 may be arranged by creating an empty space by moving another cell 110 leftward.
[0077]
Then, the operand description unit 140 is arranged in the free space secured as described above, and the processing substantially similar to steps S5 to S7 in FIG. 3 is performed. At this time, if the cell to be connected or another cell is moved, it is necessary to change the arrangement information of the moved cell.
[0078]
That is, first, the arrangement information of the operand description unit 140 arranged as described above is stored in the cell information storage unit 20, and further, the arrangement information of the terminal N of the operand description unit is stored in the terminal information storage unit 30. Next, the connection information between the terminal N of the operand description unit 140 and the terminal M of the addition (+) function 100 is stored in the connection information storage unit 40 and the connection management information storage unit 50. Further, the arrangement information relating to the moved cell is changed. That is, the cell XY coordinates 27 of the cell information storage unit 20, the terminal XY coordinates 35 of the terminal information storage unit 30, and the connection start XY position 41 and / or the connection end XY position 42 of the connection information storage unit 40 relating to the moved cell. The information is changed to be information corresponding to the position of the cell after movement.
[0079]
It is also necessary to change the arrangement information of the operand description part connected to the moved cell. For example, when the cell 110 is moved, the operand description sections 120 and 130 connected to the terminals P and Q of the cell 110 need to be moved accordingly. Accordingly, the operand description section 120 is moved accordingly. , 130 is also changed.
[0080]
Finally, based on the data stored in the cell information storage unit 20, the terminal information storage unit 30, the connection information storage unit 40, and the connection management information storage unit 50, the function cell is displayed on the display screen of the display unit 5. , Operand description part, terminal and connection are displayed (step S16).
[0081]
On the other hand, when it is not possible to move the already arranged cells (cells 100, 150, etc.) to create an empty space (step S14, NO), for example, as shown in FIG. If the cell 150 is moved to the right or the cell 150 is moved downward, the “creation boundary” will be exceeded, so if it cannot be moved (the cell 110 also has other cells not specifically shown on its left side). It is assumed that it is not possible to move due to proximity, etc.), and by broadening the search range of free space where the operand description part 140 can be placed (step S17), it is determined whether there is a free space that can be placed. (Step S18). For example, the operand description unit 140 is sequentially moved downward or upward (may be rightward or leftward) from the predetermined position, and each time it is sequentially moved, another cell is moved to the moved position. It is checked whether or not (function cell, object description section, etc.) exists.
[0082]
If a place where the operand description part 140 can be placed is found (step S18, YES), the operand description part 140 is placed at this place, and processing substantially similar to steps S5 to S7 in FIG. 3 is performed (step S19). ).
[0083]
If a free space where the operand description part 140 can be arranged is not found even if the search range is expanded (step S18, NO), an error message such as “There is no space to arrange this operand” is displayed. Then, the process ends.
[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-ROM disk 71 and a floppy disk 72 (or may be an MO, DVD, removable hard disk, etc.) as shown in FIG. 70, storage means (not shown) in an external device 60 (server or the like), or a storage device 83 (RAM / ROM or hard disk or the like) in the main body 81 of the information processing device 80 is included.
[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-ROM 71, the floppy disk 72, etc. into the medium driving device 82 provided (or connected) to the main body 81 of the information processing device 80, the information is stored in the portable storage medium 70. The programs (program (data) 71a, program (data) 72a) are read by the medium driving device 82 (loaded into the storage device 83) and executed.
[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:
前記検出手段は、前記第2の図形シンボルが置かれた画面上の配置座標を検出し、前記記憶手段に格納されている前記第1の図形シンボルの端子情報内を検索して前記検出した配置座標と一致する端子配置座標を検出することにより、前記第1の図形シンボル内の第1の端子を判別し、
前記配置手段は、前記記憶手段に格納されている第1の図形シンボルのセル情報に基づいて該第1の図形シンボルが画面上に占める第1のエリアを算出し、該第1のエリアと重ならずに前記第2の図形シンボルを配置可能な画面上の第2のエリアを検出して、該第2のエリアに該第2の図形シンボルを配置させることを特徴とする請求項記載のプログラミング装置。
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の図形シンボルは処理単位を示す関数の図形シンボルであり、前記第2の図形シンボルはデータ入出力を示すオペランドの図形シンボルであることを特徴とする請求項1又は2記載のプログラミング装置。 3. The programming apparatus according to claim 1, wherein the first graphic symbol is a graphic symbol of a function indicating a processing unit, and the second graphic symbol is a graphic symbol of an operand indicating data input / output. . プログラマブルコントローラを動作させるプログラムを、処理単位あるいは入力データまたは出力データを示す各図形シンボルと該各図形シンボルが有する端子間を結線して成る図示表現で作成させるプログラミング装置において、
既に配置されている第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:
前記第2の判定手段は、前記第1の判定手段により前記所定の位置に配置不可能であると判定された場合に、前記第2の図形シンボルを前記所定の位置から規定の移動を行った位置に配置可能であるか否かを判定することを特徴とする請求項記載のプログラミング装置。The second determining means performs a prescribed movement of the second graphic symbol from the predetermined position when it is determined by the first determining means that it cannot be arranged at the predetermined position. 5. The programming device according to claim 4, wherein it is determined whether or not it can be arranged at a position. 前記第2の判定手段は、前記第1の判定手段により前記所定の位置に配置不可能であると判定された場合に、前記第2の図形シンボルと重なる他の図形シンボルまたは第1の図形シンボルを移動させることにより該第2の図形シンボルが配置可能になるか否かを判定することを特徴とする請求項記載のプログラミング装置。The second determination means, when it is determined by the first determination means that it cannot be placed at the predetermined position, is another graphic symbol or first graphic symbol that overlaps the second graphic symbol 5. The programming apparatus according to claim 4, wherein it is determined whether or not the second graphic symbol can be arranged by moving the symbol. 前記第2の判定手段は、前記第2の図形シンボルを前記所定の位置から規定の移動を行わせた位置に配置不可能であると判定した場合に、前記第2の図形シンボルを更に順次移動させていくことによって該第2の図形シンボルが配置可能になるか否かを判定することを特徴とする請求項記載のプログラミング装置。When the second determining means determines that the second graphic symbol cannot be placed at the position where the predetermined movement is performed from the predetermined position, the second graphic symbol is further moved sequentially. 6. The programming apparatus according to claim 5, wherein it is determined whether or not the second graphic symbol can be arranged by causing the second graphic symbol to be arranged. プログラマブルコントローラを動作させるプログラムを、処理単位あるいは入力データまたは出力データを示す各図形シンボルと該各図形シンボルが有する端子間を結線して成る図示表現で作成させるプログラミング装置における配置・結線方法において、
任意の位置に配置された第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.
JP03524998A 1997-09-25 1998-02-17 PROGRAMMING CONTROLLER PROGRAMMING DEVICE, CONFIGURATION / CONNECTION METHOD, AND RECORDING MEDIUM Expired - Fee Related JP3677985B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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