(57)【要約】  ラダープログラム編集支援装置（１００）は、ラダープログラムにおける、プラス母線とマイナス母線との間の領域にシンボルで表示されてラダープログラムを構成する複数の回路要素を表示部（２０）に表示させてラダープログラムを編集する。ラダープログラム編集支援装置（１００）は、ラダープログラムを表示する表示部（２０）と、表示部（２０）に表示されたラダープログラムのうち編集対象となる選択範囲を選択し、選択範囲のラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って表示部（２０）においてリスト形式で表示する編集制御部（３３）とを備える。
2018051441.tif 000002
【特許請求の範囲】
【請求項１】
ラダープログラムにおける、プラス母線とマイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置であって、
前記ラダープログラムを表示する前記表示部と、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲を選択し、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示する編集制御部と、
を備えることを特徴とするラダープログラム編集支援装置。
【請求項２】
複数の行にわたって記述されたラダープログラムにおける、プラス母線およびマイナス母線と、前記プラス母線と前記マイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置であって、
前記ラダープログラムを表示する前記表示部と、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲を選択する編集制御部と、
前記選択範囲の前記ラダープログラムを、前記選択範囲の前記ラダープログラムに含まれる前記回路要素の前記表示部における位置を特定する位置情報と共に記憶する記憶部と、
を備えることを特徴とするラダープログラム編集支援装置。
【請求項３】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項２に記載のラダープログラム編集支援装置。
【請求項４】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項５】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項６】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番、かつ１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項７】
前記編集制御部は、前記回路要素に関連するコメントを前記表示部に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項８】
前記編集制御部は、前記表示部に表示させた前記回路要素の識別情報および前記コメントを編集可能であること、
を特徴とする請求項７に記載のラダープログラム編集支援装置。
【請求項９】
前記編集制御部は、前記回路要素の現在の状態を示す現在値を前記表示部に表示させて変更すること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１０】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素をシンボリックに前記表示部に表示させ、前記ラダープログラムにおける前記回路要素の位置を併せて前記表示部に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１１】
前記編集制御部は、前記選択範囲に含まれる前記ラダープログラムを単一の図形で前記表示部において前記ラダープログラム上に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１２】
前記編集制御部は、前記選択範囲の前記ラダープログラムの動作確認時に外部から入力される、前記選択範囲の前記ラダープログラムによって定義されたラダープログラムの動作状態の情報を前記表示部に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１３】
前記編集制御部は、前記選択範囲に含まれるラダープログラムの前記表示部への表示および前記選択範囲に含まれるラダープログラムの編集を制限するセキュリティ情報を前記選択範囲に含まれるラダープログラムに付加すること、
を特徴とする請求項１，３から１２のいずれか１つに記載のラダープログラム編集支援装置。
【請求項１４】
前記編集制御部は、前記選択範囲の前記ラダープログラムをコピーして前記ラダープログラムにおける任意の位置に１つのプログラム部品として配置すること、
を特徴とする請求項１から１３のいずれか１つに記載のラダープログラム編集支援装置。
【請求項１５】
ラダープログラムにおける、プラス母線とマイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素の識別情報を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置における前記ラダープログラムの編集方法であって、
前記ラダープログラムを前記表示部に表示する第１ステップと、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲を選択する第２ステップと、
前記選択範囲の前記ラダープログラムに含まれる前記回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示させる第３ステップと、
を含むことを特徴とするラダープログラムの編集方法。
【請求項１６】
複数の行にわたって記述されたラダープログラムにおける、プラス母線およびマイナス母線と、前記プラス母線と前記マイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置における前記ラダープログラムの編集方法であって、
前記ラダープログラムを表示部に表示する第１ステップと、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲を選択する第２ステップと、
前記選択範囲の前記ラダープログラムを、前記選択範囲の前記ラダープログラムに含まれる前記回路要素の前記表示部における座標位置を特定する位置情報と共に記憶部に記憶する第３ステップと、
を含むことを特徴とするラダープログラムの編集方法。
【請求項１７】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示させるステップを有すること、
を特徴とする請求項１６に記載のラダープログラムの編集方法。
【請求項１８】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの前記行の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項１９】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２０】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番、かつ１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２１】
前記回路要素に関連するコメントを記憶部に記憶させ、前記表示部に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２２】
前記表示部に表示させた前記回路要素の識別情報および前記コメントを変更して前記記憶部に記憶させるステップを有すること、
を特徴とする請求項２１に記載のラダープログラムの編集方法。
【請求項２３】
前記回路要素の現在の状態を示す現在値を前記表示部に表示させて変更するステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２４】
前記選択範囲の前記ラダープログラムに含まれる回路要素をシンボリックに前記表示部に表示させ、前記ラダープログラムにおける前記回路要素の位置を併せて前記表示部に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２５】
前記選択範囲に含まれる前記ラダープログラムを１つの単一の図形で前記表示部において前記ラダープログラム上に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２６】
前記選択範囲の前記ラダープログラムの動作確認時に外部から入力される、前記選択範囲の前記ラダープログラムによって定義されたラダープログラムの動作状態の情報を前記表示部に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２７】
前記選択範囲に含まれるラダープログラムの前記表示部への表示および前記選択範囲に含まれるラダープログラムの編集を制限するセキュリティ情報を前記選択範囲に含まれるラダープログラムに付加するステップを有すること、
を特徴とする請求項１５，１７から２６のいずれか１つに記載のラダープログラムの編集方法。
【請求項２８】
前記選択範囲の前記ラダープログラムをコピーして前記ラダープログラムにおける任意の位置に１つのプログラム部品として配置するステップを有すること、
を特徴とする請求項１５から２７のいずれか１つに記載のラダープログラムの編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラムの編集に用いられるラダープログラム編集支援装置およびラダープログラムの編集方法に関する。
【背景技術】
【０００２】
一般に、各種設備の制御には、プログラマブルロジックコントローラ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：ＰＬＣ）と呼ばれる産業用コントローラが用いられている。産業用コントローラで実行される制御プログラムに用いられる代表的なプログラム言語にラダー言語がある。通常、ラダー言語で記述されたプログラムは、プログラム編集支援装置を用いて作成され。以下、ラダー言語で記述されたプログラムをラダープログラムと呼ぶ。【０００３】
ＰＬＣに接続される制御対象機器は、既存装置が流用される場合、および既存装置が拡張されて使用される場合が多い。このため、大部分は既存のラダープログラムと同一であるが、部分的に既存のラダープログラムと差異があるラダープログラムが作成される場合が多い。したがって、プログラムを作成する際には、既存のラダープログラムの一部を機能単位で部品化して再利用することが多く行われる。【０００４】
ラダープログラムの部品化および再利用は、一般的に国際電気標準会議（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ：ＩＥＣ）６１１３１規格で定義されたファンクションブロックの仕組みを用いて実現されている。ファンクションブロックにより、ラダープログラムを構成する情報のカプセル化が実現され、ラダープログラムを部品として再利用することが可能になっている。【０００５】
しかしながら、ファンクションブロックは、部品化するプログラムを構成する入出力機器に対応するシンボルを変数として記述する。そして、この変数に対して実際に使用する入出力機器を結びつけることでプログラムの再利用を行う。このため、ファンクションブロックの挿入個所には、変数と入出力機器を結びつけるための入力手段が必要となり、部品化を行うプログラム内の入出力機器の数だけ入力個所を設ける必要がある。【０００６】
一般的にファンクションブロックの挿入個所を１つの箱として表現した場合、入力は箱の左側に、出力は箱の右側に入出力機器の数だけ縦方向に配置される。入出力機器の数が多い場合は、挿入個所の箱が縦に長くなり、プログラムの可読性を悪化させるとともに変数と入出力機器を結びつける操作が困難となり、作業効率が悪くなり、ラダープログラムの編集効率が悪くなる。【０００７】
このようなファンクションブロックを用いる技術として、特許文献１では、ファンクションブロック内のプログラムを真理値表で表し、プログラムの修正と変更を容易にする方法が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−１９４４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１においては、作成されたファンクションブロックを対象とした、ファンクションブロック内のプログラムの修正を容易にする技術は開示されているが、上述したようなファンクションブロックの構造に起因したラダープログラムの編集効率の問題を解消しうる技術については記載されておらず、上記問題を解消できない。【００１０】
本発明は、上記に鑑みてなされたものであって、ラダープログラムの編集効率を向上させることが可能なラダープログラム編集支援装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明にかかるラダープログラム編集支援装置は、ラダープログラムにおける、プラス母線とマイナス母線との間の領域にシンボルで表示されてラダープログラムを構成する複数の回路要素を表示部に表示させてラダープログラムを編集する。ラダープログラム編集支援装置は、ラダープログラムを表示する表示部と、表示部に表示されたラダープログラムのうち編集対象となる選択範囲を選択し、選択範囲のラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って表示部においてリスト形式で表示する編集制御部とを備える。
【発明の効果】
【００１２】
本発明にかかるラダープログラム編集支援装置は、ラダープログラムの編集効率を向上させることが可能なラダープログラム編集支援装置を得ることができる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態にかかるラダープログラム編集支援装置の構成を示すブロック図
【図２】本発明の実施の形態にかかるラダープログラム編集支援装置における表示部の画面の一例を示す模式図
【図３】本発明の実施の形態にかかる処理回路のハードウェア構成の一例を示す図
【図４】本発明の実施の形態にかかるプログラム編集支援装置においてラダープログラムの部品化に使用される部品化元のラダープログラムの例を示す図
【図５】本発明の実施の形態にかかるラダープログラム編集支援装置におけるプログラム部品の生成処理の流れを示すフローチャート
【図６】本発明の実施の形態にかかるラダープログラム編集支援装置において選択された選択範囲に含まれている回路要素を示す図
【図７】位置情報の表示方法の一例を示す模式図
【図８】本発明の実施の形態にかかるプログラム編集支援装置におけるプログラム部品生成処理の流れを示すフローチャート
【図９】本発明の実施の形態にかかるプログラム部品生成部がプログラム部品リストにリスト形式で記憶させるプログラム部品の情報を示す図
【図１０】本発明の実施の形態にかかるプログラム部品が登録されたプログラム部品リストの一例を示す図
【図１１】本発明の実施の形態において選択範囲の部品化が完了した状態のラダープログラムを示す図
【図１２】本発明の実施の形態において選択範囲の部品化を行う前の状態のラダープログラムを示す図
【図１３】本発明の実施の形態において選択されたプログラム部品内の回路要素の情報が回路要素編集領域にリスト形式で表示され、選択されたプログラム部品内のラダープログラムが部品化前プログラム表示領域に省略表示された状態の一例を示す図
【図１４】本発明の実施の形態においてプログラム部品のラダープログラムへの配置が完了した状態のプログラム編集領域の画面表示の一例を示す図
【図１５】本発明の実施の形態においてプログラム部品が選択された状態のプログラム編集領域の画面表示の一例を示す図
【図１６】本発明の実施の形態においてプログラム部品の作成が完了した状態の回路要素編集領域および部品化前プログラム表示領域の画面表示の一例を示す図
【図１７】本発明の実施の形態にかかるラダープログラム編集支援装置における仮想回路要素条件を決定する処理の流れを示すフローチャート
【図１８】本発明の実施の形態においてプログラム部品が部品化された状態でＰＬＣに書き込まれたラダープログラムの動作確認においてプログラム部品の回路要素の条件が成立した状態のプログラム編集領域の画面表示の一例を示す図
【図１９】本発明の実施の形態においてプログラム部品が部品化された状態でＰＬＣに書き込まれたラダープログラムの動作確認においてプログラム部品の回路要素の条件が非成立の状態のプログラム編集領域の画面表示の一例を示す図
【図２０】本発明の実施の形態においてセキュリティ情報によりプログラム部品の情報が読み取り禁止となった状態のプログラム編集領域の画面表示の一例を示す図
【図２１】本発明の実施の形態においてセキュリティ情報によりプログラム部品の情報が読み取り禁止となった状態の回路要素編集領域および部品化前プログラム表示領域の画面表示の一例を示す図
【図２２】本発明の実施の形態において選択されたプログラム部品内の回路要素の情報が回路要素編集領域に他の表示パターンによりリスト形式で表示された状態の一例を示す図
【図２３】本発明の実施の形態において選択範囲の部品化を行う前の状態のラダープログラムを示す図
【図２４】本発明の実施の形態において選択範囲の部品化が完了した状態のラダープログラムを示す図
【図２５】本発明の実施の形態において選択されたプログラム部品内の回路要素の情報が回路要素編集領域に他の表示パターンによりリスト形式で表示された状態の一例を示す図
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態にかかるラダープログラム編集支援装置およびラダープログラムの編集方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態
図１は、本発明の実施の形態にかかるラダープログラム編集支援装置１００の構成を示すブロック図である。ラダープログラム編集支援装置１００は、ＰＬＣシステムにおいてＰＬＣが制御対象機器を制御する際に用いられるラダープログラムの作成を支援する装置である。ラダープログラム編集支援装置１００は、入力部１０、表示部２０、制御部３０、記憶部４０、および出力部５０を備える。これらの各構成部は、互いに情報を通信可能に接続されている。ラダープログラム編集支援装置１００は、入力部１０から入力された指令に基づいて表示部２０の画面上に既定の回路要素をシンボリックに表示させて、１つの出力条件につき少なくとも１つの入力条件が対応したラダープログラムを編集および作成する。
【００１６】
ラダープログラムでは、ＰＬＣに接続された制御対象機器において制御に用いられる素子ごとの設定を回路要素により行う。回路要素は、１つの接点または１つのコイルといった不可分なものとして取り扱われる素子に対応する、ラダープログラムにおける基本的な構成要素である。回路要素は、ラダープログラムにおいて視覚的なオブジェクトによりシンボリックに表示されるグラフィカルなものである。ＰＬＣでは、接続された制御対象機器との間の入出力データを、ＰＬＣの予め定められたメモリ領域に格納する。したがって、素子ごとに対応するメモリアドレスが定められている。各回路要素は、回路要素文字とアドレスを示す数字とで示される識別情報である回路要素識別子で識別される。回路要素文字は、データ種別によって定められている。一例として、入力は「Ｘ」、出力は「Ｙ」である。したがって、例えば入力データが格納される回路要素、すなわちメモリ領域であって、アドレスが「０」の回路要素は、「Ｘ０」と示される。回路要素は、回路要素の種別を示す回路要素種別、回路要素を識別する回路要素識別子および命令種別によって定義される。
【００１７】
入力部１０は、キーボード、ポインティングデバイス、マウス、データ読み取り装置等の入力装置を用いて構成されて、ラダープログラムの編集にかかる指令およびラダープログラムをユーザの操作の下に制御部３０に入力する。
【００１８】
表示部２０は、液晶表示装置等の表示装置を用いて構成され、制御部３０による制御の下に動作してメニュー画面、編集画面などの画面を表示する。図２は、本発明の実施の形態にかかるラダープログラム編集支援装置１００における表示部２０の画面の一例を示す模式図である。表示部２０は、プログラム部品リスト７１を表示するプログラム部品リスト表示領域２１と、ラダープログラムを表示してラダープログラムの編集および作成を行うためのプログラム編集領域２２とを有する画面を表示する。また表示部２０は、プログラム部品によって定義された部分プログラムで使用されている回路要素を示すシンボル、定数を表示して編集するための回路要素編集領域２３と、プログラム部品に対応する部品化前のラダープログラムを表示する部品化前プログラム表示領域２４とを有する画面を表示する。
【００１９】
制御部３０は、表示部２０の画面上でラダープログラムを編集および作成するための動作制御、編集および作成したラダープログラムのデータを記憶部４０に格納するための動作制御、記憶部４０に格納されたデータを出力部５０から出力するための動作制御等のラダープログラム編集支援装置１００の動作制御を行う。
【００２０】
これらの動作制御を行うために、制御部３０は、入力部１０から入力された指示を受け付ける入力処理部３１と、ラダープログラム編集支援装置１００における表示の動作制御を行う表示制御部３２と、ラダープログラムの編集の動作制御を行う編集制御部３３と、記憶部４０からデータを読み出して出力部５０から出力させる出力制御部３４と、を有している。
【００２１】
入力処理部３１は、入力部１０から入力された各種指示を受け付けて、指令の内容に基づいて該指令を表示制御部３２、編集制御部３３、または出力制御部３４に振り分ける。
【００２２】
表示制御部３２は、表示部２０での画面表示の画像を作成して表示する画面表示の動作制御を行う。
【００２３】
編集制御部３３は、表示部２０の画面上でのラダープログラムの編集および表示の動作制御を行う。編集制御部３３は、基本機能としてラダーエディタとしてのプログラミング機能を含んでおり、図２に示すように、表示部２０のプログラム編集領域２２上でラダープログラムを作成できる。編集制御部３３は、入力部１０からの指令に基づいてラダープログラムでのプラス母線Ｂｐとマイナス母線Ｂｍとを表示部２０のプログラム編集領域２２に表示させ、当該プラス母線Ｂｐとマイナス母線Ｂｍとの間の領域に複数本の補助線を縦横に表示させて当該領域を複数のセルに区画する処理を行うことができる。また、編集制御部３３は、入力部１０からの指令に基づいて、ラダープログラムの編集時に上記の画面に編集メニューを表示させたり、入力部１０からの指令に基づいて所望の回路要素を所望のセルにシンボリックに表示させることができる。また、編集制御部３３は、ラダープログラムでの入力条件と出力条件との論理構造に対応した論理式のデータを作成し、該データを用いてラダープログラムに自動的に接続線を引いたりする。
【００２４】
これらの動作制御および処理を行うために、編集制御部３３は、ラダープログラムでの各回路要素の配置を特定することができる情報である座標情報を作成して記憶部４０に格納し、該座標情報を用いて各回路要素の配置および接続線の描画位置を特定する。また、編集制御部３３は、編集したラダープログラムの座標情報等のデータおよび上記論理式のデータを記憶部４０に格納する。
【００２５】
また、編集制御部３３は、プログラム部品の生成および編集にかかる機能部として、プログラム部品を生成するプログラム部品生成部６１と、プログラム編集領域２２においてプログラム部品を１つの図形として表示するプログラム部品表示制御部６２と、プログラム部品の回路要素に関連する情報を編集するプログラム部品回路要素編集部６３と、を有する。
【００２６】
プログラム部品生成部６１は、入力部１０から入力された指令の内容に基づいて、プログラム編集領域２２に表示されたラダープログラムの一部から、再利用可能なプログラム部品を生成する。プログラム部品は、既存のラダープログラムにおけるプログラム部品の編集対象であって任意に選択される選択範囲に含まれるラダープログラムを構成する回路要素と同じ論理構造を有する部分プログラムである。プログラム部品は、上記の選択範囲の動作処理と同一の動作処理を行う１つの動作処理部として、すなわち一つの回路要素と同様に、管理される。プログラム部品は、一つの回路要素からなり単一動作が行われる単一動作処理プログラム、または複数の回路要素を含んで複数の動作が行われる複合動作処理プログラムを含む。
【００２７】
プログラム部品生成部６１は、入力部１０から入力された指令の内容に基づいて、プログラム編集領域２２に表示されたラダープログラムにおける任意の指定範囲に含まれるラダープログラムを座標情報と共に記憶部４０のプログラム部品リスト７１に記憶させる。すなわち、プログラム部品生成部６１は、回路要素の情報を記憶部４０に記憶されたラダープログラムの情報から取得する。そして、プログラム部品生成部６１は、この情報にプログラム部品名とセキュリティ情報とを付加してプログラム部品の情報を生成し保持すると共に、プログラム部品リスト７１に登録する。回路要素の情報は、回路要素の位置情報である座標情報と、プロパティ情報と、回路要素に関連するコメントである回路要素コメントと、ＰＬＣから取得した回路要素の状態と、を有する。回路要素の位置情報は、表示部２０のプログラム編集領域２２に表示されたラダープログラムにおける回路要素の、プログラム編集領域２２上での配置位置を示す情報である。回路要素コメントは、回路要素が何に使用されるのか等の、回路要素に関する任意の説明が記述されたコメントである。ユーザは、回路要素コメントを参照することにより、選択範囲に含まれるラダープログラムをイメージしやすくなる。したがって、回路要素コメントは、ラダープログラムの編集効率の向上に寄与する。
【００２８】
座標情報は、プログラム編集領域２２のグリッド領域での位置を、原点（０，０）を基準にして数値で表す直交座標系における絶対座標である。座標情報は、グリッド領域の横軸をｘ軸、グリッド領域の縦軸をｙ軸とした場合、グリッド領域における位置をｘ軸の値とｙ軸の値とを組み合わせて、座標（ｘ１、ｙ１）のように表現される。ラダープログラム編集支援装置１００では、この座標情報を使用して、ラダープログラムをプログラム編集領域２２に表示している。
【００２９】
プロパティ情報は、回路要素の特性を表す情報である。回路要素のプロパティ情報に、回路要素の種別を示す回路要素種別、回路要素を識別する回路要素識別子および命令種別がある。
【００３０】
命令種別は、回路要素がＡ接点であれば「ＬＤ」で示される論理演算開始、回路要素がＢ接点であれば「ＬＤＩ」で示される論理演算など、プログラムの命令の動作を表現したものである。
【００３１】
プログラム部品名は、プログラム編集領域２２に表示されたラダープログラムにおいて、プログラム部品として識別可能な一意に定義されるプログラム部品の名称である。プログラム部品名は、入力部１０から入力された指令の内容により指定された名称でもよく、プログラム部品生成部６１により自動で付加される名称でもよい。
【００３２】
セキュリティ情報は、部品化されたプログラム部品が、プログラム部品の内部の情報を表示部２０に表示可能な部品であるか否か、およびプログラム部品の内部の情報を編集可能な部品であるか否か、を示す情報である。表示可能な部品は、プログラム部品の内部の情報を表示部２０に表示できる部品である。表示不可能な部品は、プログラム部品の内部の情報を表示部２０に表示できない部品である。編集可能な部品は、プログラム部品の内部の情報を表示部２０に表示可能であり、且つ編集することができる部品である。編集不可能な部品は、プログラム部品の内部の情報を表示部２０に表示可能であるが、編集することができない部品である。表示可能な部品および編集可能な部品については、表示および編集のそれぞれの処理はパスワードにより保護することが可能である。
【００３３】
プログラム部品リスト７１は、記憶部４０に記憶されており、複数のプログラム部品の情報を記憶することができる。プログラム部品リスト７１は、複数のプログラム部品の情報を記憶する場合に、各プログラム部品内の先頭の回路要素の座標位置の行の順番に、各プログラム部品の情報を格納する。すなわち、プログラム部品リスト７１は、各プログラム部品内の先頭の回路素子の座標位置が小さい順に、各プログラム部品の情報を格納する。また、プログラム部品リスト７１は、選択範囲のラダープログラムに含まれる回路要素および各プログラム部品の情報を、ラダープログラムの行の順番、および１行のラダープログラムのプラス母線Ｂｐとマイナス母線Ｂｍとの間の領域における回路要素のプラス母線Ｂｐ側からの配置の順番に従って格納する。プログラム部品リスト７１においては、各プログラム部品のプログラム部品名とセキュリティ情報も記憶されている。
【００３４】
プログラム部品表示制御部６２は、入力部１０から入力された指令の内容に基づいて、プログラム編集領域２２に表示されたラダープログラムにおいてプログラム部品の範囲として選択される選択範囲を、プログラム編集領域２２において１つの図形として表示する制御を行う。すなわち、プログラム部品表示制御部６２は、プログラム編集領域２２に表示されたラダープログラムにおいて、プログラム部品を１つの図形として表示する制御を行う。プログラム部品として表示する図形は、部品化するラダープログラムの大きさに関係なく任意の大きさで定義することができ、部品化する前のラダープログラムと比較して表示領域を小さくすることが可能である。プログラム部品として表示する図形には、プログラム部品名およびプログラム部品に関する任意の説明を付加することができる。プログラム部品名およびプログラム部品に関する任意の説明は、プログラム部品として表示する図形上に表示することができる。
【００３５】
また、プログラム部品表示制御部６２は、選択状態情報および条件成立情報を保持する。そして、プログラム部品表示制御部６２は、選択状態情報と条件成立情報とを、表示部２０に表示されたラダープログラム上で区別して表示する機能を有する。
【００３６】
選択状態情報は、単純にプログラム部品が選択状態か非選択状態かを示す情報である。条件成立情報は、プログラム部品に対応する仮想回路要素の状態を表す情報であり、プログラム部品の仮想回路要素条件の成立または非成立の状態を表す。仮想回路要素条件は、プログラム部品が有効となる条件である。仮想回路要素は、ラダープログラム上に表示されている回路要素ではなく、プログラム部品の中から出力に最終的に影響する単一または複数の回路要素から自動的に生成され、プログラム部品表示制御部６２の内部に保持される。仮想回路要素条件の詳細については後述する。
【００３７】
プログラム部品回路要素編集部６３は、入力部１０から入力された指令の内容に基づいて、プログラム部品リスト７１に記憶された複数のプログラム部品のうち任意のプログラム部品に関連する情報を回路要素編集領域２３に表示し、編集する制御を行う。すなわち、プログラム部品回路要素編集部６３は、プログラム部品として定義されたラダープログラムにおいて使用されている回路要素、定数といった情報を回路要素編集領域２３に表示し、編集する制御を行う。
【００３８】
プログラム部品回路要素編集部６３は、プログラム部品生成部６１およびプログラム部品リスト７１に保持された情報を使用し、プログラム部品内に記述されたプログラム部品を構成する回路要素の情報として、回路要素識別子、命令種別、回路要素に対応した回路要素コメント、ＰＬＣから取得した回路要素の状態を、回路要素編集領域２３にリスト形式で表示する制御を行う。プログラム部品回路要素編集部６３は、選択範囲のラダープログラムに含まれる回路要素を、予め設定された表示順序に従って回路要素編集領域２３にリスト形式で表示させる。すなわち、プログラム部品回路要素編集部６３は、ラダープログラムの行の順番、および１行のラダープログラムのプラス母線Ｂｐとマイナス母線Ｂｍとの間の領域における回路要素のプラス母線Ｂｐ側からの配置の順番に従って表示する。プログラム部品回路要素編集部６３は、選択範囲のラダープログラムに含まれる回路要素の情報として、回路要素識別子、命令種別、回路要素に対応した回路要素コメント、ＰＬＣから取得した回路要素の状態を回路要素編集領域２３にリスト形式で表示させるため、選択範囲のラダープログラムと、回路要素編集領域２３におけるリスト形式での表示とには相関関係がある。そして、上述した選択範囲のラダープログラムの回路要素の情報が回路要素編集領域２３にリスト形式で表示されることにより、選択範囲のラダープログラム内の回路要素の配置および詳細が理解しやすくなる。
【００３９】
また、プログラム部品回路要素編集部６３は、入力部１０から入力された指令の内容に基づいて、リスト形式で表示された各回路要素の回路要素識別子、命令種別、回路要素コメントを変更して記憶部４０のプログラム部品リスト７１に記憶させるとともに記憶部４０に記憶されたラダープログラムに反映させてラダープログラムを更新する機能を有する。また、プログラム部品回路要素編集部６３は、どのプログラム部品に関連する情報が回路要素編集領域２３に表示されているかの情報を回路要素編集領域２３に表示させる機能を有する。
【００４０】
プログラム部品回路要素編集部６３は、プログラム部品生成部６１およびプログラム部品リスト７１が持つ情報の一つである回路要素の座標位置の情報に基づいて、プログラム部品における各回路要素のラダープログラム上の位置を部品化前プログラム表示領域２４に示す機能を有する。
【００４１】
また、プログラム部品回路要素編集部６３は、対象のプログラム部品がセキュリティ情報により表示禁止状態であれば、回路要素編集領域２３および部品化前プログラム表示領域２４への表示を禁止してラダープログラム上で１つの図形状態のままで表示させて、プログラム部品の詳細の情報を表示しない機能を有する。また、プログラム部品回路要素編集部６３は、対象のプログラム部品がセキュリティ情報により編集禁止状態であれば、プログラム部品回路要素編集部６３で編集することを禁止する機能を有する。
【００４２】
なお、上述したようにプログラム部品に関連する情報は、回路要素編集領域２３に表示され、プログラム部品の編集に必要な情報がユーザに提供される。このため、部品化前プログラム表示領域２４には、プログラム部品内のラダープログラムをそのまま表示しなくてもよく、プログラム部品内のラダープログラムが持つ論理構造のみを部品化前プログラム表示領域２４に表示させるのみで十分である。したがって、プログラム部品回路要素編集部６３は、プログラム部品内のラダープログラムの表示から、定数、命令種別といった情報を省略して、ラダープログラムが持つ論理構造で部品化前プログラム表示領域２４に表示させる機能を有する。また、プログラム部品回路要素編集部６３は、部品化前プログラム表示領域２４に省略表示したラダープログラムの座標位置を部品化前プログラム表示領域２４に表示する。これにより、元のラダープログラムにおけるプログラム部品内の位置を容易に認識できる。
【００４３】
出力制御部３４は、入力部１０からデータの出力を指示する指令が入力され、該指令が入力処理部３１により振り分けられてくると、記憶部４０からデータを読み出して出力部５０に送り、該出力部５０の動作を制御してデータを出力させる。
【００４４】
図３は、本発明の実施の形態にかかるラダープログラム編集支援装置１００の機能を実現するコンピュータ装置のハード構成の一例を模式的に示すブロック図である。図１に示した制御部３０は、図３に示すプロセッサ１０１がメモリ１０２に記憶された、制御部３０の処理手順が記述されたプログラムを読み出して実行することにより、実現される。このプログラムは、ハードディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  ＤｉｓｋまたはＤｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）などのコンピュータ装置で読取可能な記録媒体に記録され、または、このプログラムは、インターネットなどのネットワーク通信回線を介して配布することもできる。
【００４５】
図１に示した記憶部４０は、図３に示したメモリ１０２により実現される。記憶部４０には、制御部３０用の制御プログラム、ラダープログラムの編集に必要なデータ、ラダープログラムの編集中に発生するデータ、編集制御部３３が編集したラダープログラムのデータなど、ラダープログラム編集支援装置１００の処理に関連したデータが格納される。
【００４６】
出力部５０は、図示しないプリンタ、補助記憶装置、ネットワークに接続された送信装置等の装置により構成され、出力制御部３４による制御の下に動作して、編集したラダープログラム等のラダープログラム編集支援装置１００内のデータを出力する。
【００４７】
上述した構成を有するラダープログラム編集支援装置１００は、装置の立ち上げ後に入力部１０からの既定の指令を受け付けて、編集制御部３３による動作制御の下に表示部２０のプログラム編集領域２２にラダープログラムでのプラス母線Ｂｐとマイナス母線Ｂｍとを表示させ、さらにはプラス母線Ｂｐとマイナス母線Ｂｍとの間の領域に複数本の補助線を縦横に表示させて当該領域を複数のセルに区画した後、ラダープログラムの編集をユーザに行わせる。
【００４８】
つぎに、本実施の形態にかかるラダープログラム編集支援装置１００におけるラダープログラムの部品化およびラダープログラムの編集方法について説明する。図４は、本発明の実施の形態にかかるラダープログラム編集支援装置１００においてラダープログラムの部品化に使用される部品化元のラダープログラムの例を示す図である。図５は、本発明の実施の形態にかかるラダープログラム編集支援装置１００におけるプログラム部品の生成処理の流れを示すフローチャートである。ここでは、図４に示したラダープログラムのうち、選択範囲Ｓ１の部分を部品化する場合について説明する。
【００４９】
まず、部品化元のラダープログラムが入力部１０から入力される。入力された部品化元のラダープログラムは、入力部１０から編集制御部３３に送られ、編集制御部３３による動作制御の下に、プログラム編集領域２２のグリッド領域に表示される。また、編集制御部３３は、部品化元のラダープログラムを記憶部４０に記憶させる。
【００５０】
ラダープログラムは、回路要素を示すシンボルと接続線とを用いて表示される。図４に示した部品化元のラダープログラムでは、１行目におけるプラス母線Ｂｐとマイナス母線Ｂｍとの間に、入力条件を示す回路要素Ｘ０および回路要素Ｘ１、出力条件を示す回路要素Ｙ０が配置され、これらの回路要素とプラス母線Ｂｐとマイナス母線Ｂｍとが接続線により接続されている。また、ラダープログラムの２行目におけるプラス母線Ｂｐとマイナス母線Ｂｍとの間に、入力条件を示す回路要素Ｘ２が配置され、接続線により一行目の接続線と接続されている。また、３行目におけるプラス母線Ｂｐとマイナス母線Ｂｍとの間に、入力条件を示す回路要素Ｘ３、回路要素Ｘ４および回路要素Ｘ５、出力条件を示す回路要素Ｙ１が配置され、これらの回路要素が接続線により接続されている。なお、図４においては補助線の記載を省略している。
【００５１】
つぎに、プログラム編集領域２２に表示されたラダープログラムのうちプログラム部品編集対象となる、部品化する範囲を指定する範囲選択情報が入力部１０から入力される。ここでは、図４で示したラダープログラムのうちの選択範囲Ｓ１の部分を選択する範囲選択情報が入力される。入力された範囲選択情報は、入力部１０からプログラム部品生成部６１に送られる。
【００５２】
範囲選択情報が入力されると、ステップＳ１０においてプログラム部品生成部６１は、範囲選択情報により指定された選択範囲Ｓ１に含まれる回路要素を読み出す。すなわち、プログラム部品生成部６１は、選択範囲Ｓ１に含まれる回路要素の情報を、記憶部４０に記憶させた部品化元のラダープログラムから読み出し、記憶する処理を行う。ここでの回路要素の情報は、選択範囲Ｓ１に含まれる回路要素の位置情報、回路要素コメントおよびプロパティ情報、すなわち回路要素の回路要素種別、回路要素識別子、命令種別、回路要素コメント、座標位置の情報である。
【００５３】
図６は、本発明の実施の形態にかかるラダープログラム編集支援装置１００において選択された選択範囲Ｓ１に含まれている回路要素を示す図である。図６においては、回路要素の周辺の補助線Ｈを点線で示し、プログラム編集領域２２における座標位置を（０，０），（２，２）といったグリッド領域での直交座標系表示で示している。
【００５４】
また、位置情報は、プログラム編集領域２２のグリッド領域での直交座標系において、特定の位置を基準にした相対位置で表示されてもよい。相対位置は、基準となる回路要素の位置情報に対して相対的に決まる相対座標での位置の情報である。（σ，ε）を基準点とした場合、（σ＋２，ε＋２）の相対位置は、（２，２）となり、（σ＋Ｘ，ε＋Ｙ）の相対位置は（Ｘ，Ｙ）となる。ＸおよびＹは、整数である。また、ＸおよびＹは、直交座標系における軸目盛りの数値であってもよく、グリッド領域におけるセルの個数であってもよい。
【００５５】
また、位置情報は、極座標で表示されてもよい。図７は、位置情報の表示方法の一例を示す模式図である。図７においては、プログラム編集領域２２における位置Ｐ１、位置Ｐ２、位置Ｐ３を極座標で示している。すなわち、位置Ｐ１は（Ｌ１，θ１）で表され、位置Ｐ２は（Ｌ２，θ２）で表され、位置Ｐ３は（Ｌ３，θ３）で表される。Ｌ１，Ｌ２，Ｌ３は、原点Ｏからの距離を表す動径である。θ１，θ２，θ３は、原点を通る基準の半直線である始線から反時計周りに測った角度を表す偏角である。
【００５６】
回路要素の読み出しが完了すると、ステップＳ２０においてプログラム部品生成部６１は、読み出した各回路要素を解析する。そして、ステップＳ３０においてプログラム部品生成部６１は、読み出した各回路要素のプロパティ情報と、部品化不可条件とに基づいて、読み出したすべての回路要素が部品化可能な回路要素であるか否かを解析する。すなわち、プログラム部品生成部６１は、読み出した各回路要素のプロパティ情報を解析し、各回路要素のプロパティ情報が部品化不可条件に該当するか否かにより、回路要素が部品化可能な回路要素であるか否かを解析する。
【００５７】
プログラム部品生成部６１は、部品化が不可能な回路要素の条件である部品化不可条件を予め記憶している。部品化不可条件は、回路要素が部品化可能な回路要素であるか否かを判定する判定基準である。プログラム部品生成部６１は、部品化不可条件として、部品化が不可能な回路要素の回路要素種別、部品化が不可能な回路要素の回路要素識別子、部品化が不可能な回路要素の命令種別の情報を記憶している。プロパティ情報が部品化不可条件に該当しない回路要素は、部品化が可能な回路要素である。プロパティ情報が部品化不可条件に該当する回路要素は、部品化が不可能な回路要素である。
【００５８】
読み出したすべての回路要素が部品化可能な回路要素である場合、すなわちステップＳ３０においてＹｅｓの場合は、ステップＳ４０においてプログラム部品生成部６１は、読み出した回路要素を部品化してプログラム部品を生成するプログラム部品生成処理を行う。
【００５９】
一方、読み出した回路要素に部品化できない回路要素が１つでも含まれている場合、すなわちステップＳ３０においてＮｏの場合は、ステップＳ５０においてプログラム部品生成部６１は、プログラム部品生成処理を行わずにエラー処理を行い、表示部２０にエラー表示をする制御を行う。
【００６０】
つぎに、プログラム部品生成処理の流れについて説明する。図８は、本発明の実施の形態にかかるラダープログラム編集支援装置１００におけるプログラム部品生成処理の流れを示すフローチャートである。
【００６１】
ステップＳ１１０においてプログラム部品生成部６１は、記憶している部品化する回路要素の情報に対してプログラム部品名を付加する。プログラム部品名は、ラダープログラム内で一意に定義されるものであれば、ユーザにより指定されても良く、プログラム部品生成部６１により自動で付加されてもよい。
【００６２】
プログラム部品生成部６１は、プログラム部品名の入力を要求するコメントを表示部２０に表示させる処理を行う。ユーザがコメントに応答して入力部１０からプログラム部品名の情報を入力すると、入力されたプログラム部品名の情報は、プログラム部品生成部６１に送られる。プログラム部品生成部６１は、プログラム部品名の情報を受信した場合は、受信したプログラム部品名の情報に基づいて、記憶している部品化する回路要素の情報にプログラム部品名を付加する。ここでは、プログラム部品名を部品Ａとする。
【００６３】
また、ユーザは、プログラム部品名の自動付加を指示する自動付加指示情報をコメントに応答して入力部１０から入力することができる。入力部１０に入力された自動付加指示情報は、プログラム部品生成部６１に送られる。プログラム部品生成部６１は、自動付加指示情報を受信した場合は、記憶している部品化する回路要素の情報に、既定のルールに従ってプログラム部品名を付加する。
【００６４】
つぎに、ステップＳ１２０においてプログラム部品名は、記憶している部品化する回路要素の情報に対してセキュリティ情報を付加する。
【００６５】
プログラム部品生成部６１は、表示の可否および編集の可否のそれぞれについて、セキュリティ情報のパスワードの入力を要求するコメントを表示部２０に表示させる処理を行う。そして、入力部１０からパスワードが入力されると、入力されたパスワードは、プログラム部品生成部６１に送られる。プログラム部品生成部６１は、パスワードを受信した場合は、記憶している部品化する回路要素の情報に、受信したパスワードとともにセキュリティ情報を付加する。セキュリティ情報が付加されたプログラム部品は、パスワードを入力しないと、表示または編集ができない状態に管理される。
【００６６】
上記のようにしてプログラム部品生成部６１が記憶している部品化する回路要素の情報に対してプログラム部品名およびセキュリティ情報が付加されることにより、ラダープログラムにおける選択範囲Ｓ１が部品化される。
【００６７】
そして、ステップＳ１３０においてプログラム部品生成部６１は、部品化されたプログラム部品の情報、すなわちプログラム部品名およびセキュリティ情報が付加されて部品化された回路要素の情報を記憶部４０のプログラム部品リスト７１にファイル形式で記憶させて登録する。図９は、本発明の実施の形態にかかるプログラム部品生成部６１がプログラム部品リスト７１にリスト形式で記憶させるプログラム部品の情報を示す図である。図１０は、本発明の実施の形態にかかるプログラム部品が登録されたプログラム部品リスト７１の一例を示す図である。
【００６８】
各プログラム部品のファイルには、図９に示すようにプログラム部品に含まれる回路要素の座標位置およびプロパティ情報、回路要素コメント、プログラム部品名、セキュリティ情報が記憶されている。また、各プログラム部品のファイルには、回路要素の状態として、信号のＯＮおよびＯＦＦを制御する回路要素であればＯＮであるか、ＯＦＦであるかの情報、数値を制御する回路要素であれば数値が、現在値として記憶されている。図１０におけるプログラム部品リスト７１に示されたセキュリティ情報である（Ｒ／Ｗ）は、部品Ａが表示可能であり、編集可能であることを示している。図１０におけるプログラム部品リスト７１に示されたセキュリティ情報である（Ｒ禁止）は、部品Ｂが表示不可能であることを示している。
【００６９】
また、部品化された選択範囲Ｓ１のラダープログラムに関する情報がプログラム部品リスト７１に登録されると、プログラム部品表示制御部６２の制御により、部品化が完了した状態のラダープログラムがプログラム編集領域２２に表示される。図１１は、本発明の実施の形態において選択範囲Ｓ１の部品化が完了した状態のラダープログラム７２を示す図である。図１２は、本発明の実施の形態において選択範囲Ｓ１の部品化を行う前の状態のラダープログラム７３を示す図である。
【００７０】
プログラム編集領域２２の画面表示においては、ラダープログラムにおける部品化された箇所は１つの図形である四角形のシンボルで表現され、プログラム部品名が表示されている。プログラム編集領域２２の画面表示において部品化された図形を選択する情報、すなわちプログラム部品Ａを選択するプログラム部品選択情報が入力部１０から入力された場合、プログラム部品選択情報がプログラム部品回路要素編集部６３に送られる。
【００７１】
図１３は、本発明の実施の形態において選択されたプログラム部品Ａ内の回路要素の情報が回路要素編集領域２３にリスト形式で表示され、選択されたプログラム部品Ａ内のラダープログラムが部品化前プログラム表示領域２４に省略表示された状態の一例を示す図である。プログラム部品回路要素編集部６３は、プログラム部品選択情報が入力されると、図１３に示すように、選択されたプログラム部品内の回路要素の情報をリスト形式で回路要素編集領域２３に表示させると同時に、図１３に示すように部品化前プログラム表示領域２４にプログラム部品Ａ内のラダープログラムを省略表示させる。また、プログラム部品回路要素編集部６３は、選択されたプログラム部品Ａ内の回路要素の、すなわち選択範囲Ｓ１の回路要素の、部品化元のラダープログラムにおける位置を、グリッド領域における直交座標系表示の座標情報で部品化前プログラム表示領域２４に表示させる。プログラム部品回路要素編集部６３は選択されたプログラム部品Ａ内のラダープログラムの回路要素の情報を回路要素編集領域２３にリスト形式で表示させるため、選択されたプログラム部品Ａ内のラダープログラムと、回路要素編集領域２３におけるリスト形式とには相関関係がある。そして、選択されたプログラム部品Ａ内の回路要素の情報を回路要素編集領域２３にリスト形式で表示することにより、プログラム部品Ａ内の回路要素の配置および詳細が理解しやすくなる。
【００７２】
また、プログラム部品回路要素編集部６３は、回路要素編集領域２３に表示されたプログラム部品内の回路要素の情報のうち、プログラム部品の編集対象として選択された回路要素に関連する情報を強調して表示させる。図１３においては、選択された回路要素に関連する情報が着色表示されている。また、プログラム部品回路要素編集部６３は、部品化前プログラム表示領域２４に省略表示された部品化前のラダープログラム上で、回路要素編集領域２３で選択されている編集対象の回路要素の位置を強調して表示させる。図１３においては、回路要素編集領域２３で選択されている編集対象の回路要素の位置が選択線７４により強調表示されている。
【００７３】
また、ここで回路要素編集領域２３に表示されるプログラム部品内の回路要素の情報は、プログラム部品を構成する回路要素の回路要素識別子、命令種別、回路要素コメント、回路要素の状態である現在値である。なお、座標情報は、プログラム部品における各回路要素のラダープログラム上の位置を部品化前プログラム表示領域２４に示す際に使用するものであり編集対象ではないため、回路要素編集領域２３には表示されない。また、回路要素種別は、各回路要素において回路要素識別子と１対１で対応しており、１つの回路要素において回路要素識別子が決まれば回路要素種別の内容は一義的に決まる。プログラム部品回路要素編集部６３は、回路要素識別子が編集された場合に、編集された回路要素識別子に対応する回路要素種別を、編集された回路要素識別子に対応する内容に合わせて変更して記憶部４０に記憶させる。このため、回路要素編集領域２３の表示をシンプルにするため、回路要素種別は回路要素編集領域２３には表示されていない。ただし、座標情報および回路要素種別を回路要素編集領域２３に表示しても構わない。
【００７４】
ここで、プログラム部品選択情報により選択されたプログラム部品がセキュリティ情報により表示が保護されている場合は、プログラム部品回路要素編集部６３は、パスワードの入力を要求するコメントを表示部２０に表示させる処理を行う。入力部１０からパスワードが入力されると、パスワードはプログラム部品回路要素編集部６３に送られる。入力されたパスワードが、プログラム部品に設定されているパスワードに一致する場合は、プログラム部品回路要素編集部６３はプログラム部品の情報を回路要素編集領域２３および部品化前プログラム表示領域２４に表示する。入力されたパスワードが、プログラム部品に設定されているパスワードに一致しない場合は、プログラム部品回路要素編集部６３は、プログラム部品の情報を回路要素編集領域２３および部品化前プログラム表示領域２４に表示しない。
【００７５】
つぎに、部品化されたプログラム部品Ａを再利用して、回路要素の異なるプログラム部品Ｂを作成する流れについて説明する。ユーザは、プログラム部品Ａを選択して複製を行う旨の複製指示情報を入力部１０から入力する。入力された複製指示情報は、入力部１０からプログラム部品回路要素編集部６３に送られる。プログラム部品回路要素編集部６３は、複製指示情報に基づいてプログラム編集領域２２に表示されたプログラム部品Ａをコピーして、プログラム部品Ａと全く同じ構成を有するコピープログラム部品を記憶部４０に記憶させる。
【００７６】
つぎに、ユーザは、プログラム編集領域２２で示されたラダープログラムにおいてコピープログラム部品の貼り付け場所を選択し、貼り付けを行う旨の貼り付け指示情報を入力部１０から入力する。入力された貼り付け指示情報は、入力部１０からプログラム部品回路要素編集部６３に送られる。プログラム部品回路要素編集部６３は、貼り付け指示情報に基づいてコピープログラム部品をプログラム編集領域２２に表示されたラダープログラムにおける指定された部分にコピープログラム部品を貼り付ける。
【００７７】
これにより、コピープログラム部品もプログラム部品Ａと同様に、プログラム編集領域２２に表示される。コピーおよび貼り付けの処理は、ラダープログラム編集支援装置１００の編集制御部３３が有するラダーエディタ機能を用いて行われる。そして、コピープログラム部品が貼り付けられたラダープログラムが記憶部４０に再度、記憶される。この処理は、ラダープログラムの各回路要素をコピーおよび貼り付けする処理と同様である。
【００７８】
コピープログラム部品の貼り付け処理がされると、プログラム部品回路要素編集部６３は、プログラム部品名の入力を要求するコメントを表示部に表示させる処理を行う。コピープログラム部品の部品名は、ラダープログラム内で一意に定義されるものであれば、ユーザにより指定されても良く、プログラム編集部により自動で付加されてもよい。コピープログラム部品の部品名の付加は、上述したステップＳ１１０と同様にして行われる。これにより、記憶部４０に記憶されているコピープログラム部品のプログラム部品名は、付加されたプログラム部品名に置き換わる。
【００７９】
図１４は、本発明の実施の形態においてプログラム部品Ｂのラダープログラムへの配置が完了した状態のプログラム編集領域２２の画面表示の一例を示す図である。ここでは、コピープログラム部品のプログラム部品名を部品Ｂとする。これにより、図１４に示すように、１つの四角形のシンボルで表現されたプログラム部品Ｂがプログラム部品Ａと同様にプログラム編集領域２２に表示される。この場合も、プログラム編集領域２２における表示においては、プログラム部品Ｂの表示は１つの四角形のシンボルにプログラム部品名である「部品Ｂ」が記されただけの表示となっている。
【００８０】
図１５は、本発明の実施の形態においてプログラム部品Ｂが選択された状態のプログラム編集領域２２の画面表示の一例を示す図である。プログラム編集領域２２の画面表示においてプログラム部品Ｂを選択するプログラム部品選択情報が入力部１０から入力されてプログラム部品回路要素編集部６３に送られると、プログラム部品回路要素編集部６３は、選択しているプログラム部品Ｂをプログラム編集領域２２に表示されたラダープログラム上において選択線７４により強調表示させる。また、プログラム部品回路要素編集部６３の制御により、プログラム部品Ａが選択された場合と同様に、プログラム部品Ｂ内の回路要素の情報がリスト形式で回路要素編集領域２３に表示されると同時に、部品化前プログラム表示領域２４にプログラム部品Ｂ内のラダープログラムが省略表示される。
【００８１】
そして、プログラム部品回路要素編集部６３は、回路要素編集領域２３にリスト形式で表示されているプログラム部品Ｂの回路要素の情報である、回路要素識別子、現在値、回路要素コメント、および命令種別を編集することが可能である。すなわち、プログラム部品回路要素編集部６３は、上記の情報を回路要素編集領域２３において変更し、記憶部４０に記憶させることができる。上記の情報を変更することで、プログラム部品Ａと構成要素の異なるプログラム部品Ｂを作成することができる。プログラム部品回路要素編集部６３は、入力部１０から入力される指令の内容に基づいて、回路要素編集領域２３に表示されているプログラム部品Ｂの回路要素の情報を変更し、また記憶部４０に記憶されているラダープログラムをプログラム部品Ｂを挿入した状態に更新することができる。
【００８２】
図１６は、本発明の実施の形態においてプログラム部品Ｂの作成が完了した状態の回路要素編集領域２３および部品化前プログラム表示領域２４の画面表示の一例を示す図である。プログラム部品Ｂの回路要素の情報を変更した内容は、記憶部４０に記憶されたプログラム部品のラダープログラムに反映され、ラダープログラムが更新される。すなわち、回路要素編集領域２３で変更した内容で、記憶部４０に記憶されたラダープログラム上の回路要素が変更されて、変更されたラダープログラムが記憶部４０に再度、記憶される。
【００８３】
つぎに、ラダープログラムの一部が部品化された状態でラダープログラムの動作確認を行った場合について説明する。外部のＰＬＣを使用する動作確認方法では、一部が部品化された状態のラダープログラムをＰＬＣのメモリに記憶させた後、ＰＬＣの制御により制御対象機器を稼働させて、ＰＬＣから入力される情報に基づいて制御対象機器が設計どおりに正常に動作するか否かを編集制御部３３における動作確認機能で確認する。
【００８４】
プログラム部品の動作状態の確認は、プログラム部品表示制御部６２の情報を元に行われる。プログラム部品表示制御部６２は、プログラム部品単位で選択状態情報と条件成立情報とを有する。プログラム部品表示制御部６２は、条件成立情報の成立または非成立の情報をプログラム動作確認時にプログラム編集領域２２に表示されたラダープログラム上で表示できる。このため、プログラム部品内の詳細な構成を表示部２０に表示せずに隠した状態でラダープログラムの動作確認が可能である。
【００８５】
条件成立情報は、プログラム部品内に含まれる仮想回路要素条件の成立または非成立の状態を表す情報である。仮想回路要素条件は、プログラム部品リスト７１の情報を用いてプログラム部品表示制御部６２において自動的に生成され内部に保持される。仮想回路要素条件は、ラダープログラム上に表示されている回路要素ではなく、上述したように定義されたプログラム部品の中から、プログラム部品からの出力に最終的に影響する単一の回路要素または複数の回路要素に基づいて生成される。
【００８６】
ここで、仮想回路要素条件の決定方法について説明する。図１７は、本発明の実施の形態にかかるラダープログラム編集支援装置１００における仮想回路要素条件を決定する処理の流れを示すフローチャートである。
【００８７】
まず、ステップＳ２１０においてプログラム部品表示制御部６２は、記憶部４０に記憶されたプログラム部品リスト７１に登録されたプログラム部品の情報に基づいて、プログラム部品内に含まれる回路要素が単一である否かの判定を行う。プログラム部品内に含まれる回路要素が単一であると判定された場合、すなわちステップＳ２１０においてＹｅｓの場合は、ステップＳ２２０においてプログラム部品表示制御部６２は、プログラム部品内に含まれる単一の回路要素の成立の条件をそのまま仮想回路要素条件とする。
【００８８】
一方、プログラム部品内に含まれる回路要素が複数であると判定された場合、すなわちステップＳ２１０においてＮｏの場合は、ステップＳ２３０においてプログラム部品表示制御部６２は、プログラム部品内に含まれる回路要素は入力となる回路要素のみであるか否かを判定する。すなわち、プログラム部品表示制御部６２は、プログラム部品内に含まれる回路要素にコイルなどの出力となる出力回路要素があるかどうかを確認する。
【００８９】
プログラム部品内に含まれる回路要素が入力回路要素のみであると判定された場合、すなわちステップＳ２３０においてＹｅｓの場合は、プログラム部品表示制御部６２は、ステップＳ２４０において論理演算により仮想回路要素条件を決定する。ここで、プログラム部品内に含まれる回路要素に複数の入力回路要素がある場合の一例として、プログラム部品内にαとβとの２つの入力回路要素が含まれる場合について説明する。
【００９０】
αとβとの２つの入力回路要素の関係について考えると、αかつβが成立してプログラム部品から出力がなされる場合と、αまたはβが成立してプログラム部品から出力がなされる場合との２つの場合が存在する。αかつβが成立してプログラム部品から出力がなされる場合を（α  ａｎｄ  β）と記す。αまたはβが成立してプログラム部品から出力がなされる場合を（α  ｏｒ  β）と記す。また、プログラム部品の仮想回路要素条件をＺとする。（α  ａｎｄ  β）の場合、Ｚはαとβの論理積となる。（α  ｏｒ  β）の場合、Ｚはαとβの論理和となる。
【００９１】
プログラム部品内に３つ以上の入力回路要素が含まれる場合については、２つの入力回路要素の論理演算の結果を単体の入力回路要素Ｗと考えればよい。これにより、プログラム部品内に含まれる複数の入力回路要素の関係が、最終的に、上述したαかつβが成立してプログラム部品から出力がなされる（α  ａｎｄ  β）の場合と、αまたはβが成立してプログラム部品から出力がなされる（α  ｏｒ  β）の場合と同様の２つの場合に帰着する。このため、上述したプログラム部品内にαとβとの２つの入力回路要素が含まれる場合と同様に考えることができる。
【００９２】
プログラム部品内に含まれる回路要素が入力回路要素のみでないと判定された場合、すなわちステップＳ２３０においてＮｏの場合は、ステップＳ２５０においてプログラム部品表示制御部６２は、プログラム部品内に含まれる出力回路要素が単一である否かの判定を行う。
【００９３】
プログラム部品内に含まれる出力回路要素が単一であると判定された場合、すなわちステップＳ２５０においてＹｅｓの場合は、ステップＳ２６０においてプログラム部品表示制御部６２は、プログラム部品内に含まれる単一の出力回路要素の成立の条件をそのまま仮想回路要素条件とする。
【００９４】
プログラム部品内に含まれる出力回路要素が複数であると判定された場合、すなわちステップＳ２５０においてＮｏの場合は、仮想回路要素条件を一意に定義ができない。このため、ステップＳ２７０においてプログラム部品表示制御部６２は、仮想回路要素条件を不定とし、仮想回路要素条件を決定しない。この場合は、プログラムの動作確認時、部品単位の条件成立または非成立を確認することはできない。
【００９５】
上述した方法により、プログラム部品表示制御部６２において仮想回路要素条件が決定され、仮想回路要素条件の成立または非成立をラダープログラムの動作確認時に表示することが可能である。そして、ラダープログラム編集支援装置１００では、部品化した状態のまま、部品単位でラダープログラムの動作確認が可能になる。このため、ラダープログラムの可読性が向上し、動作確認時においても複製したプログラム部品のプログラム上の相対的な位置が一目で判別できる。これにより、プログラムの動作確認およびデバッグが容易になり、プログラム編集の作業効率が向上する。
【００９６】
図１８は、本発明の実施の形態においてプログラム部品Ａが部品化された状態でＰＬＣに書き込まれたラダープログラムの動作確認においてプログラム部品Ａの回路要素の条件が成立した状態のプログラム編集領域２２の画面表示の一例を示す図である。図１９は、本発明の実施の形態においてプログラム部品Ａが部品化された状態でＰＬＣに書き込まれたラダープログラムの動作確認においてプログラム部品Ａの回路要素の条件が非成立の状態のプログラム編集領域２２の画面表示の一例を示す図である。図１８に示すように、プログラム部品Ａの回路要素の条件が成立した状態では、プログラム編集領域２２に表示されたラダープログラム上でプログラム部品Ａおよび回路要素Ｙ０が着色されて、プログラム部品Ａの動作状態がＯＮであることが表示されている。図１９に示すように、プログラム部品Ａの回路要素の条件が非成立である状態では、プログラム編集領域２２に表示されたラダープログラム上でプログラム部品Ａおよび回路要素Ｙ０を着色しないことにより、プログラム部品Ａの動作状態がＯＦＦであることが表示されている。
【００９７】
図２０は、本発明の実施の形態においてセキュリティ情報によりプログラム部品Ａの情報が読み取り禁止となった状態のプログラム編集領域２２の画面表示の一例を示す図である。図２１は、本発明の実施の形態においてセキュリティ情報によりプログラム部品Ａの情報が読み取り禁止となった状態の回路要素編集領域２３および部品化前プログラム表示領域２４の画面表示の一例を示す図である。図２０においては、プログラム部品Ａのシンボルに錠マークが表示されると共にシンボルが着色されて表示されている。図２１においては、回路要素編集領域２３および部品化前プログラム表示領域２４に読み取り禁止のためプログラム部品内のプログラムの読み取りが不可である旨の表示がされている。
【００９８】
プログラム部品はプログラム部品リスト７１にセキュリティ情報を保持しているため、このセキュリティ情報によりラダープログラム編集支援装置１００上でプログラム部品内のプログラムの読み取りを不可にすること、および編集を禁止することができる。そして、プログラム部品Ａの情報が読み取り禁止であることが、プログラム編集領域２２、回路要素編集領域２３および部品化前プログラム表示領域２４の画面表示で表示される。
【００９９】
なお、表示制御部３２の機能は、編集制御部３３で行われてもよい。また、部品化不可条件は、ラダープログラム編集支援装置１００におけるプログラム部品生成部６１以外の部分で保持されてもよい。また、図８のステップＳ１２０のセキュリティ情報の付加は、プログラム部品生成時においては省略可能であり、後で定義することも可能である。そして、プログラム部品リスト７１に記憶させて表示させる情報および回路要素編集領域２３に表示させて編集する情報は上記の記載に限定されない。
【０１００】
以上、ラダープログラム編集支援装置１００について説明したが、ラダープログラム編集支援装置１００は、ラダープログラムを構成する各回路要素をラダープログラム編集支援装置の画面中の所望の座標に図形で表示させて、各回路要素の配置に基づいてラダープログラムでの論理構造に対応した論理式のデータを作成するとともに、該論理式のデータに基づいてラダープログラム中で互いに並列接続されるべき各回路要素を特定して当該回路要素の出力端同士を接続線で結ぶ機能を有していれば基本的によい。したがって、本実施の形態にかかるラダープログラム編集支援装置１００については、上述した形態以外にも種々の変形、修飾、組合せ等が可能である。
【０１０１】
本実施の形態にかかるラダープログラム編集支援装置１００においては、制御対象に対する制御動作を示すラダープログラムを作成する過程で、同一の動作を記述した複合処理を複数の個所に記述する必要が生じた場合は、この同一の動作を記述した複合処理を選択し、一つのプログラム部品として一つの図形でプログラム編集領域２２に示すことができる。
【０１０２】
そして、ラダープログラム上で一つの図形としてされたプログラム部品をプログラム編集領域２２において選択した場合は、プログラム部品内の回路要素をリスト形式で回路要素編集領域２３に表示し、プログラム部品に対応する部品化前のラダープログラムを部品化前プログラム表示領域２４に省略表示することができる。そして、回路要素編集領域２３に表示された回路要素を選択すると、選択された回路要素の部品化前のラダープログラム上における位置を、部品化前プログラム表示領域２４において表示することができる。これにより、プログラム部品内の構成を、部品化前のラダープログラムと表示部２０において比較しながら容易に確認して理解できる。
【０１０３】
また、ラダープログラム編集支援装置１００は、プログラム編集領域２２に表示されたラダープログラム上でプログラム部品を選択し、複製してラダープログラム上の別の場所に貼付することにより、プログラム部品内と同様の構成要素を持つラダープログラムを作成することができる。そして、複製したプログラム部品は、複製元のプログラム部品とは別のプログラム部品として区別される。
【０１０４】
また、ラダープログラム編集支援装置１００は、複製したプログラム部品をプログラム編集領域２２において選択した場合は、プログラム部品内の回路要素の情報のリストをリスト形式で回路要素編集領域２３に表示し、プログラム部品に対応する部品化前のラダープログラムを部品化前プログラム表示領域２４に省略表示することができる。そして、回路要素編集領域２３に表示された回路要素の情報のリスト上で、回路要素の情報を変更することにより、変更した内容がプログラム部品のラダープログラムに反映され、プログラムの回路要素が変更される。これにより、プログラム部品内の構成を、部品化前のラダープログラムと表示部２０において比較して確認しながら、別のプログラム部品の条件を容易に設定できる。
【０１０５】
ここで、回路要素編集領域２３における回路要素の情報の表示形式について説明する。図２２は、本発明の実施の形態において選択されたプログラム部品Ａ内の回路要素の情報が回路要素編集領域２３に他の表示パターンによりリスト形式で表示された状態の一例を示す図である。図２２では、プログラム部品Ａ内の回路要素の情報、すなわち選択範囲Ｓ１のラダープログラムに含まれる回路要素の識別情報が、ラダープログラムの行の順番、かつ１行のラダープログラムのプラス母線とマイナス母線との間の領域における配置の順番に従って、回路要素編集領域２３においてリスト形式で表示されている。すなわち、図２２では、回路要素の情報がラダープログラムの構成に従ってリスト形式で表示されている。
【０１０６】
図２３は、本発明の実施の形態において選択範囲Ｓ２の部品化を行う前の状態のラダープログラム７５を示す図である。図２４は、本発明の実施の形態において選択範囲Ｓ２の部品化が完了した状態のラダープログラム７６を示す図である。図２４に示すラダープログラム７６においては、ラダープログラム編集支援装置１００において図２３に示す選択範囲Ｓ２の部品化が行われたプログラム部品Ｃが配置されている。ここでは、プログラム部品Ｃの部品名を部品Ｃとする。
【０１０７】
図２５は、本発明の実施の形態において選択されたプログラム部品Ｃ内の回路要素の情報が回路要素編集領域２３に他の表示パターンによりリスト形式で表示された状態の一例を示す図である。図２５では、プログラム部品Ｃ内の回路要素の情報、すなわち選択範囲Ｓ２のラダープログラムに含まれる回路要素の識別情報が、入力条件を示す回路要素と出力条件を示す回路要素とを回路要素編集領域２３における左領域と右領域とに分けて、ラダープログラムの行の順番、かつ１行のラダープログラムのプラス母線とマイナス母線との間の領域における配置の順番に従って、回路要素編集領域２３においてリスト形式で表示されている。
【０１０８】
また、ラダープログラム編集支援装置１００は、ラダープログラムの動作確認時には、プログラム部品を一つの回路要素と同様にみなした場合のプログラム部品が有効となる条件である仮想回路要素の状態をプログラム編集領域２２においてラダープログラム上で示すことができ、プログラム部品の動作状態を容易に理解できる環境を提供することができる。
【０１０９】
このような処理を行うラダープログラム編集支援装置１００においては、同一の動作を記述した複合処理を複数の個所に記述する場合に、複製したプログラム部品をラダープログラムの任意の場所に貼付し、選択したプログラム部品のプログラムの構成要素の一部を容易に変更することが可能になる。これにより、ラダープログラムの変更を容易に実行できる環境を提供するとともに、ラダープログラムの誤編集を防止することができ、またプログラムの詳細を隠しながらラダープログラムの動作を確認することが可能である。
【０１１０】
ファンクションブロックを用いる場合は、複数のシステムにおいて再利用できる汎用性のあるプログラム部品を作成するためには、あるシステムの実現には不要なラダー回路が部品中に含まれることになり、単一の部品では再利用は困難である場合が多い。このため、ある部品を元に様々なバリエーションを持たせた複数のファンクションブロックを別に作成するか、不要なラダー回路以外の部分をより小さい単位の部品として切り出し、別のファンクションブロックを作成する必要がある。この場合、ユーザによる手作業によるファンクションブロックの再作成およびプログラム編集作業が多量に発生し、誤編集が発生するおそれがある。
【０１１１】
また、ファンクションブロックの作成は、部品化を行うプログラムを構成する回路要素を変数として定義し、その変数を使用してプログラムを作成しなければならない。ユーザは回路要素で記述されたラダープログラムを入力として手作業で変数を定義し、ラダープログラムを作成する必要がある。この作業は多くの手間がかかり、誤編集が発生するおそれがある。
【０１１２】
また、ファンクションブロックを用いずに参照テーブルの情報からラダープログラムを生成する場合、ラダープログラムの修正および追加は、ラダープログラム上で手作業で行うことになり、作業が多量に発生し、誤編集が発生するおそれがある。
【０１１３】
一方、本実施の形態にかかるラダープログラム編集支援装置１００においては、ファンクションブロックを用いた方法と比べて、ファンクションブロックの作成に必要な変数の作成、変数と実際に使用する回路要素を結びつける操作が不要であり、容易に既存のラダープログラムにおける任意の範囲を部品化し、再利用することが可能になる。これにより、ラダープログラム編集支援装置１００においては、プログラム編集における作業者の負荷が低減され作業効率が向上する。
【０１１４】
また、ラダープログラム編集支援装置１００においては、部品化した状態のまま、部品単位でプログラムの動作確認が可能になるため、ラダープログラムの可読性が向上し、プログラム編集の作業効率が向上する。
【０１１５】
また、ラダープログラム編集支援装置１００においては、プログラム部品に付加するセキュリティ情報によりプログラム部品内部のラダープログラムの編集および表示を制限することができる。これにより、プログラム部品の誤編集を防止することができ、またプログラムの詳細を隠しながらラダープログラムの動作を確認することが可能である。
【０１１６】
上述したように、本実施の形態にかかるラダープログラム編集支援装置１００は、ラダープログラムの任意の範囲を容易に部品化して再利用できるため、編集の自由度が大きく、ラダープログラムの編集効率を向上させることができるラダープログラム編集支援装置を得ることができる。
【０１１７】
また、上述したラダープログラム編集支援装置１００の機能が、グラフィック言語によるプログラムの作成を支援するプログラム編集支援装置に適用されてもよい。グラフィック言語は、プログラムをテキストで記述するのではなく、視覚的なオブジェクトでプログラミングするプログラミング言語である。
【０１１８】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１１９】
１０  入力部、２０  表示部、２１  プログラム部品リスト表示領域、２２  プログラム編集領域、２３  回路要素編集領域、２４  部品化前プログラム表示領域、３０  制御部、３１  入力処理部、３２  表示制御部、３３  編集制御部、３４  出力制御部、４０  記憶部、５０  出力部、６１  プログラム部品生成部、６２  プログラム部品表示制御部、６３  プログラム部品回路要素編集部、７１  プログラム部品リスト、７２，７６  部品化が完了した状態のラダープログラム、７３，７５  部品化を行う前の状態のラダープログラム、７４  選択線、１００  ラダープログラム編集支援装置、１０１  プロセッサ、１０２  メモリ、Ａ，Ｂ，Ｃ  プログラム部品、Ｂｍ  マイナス母線、Ｂｐ  プラス母線、Ｈ  補助線、Ｗ  入力回路要素、Ｘ０，Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５，Ｙ０，Ｙ１  回路要素。
【図１】
2018051441.tif 000003
【図２】
2018051441.tif 000004
【図３】
2018051441.tif 000005
【図４】
2018051441.tif 000006
【図５】
2018051441.tif 000007
【図６】
2018051441.tif 000008
【図７】
2018051441.tif 000009
【図８】
2018051441.tif 000010
【図９】
2018051441.tif 000011
【図１０】
2018051441.tif 000012
【図１１】
2018051441.tif 000013
【図１２】
2018051441.tif 000014
【図１３】
2018051441.tif 000015
【図１４】
2018051441.tif 000016
【図１５】
2018051441.tif 000017
【図１６】
2018051441.tif 000018
【図１７】
2018051441.tif 000019
【図１８】
2018051441.tif 000020
【図１９】
2018051441.tif 000021
【図２０】
2018051441.tif 000022
【図２１】
2018051441.tif 000023
【図２２】
2018051441.tif 000024
【図２３】
2018051441.tif 000025
【図２４】
2018051441.tif 000026
【図２５】
2018051441.tif 000027
【手続補正書】
【提出日】平成30年4月18日(2018.4.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ラダープログラムにおける、プラス母線とマイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置であって、
前記ラダープログラムを表示する前記表示部と、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示する編集制御部と、
を備えることを特徴とするラダープログラム編集支援装置。
【請求項２】
複数の行にわたって記述されたラダープログラムにおける、プラス母線およびマイナス母線と、前記プラス母線と前記マイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置であって、
前記ラダープログラムを表示する前記表示部と、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲を選択する編集制御部と、
前記選択範囲の前記ラダープログラムを、前記選択範囲の前記ラダープログラムに含まれる前記回路要素の前記表示部における位置を特定する位置情報と共に記憶する記憶部と、
を備えることを特徴とするラダープログラム編集支援装置。
【請求項３】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項２に記載のラダープログラム編集支援装置。
【請求項４】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項５】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項６】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番、かつ１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項７】
前記編集制御部は、前記回路要素に関連するコメントを前記表示部に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項８】
前記編集制御部は、前記表示部に表示させた前記回路要素の識別情報および前記コメントを編集可能であること、
を特徴とする請求項７に記載のラダープログラム編集支援装置。
【請求項９】
前記編集制御部は、前記回路要素の現在の状態を示す現在値を前記表示部に表示させて変更すること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１０】
前記編集制御部は、前記選択範囲の前記ラダープログラムに含まれる回路要素をシンボリックに前記表示部に表示させ、前記ラダープログラムにおける前記回路要素の位置を併せて前記表示部に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１１】
前記編集制御部は、前記選択範囲に含まれる前記ラダープログラムを単一の図形で前記表示部において前記ラダープログラム上に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１２】
前記編集制御部は、前記選択範囲の前記ラダープログラムの動作確認時に外部から入力される、前記選択範囲の前記ラダープログラムによって定義されたラダープログラムの動作状態の情報を前記表示部に表示させること、
を特徴とする請求項１または３に記載のラダープログラム編集支援装置。
【請求項１３】
前記編集制御部は、前記選択範囲に含まれるラダープログラムの前記表示部への表示および前記選択範囲に含まれるラダープログラムの編集を制限するセキュリティ情報を前記選択範囲に含まれるラダープログラムに付加すること、
を特徴とする請求項１，３から１２のいずれか１つに記載のラダープログラム編集支援装置。
【請求項１４】
前記編集制御部は、前記選択範囲の前記ラダープログラムをコピーして前記ラダープログラムにおける任意の位置に１つのプログラム部品として配置すること、
を特徴とする請求項１から１３のいずれか１つに記載のラダープログラム編集支援装置。
【請求項１５】
ラダープログラムにおける、プラス母線とマイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素の識別情報を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置における前記ラダープログラムの編集方法であって、
前記ラダープログラムを前記表示部に表示する第１ステップと、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲の前記ラダープログラムに含まれる前記回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示させる第２ステップと、
を含むことを特徴とするラダープログラムの編集方法。
【請求項１６】
複数の行にわたって記述されたラダープログラムにおける、プラス母線およびマイナス母線と、前記プラス母線と前記マイナス母線との間の領域にシンボルで表示されて前記ラダープログラムを構成する複数の回路要素を表示部に表示させて前記ラダープログラムを編集するラダープログラム編集支援装置における前記ラダープログラムの編集方法であって、
前記ラダープログラムを表示部に表示する第１ステップと、
前記表示部に表示された前記ラダープログラムのうち編集対象となる選択範囲の前記ラダープログラムを、前記選択範囲の前記ラダープログラムに含まれる前記回路要素の前記表示部における座標位置を特定する位置情報と共に記憶部に記憶する第２ステップと、
を含むことを特徴とするラダープログラムの編集方法。
【請求項１７】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、予め設定された表示順序に従って前記表示部においてリスト形式で表示させるステップを有すること、
を特徴とする請求項１６に記載のラダープログラムの編集方法。
【請求項１８】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番に従って前記表示部においてリスト形式で表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項１９】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２０】
前記選択範囲の前記ラダープログラムに含まれる回路要素の識別情報を、前記ラダープログラムの行の順番、かつ１行の前記ラダープログラムの前記プラス母線とマイナス母線との間の領域における配置の順番に従って前記表示部においてリスト形式で表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２１】
前記回路要素に関連するコメントを記憶部に記憶させ、前記表示部に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２２】
前記表示部に表示させた前記回路要素の識別情報および前記コメントを変更して前記記憶部に記憶させるステップを有すること、
を特徴とする請求項２１に記載のラダープログラムの編集方法。
【請求項２３】
前記回路要素の現在の状態を示す現在値を前記表示部に表示させて変更するステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２４】
前記選択範囲の前記ラダープログラムに含まれる回路要素をシンボリックに前記表示部に表示させ、前記ラダープログラムにおける前記回路要素の位置を併せて前記表示部に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２５】
前記選択範囲に含まれる前記ラダープログラムを単一の図形で前記表示部において前記ラダープログラム上に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２６】
前記選択範囲の前記ラダープログラムの動作確認時に外部から入力される、前記選択範囲の前記ラダープログラムによって定義されたラダープログラムの動作状態の情報を前記表示部に表示させるステップを有すること、
を特徴とする請求項１５または１７に記載のラダープログラムの編集方法。
【請求項２７】
前記選択範囲に含まれるラダープログラムの前記表示部への表示および前記選択範囲に含まれるラダープログラムの編集を制限するセキュリティ情報を前記選択範囲に含まれるラダープログラムに付加するステップを有すること、
を特徴とする請求項１５，１７から２６のいずれか１つに記載のラダープログラムの編集方法。
【請求項２８】
前記選択範囲の前記ラダープログラムをコピーして前記ラダープログラムにおける任意の位置に１つのプログラム部品として配置するステップを有すること、
を特徴とする請求項１５から２７のいずれか１つに記載のラダープログラムの編集方法。
【国際調査報告】
2018051441.tif 000028
2018051441.tif 000029
2018051441.tif 000030