(57)【要約】【課題】図形プログラムにおいて新たな図形を追加する際、所定の領域に既に図形が配置されている場合でも、ユーザの意図通りに図形同士を接続する。【解決手段】端末装置（１００）は、編集部（１１１）が、ユーザの入力によって、第１の単位処理図形の周囲に設けられる接続領域に第２の単位処理図形が配置されたときに、第１の単位処理図形と第２の単位処理図形とを有向線によって接続する接続処理部（１１５）と、接続領域における接続済の単位処理図形が占める領域に応じて、当該接続領域の形状を変更する接続領域設定部（１１３）と、を備える。【選択図】図１
2020181339.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して制御対象機器を制御するＰＬＣ（Programmable Logic Controller）で実行されるプログラムを編集するプログラム編集装置であって、
ユーザからの入力に応じて、処理ステップを示す単位処理図形を有向線によって接続し、複数の処理ステップを順に実行する前記プログラムを図形プログラムとして生成し、表示する制御を行う編集部を備え、
前記編集部は、
ユーザの入力によって、第１の単位処理図形の周囲に設けられる接続領域に第２の単位処理図形が配置されたときに、前記第１の単位処理図形と前記第２の単位処理図形とを前記有向線によって接続する接続処理部と、
前記接続領域における接続済の前記単位処理図形が占める領域に応じて、当該接続領域の形状を変更する接続領域設定部と、を備えるプログラム編集装置。
【請求項２】
前記接続領域設定部は、前記接続領域に接続済の前記単位処理図形が配置された場合に、該単位処理図形が占める領域の下方に前記接続領域を設定し、下方に当該接続領域を拡大する、請求項１に記載のプログラム編集装置。
【請求項３】
前記接続領域設定部は、処理上流側の前記単位処理図形に接続された処理下流側の前記単位処理図形に対応する前記接続領域の最下端よりも、当該処理上流側の単位処理図形の前記接続領域の最下端が下となるように、当該処理上流側の単位処理図形の前記接続領域を拡大する、請求項２に記載のプログラム編集装置。
【請求項４】
前記接続処理部は、新たに配置された前記単位処理図形が、複数の既設の前記単位処理図形の前記接続領域にまたがった位置にある場合、処理上流側の既設の前記単位処理図形と接続する請求項１〜３のいずれか一項に記載のプログラム編集装置。
【請求項５】
前記接続処理部は、新たに配置された前記単位処理図形が、複数の既設の前記単位処理図形の前記接続領域にまたがった位置にあり、かつ、複数の既設の前記単位処理図形同士が接続していない場合には、下側の既設の前記単位処理図形と接続する請求項２〜４のいずれか一項に記載のプログラム編集装置。
【請求項６】
前記接続領域設定部は、前記単位処理図形の右方および下方となる領域に前記接続領域を設定する、請求項２〜５のいずれか一項に記載のプログラム編集装置。
【請求項７】
通信ネットワークを介して制御対象機器を制御するＰＬＣ（Programmable Logic Controller）で実行されるプログラムを編集するプログラム編集方法であって、
ユーザからの入力に応じて、処理ステップを示す単位処理図形を有向線によって接続し、複数の処理ステップを順に実行する前記プログラムを図形プログラムとして生成し、表示する制御を行う編集ステップを含み、
前記編集ステップは、
ユーザの入力によって、第１の単位処理図形の周囲に設けられる接続領域に第２の単位処理図形が配置されたときに、前記第１の単位処理図形と前記第２の単位処理図形とを前記有向線によって接続する接続処理ステップと、
前記接続領域における接続済の前記単位処理図形が占める領域に応じて、当該接続領域の形状を変更する接続領域設定ステップと、を含むプログラム編集方法。
【請求項８】
請求項１〜６のいずれか一項に記載のプログラム編集装置としてコンピュータを機能させるためのプログラム編集プログラムであって、上記各部としてコンピュータを機能させるためのプログラム編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラに実行させるプログラムを編集するプログラム編集装置等に関する。
【背景技術】
【０００２】
プログラミング言語の知識を持たないユーザが、各種情報処理装置のプログラムを作成するための方法として、プログラム部品を示す図形を接続して図形プログラムを作成することが従来技術として知られている。特許文献１には、視覚プログラミングシステムおよび図形プログラム編集方法の一例が記載されている。さらに、特許文献２には、有向線と図形からなるフローチャート図に関して、ユーザが簡単に編集操作できるようにするため、所定の領域に配置された図形同士を有向線で接続するフローチャート方法の一例が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−３１４７０２号公報（平成８年１１月２９日）
【特許文献２】特開２０１６−１１５０１７号公報（平成２８年６月２３日）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来技術は、所定の領域に既に図形が多数配置されている場合に新たな図形を挿入しづらいという問題や、ユーザの意図通りの処理順になるような接続になりにくいという問題がある。
【０００５】
本発明の一態様は、図形プログラムにおいて新たな図形を追加する際、所定の領域に既に図形が配置されている場合でも、ユーザの意図通りに図形同士を接続するプログラム編集装置等を実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００７】
すなわち、本発明の一側面に係るプログラム編集装置は、通信ネットワークを介して制御対象機器を制御するＰＬＣ（Programmable Logic Controller）で実行されるプログラムを編集するプログラム編集装置であって、ユーザからの入力に応じて、処理ステップを示す単位処理図形を有向線によって接続し、複数の処理ステップを順に実行する前記プログラムを図形プログラムとして生成し、表示する制御を行う編集部を備え、前記編集部は、ユーザの入力によって、第１の単位処理図形の周囲に設けられる接続領域に第２の単位処理図形が配置されたときに、前記第１の単位処理図形と前記第２の単位処理図形とを前記有向線によって接続する接続処理部と、前記接続領域における接続済の前記単位処理図形が占める領域に応じて、当該接続領域の形状を変更する接続領域設定部と、を備える。
【０００８】
上記の構成により、接続領域に既に単位処理図形が配置されていた場合でも、新たな単位処理図形を追加してユーザの意図通り単位処理図形同士を接続することを確実に実現することができる。
【０００９】
上記一側面に係るプログラム編集装置において、前記接続領域設定部は、前記接続領域に接続済の前記単位処理図形が配置された場合に、該単位処理図形が占める領域の下方に前記接続領域を設定し、下方に当該接続領域を拡大してもよい。
【００１０】
上記構成によれば、１つの単位処理図形に複数の単位処理図形を下流側に接続する場合、下流側の複数の単位処理図形を上下に並んだ状態で配置するようにユーザを導くことができる。よって、処理が分岐される場合の図形プログラムの流れを整理された把握しやすい状態にすることが可能となる。
【００１１】
上記一側面に係るプログラム編集装置において、前記接続領域設定部は、処理上流側の前記単位処理図形に接続された処理下流側の前記単位処理図形に対応する前記接続領域の最下端よりも、当該処理上流側の単位処理図形の前記接続領域の最下端が下となるように、当該処理上流側の単位処理図形の前記接続領域を拡大してもよい。
【００１２】
上記構成により、下流側の単位処理図形の接続領域が拡大した場合でも、上流側の単位処理図形に確実に単位処理図形を接続させることが可能となる。
【００１３】
上記一側面に係るプログラム編集装置において、前記接続処理部は、新たに配置された前記単位処理図形が、複数の既設の前記単位処理図形の前記接続領域にまたがった位置にある場合、上流側の既設の前記単位処理図形と接続してもよい。
【００１４】
上記構成により、新たな単位処理図形が複数の接続領域と重なっているときに、適切な単位処理図形同士を接続できる。
【００１５】
上記一側面に係るプログラム編集装置において、前記接続処理部は、新たに配置された前記単位処理図形が、複数の既設の前記単位処理図形の前記接続領域にまたがった位置にあり、かつ、複数の既設の前記単位処理図形同士が接続していない場合には、下側の既設の前記単位処理図形と接続してもよい。
【００１６】
上記構成によれば、新たな単位処理図形が複数の接続領域と重なっているときに、適切な単位処理図形同士を接続できる。
【００１７】
上記一側面に係るプログラム編集装置において、前記接続領域設定部は、前記単位処理図形の右方および下方となる領域に前記接続領域を設定する構成を有していてもよい。
【００１８】
上記構成によれば、単位処理図形同士の接続が右方および下方に伸びていくような図形プログラムが作成されるようにユーザを導くことができる。これにより、図形プログラムの流れを整理された把握しやすい状態にすることができる。
【００１９】
上記一側面に係るプログラム編集方法は、通信ネットワークを介して制御対象機器を制御するＰＬＣ（Programmable Logic Controller）で実行されるプログラムを編集するプログラム編集方法であって、ユーザからの入力に応じて、処理ステップを示す単位処理図形を有向線によって接続し、複数の処理ステップを順に実行する前記プログラムを図形プログラムとして生成し、表示する制御を行う編集ステップを含み、前記編集ステップは、ユーザの入力によって、第１の単位処理図形の周囲に設けられる接続領域に第２の単位処理図形が配置されたときに、前記第１の単位処理図形と前記第２の単位処理図形とを前記有向線によって接続する接続処理ステップと、前記接続領域における接続済の前記単位処理図形が占める領域に応じて、当該接続領域の形状を変更する接続領域設定ステップと、を含む。
【００２０】
上記の構成により、接続領域に既に単位処理図形が配置されていた場合でも、新たな単位処理図形を追加してユーザの意図通り単位処理図形同士を接続することを確実に実現することができる。
【発明の効果】
【００２１】
本発明によれば、図形プログラムにおいて新たな図形を追加する際、所定の領域に既に図形が配置されている場合でも、ユーザの意図通りに図形同士を接続することができる。よって、図形プログラムの接続編集作業をより効率的に行うことが可能となる。
【図面の簡単な説明】
【００２２】
【図１】実施形態１の全体構成の概要を示す図である。
【図２】ＰＬＣ上で実行される図形プログラムの一例を示す図である。
【図３】編集部による一連の図形プログラム編集処理の流れを示すフローチャートである。
【図４】接続領域設定部による設定処理の流れを示すフローチャートである。
【図５】接続処理部による重なり判定処理の流れを示すフローチャートである。
【図６】図形プログラム群を表示する画面の一例を示す図である。
【発明を実施するための形態】
【００２３】
§１  適用例
図１を参照して、まず、本発明が適用された構成の一例を説明する。図１は、本実施形態の全体概要を示す図である。図１には、本発明に係るプログラム編集装置が端末装置１００に適用された一構成例を示している。
【００２４】
図１に示す構成では、生産システム２００がＰＬＣ（Programmable Logic Controller）２１０を含み、該ＰＬＣ２１０が、ＰＬＣ２１０にプログラムを提供する端末装置１００およびＰＬＣ２１０がデータの読み書きを行うデータベース４００と通信可能に接続されている。
【００２５】
生産システム２００は、例えば、工場やプラントにおける生産のための機器及びそれを統括制御する装置である。生産システム２００は、ＰＬＣ２１０のほか、例えば各種ユニット２２０、各種機器２３０及びこれらのユニットや機器を制御するための実行可能ファイル２４０を有する。ここで、ユニット２２０とは、Ｉ／Ｏユニットや通信ユニット等の末端の機器である機器２３０とＰＬＣ２１０を中継するユニットの総称である。また、機器２３０とは、アクチュエータ、汎用センサ、シリアル機器、既設ＰＬＣ等の、制御される末端機器及び制御に必要なデータを取得するための末端機器である。
【００２６】
端末装置１００は、例えばパーソナルコンピュータ（ＰＣ）である。端末装置１００は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含む。
【００２７】
本実施形態に係る端末装置１００は、通信ネットワークを介して制御対象機器を制御するＰＬＣ２１０で実行されるプログラムを編集するプログラム編集装置であって、ユーザからの入力に応じて、処理ステップを示す単位処理図形を有向線によって接続し、複数の処理ステップを順に実行する上記プログラムを図形プログラムとして生成し、表示する制御を行う。端末装置１００は、当該生成の際、ユーザの意図通りに単位処理図形の接続が行われるよう、接続処理及び表示制御を行う。
【００２８】
§２  構成例
以下、端末装置１００の構成例について、詳細に説明する。
【００２９】
端末装置１００には、ＰＬＣ２１０に提供するプログラムを編集するプログラム編集部１１０、ユーザからの図形プログラムの編集操作を受け付ける入力部１３０、図形プログラムを表示する表示部１４０、編集された図形プログラムをＰＬＣ２１０に送信するＰＬＣサポート部１５０が含まれる。
【００３０】
プログラム編集部１１０は、図形プログラムに対する変更を行う編集部１１１、プログラム記憶部１２１、図形プログラム部品格納部１２２、図形プログラム表示部１２３を有する。
【００３１】
図形プログラムとは、部品化されたプログラム部品を単位処理図形として、単位処理図形同士のデータの受け渡し方向を有向線として表示することによって、一連のプログラムの実行順をユーザにわかりやすく表示したものである。本実施形態では、図形プログラムはＰＬＣ２１０上のパイプラインに対応している。
【００３２】
プログラム編集部１１０は、例えば以下のように図形プログラムを設定しプログラム記憶部１２１に保存することができる。すなわち、ある単位処理図形が、自らを接続先とする有向線を持たない場合、当該単位処理図形を図形プログラムの最上流に設定する。当該単位処理図形に接続された有向線があれば、該有向線及び当該有向線に接続された単位処理図形を当該図形プログラムに追加する。更に、新しく追加された単位処理図形に接続先の単位処理図形がある場合は、接続先がなくなるまでこれを繰り返す。プログラム記憶部１２１は、また、全図形プログラムを１つの図形プログラム群として扱い保存することもできる。
【００３３】
以降、ある単位処理図形に対して有向線の接続元となっている単位処理図形を、該単位処理図形の上流図形といい、有向線の接続先となっている単位処理図形を、該単位処理図形の下流図形という。
【００３４】
図形プログラム部品格納部１２２は、図形プログラムの部品となる単位処理図形を格納する。単位処理図形は、装置や実行プログラムの種類によって定義されている。当該定義の中には、単位処理図形が終端ノードである（下流図形を持つことを禁止されている）ことが含まれていてもよい。
【００３５】
図形プログラム表示部１２３は、図形プログラムを表示用に整形し、表示部１４０に送信する。
【００３６】
表示部１４０は、図形プログラム表示部１２３から送られた図形プログラムを例えばスクリーン上に表示する。
【００３７】
入力部１３０は、ユーザの図形プログラムに対する編集操作を受け付ける。
【００３８】
単位処理図形はＰＬＣ２１０上の実行可能ファイル２４０及びパラメータと対応している。また、仮想平面上の有向線はそれらの実行可能ファイル２４０の実行順及びデータの受け渡しに対応している。
【００３９】
端末装置１００は、ＰＬＣ２１０と例えばＵＳＢケーブルで接続されている。ＰＬＣ２１０へのプログラムの書込みなどの通信は、ＵＳＢケーブルおよびＰＬＣサポート部１５０を通じて行われる。なお、ＵＳＢに代えてＥｔｈｅｒｎｅｔ（登録商標）で接続され、ＥｔｈｅｒｎｅｔケーブルおよびＬＡＮ機器を通じて通信が行われてもよい。
【００４０】
図形プログラム群の実体、すなわち、プログラム部品を使用するという宣言・各プログラム部品の設定・実行順序（データの受け渡し）は、例えばテキストデータとしてプログラム記憶部１２１に記憶され、ＰＬＣサポート部１５０を通じてＰＬＣ２１０に送信される。
【００４１】
そして、本実施形態に係る生産システム２００では、ＰＬＣ２１０は、プログラム編集部１１０で生成された図形プログラムを読み込み、該図形プログラムで定義された順序で実行可能ファイル２４０を実行する。この際、プログラムの実行及びデータの受け渡しは、図形プログラム上の有向線で表された順序で行われる。
【００４２】
この構成により、プログラムに不慣れなユーザでも、画面上に表示された図形プログラムを操作することで、ＰＬＣ２１０上で動作するプログラムを直感的に作成することができる。
【００４３】
図２には、ＰＬＣ２１０上で実行される図形プログラムの一例を示している。図２において、入力ノードＩｎｐｕｔ、ロジックノードＬｏｇｉｃ、出力ノードＯｕｔｐｕｔにより構成される複数のパイプラインが示されている。なお、図示されないが、各々のロジックノードＬｏｇｉｃと出力ノードＯｕｔｐｕｔの前段には受信キューが接続される。
【００４４】
ＰＬＣ２１０は更に、それが備える記憶装置内のデータファイル２１１、２１２や、その内部で動作する、工作機械のモーション制御プログラム等のアプリケーション２１３、２１４、パイプライン演算装置２１５を有している。
【００４５】
パイプライン演算装置２１５は、演算部２１６及び制御部２１７を有している。演算部２１６においては、入力ノードと出力ノードとの間に、順次必要なロジックノードが接続されて、パイプラインが構成される。パイプラインは、通常多数であるが、少なくとも１つあればよい。制御部２１７は、上記ノードやキューを監視し、ノードの稼働時間を割り当てる。
【００４６】
パイプライン演算装置２１５の入力ノードＩｎｐｕｔの接続先は、データファイル２１１や、アプリケーション２１３であり得る。更に、入力ノードＩｎｐｕｔの接続先は、ＰＬＣ２１０の外部機器である、工作機械や測定機器その他の各種ＦＡ機器、各種生産情報に関するデータを収集し提供するデータサーバ１１、各種生産情報に関するデータを保存するデータベース１２、インターネットやその他のネットワーク上のクラウドサーバ１３であり得る。
【００４７】
パイプライン演算装置２１５の出力ノードＯｕｔｐｕｔの接続先は、データファイル２１２や、アプリケーション２１４であり得る。更に、出力ノードＯｕｔｐｕｔの接続先は、ＰＬＣ２１０の外部機器である、工作機械や測定機器その他の各種ＦＡ機器、ＦＡ機器に関するデータを収集し提供するデータサーバ１１、各種生産情報に関するデータを収集し提供するデータベース１２、インターネットやその他のネットワーク上のクラウドサーバ１３であり得る。
【００４８】
入力ノードＩｎｐｕｔの接続先であるアプリケーション２１３と、出力ノードＯｕｔｐｕｔの接続先であるアプリケーション２１４とは、異なるアプリケーションであってもよいし、同一のアプリケーションであってもよい。
【００４９】
図３は、編集部による一連の図形プログラム編集処理の流れを示すフローチャートである。
【００５０】
（ステップＳ３０１）
ステップＳ３０１において、編集部１１１は、プログラム記憶部１２１から保存されている図形プログラムを読み込む。
【００５１】
（ステップＳ３０２）
ステップＳ３０２において、図形プログラム表示部１２３は、読み込まれた図形プログラムを表示する。
【００５２】
（ステップＳ３０３）
ステップＳ３０３において、図形プログラム表示部１２３は、図形プログラム部品格納部１２２に定義されている配置可能な単位処理図形種別の一覧を表示する。
【００５３】
＜実質領域設定処理＞
実質領域設定部１１２は、全ての配置済み単位処理図形についてステップＳ３１０を繰り返す。
【００５４】
（ステップＳ３１０）
ステップＳ３１０において、実質領域設定部１１２は、単位処理図形について、実質領域を設定する。実質領域は、該単位処理図形と他の単位処理図形との重なり判定に使用される領域である。実質領域は、表示される単位処理図形の領域と一致していても、表示される単位処理図形の領域を含む矩形又は楕円であっても、表示される単位処理図形の領域に含まれる点であってもよい。
【００５５】
＜接続領域設定処理＞
接続領域設定部１１３は、全ての配置済み単位処理図形についてステップＳ３２０を繰り返す。
【００５６】
（ステップＳ３２０）
ステップＳ３２０において、接続領域設定部１１３は、単位処理図形について、接続領域を設定する。ある単位処理図形の実質領域と他の単位処理図形の接続領域が重なる場合、該単位処理図形は当該他の単位処理図形の下流図形として配置される。このとき、接続領域の設定は最下流の単位処理図形から順に行われる。すなわち、ある単位処理図形の接続領域は該単位処理図形の全ての下流図形の接続領域及び位置を参照して設定されるため、下流側の単位処理図形についての接続領域設定が終了してから上流側の単位処理図形について接続領域設定を行う。
【００５７】
（ステップＳ３３０）
ステップＳ３３０において、編集部１１１は、ユーザによる単位処理図形の座標変更又は配置操作を受け付ける。座標変更操作は、例えばユーザがマウスで画面上の単位処理図形をドラッグする操作であり、配置操作は、例えばユーザが当該画面上の単位処理図形をドロップする操作である。
【００５８】
（ステップＳ３３１）
ステップＳ３３１において、編集部１１１は、ユーザの操作の種別を判定する。ユーザの操作が単位処理図形の座標変更であった場合、ステップＳ３４０に移行する。ユーザの操作が単位処理図形の配置であった場合、ステップＳ３５０に移行する。ユーザの操作がそれ以外であった場合、ステップＳ３３０に移行する。
【００５９】
＜座標変更処理＞
（ステップＳ３４０）
ステップＳ３４０において、実質領域設定部１１２は、座標変更中の単位処理図形に実質領域を設定する。このステップは、ステップＳ３１０と同様である。
【００６０】
（ステップＳ３４１）
ステップＳ３４１において、接続処理部１１５は、ステップＳ３４７で追加された仮の有向線を削除する。
【００６１】
（ステップＳ３４２）
ステップＳ３４２において、接続処理部１１５は、座標変更中の単位処理図形と接続領域が重なる配置済み単位処理図形を選出する。
【００６２】
（ステップＳ３４３）
ステップＳ３４３において、接続処理部１１５は、座標変更中の単位処理図形と接続領域が重なる配置済み単位処理図形があったかどうかを判定する。座標変更中の単位処理図形と接続領域が重なる配置済み単位処理図形が無かった場合（ＮＯ）、ステップＳ３３０へ移行する。座標変更中の単位処理図形と接続領域が重なる配置済み単位処理図形があった場合（ＹＥＳ）、ステップＳ３４４へ移行する。
【００６３】
（ステップＳ３４４）
ステップＳ３４４において、接続処理部１１５は、ステップＳ３４２で選出された単位処理図形を上流図形として座標変更中の単位処理図形と仮の有向線で接続する。仮の有向線は、単位処理図形の暫定的な上流・下流関係を示すための有向線であって、実際のプログラムには反映されない。その後、ステップＳ３３０へ移行する。
【００６４】
＜配置処理＞
（ステップＳ３５０）
ステップＳ３５０において、実質領域設定部１１２は、配置された単位処理図形に実質領域を設定する。このステップは、ステップＳ３１０と同様である。
【００６５】
（ステップＳ３５１）
ステップＳ３５１において、接続処理部１１５は、仮の有向線を通常の有向線に置換する。通常の有向線に置換されたことをもって、当該単位処理図形同士の処理順序がプログラムに反映される。
【００６６】
（ステップＳ３５２）
ステップＳ３５２において、接続処理部１１５は、配置された単位処理図形から図形プログラムの最上流の単位処理図形までの各単位処理図形について、接続領域を設定する。当該設定処理は、ステップＳ３２０と同様である。その後、ステップＳ３３０へ移行する。
【００６７】
＜接続領域設定処理の詳細＞
図４は、図３のステップＳ３２０及びステップＳ３５２に該当する接続領域設定処理の詳細を示した図である。
（ステップＳ３２１）
ステップＳ３２１において、接続領域設定部１１３は、対象となる単位処理図形の種別から図形プログラム部品格納部１２２を参照し、対象となる単位処理図形が終端ノードか否かを判定する。対象となる単位処理図形が終端ノードである場合（ＹＥＳ）、該単位処理図形には下流図形を持つための接続領域は不要であるため、接続領域設定処理を終了する。これにより、下流図形を持つことを禁止されている単位処理図形に対し、ユーザが誤って単位処理図形を下流図形として接続することを防止できる。対象となる単位処理図形が下流図形を持つことを禁止されていない場合（ＮＯ）、ステップＳ３２２へ移行する。
【００６８】
（ステップＳ３２２）
ステップＳ３２２において、接続領域設定部１１３は、単位処理図形に規定の接続領域を設定する。当該接続領域は、当該単位処理図形の周辺に設定される。
【００６９】
（ステップＳ３２３）
ステップＳ３２３において、接続領域設定部１１３は、接続領域と、該単位処理図形の下流図形の実質領域が重なっているかを判定する。重なっている場合（ＹＥＳ）、ステップＳ３２４へ移行する。重なっていない場合（ＮＯ）、接続領域設定処理を終了する。
【００７０】
（ステップＳ３２４）
ステップＳ３２４において、接続領域設定部１１３は、下流図形の位置と接続領域とに応じて接続領域を拡大する。図形プログラムが配置される座標系において、処理の下流側を示す軸と、新しく追加された分岐を示す軸とが設定されている場合、当該接続領域は新しく追加された分岐を示す軸の方向に拡大される。また、接続領域は、単位処理図形の実質領域に合わせても拡大される。これにより、既に下位図形が多数単位処理図形に接続されている場合でも、新たに単位処理図形を下流図形として接続する余地を作ることができ、操作性を向上できる。本実施形態において、処理の下流側を示す軸（以下、処理座標という）をＸ軸、追加された分岐を示す軸（以下、分岐座標という）をＹ軸とし、接続領域の分岐座標側の大きさは、直下の下流図形の接続領域のＹ座標の最大値と、単位処理図形の実質領域のＹ軸上の大きさを加えた値に設定される。
【００７１】
＜重なり判定の詳細＞
図５は、図３のステップＳ３４２に該当する重なり判定の詳細を示した図である。
【００７２】
（ステップＳ４０１）
ステップＳ４０１において、接続処理部１１５は、各配置済み単位処理図形について、接続領域が座標変更中単位処理図形の実質領域と重なるものを全て挙げる。
【００７３】
（ステップＳ４０２）
ステップＳ４０２において、接続処理部１１５は、挙げられた配置済み単位処理図形について、上流・下流の関係にあるものが存在するかどうかを判定する。挙げられた配置済み単位処理図形について、上流又は下流の関係にあるものがあれば（ＹＥＳ）、ステップＳ４０３に移行する。上流又は下流の関係にあるものがなければ（ＮＯ）、ステップＳ４０４へ移行する。
【００７４】
（ステップＳ４０３）
ステップＳ４０３において、接続処理部１１５は、ステップＳ４０２で下流図形と判定された図形について、以降の処理で無視するよう設定する。これにより、上流図形が重なり判定において優先されるようになり、ユーザの意図通りの接続を可能にする。
【００７５】
（ステップＳ４０４）
ステップＳ４０４において、接続処理部１１５は、挙げられた配置済み単位処理図形について、分岐座標が最も大きい単位処理図形と座標変更中単位処理図形が重なっているとみなす。これにより、より新しく追加された分岐である単位処理図形が重なり判定において優先されるようになり、ユーザの意図通りの接続を可能にする。
【００７６】
＜画面図＞
図６は、表示制御部１１６が図形プログラムに対するユーザの編集を受け付ける際に表示する場合の一例を示した画面図である。
【００７７】
編集画面５００は、配置可能な単位処理図形種別の一覧５０１と、図形プログラム配置画面５０２を有する。表示制御部１１６は、配置可能な単位処理図形種別の一覧５０１に、ユーザが図形プログラム配置画面５０２に配置することができる単位処理図形種別の一覧を表示する。表示制御部１１６は、また、配置済み単位処理図形及び座標変更中の単位処理図形を図形プログラム配置画面５０２に表示する。
【００７８】
図６の例では、処理座標をＸ軸、分岐座標をＹ軸とし、Ｘ軸は左から右へ、Ｙ軸は上から下へと伸びるものとする。また、別の例では、処理座標と分岐座標はそれぞれ上下又は左右が逆であってもよく、処理座標と分岐座標が逆であってもよく、直交座標、斜交座標、極座標その他いかなる座標系であってもよい。
【００７９】
また、本図では、説明の簡易さのため、各単位処理図形の実質領域は各単位処理図形の領域と一致し、その縦幅は１とする。
【００８０】
図中に示された単位処理図形Ｆ１１からＦ１４及びＦ２１は、配置済み単位処理図形であって、その接続領域は各単位処理図形の右方に灰色で示されている。規定の接続領域は、単位処理図形の右上端から大きさ（２，１）の矩形として設定されているものとする。例えば、単位処理図形Ｆ１１の接続領域は、下流図形の接続領域のＹ座標の最大値である６に単位処理図形の実質領域の縦幅１を加えた７へとＹ座標が拡大されている。
【００８１】
単位処理図形Ｆ１５がユーザの座標移動操作により図中の位置にあるとき、単位処理図形Ｆ１５の実質領域は単位処理図形Ｆ１３の接続領域及び単位処理図形Ｆ１４の接続領域と重なっているが、上述の重なり判定により単位処理図形Ｆ１４の上流図形である単位処理図形Ｆ１３との重なりが優先されるため、表示制御部１１６は、単位処理図形Ｆ１３と座標移動中単位処理図形Ｆ１５との間に仮の有向線を破線で表示している。
【００８２】
また、単位処理図形Ｆ２２がユーザの座標移動操作により図中の位置にあるとき、単位処理図形Ｆ２２の実質領域は単位処理図形Ｆ１１の接続領域及び単位処理図形Ｆ２１の接続領域と重なっているが、上述の重なり判定により、より分岐座標の大きい単位処理図形のＦ２１との重なりが優先されるため、表示制御部１１６は、単位処理図形Ｆ２１と座標移動中単位処理図形Ｆ２２との間に仮の有向線を破線で表示している。
【００８３】
§３  変形例１
編集部１１１は、接続限界領域設定部１１４を有していてもよい。接続限界領域設定部１１４は、図形プログラム中の単位処理図形に、接続限界領域を設定する。接続限界領域は、該単位処理図形の接続領域を含み、かつ、より広いことが好ましい。座標変更中単位処理図形が、一度他の単位処理図形の接続領域と重なり、仮の有向線で該単位処理図形と接続された後、接続領域との重なりが解消された場合も当該上流図形との接続は解除されない。しかし、該座標変更中単位処理図形が接続限界領域と重ならなくなったとき、接続処理部１１５は、該仮の有向線を削除し、座標変更中単位処理図形と該上流図形との接続を解除する。
【００８４】
これにより、ユーザが見やすいように単位処理図形同士の間隔をある程度空けることは許容しつつも、ユーザの直感に従って単位処理図形同士の接続を解除することが可能になる。
【００８５】
〔ソフトウェアによる実現例〕
プログラム編集部１１０（特に編集部１１１）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【００８６】
後者の場合、プログラム編集部１１０は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００８８】
１１０  プログラム編集部
１１１  編集部
１１２  実質領域設定部
１１３  接続領域設定部
１１５  接続処理部
１１６  表示制御部
１２１  プログラム記憶部
１２２  図形プログラム部品格納部
１２３  図形プログラム表示部
１３０  入力部
１４０  表示部
２００  生産システム
２１０  ＰＬＣ
【図１】
2020181339.tif 000003
【図２】
2020181339.tif 000004
【図３】
2020181339.tif 000005
【図４】
2020181339.tif 000006
【図５】
2020181339.tif 000007
【図６】
2020181339.tif 000008