(57)【特許請求の範囲】
【請求項１】
互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する手段を含むプログラムの作成装置において、
前記第１及び第２のシンボルの各シンボル情報を取り込むシンボル情報取り込み手段と、
前記第１のシンボルの端子の入出力区分を特定可能であって、前記第２のシンボルの端子の入出力区分を特定困難である場合、前記シンボル情報取り込み手段で取り込まれた前記第１のシンボルのシンボル情報に基づいて、前記第２のシンボルの端子の入出力区分を設定する入出力区分設定手段と、
該入出力区分設定手段で設定された前記第２のシンボルの端子の入出力区分と、前記第１のシンボルの端子の入出力区分とに基づいて、前記第１及び第２のシンボルの各端子間を結線する結線手段と、
を備えることを特徴とするプログラムの作成装置。
【請求項２】
前記シンボル情報取り込み手段は、前記シンボル情報として、前記第１のシンボルの端子の入出力区分を取り込み、
前記入出力区分設定手段は、前記第１のシンボルの端子の入出力区分が入力である場合、前記第２のシンボルの端子の入出力区分を出力とし、一方、前記第１のシンボルの端子の入出力区分が出力である場合、前記第２のシンボルの端子の入出力区分を入力とすることを特徴とする請求項１に記載のプログラムの作成装置。
【請求項３】
互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する手段を含むプログラムの作成装置において、
前記第１及び第２のシンボルの各シンボル情報を取り込むシンボル情報取り込み手段と、
前記第１及び第２のシンボルの端子の入出力区分が共に特定困難である場合、前記シンボル情報取り込み手段で取り込まれた前記シンボル情報に基づいて、前記第１及び第２のシンボルの端子の入出力区分を設定する入出力区分設定手段と、
該入出力区分設定手段で設定された前記入出力区分に基づいて、前記第１及び第２のシンボルの各端子間を結線する結線手段と、
を備えることを特徴とするプログラムの作成装置。
【請求項４】
前記シンボル情報取り込み手段は、前記シンボル情報として、前記第１及び第２のシンボルの各配置位置を取り込み、
前記入出力区分設定手段は、前記第１のシンボルが前記第２のシンボルより右側に配置される場合、前記第１のシンボルの端子の入出力区分を入力とし、且つ、前記第２のシンボルの端子の入出力区分を出力とし、一方、前記第１のシンボルが前記第２のシンボルより左側に配置される場合、前記第１のシンボルの端子の入出力区分を出力とし、且つ、前記第２のシンボルの端子の入出力区分を入力とし、
また、前記第１のシンボルが前記第２のシンボルより上側に配置される場合、前記第１のシンボルの端子の入出力区分を出力とし、且つ、前記第２のシンボルの端子の入出力区分を入力とし、一方、前記第１のシンボルが前記第２のシンボルより下側に配置される場合、前記第１のシンボルの端子の入出力区分を入力とし、且つ、前記第２のシンボルの端子の入出力区分を出力とすることを特徴とする請求項３に記載のプログラムの作成装置。
【請求項５】
互いに隣り合って配置される２つのシンボルの各端子間を結線する手段を含むプログラムの作成装置において、
第１のシンボルの周辺の所定の領域内に第２のシンボルが配置されているかどうかを検索するシンボル検索手段と、
前記所定の領域内に前記第２のシンボルが配置されている場合、前記第１及び第２のシンボルの各端子間を結線する結線手段と、
を備えることを特徴とするプログラムの作成装置。
【請求項６】
互いに隣り合って配置される２つのシンボルの各端子間を結線する手段を含むプログラムの作成装置において、
第１及び第２のシンボル各端子間を結線する線上に、第３のシンボルが配置されているかどうかを検出する一致検出手段と、
前記第３のシンボルが前記線上に配置されている場合、前記線を削除する結線削除手段と、
前記第１及び第３のシンボルの各端子間を結線し、且つ、前記第２及び第３のシンボルの各端子間を結線する結線手段と、
を備えることを特徴とするプログラムの作成装置。
【請求項７】
互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する処理を含むプログラムの作成方法において、
前記第１のシンボルの端子の入出力区分を特定可能であって、前記第２のシンボルの端子の入出力区分を特定困難である場合、前記第２のシンボルの端子の入出力区分を前記第１のシンボルの端子の入出力区分に基づき設定し、これら入出力区分に基づき前記第１及び第２のシンボルの各端子間の結線を行うことを特徴とするプログラムの作成方法。
【請求項８】
互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する処理を含むプログラムの作成方法において、
前記第１及び第２のシンボルの端子の入出力区分が共に特定困難である場合、前記第１及び第２のシンボルの各端子の入出力区分を前記第１及び第２のシンボルの互いの位置関係に基づき設定し、その設定された入出力区分に基づき前記第１及び第２のシンボルの各端子間の結線を行うことを特徴とするプログラムの作成方法。
【請求項９】
互いに隣り合って配置される２つのシンボルの各端子間を結線する処理を含むプログラムの作成方法において、
第１のシンボルの周辺の所定の領域内に第２のシンボルが配置されているかどうかを検索し、もし配置されている場合は、前記第１及び第２のシンボルの各端子間を結線することを特徴とするプログラムの作成方法。
【請求項１０】
互いに隣り合って配置される２つのシンボルの各端子間を結線する処理を含むプログラムの作成方法において、
第１及び第２のシンボルの各端子間を結線する線上に、第３のシンボルが配置されているかどうかを検出し、もし配置されている場合は、前記線を削除すると共に、前記第１及び第３のシンボルの各端子間を結線し、且つ、前記第２及び第３のシンボルの各端子間を結線することを特徴とするプログラムの作成方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、プログラムの作成装置及び作成方法に関し、特に、プログラマブルコントローラで動作するプログラムを図示表現を用いて作成する場合に適用して好適なものである。
【０００２】
【従来の技術】
従来のプログラムの作成装置において、プログラマブルコントローラのプログラムの作成する場合、ファンクションブロック図と呼ばれる表現形式が用いられる。このファンクションブロック図は、図１４に示すように、演算を表すファンクションブロック３３や演算の対象となるオペランド３１、３２、３４のシンボルとそれらのシンボルを接続する線とから構成される。そして、ファンクションブロック３３の入力や出力としてオペランド３１、３２、３４を、ファンクションブロック３３の両側に接続することにより、制御演算を表すようになっている。ファンクションブロック図を用いてプログラムの作成する場合、使用する関数などを示すシンボルを書き込んだ後、プログラマが各シンボルの間を結線することによりプログラムを完成させる。
【０００３】
また、プログラマブルコントローラのプログラムの作成する場合、ラダー図と呼ばれる表現形式も用いられる。このラダー図は、図１５に示すように、リレーシーケンスを模擬したもので、Ａ接点３５、３６、Ｂ接点３７、コイル３８などのシンボルの間を結線することによりプログラムの作成が行われる。なお、図１４のファンクションブロック図や図１５のラダー図は、左から右の方向に処理を記述する。
【０００４】
さらに、プログラマブルコントローラのプログラムの作成する場合、ＳＦＣ（Ｓｅｑｕｅｎｔｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｃｈａｒｔ  ）と呼ばれる表現形式も用いられる。このＳＦＣは、プログラムの制御構造を記述するのに適した図示表現であり、図１６に示すように、ステップ３９〜４３やトランジション４４、４５のシンボルを、リンクと呼ばれる線で結線することによりプログラムの作成が行われる。なお、ＳＦＣでは、上から下の方向に処理を記述する。
【０００５】
上述した図示表現プログラムは、いずれもシンボルの間を線で結線することによりプログラムの作成が行われる。従って、プログラマは、結線するシンボルの任意の端子を指定してプログラムの作成装置に指示する必要がある。
【０００６】
【発明が解決しようとする課題】
上述したプログラムの作成装置では、プログラムの大容量化や複雑化に伴って、プログラムを画面などに表示する時の表示密度の向上が求められている。このため、プログラムを記述する関数やオペランドなどのシンボルは、簡素化、縮小化され、図１７に示すように、シンボル４６の入力端子４７と出力端子４８とが極めて接近して配置されるようになっている。この場合、図１８に示すように、プログラマが、オペランド４９の出力端子５１とオペランド５３の入力端子５４とを線５２により結線する場合、オペランド４９の出力端子５１に代わって出力端子５０をプログラマが指定し、入力端子５０、５４同士が接続されたり、オペランド５３の入力端子５４に代わって出力端子５５をプログラマが指定し、出力端子５１、５５同士が接続されたりするという誤接続の危険性が高くなるという問題があった。
【０００７】
また、プログラムの大容量化や複雑化に伴って、プログラマのプログラミング作業が増加し、プログラミングに多くの時間がかかったり、複雑な回路の結線などでは誤りを行う機会が多くなり、プログラムの完成度が低下したりするという問題があった。
【０００８】
さらに、一度シンボル同士を結線した後、そのシンボルの間に別のシンボルを配置する場合、結線に用いられた線を削除し、結線をやり直してシンボルを配置する必要があるため、プログラミングに手間がかかるという問題があった。
【０００９】
そこで、本発明の第１の目的は、シンボルの端子が誤って接続されることを低減することができるプログラムの作成装置及び作成方法を提供することである。また、本発明の第２の目的は、プログラミング作業を軽減することができるプログラムの作成装置及び作成方法を提供することである。
【００１０】
【課題を解決するための手段】
上述した課題を解決するために、請求項１の発明によれば、互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する手段を含むプログラムの作成装置において、前記第１及び第２のシンボルの各シンボル情報を取り込むシンボル情報取り込み手段と、前記第１のシンボルの端子の入出力区分を特定可能であって、前記第２のシンボルの端子の入出力区分を特定困難である場合、前記シンボル情報取り込み手段で取り込まれた前記第１のシンボルのシンボル情報に基づいて、前記第２のシンボルの端子の入出力区分を設定する入出力区分設定手段と、該入出力区分設定手段で設定された前記第２のシンボルの端子の入出力区分と、前記第１のシンボルの端子の入出力区分とに基づいて、前記第１及び第２のシンボルの各端子間を結線する結線手段と、を備える。
【００１１】
また、請求項２の発明によれば、前記シンボル情報取り込み手段は、前記シンボル情報として、前記第１のシンボルの端子の入出力区分を取り込み、前記入出力区分設定手段は、前記第１のシンボルの端子の入出力区分が入力である場合、前記第２のシンボルの端子の入出力区分を出力とし、一方、前記第１のシンボルの端子の入出力区分が出力である場合、前記第２のシンボルの端子の入出力区分を入力とする。
【００１２】
また、請求項３の発明によれば、互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する手段を含むプログラムの作成装置において、前記第１及び第２のシンボルの各シンボル情報を取り込むシンボル情報取り込み手段と、前記第１及び第２のシンボルの端子の入出力区分が共に特定困難である場合、前記シンボル情報取り込み手段で取り込まれた前記シンボル情報に基づいて、前記第１及び第２のシンボルの端子の入出力区分を設定する入出力区分設定手段と、該入出力区分設定手段で設定された前記入出力区分に基づいて、前記第１及び第２のシンボルの各端子間を結線する結線手段と、を備える。
【００１３】
また、請求項４の発明によれば、前記シンボル情報取り込み手段は、前記シンボル情報として、前記第１及び第２のシンボルの各配置位置を取り込み、前記入出力区分設定手段は、前記第１のシンボルが前記第２のシンボルより右側に配置される場合、前記第１のシンボルの端子の入出力区分を入力とし、且つ、前記第２のシンボルの端子の入出力区分を出力とし、一方、前記第１のシンボルが前記第２のシンボルより左側に配置される場合、前記第１のシンボルの端子の入出力区分を出力とし、且つ、前記第２のシンボルの端子の入出力区分を入力とし、また、前記第１のシンボルが前記第２のシンボルより上側に配置される場合、前記第１のシンボルの端子の入出力区分を出力とし、且つ、前記第２のシンボルの端子の入出力区分を入力とし、一方、前記第１のシンボルが前記第２のシンボルより下側に配置される場合、前記第１のシンボルの端子の入出力区分を入力とし、且つ、前記第２のシンボルの端子の入出力区分を出力とする。
【００１４】
また、請求項５の発明によれば、互いに隣り合って配置される２つのシンボルの各端子間を結線する手段を含むプログラムの作成装置において、第１のシンボルの周辺の所定の領域内に第２のシンボルが配置されているかどうかを検索するシンボル検索手段と、前記所定の領域内に前記第２のシンボルが配置されている場合、前記第１及び第２のシンボルの各端子間を結線する結線手段と、を備える。
【００１５】
また、請求項６の発明によれば、互いに隣り合って配置される２つのシンボルの各端子間を結線する手段を含むプログラムの作成装置において、第１及び第２のシンボル各端子間を結線する線上に、第３のシンボルが配置されているかどうかを検出する一致検出手段と、前記第３のシンボルが前記線上に配置されている場合、前記線を削除する結線削除手段と、前記第１及び第３のシンボルの各端子間を結線し、且つ、前記第２及び第３のシンボルの各端子間を結線する結線手段と、を備える。
【００１６】
また、請求項７の発明によれば、互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する処理を含むプログラムの作成方法において、前記第１のシンボルの端子の入出力区分を特定可能であって、前記第２のシンボルの端子の入出力区分を特定困難である場合、前記第２のシンボルの端子の入出力区分を前記第１のシンボルの端子の入出力区分に基づき設定し、これら入出力区分に基づき前記第１及び第２のシンボルの各端子間の結線を行う。また、請求項８の発明によれば、互いに隣り合って配置される第１及び第２のシンボルの各端子間を結線する処理を含むプログラムの作成方法において、前記第１及び第２のシンボルの端子の入出力区分が共に特定困難である場合、前記第１及び第２のシンボルの各端子の入出力区分を前記第１及び第２のシンボルの互いの位置関係に基づき設定し、その設定された入出力区分に基づき前記第１及び第２のシンボルの各端子間の結線を行う。
【００１７】
また、請求項９の発明によれば、互いに隣り合って配置される２つのシンボルの各端子間を結線する処理を含むプログラムの作成方法において、第１のシンボルの周辺の所定の領域内に第２のシンボルが配置されているかどうかを検索し、もし配置されている場合は、前記第１及び第２のシンボルの各端子間を結線する。また、請求項１０の発明によれば、互いに隣り合って配置される２つのシンボルの各端子間を結線する処理を含むプログラムの作成方法において、第１及び第２のシンボルの各端子間を結線する線上に、第３のシンボルが配置されているかどうかを検出し、もし配置されている場合は、前記線を削除すると共に、前記第１及び第３のシンボルの各端子間を結線し、且つ、前記第２及び第３のシンボルの各端子間を結線する。
【００１８】
【作用】
請求項１の発明によれば、第１のシンボルのシンボル情報に基づいて、第２のシンボルの端子の入出力区分が自動的に設定されるので、第１のシンボルの端子と第２のシンボルの端子とを誤配線することなく正確に結線することができる。
【００１９】
また、請求項２の発明によれば、第１のシンボルの端子の入出力区分が入力であるか出力であるかに対応させて、第２のシンボルの端子の入出力区分がそれぞれ出力又は入力に自動的に設定されるので、出力端子同士や入力端子同士が接続されるという誤配線をなくすことができ、第１のシンボルの端子と第２のシンボルの端子とを正確に結線することができる。  また、請求項３の発明によれば、第１のシンボル及び第２のシンボルのシンボル情報に基づいて、第１のシンボル及び第２のシンボルの端子の入出力区分を設定することにより、第１のシンボル及び第２のシンボルの入出力区分を特定することができない場合においても、第１のシンボルの端子と第２のシンボルの端子とを正確に結線することができる。
【００２０】
また、請求項４の発明によれば、第１のシンボルが第２のシンボルより右側に配置されるか左側に配置されるかに対応させて、第１のシンボルの端子の入出力区分をそれぞれ入力又は出力とし、且つ、第２のシンボルの端子の入出力区分をそれぞれ出力又は入力とし、或いは、第１のシンボルが第２のシンボルより上側に配置されるか下側に配置されるかに対応させて、第１のシンボルの端子の入出力区分をそれぞれ出力又は入力とし、且つ、第２のシンボルの端子の入出力区分をそれぞれ入力又は出力とすることにより、第１のシンボル及び第２のシンボルの入出力区分を特定することができない場合においても、出力端子同士や入力端子同士が接続されるという誤配線をなくすことができ、第１のシンボルの端子と第２のシンボルの端子とを正確に結線することができる。
【００２１】
また、請求項５の発明によれば、第１のシンボルの周辺の所定の領域内の第２のシンボルの端子を第１のシンボルの端子に自動的に結線することにより、シンボルを人手で結線する手間を軽減することができる。
【００２２】
また、請求項６の発明によれば、第１のシンボルの端子と第２のシンボルの端子との間に、第３のシンボルを自動的に結線することにより、線を人手で削除したり、シンボルを人手で結線したりする手間を軽減することができる。
【００２３】
また、請求項７の発明によれば、シンボルの端子の入出力区分を他のシンボルの端子の入出力区分から設定することにより、シンボル同士を誤配線することなく正確に結線することができる。
【００２４】
また、請求項８の発明によれば、シンボルの端子の入出力区分を他のシンボルとの位置関係から設定することにより、シンボルの端子の入出力区分を特定することができない場合においても、シンボル同士を誤配線することなく正確に結線することができる。
【００２５】
また、請求項９の発明によれば、シンボルの周辺の所定の領域内の他のシンボルの端子を自動的に結線することにより、シンボルを人手で結線する手間を軽減することができる。。
【００２６】
また、請求項１０の発明によれば、シンボル同士の間の線を分割して他のシンボルを自動的に配置することにより、線を人手で削除したり、シンボルを人手で結線したりする手間を軽減することができる。
【００２７】
【実施例】
以下、本発明の第１実施例によるプログラムの作成装置を図面を参照しながら説明する。図１は、本発明の第１実施例によるプログラムの作成装置の概略構成を示すブロック図である。
【００２８】
図１において、シンボル情報取り込み手段１により取り込まれたシンボル情報を入出力区分設定手段２に供給し、供給されたシンボル情報に基づいて、結線するシンボルの入出力区分を設定する。そして、設定された入出力区分に基づいて結線手段３によりシンボル同士の結線を行う。
【００２９】
ここで、シンボル情報は、図２に示すように、シンボル名、入力端子数、出力端子数、シンボル位置Ｘ座標、シンボル位置Ｙ座標、シンボル幅、及びシンボル高さなどの情報からなる。
【００３０】
次に、本発明の第１実施例によるプログラムの作成装置の動作を説明する。
まず、図４のステップＳ１に示すように、結線する２つのシンボルＡ、Ｂのシンボル名、シンボル位置Ｘ座標、及びシンボル位置Ｙ座標をそれぞれ図１のシンボル情報取り込み手段１により取り込み、図３に示す結線情報に書き込む。
【００３１】
次に、ステップＳ２に示すように、プログラマが指定した位置に最も近いシンボルＡ、Ｂの端子の座標、すなわち、接続端子位置Ｘ座標及び接続端子位置Ｙ座標をそれぞれ図１のシンボル情報取り込み手段１により取り込み、図３の結線情報に書き込む。
【００３２】
次に、ステップＳ３に示すように、シンボルＡ、Ｂの端子の入出力区分の特定が困難であるかどうかを、図１の入出力区分設定手段２により判断する。ここで、シンボルＡ、Ｂの端子の位置は、シンボル毎に定義されているので、シンボルＡ、Ｂの端子の入出力区分の特定が困難であるかどうかを、図３の結線情報に保存されているシンボル名をチェックすることにより判断する。
【００３３】
次に、ステップＳ４に示すように、少なくとも一方のシンボルＡ、Ｂの端子の入出力区分の特定が可能である場合、ステップＳ８に進む。そして、どちらか一方のシンボルＡ、Ｂの端子の入出力区分の特定が可能である場合、ステップＳ９に進む。一方、ステップＳ８において、両方のシンボルＡ、Ｂの端子の入出力区分の特定が可能である場合、入出力区分を設定する処理を終了し、結線手段３によりシンボルＡ、Ｂ同士の結線を行う。
【００３４】
次に、ステップＳ９に示すように、特定が可能であるシンボルＡ、Ｂの端子の入出力区分を、図３の結線情報から取得する。
次に、ステップＳ１０に示すように、入出力区分の特定が可能であるシンボルＡ、Ｂの端子の入出力区分が入力である場合、もう一方の特定が困難なシンボルＢ、Ａの端子の入出力区分を出力とし、入出力区分の特定が可能であるシンボルＡ、Ｂの端子の入出力区分が出力である場合、もう一方の特定が困難なシンボルＢ、Ａの端子の入出力区分を入力とする。
【００３５】
次に、ステップＳ１１に示すように、ステップＳ１０で設定された入出力区分に該当するシンボルＡ、Ｂの端子の接続端子位置Ｘ座標及び接続端子位置Ｙ座標を、図３の結線情報に書き込む。その後、結線手段３によりシンボルＡ、Ｂ同士の結線を行う。
【００３６】
一方、ステップＳ４において、両方のシンボルＡ、Ｂの端子の入出力区分の特定が困難である場合、ステップＳ５に進む。
次に、ステップＳ５に示すように、図３の結線情報に記憶されたシンボルＡ、Ｂのシンボル位置Ｘ座標及びシンボル位置Ｙ座標に基づいて、入出力区分設定手段２により、シンボルＡ、Ｂの左右又は上下の位置関係を調べる。
【００３７】
次に、ステップＳ６、Ｓ７において、例えば、図１４のファンクションブロック図や図１５のラダー図などのように制御演算におけるデータを左から右に配置することが一般的である場合、左側を出力、右側を入力とし、左側のシンボルの出力端子の接続端子位置Ｘ座標及び接続端子位置Ｙ座標、並びに右側のシンボルの入力端子の接続端子位置Ｘ座標及び接続端子位置Ｙ座標を、図３の結線情報に書き込む。すなわち、シンボルＡがシンボルＢより右側に配置される場合、シンボルＡの端子の入出力区分を入力とし、且つ、シンボルＢの端子の入出力区分を出力とし、シンボルＡがシンボルＢより左側に配置される場合、シンボルＡの端子の入出力区分を出力とし、且つ、シンボルＢの端子の入出力区分を入力とする。その後、結線手段３によりシンボルＡ、Ｂ同士の結線を行う。なお、シンボルの配置位置による入出力関係は、使用態様に応じて左右逆にしてもよい。また、例えば、図１６のＳＦＣなどのように制御演算におけるデータを上から下に配置することが一般的である場合、上側を出力、下側を入力とする。
【００３８】
次に、本発明の第２実施例によるプログラムの作成装置を図面を参照しながら説明する。図５は、本発明の第２実施例によるプログラムの作成装置の概略構成を示すブロック図である。
【００３９】
図５において、シンボル検索手段４により所定に領域にシンボルが存在することが検出された場合、結線手段５によりシンボル同士の結線を行う。
次に、本発明の第２実施例によるプログラムの作成装置の動作を説明する。
【００４０】
まず、図９のステップＳ１１に示すように、ファンクションブロック図などにより記述されるプログラム上に配置した図７のＡシンボル１３のシンボル情報から入出力端子数を取得し、Ａシンボル１３に入出力端子１４、１５があるかどうか調べる。ここで、シンボル情報は、図２に示すように、シンボル名、入力端子数、出力端子数、シンボル位置Ｘ座標、シンボル位置Ｙ座標、シンボル幅、及びシンボル高さなどの情報からなる。
【００４１】
次に、ステップＳ１２に示すように、Ａシンボル１３に入出力端子１４、１５がある場合、ステップＳ１３に進み、Ａシンボル１３に入出力端子１４、１５がない場合、処理を終了する。
【００４２】
次に、ステップＳ１３に示すように、図２のシンボル情報のシンボル位置Ｘ座標、シンボル位置Ｙ座標、シンボル幅、及びシンボル高さから、Ａシンボル１３の入力端子Ｘ座標及び入力端子Ｙ座標、或いは出力端子Ｘ座標及び出力端子Ｙ座標を取得し、これらの値を図６の端子位置保存領域に書き込む。
【００４３】
次に、ステップＳ１４に示すように、Ａシンボル１３の左側に端子の有効な高さ及び幅で図７の配置済みのＢシンボル１０がないかどうかを、図４のシンボル検索手段４により検索する。この配置済みのＢシンボル１０の検索は、Ａシンボル１３に最も近い位置から遠ざかる方向に行う。
【００４４】
次に、ステップＳ１５に示すように、配置済みのＢシンボル１０が存在する場合、ステップＳ１６に進み、配置済みのＢシンボル１０が存在しない場合、処理を終了する。
【００４５】
次に、ステップＳ１６に示すように、配置済みのＢシンボル１０のシンボル情報から入出力端子数を取得し、Ｂシンボル１０に入出力端子１１、１２があるかどうか調べる。
【００４６】
次に、ステップＳ１７に示すように、Ｂシンボル１０に入出力端子１１、１２がある場合、ステップＳ１８に進み、Ｂシンボル１０に入出力端子１１、１２がない場合、処理を終了する。
【００４７】
次に、ステップＳ１８に示すように、図２のシンボル情報のシンボル位置Ｘ座標、シンボル位置Ｙ座標、シンボル幅、及びシンボル高さから、Ｂシンボル１０の入力端子Ｘ座標及び入力端子Ｙ座標、或いは出力端子Ｘ座標及び出力端子Ｙ座標を取得する。そして、ステップＳ１９で、結線可能かどうかを判定し、結線可能である場合、図６の端子位置保存領域に書き込まれているＡシンボル１３の入力端子Ｘ座標及び入力端子Ｙ座標により示される位置、或いは出力端子Ｘ座標及び出力端子Ｙ座標により示される位置と、Ｂシンボル１０の入力端子Ｘ座標及び入力端子Ｙ座標により示される位置、或いは出力端子Ｘ座標及び出力端子Ｙ座標により示される位置との間を結線する。例えば、図８に示すように、Ａシンボル１３の入力端子１４とＢシンボル１０の出力端子１２との間が結線される。その後、Ａシンボル１３の出力端子１５についても、同様の方法により結線される。なお、上述した第２実施例では、処理の流れを左から右の方向へ記述するファンクションブロック図を用いた例について説明したが、処理の流れを上から下の方向へ記述するＳＦＣを用いてプログラムを記述する場合、配置したシンボルの上側や下側の方向にシンボルの検索及び結線を行う。
【００４８】
次に、本発明の第３実施例によるプログラムの作成装置を図面を参照しながら説明する。図１０は、本発明の第３実施例によるプログラムの作成装置の概略構成を示すブロック図である。
【００４９】
図１０において、一致検出手段６によりシンボルを配置する位置に線があるかどうか検出し、線がある場合、結線削除手段７によりその線を削除し、結線手段８によりシンボルと線とが重ならないように結線を行う。
【００５０】
次に、本発明の第３実施例によるプログラムの作成装置の動作を説明する。
まず、図１３のステップＳ２１に示すように、図１２のＡシンボル２１とＢシンボル２３との間にＣシンボル２２を配置する場合、Ｃシンボル２２を配置する領域に線２４があるかどうかを、図１０の一致検出手段６により検索する。
【００５１】
次に、Ｃシンボル２２を配置する領域に線２４がある場合、ステップＳ２３に進み、Ｃシンボル２２を配置する領域に線２４がない場合、処理を終了する。
次に、ステップＳ２３に示すように、線２４の結線開始位置及び結線終了位置を結線情報から取得し、結線開始位置Ｘ座標、結線開始位置Ｙ座標、結線終了位置Ｘ座標、及び結線終了位置Ｙ座標を図１１の結線位置保存領域に保存する。
【００５２】
次に、ステップＳ２４に示すように、図１０の結線削除手段７により線２４の削除を行う。
次に、ステップＳ２５に示すように、図１２のＣシンボル２２における図２のシンボル情報のシンボル位置Ｘ座標、シンボル位置Ｙ座標、シンボル幅、及びシンボル高さから、Ｃシンボル２２の入力端子Ｘ座標及び入力端子Ｙ座標及び出力端子Ｘ座標及び出力端子Ｙ座標を取得する。
【００５３】
次に、ステップＳ２６に示すように、図１１の結線開始位置Ｘ座標及び結線開始位置Ｙ座標により示される位置と、Ｃシンボル２２の入力端子Ｘ座標及び入力端子Ｙ座標により示される位置との間を結線し、図１２に示すように、Ａシンボル２１とＣシンボル２２との間に線２５を、図１０の結線手段８により書き込む。
【００５４】
次に、ステップＳ２７に示すように、図１１の結線終了位置Ｘ座標及び結線終了位置Ｙ座標により示される位置と、Ｃシンボル２２の出力端子Ｘ座標及び出力端子Ｙ座標により示される位置との間を結線し、図１２に示すように、Ｃシンボル２２とＢシンボル２３との間に線２６を、図１０の結線手段８により書き込む。
【００５５】
次に、ステップＳ２８に示すように、図１２の線２５と線２６との間に、Ｃシンボル２２を書き込む。
【００５６】
【発明の効果】
以上説明したように、請求項１の発明によれば、第１のシンボルのシンボル情報に基づいて、第２のシンボルの端子の入出力区分を自動的に設定することにより、第１のシンボルの端子と第２のシンボルの端子とを誤配線することなく正確に結線することができる。
【００５７】
また、請求項２の発明によれば、第１のシンボルの端子の入出力区分に基づいて、第２のシンボルの端子の入出力区分を設定することにより、出力端子同士や入力端子同士が接続されるという誤配線をなくすことができ、第１のシンボルの端子と第２のシンボルの端子とを正確に結線することができる。
【００５８】
また、請求項３の発明によれば、第１のシンボル及び第２のシンボルのシンボル情報に基づいて、第１のシンボル及び第２のシンボルの端子の入出力区分を設定することにより、第１のシンボル及び第２のシンボルの入出力区分を特定することができない場合においても、第１のシンボルの端子と第２のシンボルの端子とを正確に結線することができる。
【００５９】
また、請求項４の発明によれば、第１のシンボルと第２のシンボルとの配置位置に基づいて、第１のシンボルの端子と第２のシンボルの端子との入出力区分を処理が行われる方向に設定することにより、第１のシンボルの端子及び第２のシンボルの端子の入出力区分を特定することができない場合においても、出力端子同士や入力端子同士が接続されるという誤配線をなくすことができ、第１のシンボルの端子と第２のシンボルの端子とを正確に結線することができる。
【００６０】
また、請求項５の発明によれば、所定の領域内の第２のシンボルの端子を第１のシンボルの端子に自動的に結線することにより、シンボルを人手で結線する手間を軽減することができ、プログラムを作成する時間を削減することができるとともに、プログラムの品質を向上することができる。
【００６１】
また、請求項６の発明によれば、第１のシンボルの端子と第２のシンボルの端子との間に、第３のシンボルを自動的に結線することにより、線を人手で削除したり、シンボルを人手で結線したりする手間を軽減することができ、プログラムを作成する時間を削減することができるとともに、プログラムの品質を向上することができる。
【００６２】
また、請求項７の発明によれば、シンボルの端子の入出力区分を他のシンボルの端子の入出力区分から設定することにより、シンボル同士を誤配線することなく正確に結線することができる。
【００６３】
また、請求項８の発明によれば、シンボルの端子の入出力区分を他のシンボルとの位置関係から設定することにより、シンボルの端子の入出力区分を特定することができない場合においても、シンボル同士を誤配線することなく正確に結線することができる。
【００６４】
また、請求項９の発明によれば、所定の領域内の他のシンボルの端子を自動的に結線することにより、シンボルを人手で結線する手間を軽減することができ、プログラムを作成する時間を削減することができるとともに、プログラムの品質を向上することができる。  また、請求項１０の発明によれば、シンボル同士の間に他のシンボルを自動的に配置することにより、線を人手で削除したり、シンボルを人手で結線したりする手間を軽減することができ、プログラムを作成する時間を削減することができるとともに、プログラムの品質を向上することができる。
【図面の簡単な説明】
【図１】本発明の第１実施例によるプログラムの作成装置の概略構成を示すブロック図である。
【図２】本発明の第１実施例によるプログラムの作成装置のシンボル情報を示す図である。
【図３】本発明の第１実施例によるプログラムの作成装置の結線情報を示す図である。
【図４】本発明の第１実施例によるプログラムの作成装置の動作を示すフローチャートである。
【図５】本発明の第２実施例によるプログラムの作成装置の概略構成を示すブロック図である。
【図６】本発明の第２実施例によるプログラムの作成装置の端子位置保存領域を示す図である。
【図７】本発明の第２実施例によるプログラムの作成装置の自動結線前のシンボルの配置を示す図である。
【図８】本発明の第２実施例によるプログラムの作成装置の自動結線後のシンボルの配置を示す図である。
【図９】本発明の第２実施例によるプログラムの作成装置の動作を示すフローチャートである。
【図１０】本発明の第３実施例によるプログラムの作成装置の概略構成を示すブロック図である。
【図１１】本発明の第３実施例によるプログラムの作成装置の結線位置保存領域を示す図である。
【図１２】本発明の第３実施例によるプログラムの作成装置の線上へのシンボルの書き込み例を示す図である。
【図１３】本発明の第３実施例によるプログラムの作成装置の動作を示すフローチャートである。
【図１４】ファンクションブロック図による回路表現例を示す図である。
【図１５】ラダー図による回路表現例を示す図である。
【図１６】ＳＦＣによる回路表現例を示す図である。
【図１７】従来のプログラムの作成装置の入出力端子の位置が接近したシンボル例を示す図である。
【図１８】従来のプログラムの作成装置の入出力端子の位置が接近したシンボル同士の結線例を示す図である。
【符号の説明】
１  シンボル情報取り込み手段
２  入出力区分設定手段
３、５、８  結線手段
４  シンボル検索手段
６  一致検出手段
７  結線削除手段
１０、１３、２１、２２、２３  シンボル
１１、１４  入力端子
１２、１５  出力端子
２４、２５、２６  線
【図１】
0003556336.tif 000002
【図２】
0003556336.tif 000003
【図３】
0003556336.tif 000004
【図４】
0003556336.tif 000005
【図５】
0003556336.tif 000006
【図６】
0003556336.tif 000007
【図７】
0003556336.tif 000008
【図８】
0003556336.tif 000009
【図９】
0003556336.tif 000010
【図１０】
0003556336.tif 000011
【図１１】
0003556336.tif 000012
【図１２】
0003556336.tif 000013
【図１３】
0003556336.tif 000014
【図１４】
0003556336.tif 000015
【図１５】
0003556336.tif 000016
【図１６】
0003556336.tif 000017
【図１７】
0003556336.tif 000018
【図１８】
0003556336.tif 000019