(57)【要約】【課題】画面に表示されたラダープログラムに対する部分回路の貼付動作を、該ラダープログラムの表示要素に基づいて適切な形で行うことが可能なラダープログラム編集装置を提供すること。【解決手段】本発明のラダープログラム編集装置１は、複数の矩形領域の集合として構成される仮想描画領域を管理する編集制御部１００と、貼り付け対象となる部分回路を指定する貼付対象指定部１０１と、部分回路を貼り付ける際の基準となる基準領域を指定する基準領域指定部１０２と、部分回路の貼り付け位置と貼り付け方法とを指定する貼付方法指定部１０３と、仮想描画領域に対して前記部分回路を貼り付けるための貼り付け領域を挿入する貼付領域挿入部１０４と、貼り付け領域に対して部分回路を貼り付ける貼付処理部１０５と、仮想描画領域における接続線の調整を行う接続線調整部１０６と、を備える。【選択図】図２
2018190133.tif 000002
【特許請求の範囲】
【請求項１】
ラダープログラムを編集するラダープログラム編集装置において、
前記ラダープログラムを仮想的に配置する空間であって、複数の矩形領域の集合として構成される仮想描画領域を管理する編集制御部と、
貼り付け対象となる部分回路を指定する貼付対象指定部と、
前記仮想描画領域の内で、前記部分回路を貼り付ける際の基準となる基準領域を指定する基準領域指定部と、
前記基準領域を基準とした前記部分回路の貼り付け位置と貼り付け方法とを指定する貼付方法指定部と、
前記貼り付け方法指定部により指定された前記貼り付け位置及び前記貼り付け方法とに基づいて、前記仮想描画領域に対して前記部分回路を貼り付けるための貼り付け領域を挿入する貼付領域挿入部と、
前記貼り付け領域に対して前記部分回路を貼り付ける貼付処理部と、
前記仮想描画領域における接続線の補間と余分な接続線の削除を行う接続線調整部と、
を備えるラダープログラム編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラム編集装置に関し、特にラダープログラムに対して部分回路の貼り付けが可能なラダープログラム編集装置に関する。
【背景技術】
【０００２】
ラダープログラム編集装置によるラダープログラムの編集（新規のラダープログラムの作成、既存のラダープログラムの編集等を含む）では、ラダープログラムの編集画面を表示し、表示した画面に対してキーボードやマウスなどのポインティングデバイスを操作してラダープログラムの編集操作が行われる。ラダープログラムの編集操作には、ラダープログラムに含まれるラダー回路において、接点やコイルを配置する動作や、配置した接点やコイルの間を結線する動作等の基本的な動作だけでなく、画面に表示されたラダープログラムの一部（ラダーの部分回路）を矩形で選択し、選択した部分回路を他のラダー回路に対して貼り付ける、いわゆる部分回路の貼付動作等も存在する。
【０００３】
一般に、部分回路の貼付動作は、選択した部分回路（ラダー回路の要素、又は要素の集合）を単純に図形として置き換え又は挿入することにより実現されている。図１４は、従来技術によるラダープログラム編集における部分回路の貼付動作の例を示している。図１４に例示されるように、ラダープログラム編集装置では、例えば、ラダープログラムを表示する画面領域を複数の矩形領域に分割し、それぞれの矩形領域にラダー回路の要素（接点、コイル、配線など）を描画することによりラダープログラムを表示している。このような場合において、２つの接点がＡＮＤ回路として構成されている部分回路を、ラダー回路に含まれる指定部分回路の左側に当該指定部分回路とＡＮＤ関係となるように貼り付ける場合、部分回路が挿入可能なサイズの貼り付け領域を確保するために、該指定部分回路の左側に対して２列分の矩形領域を挿入し（手順１−１）、挿入した矩形領域の内で指定部分回路の左側に位置する矩形領域に対して部分回路を貼り付ける（手順１−２）。
【０００４】
また、図１５は、従来技術によるラダープログラム編集における部分回路の貼付動作の他の例を示している。図１５に例示されるように、２つの接点がＡＮＤ回路として構成されている部分回路を、ラダー回路に含まれる指定部分回路の下側に当該指定部分回路とＯＲ関係となるように貼り付ける場合、部分回路が挿入可能なサイズの貼り付け領域を確保するために、該指定部分回路の下側に１行分、右側に１列分の矩形領域を挿入し（手順２−１）、挿入した矩形領域の内で指定部分回路の下側に位置する矩形領域に対して部分回路を貼り付け（手順２−２）、挿入した部分回路と指定回路とが接続されるように縦の結線を追加する（手順２−３）。
【０００５】
更に、図１６は、従来技術によるラダープログラム編集における部分回路の貼付動作の他の例を示している。図１６に例示されるように、２つの接点がＡＮＤ回路として構成されている部分回路を、ラダー回路に含まれる指定部分回路（３つの接点）の下側に当該指定部分回路とＯＲ関係となるように貼り付ける場合、部分回路が挿入可能なサイズの貼り付け領域を確保するために、該指定部分回路の下側に１行分の矩形領域を挿入し（手順３−１）、挿入した矩形領域の内で指定部分回路の下側に位置する矩形領域に対して部分回路を貼り付け（手順３−２）、挿入した部分回路と指定回路とが接続されるように結線を追加する（手順３−３）。
【０００６】
このように、ラダープログラム編集装置では、ラダープログラムの編集時には単にラダー回路の要素を図形として扱っているため、部分回路の貼付動作の際に、既存のラダープログラムに対して挿入対象となる部分回路を適切な関係で挿入するために、以下の動作が必要になる。
手順１）貼り付け前に、貼り付ける回路要素に合わせて適当な空き領域を確保する
手順２）部分回路を適切な矩形領域へと貼り付ける
手順３）貼り付け後に、接続線を適宜追加して回路として完成させる
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５０７３０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記した貼付動作の各手順は、貼り付けた後の回路の配置を考慮しながらラダープログラムの編集作業を行っている作業者が手動で行っている。作業者は、ラダーの部分回路をラダープログラムに対して貼り付けることにより、１つ１つのラダーの要素を配置する手間を省くことができるが、その反面、貼り付けようとする部分回路と、すでにラダープログラムに配置されている回路との関係を考慮しながら上記した手順を行う必要があり、その判断を誤ることで間違った位置に部分回路を挿入してしまったり、既存のラダー回路とのＡＮＤ／ＯＲ関係を間違って挿入してしまったりする等の誤操作が発生しやすいという課題がある。
【０００９】
特許文献１等に示されるように、ラダーの部分回路をラダープログラムに挿入する際の貼付動作をある程度自動的に行われる試みも為されているが、特許文献１に開示される従来技術では、ラダープログラム中の貼り付け先となるラダー回路の論理式を用いることにより指定部分回路に相当する論理式の挿入を行い、挿入後の論理式からラダー回路の表示を再構成しており、画面表示のみからラダープログラムを編集するものではないため、編集途中の論理式へと変換できないラダー回路に対する部分回路の貼り付け動作が行えない場合があるという課題がある。
【００１０】
そこで本発明の目的は、画面に表示されたラダープログラムに対する部分回路の貼付動作を、該ラダープログラムの表示要素に基づいて適切な形で行うことが可能なラダープログラム編集装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明では、ラダープログラム編集装置で部分回路をラダープログラムに貼り付ける貼付動作において、以下の手順により自動的に部分回路を適切な形で貼り付けることにより上記課題を解決する。
●手順Ａ１）作業者から、貼り付け対象となる部分回路の指定を受け付ける
●手順Ａ２）作業者から、貼り付け先のラダー回路中で貼付動作の基準となる領域、及び、貼り付け方法（左（または右）にＡＮＤで挿入、上（または下）にＯＲで挿入）の指定を受け付ける
●手順Ａ３）指定された基準領域と貼り付け方法に従って、以下の手順で部分回路を自動的に貼り付ける
−手順Ａ３−１）貼り付け対象となる部分回路が収まるサイズの貼り付け領域を適切な位置に挿入する
−手順Ａ３−２）挿入した貼り付け領域に回路を貼り付ける
−手順Ａ３−３）指定された貼り付け方法に応じて横線と縦線を追加する
【００１２】
上記した手順Ａ３−１では、貼り付け方法が「左側にＡＮＤで挿入」である場合には、基準領域の「左下隅（縦線の右）」を、それ以外は基準領域の「右下隅（縦線の左）」を基点とし、基点の位置に貼り付け対象となる部分回路のサイズに応じて矩形領域の列と行とを挿入する。そして、挿入した矩形領域の内の、回路を貼り付ける範囲外の部分については、接続線を補間する。また、貼り付け方法が「ＡＮＤで挿入」の場合には、基準領域と挿入した列の間に、選択領域の範囲内で接続線を追加する。
【００１３】
また、上記した手順Ａ３−３では、貼り付け方法が「ＡＮＤで挿入」の場合、貼り付けた回路の左右端で削除可能な接続線を削除し、貼り付け方法が「ＯＲで挿入」の場合、貼り付け対象となる部分回路が基準領域よりも横方向に短い場合、足りない部分に接続線を追加する。そして、貼り付けた回路の左右端から基準領域に向かっていずれかの要素に接続するまでそのラダー回路の範囲内で縦の接続線を追加する。
【００１４】
上記した手順Ａ３を自動的に実行することで、画面に表示されたラダープログラムに対する部分回路の貼付動作を、該ラダープログラムの表示要素に基づいて適切な形で行うことができる。
【００１５】
そして、本発明の一態様は、ラダープログラムを編集するラダープログラム編集装置において、前記ラダープログラムを仮想的に配置する空間であって、複数の矩形領域の集合として構成される仮想描画領域を管理する編集制御部と、貼り付け対象となる部分回路を指定する貼付対象指定部と、前記仮想描画領域の内で、前記部分回路を貼り付ける際の基準となる基準領域を指定する基準領域指定部と、前記基準領域を基準とした前記部分回路の貼り付け位置と貼り付け方法とを指定する貼付方法指定部と、前記貼り付け方法指定部により指定された前記貼り付け位置及び前記貼り付け方法とに基づいて、前記仮想描画領域に対して前記部分回路を貼り付けるための貼り付け領域を挿入する貼付領域挿入部と、前記貼り付け領域に対して前記部分回路を貼り付ける貼付処理部と、前記仮想描画領域における接続線の補間と余分な接続線の削除を行う接続線調整部と、を備えるラダープログラム編集装置である。
【発明の効果】
【００１６】
本発明により、ラダーの部分回路を貼り付ける際に、貼り付け方法として指定部分回路の上下左右に対してＡＮＤ／ＯＲで挿入することを指定すればよいため、作業者にとって直感的な編集操作が実現できる。また、部分回路の挿入時に自動的に必要な接続線を追加することができるため、作業者は編集操作に掛かる負担を一部軽減することができる。更に、作成途中のラダー回路等のような、論理式で表現できないラダー回路に対しても部分回路の挿入動作が可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態によるラダープログラム編集装置の要部を示す概略的なハードウェア構成図である。
【図２】本発明の一実施形態によるラダープログラム編集装置の概略的な機能ブロック図である。
【図３】貼り付け方法として「下側にＯＲで挿入」が指定された場合の処理の流れを例示するフローチャートである。
【図４】貼り付け方法として「上側にＯＲで挿入」が指定された場合の処理の流れを例示するフローチャートである。
【図５】貼り付け方法として「左側にＡＮＤで挿入」が指定された場合の処理の流れを例示するフローチャートである。
【図６】貼り付け方法として「右側にＡＮＤで挿入」が指定された場合の処理の流れを例示するフローチャートである。
【図７】左側に列を挿入する処理の流れを例示するフローチャートである。
【図８】右側に列を挿入する処理の流れを例示するフローチャートである。
【図９】本発明のラダープログラム編集装置による未完成なラダー回路に対する部分回路の挿入動作の例を示す図である。
【図１０】本発明のラダープログラム編集装置による未完成なラダー回路に対する部分回路の挿入動作の他の例を示す図である。
【図１１】本発明のラダープログラム編集装置による未完成なラダー回路に対する部分回路の挿入動作の他の例を示す図である。
【図１２】本発明のラダープログラム編集装置による複数のＯＲ関係にある接点に対する部分回路の挿入動作の例を示す図である。
【図１３】本発明のラダープログラム編集装置による複数のＯＲ関係にある接点に対する部分回路の挿入動作の他の例を示す図である。
【図１４】従来技術によるラダープログラム編集における部分回路の貼付動作の例を示す図である。
【図１５】従来技術によるラダープログラム編集における部分回路の貼付動作の他の例を示す図である。
【図１６】従来技術によるラダープログラム編集における部分回路の貼付動作の他の例を示す図である。
【発明を実施するための形態】
【００１８】
以下に本発明を実現するためのラダープログラム編集装置の実施形態を示す。ただし、本発明のラダープログラム編集装置の実施形態は下記の例に限定されるものではく、本発明の目的を実現可能なものであれば、どのような構成を採用しても良い。
【００１９】
図１は、本発明の一実施形態による情報処理装置の要部を示すハードウェア構成図である。ラダープログラム編集装置１は、ＰＣや数値制御装置などとして構成することができる。
【００２０】
ラダープログラム編集装置１はＣＰＵ１０を中心に構成されている。ＣＰＵ１０はＲＯＭ１１に格納されたシステム・プログラムに従ってラダープログラム編集装置１全体を制御する。このＲＯＭ１１にはＥＰＲＯＭあるいはＥＥＰＲＯＭが使用される。
【００２１】
ＲＡＭ１２にはＤＲＡＭ等が使用され、一時的な計算データ、表示データ、入出力信号等が格納される。不揮発性メモリ１３には図示されていないバッテリによってバックアップされたＣＭＯＳやＳＲＡＭ、またはＨＤＤ、ＳＳＤなどの記憶装置が使用され、電源切断後も保持すべきパラメータ、ラダープログラム等が記憶される。
【００２２】
ユーザインタフェース部１８は、データ及び図形の表示、データ入力、ラダープログラム編集装置１の運用に使用される。グラフィック制御回路１９は数値データ及び図形データ等のデジタル信号を表示用のラスタ信号に変換し、表示装置２０に送り、表示装置２０はこれらの数値及び図形を表示する。表示装置２０には主に液晶表示装置が使用されるが、ラダープログラムの表示が可能なものであればどのような表示装置を用いても良い。
【００２３】
入力装置２１は数値キー、シンボリックキー、文字キー及び機能キーを備えたキーボードや、マウスなどのポインティングデバイスから構成され、ラダープログラムの作成、編集操作などに使用される。
タッチパネル２２は、オペレータによるタッチやドラッグなどの操作を検知する機能を備える。タッチパネル２２は表示装置２０の画面上に重畳して配置され、オペレータが表示装置２０の画面上に表示されたソフトウェアキーやソフトウェアボタン、ソフトウェアスイッチに対して行った操作をタッチパネル２２により検知することができる。タッチパネル２２は、ラダープログラム編集装置１に必須の構成ではなく、必要に応じて設ければ良い。なお、タッチパネル２２と表示装置２０とを併せて１つの装置として構成しても良い。
【００２４】
図２は、ラダープログラム編集機能を実現するためのシステム・プログラムを図１で示したラダープログラム編集装置１で実行した場合における、本発明の一実施形態によるラダープログラム編集装置の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示したラダープログラム編集装置１が備えるＣＰＵ１０が、システム・プログラムを実行してラダープログラム編集装置１の各部の動作を制御することにより実現される。本実施形態のラダープログラム編集装置１は、編集制御部１００、表示制御部１１０、入力処理部１２０を備え、また、編集制御部１００は、貼付対象指定部１０１、基準領域指定部１０２、貼付方法指定部１０３、貼付領域挿入部１０４、貼付処理部１０５、接続線調整部１０６を備える。
【００２５】
編集制御部１００は、不揮発性メモリ１３からラダープログラム２００を読み出して表示制御部１１０を介してユーザインタフェース部１８へと表示すると共に、入力処理部１２０を介してユーザインタフェース部１８から入力される作業者による入力操作を受け付けて、該入力操作に基づくラダープログラム２００の編集を制御する。編集制御部１００は、ラダー図が仮想的に描画される仮想描画領域を複数の矩形領域の集合としてＲＡＭ１２などのメモリ上で管理しており、それぞれの矩形領域にはラダープログラム２００に含まれるラダー回路の要素（接点、コイル、横の接続線など）を配置することができるようになっており、また、左右に並んだ矩形領域の間には縦の接続線を配置することができるようになっている。編集制御部１００は、表示制御部１１０に対して指令することで、仮想描画領域の一部乃至全部をラダー図としてユーザインタフェース部１８へと表示することが可能であり、また、ユーザインタフェース部１８からの作業者の操作に基づいて、ユーザインタフェース部１８に対して仮想描画領域内のいずれの領域（１乃至複数の矩形領域）をラダー図として表示するのかを自由に変更できるようになっている。また、編集制御部１００は、ユーザインタフェース部１８に対してラダー図として表示されたラダープログラム２００に対する作業者の操作を、仮想描画領域内のいずれの領域（１乃至複数の矩形領域）に対する操作であるかを判別できるようになっている。編集制御部１００は、仮想描画領域を構成する矩形領域の各行／列に対して符号を付けて管理できるようにしても良く、このようにした場合、作業者はユーザインタフェース部１８を介して矩形領域の各行／列に付与された符号を支持することで仮想描画領域内の領域（１乃至複数の矩形領域）に対して操作をすることができる。このようなラダープログラム２００の表示／操作等に係る制御を行うことで、編集制御部１００は、ユーザインタフェース部１８から入力される作業者による入力操作を、ラダープログラム２００に含まれるラダー回路の要素（接点、コイル、接続線など）毎に受け付けることが可能となっている。
【００２６】
貼付対象指定部１０１は、貼り付け先のラダープログラム２００に対して貼り付ける部分回路を指定するための機能手段である。貼付対象指定部１０１は、例えば、作業者によるユーザインタフェース部１８に対する操作に基づいてラダー回路の要素を組み合わせて貼り付け対象となる部分回路を構成するものであっても良いし、ユーザインタフェース部１８に表示されたラダープログラム２００の中から貼り付け対象となる部分回路を選択するものであっても良い。貼付対象指定部１０１は、貼り付け対象として指定された部分回路を、例えばＲＡＭ１２上に設けられた貼り付け対象となる部分回路を記憶するための一時記憶領域に記憶するようにしても良い。
【００２７】
基準領域指定部１０２は、ユーザインタフェース部１８に表示されているラダープログラム２００の中から、貼り付け対象となる部分回路を貼り付ける基準となる基準領域を指定するための機能手段である。基準領域指定部１０２は、ラダープログラム２００が占める領域の内の、基準領域を少なくとも１以上の矩形領域により指定することができる。基準領域指定部１０２が指定する基準領域は、例えば、ユーザインタフェース部１８においてカーソルキーやマウス等のポインティングデバイスを操作してラダープログラム２００が表示されている領域の一部の矩形領域を選択することで基準領域を指定できるようにしても良いし、矩形領域の各行／列に付与された符号を入力することで基準領域を指定できるようにしても良い。基準領域指定部１０２は、指定された基準領域を、例えばＲＡＭ１２上に設けられた基準領域を記憶するための一時記憶領域に記憶するようにしても良い。
【００２８】
貼付方法指定部１０３は、貼付対象指定部１０１で指定した貼り付け対象となる部分回路を、基準領域指定部１０２で指定された基準領域を基準としてどのような方法で貼り付けるのかを指定するための機能手段である。貼付方法指定部１０３は、貼り付け方法として、貼り付け対象となる部分領域を基準領域に対していずれの方向に貼り付けるか（上下左右）と、貼り付け対象となる部分領域を基準領域に対してどのような関係で貼り付けるか（ＡＮＤ／ＯＲ）と、を少なくとも指定できる。貼付方法指定部１０３は、例えば、ユーザインタフェース部１８に表示されるメニュー等を操作することで貼り付け方法を指定できるようにしても良いし、機能キー等を操作することで貼り付け方法を指定できるようにしても良い。貼付方法指定部１０３は、指定された貼り付け方法を、例えばＲＡＭ１２上に設けられた貼り付け方法を記憶するための一時記憶領域に記憶するようにしても良い。
【００２９】
貼付領域挿入部１０４は、仮想描画領域内の、基準領域指定部１０２で指定された基準領域を基準位置として、貼り付け対象となる部分回路を貼り付けるための貼り付け領域を挿入するための機能手段である。貼付領域挿入部１０４は、貼付方法指定部１０３により指定された貼り付け方法が「左側にＡＮＤで挿入」である場合には、基準領域の「左下隅」を、「上側にＯＲで挿入」である場合には、基準領域の「右上隅」を、それ以外は基準領域の「右下隅」を基点とし、基点の位置に貼り付け対象となる部分回路のサイズに応じて矩形領域の列と行とを挿入する。貼付領域挿入部１０４は、列を挿入する際に、基準領域と基準領域外の矩形領域との間に縦の接続線が引かれている場合には、該接続線（縦線）と基準領域との間に矩形領域の列を挿入する。
【００３０】
貼付処理部１０５は、仮想描画領域内の貼付領域挿入部１０４が挿入した貼り付け領域に対して貼り付け対象となる部分回路を貼り付ける機能手段である。貼付処理部１０５は、貼付方法指定部１０３で指定された貼り付け方法が「左側にＡＮＤで挿入」「右側にＡＮＤで挿入」である場合には、基準領域の上辺と貼り付け対象となる部分回路の上辺とが揃うように、貼り付け対象となる部分回路を貼り付け領域へと貼り付ける。また、貼付処理部１０５は、貼付方法指定部１０３で指定された貼り付け方法が「下側にＯＲで挿入」「上側にＯＲで挿入」である場合には、基準領域の左辺と貼り付け対象となる部分回路の左辺とが揃うように、貼り付け対象となる部分回路を貼り付け領域へと貼り付ける。
【００３１】
接続線調整部１０６は、貼付領域挿入部１０４が貼り付け領域を挿入した時、及び、貼付処理部１０５が貼り付け領域に対して貼り付け対象となる部分回路を挿入した時に、各回路の間に引かれる接続線の調整（補間及び削除）を行う機能手段である。接続線調整部１０６は、貼付領域挿入部１０４が貼り付け領域を挿入した時、挿入された貼り付け領域内の回路を貼り付ける範囲外の矩形領域について、該貼り付け領域により分断された接続線を補間する。また、接続線調整部１０６は、貼付領域挿入部１０４が矩形領域間に引かれた接続線（縦線）と基準領域との間に矩形領域の列を挿入したことで分断された縦の接続線を、選択領域の範囲内で基準領域と挿入した列と間に接続線を補間する。
【００３２】
接続線調整部１０６は、更に、貼付処理部１０５が貼り付け領域に対して貼り付け対象となる部分回路を挿入した時、貼り付け方法が「ＡＮＤで挿入」の場合、貼り付けた回路の左右端で余分な接続線を削除し、貼り付け方法が「ＯＲで挿入」の場合、貼り付け対象となる部分回路が基準領域よりも横方向に短い場合、足りない部分に横の接続線を補間する。そして、接続線調整部１０６は、貼り付けた回路の左右端から基準領域に向かっていずれかの要素に接続するまでそのラダー回路の範囲内で縦の接続線を追加する。
【００３３】
以下では、編集制御部１００が備える各機能手段により実行される処理について例示する。
図３は、編集制御部１００が備える各機能手段により実行される処理の内で、貼り付け方法として「下側にＯＲで挿入」が指定された場合の処理の流れを例示するフローチャートである。
●［ステップＳＡ０１］貼付領域挿入部１０４は、貼り付け対象となる部分回路の行数及び列数を取得する。
●［ステップＳＡ０２］貼付領域挿入部１０４は、基準領域の行数及び列数を取得する。
●［ステップＳＡ０３］貼付領域挿入部１０４は、基準領域の下側に、貼り付け対象となる部分回路の行数分の空き行を挿入する。
●［ステップＳＡ０４］接続線調整部１０６は、空き行の挿入により分断された縦の接続線を補間する。
【００３４】
●［ステップＳＡ０５］貼付領域挿入部１０４は、貼り付け対象となる部分回路の列数が、基準領域の列数よりも大きいか否かを判定する。貼り付け対象となる部分回路の列数が、基準領域の列数よりも大きい場合には、ステップＳＡ０６へと処理を移行し、そうでない場合にはステップＳＡ０８へと処理を移行する。
●［ステップＳＡ０６］貼付領域挿入部１０４は、基準領域に右側に列を挿入する処理を行う。本処理の詳細は後述する。
●［ステップＳＡ０７］接続線調整部１０６は、空き列の挿入により分断された横の接続線を補間する。
【００３５】
●［ステップＳＡ０８］貼付処理部１０５は、貼り付け対象となる部分回路を挿入された貼り付け領域に対して貼り付ける。
●［ステップＳＡ０９］接続線調整部１０６は、貼り付け対象となる部分回路の列数が、基準領域の列数よりも小さいか否かを判定する。貼り付け対象となる部分回路の列数が、基準領域の列数よりも小さい場合には、ステップＳＡ１０へと処理を移行し、そうでない場合にはステップＳＡ１１へと処理を移行する。
●［ステップＳＡ１０］接続線調整部１０６は、貼り付け領域に貼り付けられた部分回路の内の右上端の回路から基準領域の右端まで横の接続線を補間する。
●［ステップＳＡ１１］接続線調整部１０６は、貼り付け領域に貼り付けられた部分回路の内の両端の回路から上方向へ縦の接続線を補間する。
【００３６】
図４は、編集制御部１００が備える各機能手段により実行される処理の内で、貼り付け方法として「上側にＯＲで挿入」が指定された場合の処理の流れを例示するフローチャートである。
●［ステップＳＢ０１］貼付領域挿入部１０４は、貼り付け対象となる部分回路の行数及び列数を取得する。
●［ステップＳＢ０２］貼付領域挿入部１０４は、基準領域の行数及び列数を取得する。
●［ステップＳＢ０３］貼付領域挿入部１０４は、基準領域の上側に、貼り付け対象となる部分回路の行数分の空き行を挿入する。
●［ステップＳＢ０４］接続線調整部１０６は、空き行の挿入により分断された縦の接続線を補間する。
【００３７】
●［ステップＳＢ０５］貼付領域挿入部１０４は、貼り付け対象となる部分回路の列数が、基準領域の列数よりも大きいか否かを判定する。貼り付け対象となる部分回路の列数が、基準領域の列数よりも大きい場合には、ステップＳＢ０６へと処理を移行し、そうでない場合にはステップＳＢ０８へと処理を移行する。
●［ステップＳＢ０６］貼付領域挿入部１０４は、基準領域に右側に列を挿入する処理を行う。本処理の詳細は後述する。
●［ステップＳＢ０７］接続線調整部１０６は、空き列の挿入により分断された横の接続線を補間する。
【００３８】
●［ステップＳＢ０８］貼付処理部１０５は、貼り付け対象となる部分回路を挿入された貼り付け領域に対して貼り付ける。
●［ステップＳＢ０９］接続線調整部１０６は、貼り付け対象となる部分回路の列数が、基準領域の列数よりも小さいか否かを判定する。貼り付け対象となる部分回路の列数が、基準領域の列数よりも小さい場合には、ステップＳＢ１０へと処理を移行し、そうでない場合にはステップＳＢ１１へと処理を移行する。
●［ステップＳＢ１０］接続線調整部１０６は、貼り付け領域に貼り付けられた部分回路の内の右上端の回路から基準領域の右端まで横の接続線を補間する。
●［ステップＳＢ１１］接続線調整部１０６は、貼り付け領域に貼り付けられた部分回路の内の両端の回路から下方向へ縦の接続線を補間する。
【００３９】
図５は、編集制御部１００が備える各機能手段により実行される処理の内で、貼り付け方法として「左側にＡＮＤで挿入」が指定された場合の処理の流れを例示するフローチャートである。
●［ステップＳＣ０１］貼付領域挿入部１０４は、貼り付け対象となる部分回路の行数及び列数を取得する。
●［ステップＳＣ０２］貼付領域挿入部１０４は、基準領域の行数及び列数を取得する。
【００４０】
●［ステップＳＣ０３］貼付領域挿入部１０４は、貼り付け対象となる部分回路の行数が、基準領域の行数よりも大きいか否かを判定する。貼り付け対象となる部分回路の行数が、基準領域の行数よりも大きい場合には、ステップＳＣ０４へと処理を移行し、そうでない場合にはステップＳＣ０６へと処理を移行する。
●［ステップＳＣ０４］貼付領域挿入部１０４は、基準領域の下側に、貼り付け対象となる部分回路が挿入できるように空き行を挿入する。
●［ステップＳＣ０５］接続線調整部１０６は、空き行の挿入により分断された縦の接続線を補間する。
【００４１】
●［ステップＳＣ０６］貼付領域挿入部１０４は、基準領域に左側に列を挿入する処理を行う。本処理の詳細は後述する。
●［ステップＳＣ０７］貼付処理部１０５は、貼り付け対象となる部分回路を挿入された貼り付け領域に対して貼り付ける。
●［ステップＳＣ０８］接続線調整部１０６は、削除可能な縦の接続線を削除する。
【００４２】
図６は、編集制御部１００が備える各機能手段により実行される処理の内で、貼り付け方法として「右側にＡＮＤで挿入」が指定された場合の処理の流れを例示するフローチャートである。
●［ステップＳＤ０１］貼付領域挿入部１０４は、貼り付け対象となる部分回路の行数及び列数を取得する。
●［ステップＳＤ０２］貼付領域挿入部１０４は、基準領域の行数及び列数を取得する。
【００４３】
●［ステップＳＤ０３］貼付領域挿入部１０４は、貼り付け対象となる部分回路の行数が、基準領域の行数よりも大きいか否かを判定する。貼り付け対象となる部分回路の行数が、基準領域の行数よりも大きい場合には、ステップＳＤ０４へと処理を移行し、そうでない場合にはステップＳＤ０６へと処理を移行する。
●［ステップＳＤ０４］貼付領域挿入部１０４は、基準領域の下側に、貼り付け対象となる部分回路が挿入できるように空き行を挿入する。
●［ステップＳＤ０５］接続線調整部１０６は、空き行の挿入により分断された縦の接続線を補間する。
【００４４】
●［ステップＳＤ０６］貼付領域挿入部１０４は、基準領域に右側に列を挿入する処理を行う。本処理の詳細は後述する。
●［ステップＳＤ０７］貼付処理部１０５は、貼り付け対象となる部分回路を挿入された貼り付け領域に対して貼り付ける。
●［ステップＳＤ０８］接続線調整部１０６は、削除可能な縦の接続線を削除する。
【００４５】
図７は、左側に列を挿入する処理の流れを例示するフローチャートである。
●［ステップＳＥ０１］貼付領域挿入部１０４は、基準領域内の左端の列について、命令や横の接続線が入力された最も下に位置する矩形領域を検索し、命令終端行として記憶する。
●［ステップＳＥ０２］貼付領域挿入部１０４は、基準領域の左側に列を挿入する。貼付領域挿入部１０４は、列を挿入する際に、基準領域と基準領域外の矩形領域との間に縦の接続線が引かれている場合には、該接続線（縦線）と基準領域との間に矩形領域の列を挿入する。
●［ステップＳＥ０３］接続線調整部１０６は、基準領域の左端において、１行目から命令終端行まで縦の接続線を補間する。
【００４６】
図８は、右側に列を挿入する処理の流れを例示するフローチャートである。
●［ステップＳＦ０１］貼付領域挿入部１０４は、基準領域内の右端の列について、命令や横の接続線が入力された最も下に位置する矩形領域を検索し、命令終端行として記憶する。
●［ステップＳＦ０２］貼付領域挿入部１０４は、基準領域の右側に列を挿入する。貼付領域挿入部１０４は、列を挿入する際に、基準領域と基準領域外の矩形領域との間に縦の接続線が引かれている場合には、該接続線（縦線）と基準領域との間に矩形領域の列を挿入する。
●［ステップＳＦ０３］接続線調整部１０６は、基準領域の右端において、１行目から命令終端行まで縦の接続線を補間する。
【００４７】
上記した本実施形態のラダープログラム編集装置１では、図１４〜図１６に示した従来技術によるラダープログラム編集における部分回路の貼付動作において、手動で行われていた貼り付け領域の挿入や接続線の補間処理が自動で行われるため、ラダープログラムを作成する作業者の負担を軽減することができる。
【００４８】
本実施形態のラダープログラム編集装置１では、上記で説明したようにラダープログラムが描画される仮想描画領域上での処理によりラダー回路に対する部分回路の挿入処理が行えるため、図９〜図１１に例示されるように、編集途中のラダー回路に対して部分回路を挿入することが可能となる。例えば、図９の例では、貼り付け先のラダー回路の内で、１行１列目の接点と、２行２列目の接点との間の論理関係が確定していないため、論理式を用いた挿入処理を行うことができないが、本実施形態のラダープログラム編集装置１では、仮想描画領域における貼り付け領域の確保、部分回路の貼り付け、接続線の補間を行うことで、未完成のラダー回路に対する部分回路の挿入を行うことが可能となる。
【００４９】
また、本実施形態のラダープログラム編集装置１では、上記で説明したようにラダープログラムが描画される仮想描画領域上での処理によりラダー回路に対する部分回路の挿入処理が行えるため、図１２〜図１３に例示されるように、複数のＯＲ関係にある接点に対して、指定した接点に対する関係を定義した部分回路の挿入を容易に行うことが可能となる。図１２では、３つのＯＲ関係にある接点の内で、上の２つの接点に対してＡＮＤ関係となるように部分回路を挿入しており、図１３では、３つのＯＲ関係にある接点の内で、下の２つの接点に対してＡＮＤ関係となるように部分回路を挿入している。いずれの場合においても、適切な配置で部分回路の挿入ができることが把握できる。
【００５０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００５１】
１  ラダープログラム編集装置
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  不揮発性メモリ
１８  ユーザインタフェース部
１９  グラフィック制御回路
２０  表示装置
２１  入力装置
２２  タッチパネル
１００  編集制御部
１０１  貼付対象指定部
１０２  基準領域指定部
１０３  貼付方法指定部
１０４  貼付領域挿入部
１０５  貼付処理部
１０６  接続線調整部
１１０  表示制御部
１２０  入力処理部
２００  ラダープログラム
【図１】
2018190133.tif 000003
【図２】
2018190133.tif 000004
【図３】
2018190133.tif 000005
【図４】
2018190133.tif 000006
【図５】
2018190133.tif 000007
【図６】
2018190133.tif 000008
【図７】
2018190133.tif 000009
【図８】
2018190133.tif 000010
【図９】
2018190133.tif 000011
【図１０】
2018190133.tif 000012
【図１１】
2018190133.tif 000013
【図１２】
2018190133.tif 000014
【図１３】
2018190133.tif 000015
【図１４】
2018190133.tif 000016
【図１５】
2018190133.tif 000017
【図１６】
2018190133.tif 000018