(57)【要約】【課題】  データの誤入力を防止できる制御プログラムのエディタ装置を提供する。【解決手段】  コンピュータをエディタ装置として機能させるプログラムが実行する処理は、変数を作成するステップ（Ｓ５０４）と、ラダー線図を作成するステップ（Ｓ５０６）と、変数の一覧を表示するステップ（Ｓ５０８）と、選択された変数を検出するステップ（Ｓ５１０）と、割付先の命令の指定を検知するステップ（Ｓ５１２）と、命令に許可される属性と選択された変数の属性とが一致しない場合に（ステップＳ５１４にてＮＯ）、命令に許可される属性を有する変数のリストを作成するステップ（Ｓ５１６）と、作成したリストを表示するステップ（Ｓ５１８）と、選択された変数を検出するステップ（Ｓ５２０）と、変数を命令に割り付けるステップ（Ｓ５３０）とを含む。【選択図】        図５
2005141564.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器の状態を表示する処理と動作の制御を指示する処理とを行なう表示器が実行する制御プログラムに対応する処理データを、前記表示器に転送可能な形式で作成するためのエディタ装置であって、
利用者が指示を入力するための入力手段と、
前記指示に基づいて、各前記処理を編集するためのプログラム編集手段と、
編集された各前記処理の名称と、各前記処理の画像を表わす画像データと、各前記処理をそれぞれ制御する制御データの属性とを、関連付けて記憶するための処理データ記憶手段と、
前記指示に基づいて、少なくともいずれかが複数の要素を有する変数であって、前記制御プログラムが参照する複数の変数の各々の変数名と、前記複数の変数の各々の型属性とを定義するための定義手段と、
前記指示に基づいて、定義された前記各々の変数名を、対応する前記各々の型属性に対応付けて記憶するための変数データ記憶手段と、
前記指示が入力されると、前記画像データと、前記各々の変数名とに基づいて、編集された各前記処理の画像と、前記各々の変数名が有するデータの一覧表とを表示するための表示手段と、
前記利用者による前記入力手段の操作に基づいて、前記データの一覧表から前記利用者により選択された変数を検出するための検出手段と、
前記入力手段の操作に基づいて、前記選択された変数と各前記処理のいずれかの処理との関連付けが行なわれようとしていることを検知するための検知手段と、
前記関連付けが行なわれようとしていることが検知されると、前記選択された変数の型属性と前記制御データの属性とに基づいて、前記関連付けが可能であるか否かを判断するための判断手段と、
前記関連付けが可能であると判断されると、前記選択された変数を前記処理に関連付けるための関連付け手段と、
前記関連付けが不可能であると判断されると、前記いずれかの処理に対して、前記選択された変数が有する複数の要素を、前記データの一覧表として前記表示手段に表示させるための制御手段と、
各前記処理と、各前記処理にそれぞれ対応付けられた変数とに基づいて、前記処理データを作成するための作成手段とを含む、エディタ装置。
【請求項２】
前記エディタ装置はさらに、
前記表示手段に表示された前記処理の画像の位置を表わす画像位置データを取得するための手段と、
前記表示手段における前記選択された変数の位置を表わす変数位置データを取得するための手段とを含み、
前記検知手段は、前記変数表示データが前記画像位置データに含まれる場合には、前記関連付けが行なわれようとしていることを検知する、請求項１に記載のエディタ装置。
【請求項３】
前記判断手段は、前記選択された変数の型属性と、前記制御データの属性とが一致するか否かを判断し、
前記関連付け手段は、前記選択された変数の型属性と、前記制御データの属性とが一致する場合には、前記選択された変数を前記処理に関連付けて前記記憶手段に記憶する、請求項１または２に記載のエディタ装置。
【請求項４】
前記判断手段は、前記選択された変数の型属性と、前記制御データの属性とが一致するか否かを判断し、
前記制御手段は、前記選択された変数の型属性と、前記制御データの属性とが不一致である場合には、前記いずれかの処理に対して、前記選択された変数が有する複数の要素を、前記データの一覧表として、前記表示手段に表示させるための表示制御手段を含む、請求項１または２に記載のエディタ装置。
【請求項５】
前記表示制御手段は、前記関連付けが検知された処理の前記画像データが出力された後に、前記複数の要素のデータを前記表示手段に出力する、請求項４に記載のエディタ装置。
【請求項６】
前記処理データ記憶手段は、前記いずれかの処理に対して、１ビットのデータを前記制御データとして記憶し、
前記変数データ記憶手段は、配列要素として複数のビットを有する配列構造である変数の変数名を記憶し、
前記表示制御手段は、前記複数のビットの各々を前記データの一覧表として前記表示手段に表示させる、請求項４に記載のエディタ装置。
【請求項７】
前記処理データ記憶手段は、前記いずれかの処理に対して、整数を前記制御データとして記憶し、
前記変数データ記憶手段は、配列要素として複数の整数を有する配列構造である変数の変数名を記憶し、
前記表示制御手段は、前記複数の整数の各々を前記データの一覧表として前記表示手段に表示させる、請求項４に記載のエディタ装置。
【請求項８】
前記入力手段は、ポインティングデバイスを含む、請求項１〜７のいずれかに記載のエディタ装置。
【請求項９】
制御対象機器の状態を表示する処理と動作の制御を指示する処理とを行なう表示器が実行する制御プログラムに対応する処理データを、前記表示器に転送可能な形式で作成するためのエディタ装置として、コンピュータを機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
利用者が指示を入力するステップと、
前記指示に基づいて、各前記処理を編集するステップと、
編集された各前記処理の名称と、各前記処理の画像を表わす画像データと、各前記処理をそれぞれ制御する制御データの属性とを、関連付けて準備するステップと、
前記指示に基づいて、少なくともいずれかが複数の要素を有する変数であって、前記制御プログラムが参照する複数の変数の各々の変数名と、前記複数の変数の各々の型属性とを定義するステップと、
前記指示に基づいて、定義された前記各々の変数名を、対応する前記各々の型属性に対応付けて準備するステップと、
前記指示が入力されると、前記画像データと、前記各々の変数名と基づいて、編集された各前記処理の画像と、前記各々の変数名が有するデータの一覧表とを表示するステップと、
前記利用者による前記入力ステップの操作に基づいて、前記データの一覧表から前記利用者により選択された変数を検出するステップと、
前記入力ステップの操作に基づいて、前記選択された変数と各前記処理のいずれかの処理との関連付けが行なわれようとしていることを検知するステップと、
前記関連付けが行なわれようとしていることが検知されると、前記選択された変数の型属性と前記制御データの属性とに基づいて、前記関連付けが可能であるか否かを判断するステップと、
前記関連付けが可能であると判断されると、前記選択された変数を前記処理に関連付けるステップと、
前記関連付けが不可能であると判断されると、前記いずれかの処理に対して、前記選択された変数が有する複数の要素を、前記データの一覧表として前記表示ステップに表示させるステップと、
各前記処理と、各前記処理にそれぞれ対応付けられた変数とに基づいて、前記処理データを作成するステップとを実行させる、プログラム。
【請求項１０】
請求項９に記載のプログラムを記録した、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象機器の状態を表示する処理および制御対象機器の動作の制御を指示する処理を行なう表示器が実行する制御プログラムを作成する技術に関し、特に、その制御プログラムにて参照される変数を各処理に対応付ける場合に不適切な変数が対応付けられることを防止しつつ、制御プログラムを作成することができるエディタ装置、コンピュータをエディタ装置として機能させるためのプログラム、およびそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラと称される産業用制御装置は、自動組付け機その他の制御対象機器に接続され、シーケンス制御その他の制御を実行したり、その機器の状態を表わすデータを受信したりする。この制御対象機器の制御あるいは状態の表示は、たとえば、その機器の状態を制御対象機器の状態を表示する機能およびその機器の動作を制御する機能を有する表示器を介して行なわれる。また、近年、上記の産業用制御装置が有する制御機能を備えた表示器も導入されている。
【０００３】
このような表示器は、接続されている制御対象機器の状態を表示したり、作業者が指示を入力するための画面を表示する。このとき表示される画面は、画面のエディタ装置において予め準備されたプログラミング言語によって作成される。
【０００４】
また、この表示器による制御対象機器の動作を制御するための命令は、その命令を編集するプログラムエディタによって作成される。ＩＥＣ（International Electrotechnical Commission）は、このようなエディタとして実行可能なプログラミング言語を制定している。この言語には、ＳＦＣ（Sequential Function Chart）、ＬＤ（Ladder Diagram）、ＩＬ（Instruction List）、ＦＢＤ（Function Block Diagram）、およびＳＴ（Structured Text）が含まれる。
【０００５】
この画面は、たとえば予め上記の言語によって作成されたラダー図その他の機能チャートに、命令と称される特定の処理（たとえば、スイッチの開閉操作、論理演算、データ転送等）に対応する変数を割り付けることにより、作成される。この場合、処理に対応する変数が参照するデータの属性には、「０」か「１」のビット属性、整数属性、整数配列など多様な属性が含まれる。そのため、処理ごとに、適切な属性を参照する変数を個別に割り当てる必要がある。
【０００６】
この変数の割り当てその他のデータの入力は、これまで、利用者がキーボードを介してデータの入力を行なうことが通常であった。そのため、キー操作のミス等によって、誤ったデータが入力されたり、あるいは、データの入力のために手間を要するという問題があった。
【０００７】
そこで、たとえば特開平１１−５３１５６（特許文献１）は、データの入力時における操作性を向上させることができるデータ入力装置を開示する。このデータ入力装置は、入力の対象となる１つ以上のデータを示す１つ以上のデータ画像を表示画面内に表示するデータ画像表示手段と、データの入力を指示するデータ入力指示画像を表示するデータ入力指示画像表示手段と、外部からの操作に応じて表示画面内における位置を指示するポインティング手段と、外部からの操作に応じて指示された位置を選択するデータ入力選択手段と、選択された１つ以上のデータをその位置に対応付けて表示する選択データ表示手段と、データ入力指示画像の位置が指示された場合に、選択されたデータを入力データとして受け入れるデータ入力手段とを含む。
【０００８】
特許文献１に開示されたデータ入力装置によると、利用者は、表示画面に表示されたデータ入力指示画像を介して、データ画像の表示されたデータを選択して入力することができる。このようにすると、ポインティングデバイスの移動量を少なくすることができるため、データの入力時における操作性を向上させることができる。
【特許文献１】特開平１１−５３１５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示されたデータ入力装置によると、数字、文字その他のデータの入力の操作性は向上しても、たとえば、ビット列その他の複数のデータを続けて入力するとき誤入力が発生する場合があった。
【００１０】
また、上記の表示器が実行する制御プログラムは、ビット属性、整数、整数配列その他の異なる属性を有するデータを参照する変数を多く使用し、各変数は、制御プログラムの対象となる処理に、それぞれ割り当てられる。この場合、プログラムの作成者が、各変数のデータ属性と処理に割り当て可能なデータの属性との対応関係を誤ると、変数が処理に正しく割り当てられなくなる。その結果、制御プログラムが予め定められた仕様どおりに処理を実行しないという問題もあった。
【００１１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、利用者によるデータの誤入力を削減しつつ、効率よく表示器が使用する制御プログラムを作成することができるエディタ装置を提供することである。
【００１２】
本発明の他の目的は、利用者によるデータの誤入力を削減しつつ、効率よく表示器が使用する制御プログラムを作成することができるエディタ装置として、コンピュータを機能させることができるプログラムを提供することである。
【００１３】
本発明のさらに他の目的は、利用者によるデータの誤入力を削減しつつ、効率よく表示器が使用する制御プログラムを作成することができるエディタ装置として、コンピュータを機能させることができるプログラムを記録した記録媒体を提供することである。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、この発明のある局面に従うと、エディタ装置は、制御対象機器の状態を表示する処理と動作の制御を指示する処理とを行なう表示器が実行する制御プログラムに対応する処理データを、表示器に転送可能な形式で作成する。このエディタ装置は、利用者が指示を入力するための入力手段と、指示に基づいて、各処理を編集するためのプログラム編集手段と、編集された各処理の名称と、各処理の画像を表わす画像データと、各処理をそれぞれ制御する制御データの属性とを、関連付けて記憶するための処理データ記憶手段と、指示に基づいて、少なくともいずれかが複数の要素を有する変数であって、制御プログラムが参照する複数の変数の各々の変数名と、複数の変数の各々の型属性とを定義するための定義手段と、指示に基づいて、定義された各々の変数名を、対応する各々の型属性に対応付けて記憶するための変数データ記憶手段と、指示が入力されると、画像データと、各々の変数名とに基づいて、編集された各処理の画像と、各々の変数名が有するデータの一覧表とを表示するための表示手段と、利用者による入力手段の操作に基づいて、データの一覧表から利用者により選択された変数を検出するための検出手段と、入力手段の操作に基づいて、選択された変数と各処理のいずれかの処理との関連付けが行なわれようとしていることを検知するための検知手段と、関連付けが行なわれようとしていることが検知されると、選択された変数の型属性と制御データの属性とに基づいて、関連付けが可能であるか否かを判断するための判断手段と、関連付けが可能であると判断されると、選択された変数を処理に関連付けるための関連付け手段と、関連付けが不可能であると判断されると、いずれかの処理に対して、選択された変数が有する複数の要素を、データの一覧表として表示手段に表示させるための制御手段と、各処理と、各処理にそれぞれ対応付けられた変数とに基づいて、処理データを作成するための作成手段とを含む。
【００１５】
上記のエディタ装置によると、利用者が編集した各処理に対して、利用者が予め定義した変数を関連付けを行なうことができる。すなわち、表示手段は、処理の画像と、変数データの一覧とを表示する。利用者は、入力手段（たとえば、マウス、トラックボールその他のポインティングデバイス等）を操作して、特定の変数名を選択して、処理の画像の表示に関連付けようとすることができる。検知手段が、その操作に基づいて、選択された変数と各処理のいずれかの処理との関連付けが行なわれようとしていることを検知すると、判断手段は、利用者によって選択された変数の型属性（たとえば、ビット型、整数型、整数配列型等）と制御データの属性（たとえば、ビット型、整数型、整数配列型等）とに基づいて、関連付けが可能であるか否かを判断する。関連付けが可能であると判断されると、選択された変数は、その処理に関連付けられる。関連付けが不可能であると判断されると、表示手段は、いずれかの処理に対して、選択された変数が有する複数の要素を、データの一覧表として表示する。この場合、利用者は、再びその一覧表から特定の要素を選択することができる。その結果、その要素と処理との関連付けが可能であると判断されると、その要素がその処理に関連付けられる。各処理に対する関連付けが行なわれると、作成手段は、各処理と、各処理にそれぞれ対応付けられた変数とに基づいて、処理データを作成することができる。このようにすると、利用者は、表示された一覧表から特定の表示を選択することにより、各処理に対する変数を関連付けることができる。これにより、データを入力して関連付けを行なう場合に比べて、誤設定を防止することができるエディタ装置を提供することができる。
【００１６】
好ましくは、エディタ装置はさらに、表示手段に表示された処理の画像の位置を表わす画像位置データを取得するための手段と、表示手段における選択された変数の位置を表わす変数位置データを取得するための手段とを含む。検知手段は、変数表示データが画像位置データに含まれる場合には、関連付けが行なわれようとしていることを検知する。
【００１７】
上記のエディタ装置によると、変数の関連付けの対象となる処理を表わす表示（たとえば図形）の位置データと、利用者が選択した変数を表わす表示の位置データに基づいて、関連付けが検知される。したがって、利用者は、各表示が重なり合うような操作（たとえば、マウス、トラックボール等のポインティングデバイスの指示の移動）を行なうだけで、変数と処理との関連付けを行なうことができる。
【００１８】
好ましくは、判断手段は、選択された変数の型属性と、制御データの属性とが一致するか否かを判断する。関連付け手段は、選択された変数の型属性と、制御データの属性とが一致する場合には、選択された変数を処理に関連付けて記憶手段に記憶する。
【００１９】
上記のエディタ装置によると、利用者が選択した変数の型属性と、関連付けの対象とされた処理の制御データの属性とが一致する場合には、その変数はその処理に関連付けされて、記憶される。そのため、利用者は、変数の名称あるいは処理の名称を入力することなく、一覧表の中から特定の変数を選択することにより、変数と処理との関連付けを行なうことができる。
【００２０】
好ましくは、判断手段は、選択された変数の型属性と、制御データの属性とが一致するか否かを判断する。制御手段は、選択された変数の型属性と、制御データの属性とが不一致である場合には、いずれかの処理に対して、選択された変数が有する複数の要素を、データの一覧表として、表示手段に表示させるための表示制御手段を含む。
【００２１】
上記のエディタ装置によると、利用者が選択した変数の型属性と、関連付けの対象とされた処理の制御データの属性とが一致しない場合には、その変数の要素の一覧表が表示される。したがって、利用者は、その一覧表からその処理に関連付ける要素を選択することができるため、名称を入力することなく、その関連付けを行なうことができる。
【００２２】
好ましくは、表示制御手段は、関連付けが検知された処理の画像データが出力された後に、複数の要素のデータを表示手段に出力する。
【００２３】
上記のエディタ装置によると、複数の要素の一覧は、処理の表示の前面に表示されるため、選択の対象となる処理を確実に認識しつつ、特定の要素を選択することができる。
【００２４】
好ましくは、処理データ記憶手段は、いずれかの処理に対して、１ビットのデータを制御データとして記憶する。変数データ記憶手段は、配列要素として複数のビットを有する配列構造である変数の変数名を記憶する。表示制御手段は、複数のビットの各々をデータの一覧表として表示手段に表示させる。
【００２５】
上記のエディタ装置によると、処理の制御データが１ビットである場合に、利用者が複数のビットを有する変数を選択した場合に、各ビットの一覧表が表示される。したがって、利用者は、変数の名称を入力することなく、その一覧表から特定のビットを有数する変数を選択することができるため、処理に対する変数の関連付けを確実に行なうことができる。
【００２６】
好ましくは、処理データ記憶手段は、いずれかの処理に対して、整数を制御データとして記憶する。変数データ記憶手段は、配列要素として複数の整数を有する配列構造である変数の変数名を記憶する。表示制御手段は、複数の整数の各々をデータの一覧表として表示手段に表示させる。
【００２７】
上記のエディタ装置によると、処理の制御データの属性が整数型である場合に、利用者が整数の配列構造を有する変数を選択すると、配列要素である各整数の一覧表が表示される。したがって、利用者は、変数の名称を入力することなく、その一覧表から特定の整数型の変数を選択することができるため、処理に対する変数の関連付けを確実に行なうことができる。
【００２８】
好ましくは、入力手段は、ポインティングデバイスを含む。
【００２９】
上記のエディタ装置によると、利用者はポインティングデバイス（たとえば、マウス、トラックボール、ライトペン等）によって対象を選択することにより、変数と処理との関連付けを行なうことができる。したがって、対象の名称を入力する必要がないため、利用者によるデータの誤入力が防止される。これにより、処理に対する変数の関連付けを確実に行なうことができる。
【００３０】
この発明の他の局面に従うと、プログラムは、制御対象機器の状態を表示する処理と動作の制御を指示する処理とを行なう表示器が実行する制御プログラムに対応する処理データを、表示器に転送可能な形式で作成するためのエディタ装置として、コンピュータを機能させる。このプログラムはコンピュータに、利用者が指示を入力するステップと、指示に基づいて、各処理を編集するステップと、編集された各処理の名称と、各処理の画像を表わす画像データと、各処理をそれぞれ制御する制御データの属性とを、関連付けて準備するステップと、指示に基づいて、少なくともいずれかが複数の要素を有する変数であって、制御プログラムが参照する複数の変数の各々の変数名と、複数の変数の各々の型属性とを定義するステップと、指示に基づいて、定義された各々の変数名を、対応する各々の型属性に対応付けて準備するステップと、指示が入力されると、画像データと、各々の変数名と基づいて、編集された各処理の画像と、各々の変数名が有するデータの一覧表とを表示するステップと、利用者による入力ステップの操作に基づいて、データの一覧表から利用者により選択された変数を検出するステップと、入力ステップの操作に基づいて、選択された変数と各処理のいずれかの処理との関連付けが行なわれようとしていることを検知するステップと、関連付けが行なわれようとしていることが検知されると、選択された変数の型属性と制御データの属性とに基づいて、関連付けが可能であるか否かを判断するステップと、関連付けが可能であると判断されると、選択された変数を処理に関連付けるステップと、関連付けが不可能であると判断されると、いずれかの処理に対して、選択された変数が有する複数の要素を、データの一覧表として表示ステップに表示させるステップと、各処理と、各処理にそれぞれ対応付けられた変数とに基づいて、処理データを作成するステップとを実行させる。
【００３１】
上記のプログラムによると、コンピュータは、利用者が編集した各処理に対して、利用者が予め定義した変数を関連付けを行なうことができる。すなわち、コンピュータは、表示装置に、処理の画像と、変数データの一覧とを表示させる。利用者は、入力手段（たとえば、マウス、トラックボールその他のポインティングデバイス等）を操作して、特定の変数名を選択して、処理の画像の表示に関連付けようとすることができる。コンピュータが、その操作に基づいて、選択された変数と各処理のいずれかの処理との関連付けが行なわれようとしていることを検知する。コンピュータは、利用者によって選択された変数の型属性（たとえば、ビット型、整数型、整数配列型等）と制御データの属性（たとえば、ビット型、整数型、整数配列型等）とに基づいて、関連付けが可能であるか否かを判断する。関連付けが可能であると判断されると、選択された変数は、その処理に関連付けられる。関連付けが不可能であると判断されると、表示装置は、いずれかの処理に対して、選択された変数が有する複数の要素を、データの一覧表として表示する。この場合、利用者は、再びその一覧表から特定の要素を選択することができる。その結果、その要素と処理との関連付けが可能であると判断されると、その要素がその処理に関連付けられる。各処理に対する関連付けが行なわれると、コンピュータは、各処理と、各処理にそれぞれ対応付けられた変数とに基づいて、処理データを作成することができる。このようにすると、利用者は、表示された一覧表から特定の表示を選択することにより、各処理に対する変数を関連付けることができる。これにより、データを入力して関連付けを行なう場合に比べて、誤設定を抑制することができるエディタ装置として、コンピュータを機能させることができるプログラムを提供することができる。
【００３２】
この発明のさらに他の局面に従うと、記録媒体は、上記のプログラムを格納した媒体である。
【００３３】
上記の記録媒体によると、上記のプログラムに基づく処理をコンピュータに実行させることができる。したがって、利用者は、データを入力することなく、表示された一覧表から選択することにより、処理と変数とを関連付けることができる。これにより、不適切な変数の関連付けを防止することができるため、誤作動しない制御プログラムのための処理データを作成しやすくなる。
【発明の効果】
【００３４】
本発明に係るエディタ装置によると、利用者は、たとえばキーボードその他の入力装置を介して、特定の変数を入力する必要がないため、変数の誤入力を防止することができる。また、関連付けの候補となる変数あるいは変数の要素が予め表示されることにより、利用者は、その表示の中から選択するだけで、各処理に変数を関連付けることができる。したがって、処理と変数との関連付けを効率よく行なうことができ、また、誤作動しない処理を作成しやすくなる。
【００３５】
本発明に係るプログラムによると、コンピュータは、たとえばキーボードその他の入力装置からのデータの入力が不要となるため、利用者による変数の誤入力を防止することができるエディタ装置として機能することができる。また、コンピュータは、関連付けの候補となる変数あるいは変数の要素を予め表示するため、利用者は、その表示の中から選択するだけで、各処理に変数を関連付けることができる。
【００３６】
本発明に係る記録媒体によると、たとえばキーボードその他の入力装置からのデータの入力が不要となるため、利用者による変数の誤入力を防止することができるエディタ装置として、コンピュータを機能させることができる。この記録媒体はさらに、関連付けの候補となる変数あるいは変数の要素を予め表示して、その表示の中から利用者に特定の候補を選択させることにより、各処理に変数を関連付けることができるエディタ装置として、コンピュータを機能させることができる。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３８】
図１を参照して、本発明の実施の形態に係るエディタ装置１００の構成について説明する。図１は、本実施の形態に係るエディタ装置１００と、その装置により生成される画像データを使用するプログラマブル表示器１５０と、ＰＬＣ（Programmable Logic Controller）１８０とを説明するための図である。なお、エディタ装置１００とプログラマブル表示器１５０とは、一般には常に接続されているわけではなく、たとえばエディタ装置１００により生成された画像データをプログラマブル表示器１５０にロードするときに一時的に接続される。
【００３９】
エディタ装置１００は、相互にデータバスで接続された、制御部１１０と、データを一時的に記憶するためのメモリ部１１２と、作成される画像などを表示するための表示部１１４と、ユーザがデータを入力するための入力部１１６と、記録媒体１２０が装着される駆動部１１８と、外部とデータの入出力をするための通信部１２２と、大容量のデータを記憶するためのデータ記憶部１４０と、画面その他の図形を編集するためのエディタ部１３０とを含む。エディタ部１３０は、作画エディタ１３２と、変数管理部１３４とを含む。
【００４０】
制御部１１０は、たとえばＣＰＵ（Central Processing Unit）、あるいはＭＰＵ（Micro Processing Unit）その他の演算回路である。制御部１１０は、所定の指示を検出すると、予めデータ記憶部１４０に格納されていたプログラムをメモリ部１１２に読み出して、所定のデータをメモリ部１１２に読み出したり書き込んだりすることにより、プログラムを実行する。
【００４１】
メモリ部１１２は、たとえばＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）その他のメモリである。このメモリ部１１２には、初期データなどの固定データ、あるいは制御部１１０による一時的な処理結果その他のデータが格納される。このデータの格納については後述する。
【００４２】
表示部１１４は、たとえばディスプレイ装置である。表示部１１４は、制御部１１０から受信した信号に基づいて、画面を表示する。
【００４３】
入力部１１６は、キーボード、マウスその他の入力装置である。ユーザは、この入力部１１６を介して、画面の編集のためのデータ、画面に含まれる画像に関連付けられる設定データ等を入力することができる。
【００４４】
駆動部１１８は、装着された記録媒体１２０からデータを読み出したり、あるいは記録媒体１２０にデータを書き込んだりすることができる。この駆動部１１８には、ＣＤ（Compact Disk）ドライブ装置、メモリカードリーダ等が含まれる。
【００４５】
通信部１２２は、通信回線を介して外部の装置と通信するためのインタフェースである。通信部１２２は、たとえばＵＳＢ（Universal Serial Bus）規格、ＲＳ（Recommendation Standard）−２３２Ｃ規格、ＲＳ−４２２規格等のインターフェースであるが、これらに限られず、通信回線を介して接続される機器とデータを通信することができるものであればよい。
【００４６】
エディタ部１３０は、予め記憶されたプログラムおよびデータに基づいて、ユーザがプログラマブル表示器１５０に表示させる画面などを編集するための機能を実現するものである。作画エディタ１３２は、作画に必要なデータ（たとえば、スイッチ、ランプ、テンキー、各種表示器などの部品、描画機能、テキスト入力機能）などを有する。
【００４７】
作画エディタ１３２は、予め準備されたこれらのデータおよびプログラムに基づいて、ユーザが希望する画面を生成する。また、作画エディタ１３２は、作成された画面に配置されたマークの各制御対象機器に対する入出力番号（アドレス）を割り付けることができる。作画エディタ１３２によって作成されたユーザ画面は、データ記憶部１４０に格納される。このユーザ画面は、ユーザの指示に基づいて通信部１２２を介して接続されたプログラマブル表示器１５０に転送される。この転送された画面データは、通信部１２２との間で一時的に接続されるプログラマブル表示器１５０のメンテナンスポート１５４を介して、ＦＥＰＲＯＭ（Flash Erasable Programmable ROM）１６４にアップロードされる。
【００４８】
変数管理部１３４は、作画エディタ１３２から入力された変数に、シンボルが表わす機能（ランプ、スイッチ、カウンタ、タイマ等）を機能属性として付与し、その変数をデータ記憶部１４０に記憶させる。
【００４９】
機能属性の付与は、変数に予約語を含ませることにより行なわれる。この場合、たとえばランプの場合、“Ｌ”を予約語として、この予約語は、変数の先頭に含められる。たとえば、“ＬＯＯＯ”（Ｏは、任意の文字あるいは数字を表わす。）は、識別番号がＯＯＯであるランプの変数を表わす。スイッチ、カウンタ、タイマ等についても、変数を同様に設定することができる。なお、機能属性の付与は、上記の方法に限られない。
【００５０】
プログラムエディタ１３６は、作画エディタ１３２によって作成された画面とデータ記憶部１４０に記憶されている変数とに基づいて、プログラマブル表示器１５０が実行する制御プログラムを作成する。この制御プログラムは、たとえばプログラマブル表示器１５０に接続されるＰＬＣ１８０、組立て機（図示しない）その他の制御対象機器の状態を表示したり、あるいは、これらの制御対象機器に予め定められた動作を行なわせる指示を出力するためのプログラムである。
【００５１】
データ記憶部１４０は、たとえばハードディスク装置であり、大容量のデータを記憶することができる。このデータ記憶部１４０は、制御部１１０により、データの書込みあるいは読み出しが制御される。
【００５２】
図１を再び参照して、プログラマブル表示器１５０は、相互にデータバスで接続された、ＣＰＵ１５２と、メンテナンスポート１５４と、メモリ１６０と、通信コントローラ１６６と、ＶＲＡＭ（Video RAM）１６８と、グラフィックコントローラ１７０と、ディスプレイ１７２と、タッチパネル１７４と、タッチパネルコントローラ１７６と、Ｉ／Ｏ（Input/Output）制御ＩＦ（Interface）１７８と、Ｉ／Ｏユニット１７９とを含む。
【００５３】
メモリ１６０は、ＤＲＡＭ（Dynamic RAM）１６２と、ＦＥＰＲＯＭ（Flash Erasable and Programmable ROM）１６４とを含む。Ｉ／Ｏユニット１７９は、制御対象機器１９６，１９８その他の機器を接続するための入出力端子、入出力回路等を含む。複数の入出力端子が、備えられてもよい。Ｉ／Ｏ制御ＩＦ１７８は、ＣＰＵ１５２とＩ／Ｏユニット１７９との間の信号の授受を仲介するインターフェース回路である。Ｉ／Ｏ制御ＩＦ１７８は、入出力メモリ、Ｄ／Ａ（Digital to Analog）変換器、Ａ／Ｄ（Analog to Digital）変換器等を含む。
【００５４】
ＣＰＵ１５２は、ＦＥＰＲＯＭ１６４に格納されたプログラムに基づいて、ＰＬＣ１８０との通信処理、ディスプレイ１７２の表示処理等を実行する。ＣＰＵ１５２はまた、タッチパネル１７４における入力に基づいて、その入力に対応する処理を実行する。
【００５５】
メンテナンスポート１５４は、プログラマブル表示器１５０の保守時等において一時的に使用されるポートである。プログラマブル表示器１５０に表示させる画面を変更する場合、あるいは画面の表示制御の設定を変更する場合等において、新しいデータがメンテナンスポート１５４から入力される。これにより、プログラマブル表示器１５０とＰＬＣ１８０との通信が妨げられることなく、画面のデータを更新することができる。
【００５６】
ＤＲＡＭ１６２は、主にディスプレイ１７２における表示制御その他の処理に用いられるデータを一時的に記憶する。ＦＥＰＲＯＭ１６４は、書換可能なフラッシュメモリである。フラッシュメモリは、稼動部を持たず、また衝撃に強いため、ＰＬＣ１８０に接続される環境が劣悪であっても、安定して作動することができる。
【００５７】
通信コントローラ１６６は、ＣＰＵ１５２の制御により、ＰＬＣ１８０との間でデータ通信を行なう。通信されるデータには、ＰＬＣ１８０から報告される、実績その他の稼動状況を表わすデータ、あるいは、プログラマブル表示器１５０からＰＬＣ１８０に送信される設定データ等が含まれる。
【００５８】
ＶＲＡＭ１６８は、ＣＰＵ１５２の制御により画面表示用のデータを一時的に保存する。このデータは、グラフィックコントローラ１７０に読み出され、ディスプレイ１７２に出力される。これにより、ディスプレイ１７２は、所定の画面を表示することができる。
【００５９】
上記の構成のように、プログラマブル表示器１５０は、Ｉ／Ｏ制御ＩＦ１７８およびＩ／Ｏユニット１７９を有するため、ＰＬＣ１８０を介することなく、制御対象機器に接続することができる。したがって、プログラマブル表示器１５０は、たとえば制御対象機器１９６，１９８の状態の表示あるいは動作の制御の指示を直接実行することができる。
【００６０】
なお、プログラマブル表示器１５０の構成は、上記のものに限られない。たとえば、プログラマブル表示器は、グラフィック表示を行なうため、操作盤、スイッチ、表示灯などの機能を有する他、デバイスその他の制御対象機器の稼動状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えていればよい。
【００６１】
このような表示器で表示される制御画面は、画面作成プログラムによって利用者が作成することができる。このようなプログラムがコンピュータで起動されると、編集のための画面が表示される。利用者は、その画面において、制御画面を構成する画像ブロックを任意に使用したり、操作の可否を設定することができる。ここで、画像ブロックとは、たとえば、制御画面そのもの、制御画面に表示されるランプ、スイッチ、カウンタ、メータ表示器、グラフ表示器などの部品画像（シンボル）、あるいは、制御画面や部品画像に付加的に表示される補助画像（たとえばポップアップウィンドウ画面）などの画像をいうが、これらに限られない。これらの画像は、利用者が全てデザインしてもよいし、予めテンプレートとして準備された画像であってもよい。
【００６２】
図１を再び参照して、ＰＬＣ１８０は、ネットワーク１９０を介してプログラマブル表示器１５０と接続される。ＰＬＣ１８０はさらに、制御対象機器１９２，１９４に接続される。ＰＬＣ１８０は、制御機能部として、予め格納された制御プログラムによって、制御対象機器１９２，１９４の動作を制御する。制御対象機器１９２，１９４は、たとえば自動組立て機、ベルトコンベアなどであるが、特定の機器に限られない。また、ＰＬＣ１８０に接続される制御対象機器の数は、特定の数に限られない。
【００６３】
図２を参照して、本実施の形態に係るエディタ装置を実現するコンピュータシステム２００について説明する。図２は、コンピュータシステム２００の構成を表わすブロック図である。
【００６４】
図２に示すように、このコンピュータシステム２００は、相互にバスで接続されたＣＰＵ２１０と、モニタ２２０と、マウス２３０と、キーボード２４０と、メモリ２５０と、固定ディスク２６０と、ＦＤ(Flexible Disk）駆動装置２７０と、ＣＤ−ＲＯＭ駆動装置２８０と、通信ＩＦ（Interface）２９０とを含む。ＦＤ駆動装置２７０には、ＦＤ２７２が装着される。ＣＤ−ＲＯＭ駆動装置２８０には、ＣＤ−ＲＯＭ２８２が装着される。
【００６５】
ＣＰＵ２１０は、図１に示したエディタ装置１００における制御部１１０およびエディタ部１３０として機能する。マウス２３０あるいはキーボード２４０は、エディタ装置１００における入力部１１６として機能する。モニタ２２０は、エディタ装置１００における表示部１１４として機能する。メモリ２５０は、エディタ装置１００におけるメモリ部１１２として機能する。固定ディスク２６０は、エディタ装置１００におけるデータ記憶部１４０として機能する。ＦＤ駆動装置２７０あるいはＣＤ−ＲＯＭ駆動装置２８０は、エディタ装置１００における駆動部１１８として機能する。ＦＤ２７２あるいはＣＤ−ＲＯＭ２８２は、エディタ装置１００の駆動部１１８に装着される記録媒体である。通信ＩＦ２９０は、エディタ装置１００における通信部１２２として機能する。
【００６６】
このようにして、エディタ装置１００を実現するコンピュータシステム２００における処理は、各ハードウェアおよびＣＰＵ２１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、メモリ２５０あるいは固定ディスク２６０に予め記憶されている場合もあれば、ＦＤ２７２あるいはＣＤ−ＲＯＭ２８２その他の記録媒体に格納されて流通し、ＦＤ駆動装置２７０あるいはＣＤ−ＲＯＭ駆動装置２８０によりその記録媒体から読み取られて、固定ディスク２６０に一旦格納される場合もある。そのソフトウェアは、メモリ２５０あるいは固定ディスク２６０から読み出されて、ＣＰＵ２１０によって実行される。図２に示したコンピュータシステム２００のハードウェア自体は、一般的なものである。したがって、本発明の最も本質的な部分は、メモリ２５０、固定ディスク２６０、ＦＤ２７２、ＣＤ−ＲＯＭ２８２その他の記録媒体に記録されたソフトウェアであるとも言える。
【００６７】
なお、このコンピュータシステム２００の各ハードウェアの動作は周知であるので、ここではその説明は繰り返さない。
【００６８】
図３を参照して、本実施の形態に係るエディタ装置１００を実現するコンピュータシステム２００に格納されるデータについて説明する。図３は、コンピュータシステム２００の固定ディスク２６０に格納されるデータ構造を表わす。
【００６９】
図３に示すように、プログラマブル表示器が実行する命令は予めコンピュータシステム２００の固定ディスク２６０に格納されている。この命令には、ビット操作命令、論理演算命令、転送命令、演算命令、タイマ／カウンタ命令、変換命令、プログラム制御命令などが含まれる。
【００７０】
各命令に対応する機能は、フィールドＦ３１０に格納される。各機能に対応する命令コードは、フィールドＦ３２０に格納される。この命令コードは、プログラマブル表示器１５０が実行する命令に対応するコードである。
【００７１】
各命令コードに対応するデータ属性は、フィールドＦ３３０に格納される。この属性には、たとえばビット属性、整数属性などが含まれるが、これらに限られない。たとえば、命令「ａ接点」に対して、命令コードは「ＮＯ」であり、そのデータ属性はビット属性である。
【００７２】
なお、固定ディスク２６０におけるラダー命令の格納の態様は、図３に示した態様に限られない。
【００７３】
図４を参照して、本実施の形態に係るエディタ装置１００を実現するコンピュータシステム２００に格納されるデータについてさらに説明する。
【００７４】
図４に示すように、変数の名称は、フィールドＦ４１０に格納される。この名称は、たとえばユーザが任意に設定したものであり、またエディタ装置１００において予め定められた規則に基づいて設定された変数である。
【００７５】
変数の属性は、フィールドＦ４２０に格納される。この属性には、たとえば整数、整数配列、タイマなどが含まれるが、これらに限られない。
【００７６】
変数を分類するための属性は、フィールドＦ４３０に格納される。この属性には、たとえば内部変数があるがこれらに限られない。
【００７７】
図４において、たとえば変数「Ｃ＿００００」は、データ属性が整数であり、その分類は内部変数である。また、たとえば変数「Ｐ＿００００」は、７つの配列要素を有する整数配列の属性であり、内部変数の分類である。
【００７８】
図を参照して、本実施の形態に係るエディタ装置１００を実現するコンピュータシステム２００の制御構造について説明する。図５は、コンピュータシステム２００のＣＰＵ２１０が実行する処理の手順を表わすフローチャートである。たとえば、利用者がコンピュータシステム２００に対して、制御プログラムを作成するためのプログラムを実行した場合に、以下に示す処理が行なわれる。
【００７９】
ステップＳ５０２にて、ＣＰＵ２１０は、利用者が入力した指令に基づいて、エディタプログラムを起動する。このプログラムは、たとえばプログラマブル表示器１５０が実行する制御プログラムを作成するためのプログラムであるが、他のプログラムであってもよい。
【００８０】
ステップＳ５０４にて、ＣＰＵ２１０は、利用者の入力に応じて、あるいは予め定められた基準に基づいて変数を作成する。作成された変数には、その名称、属性その他の変数に固有な情報が対応付けられている。ここで属性は、変数が参照するデータの属性をいう。この属性には、たとえば、ビット、整数、整数配列、実数等が含まれる。
【００８１】
ステップＳ５０６にて、ＣＰＵ２１０は、作成した変数に基づいてラダー線図を作成する。この作成は、利用者が入力する制御ロジックに基づいて行なわれる。なお、この処理において作成されるのは、ラダー線図に限られない。モニタ２２０において制御ロジックが表示可能なプログラムであればよい。
【００８２】
ステップＳ５０８にて、ＣＰＵ２１０は、作成した変数の一覧を表示する。この表示は、たとえば利用者による表示の指示を検知したとき、あるいは実行中のエディタプログラムから他のサブルーチンプログラム、あるいはプログラムモジュール等が実行されたときに行なわれる。これにより、利用者はモニタ２２０において、制御プログラムの作成に使用可能な変数を参照することができる。
【００８３】
ステップＳ５１０にて、ＣＰＵ２１０は、利用者による変数の選択を検知する。この検知は、たとえば変数の一覧表において、利用者がマウス２３０のポインタ（矢印）を変数の位置（たとえば、変数の表示を含む領域）に移動し、選択を確定する動作（たとえばマウス２３０の所定のボタンの押下）を実行した場合に行なわれる。
【００８４】
ステップＳ５１２にて、ＣＰＵ２１０は、ラダー線図上において割付先の命令の指定を検知する。この検知は、たとえばモニタ２２０に表示されたラダー線図上において、利用者がマウス２３０により、特定の命令の表示を指示した場合に行なわれる。なお、ここで、命令とは、プログラマブル表示器１５０が実行する処理をいう。この処理には、プログラマブル表示器１５０による制御対象機器の動作の制御、制御対象機器の状態の表示等を含む。制御対象機器の動作には、スイッチの開閉、データの転送、データの演算、論理演算、タイマによる計測、カウンタによる計数その他の処理が含まれる。
【００８５】
ステップＳ５１４にて、ＣＰＵ２１０は、ステップＳ５１２にて指定された命令に許可される属性と、ステップＳ５１０にて選択された変数の属性とが一致するか否かを判断する。この判断は、たとえば固定ディスク２６０に予め記憶されているデータに基づいて、命令に対応付けられるデータの属性と、変数が参照するデータの属性とを比較することにより行なわれる。命令に許可される属性と選択された変数の属性とが一致すると判断した場合には（ステップＳ５１４にてＹＥＳ）、処理はステップＳ５３０に移される。そうでない場合には（ステップＳ５１４にてＮＯ）、処理はステップＳ５１６に移される。
【００８６】
ステップＳ５１６にて、ＣＰＵ２１０は、命令に許可される属性を有する変数のリストを作成する。なお、このリストの作成に代えて、たとえば固定ディスク２６０に格納されている変数のデータを所定の基準に基づいて抽出する処理、あるいは予め該当する変数のリストを作成しておき、そのデータをメモリ２５０に読み出す処理を行なってもよい。
【００８７】
ステップＳ５１８にて、ＣＰＵ２１０は、作成した変数のリストをモニタ２２０に表示させる。これにより、利用者は、選択可能な変数を参照することができる。
【００８８】
ステップＳ５２０にて、ＣＰＵ２１０は、表示中の変数のリストにおいて選択された変数を検出する。この検出は、たとえば利用者のマウス２３０のポインタが特定の変数上に指示され、利用者が所定の操作（たとえばマウス２３０における確定ボタンの押下）を行なった場合に行なわれる。
【００８９】
ステップＳ５３０にて、ＣＰＵ２１０は、選択された変数を指定された命令に対応づける。この対応付けにより、ラダー線図上において指定された命令に対して所定の属性を有する変数が割り当てられる。したがって、エディタ装置１００が作成した制御プログラムの実行時に、その命令は、その変数が参照するデータに基づいて実行される。
【００９０】
以上のような構造およびフローチャートに基づく、本実施の形態に係るエディタ装置１００を実現するコンピュータシステム２００の動作について説明する。以下では、整数配列と、タイマ変数と、整数変数とをドラッグ＆ドロップする場合についてそれぞれ説明する。
【００９１】
なお、以下の説明において参照される、図７、図９、図１１、図１３〜図１５、および図１７は、モニタ２２０に表示される画面を表わす図である。また、図６、図８、図１０、図１２、および図１６は、メモリ２５０におけるデータ構造を表わす図である。これらの図については、コンピュータシステム２００の動作の説明に合わせて、適宜説明する。
【００９２】
［整数配列のドラッグ＆ドロップ操作］
利用者がエディタプログラムを実行すると（ステップＳ５０２）、変数は、予め定められた処理に基づいて作成される（ステップＳ５０４）。作成された変数と各変数の属性とが、固定ディスク２６０に格納される。
【００９３】
ここで図６を参照して、作成された変数について説明する。図６は、固定ディスク２６０からメモリ２５０に読み出された変数のデータ構造を概念的に表わす図である。作成された変数は、フィールドＦ６１０に格納される。各変数の属性は、フィールドＦ６２０に格納される。各変数の分類コードは、フィールド６３０に格納される。たとえば変数「Ｐ＿００００」は、配列要素を７つ有する整数配列である。なお、データが格納される態様は、図6に示したものに限られない。
【００９４】
利用者が、モニタ２２０に表示された一覧表において、マウス２３０により変数「Ｐ＿００００」を選択すると、その変数の表示部分は、たとえば表示色の変化などにより、その変数が選択されたことを示す表示に切り換わる（図７）。
【００９５】
利用者が、その変数「Ｐ＿００００」を選択した態様のまま、マウス２３０によりラダー線図上にドラッグ＆ドロップすると、コンピュータシステム２００は、割付先の命令の指定を検知する（ステップＳ５１２）。この場合、選択された変数「Ｐ＿００００」は複数ビットからなる整数配列の属性を有し、割付先の命令は、ビット属性を有する。したがって、命令に許可される属性と選択された変数の属性とが一致しないと判断され（ステップＳ５１４にてＮＯ）、コンピュータシステム２００は、その命令（たとえば「ａ接点」）に許可される属性を有する変数のリストを作成する（ステップＳ５１６）。
【００９６】
ここで図８を参照して、変数のリストとして作成され、メモリ２５０に格納されるデータについて説明する。図８は、エディタプログラムの実行中にメモリ２５０に一時的に格納されるデータを表わす図である。
【００９７】
フィールドＦ８１０には、利用者のマウス操作により選択された変数（すなわちＰ＿００００）が格納される。その変数に対応する配列要素は、フィールドＦ８２０に格納される。たとえば、変数「Ｐ＿００００」は、７つの配列要素を有する変数であるため、７つのビットデータがメモリ２５０に格納される。なお、データが格納される態様は、図８に示すものに限られない。
【００９８】
このようにして、利用者が選択した変数「Ｐ＿００００」に対応する配列要素が、モニタ２２０に表示され（ステップＳ５１８、図９）、利用者がその一覧に対して特定の変数（たとえば、Ｐ＿００００［３］）上にマウス２３０のポインタを配置すると、その変数（Ｐ＿００００［３］）の選択が検出される（ステップＳ５２０）。
【００９９】
この場合、選択された変数（Ｐ＿００００［３］）が、たとえば３２ビットの整数である場合、その変数の属性（整数）と、命令の属性（ビット属性）とが一致しない（ステップＳ５１４にてＮＯ）。そのため、コンピュータシステム２００は、その命令（たとえば「ａ接点」）に許可される属性を有する変数のリストを再び作成する（ステップＳ５１６）。
【０１００】
ここで図１０を参照して、変数（Ｐ＿００００［３］）のリストとして作成され、メモリ２５０に格納されるデータについて説明する。図１０は、エディタプログラムの実行中にメモリ２５０に一時的に格納されるデータを表わす図である。
【０１０１】
フィールドＦ１０１０には、利用者のマウス操作により選択された変数（すなわちＰ＿００００［３］）が格納される。その変数を構成するビット属性を有する各変数は、フィールドＦ１０２０に格納される。たとえば、変数（Ｐ＿００００［３］）が３２ビットである場合、図１０に示すように、３２の変数「Ｐ＿００００［３］×［０］」〜「Ｐ＿００００［３］×［３１］」が、それぞれのデータ領域に格納される。なお、データが格納される態様は、図１０に示すものに限られない。
【０１０２】
このようにして、利用者が選択した変数「Ｐ＿００００［３］」を構成する変数（Ｐ＿００００［３］×［０］〜Ｐ＿００００［３］×［３１］）の一覧表が、モニタ２２０に表示される（ステップＳ５１８、図１１）。
【０１０３】
この一覧表は、それまで表示されていた変数の一覧表（図９）の前面に表示される。したがって、利用者は、選択すべき変数を容易に確認することができるため、変数の選択を確実に行なうことができる。図１１における一覧表の表示を実現するためには、たとえば、その一覧表の始点（同左上部）が、既に表示されている一覧表（図９）の始点（たとえば、画面における左上部）に重なるように、表示のための位置データを出力してもよい。すなわち、表示中の一覧表のいずれかの角部に対応する座標データと同じデータを、新たな一覧表についての座標データとすることにより、変数の表示を重ねて表示することができる。
【０１０４】
利用者がその一覧に対して特定の変数（たとえば、Ｐ＿００００［３］×［０］）上にマウス２３０のポインタを配置して、決定機能を有するボタン（図示しない）を押下すると、その変数（Ｐ＿００００［３］×［０］）の選択が検出される（ステップＳ５２０）。
【０１０５】
その結果、選択された変数（Ｐ＿００００［３］×［０］）の属性（ビット属性）と、割付先の命令の属性（ビット属性）とは、一致する（ステップＳ５１４にてＹＥＳ）。したがって、その変数（Ｐ＿００００［３］×［０］）は、割付が指定された命令（すなわち「ａ接点」）に対応づけられる（ステップＳ５３０）。
【０１０６】
以上により、利用者が、整数配列として定義されている変数をビット属性を有する命令に割付けようとすると、利用者によって選択された変数に対して、割付の候補となる配列要素を一覧表として表示する。利用者は、その一覧表から特定の配列要素を選択することができるため、たとえば利用者がキーボード２４０の操作により配列要素を入力する場合に比べて、誤入力あるいは誤操作を少なくすることができる。
【０１０７】
［タイマ変数のドラッグ＆ドロップ操作］
以下、利用者がタイマ変数を命令に割り付ける場合について説明する。ここでタイマ変数とは、たとえばビット変数とワード変数とを含み、制御対象機器を作動させたり、停止させたりする命令を設定する変数をいう。
【０１０８】
ここで、図１２を参照して、メモリ２５０に格納されるデータについて説明する。
【０１０９】
図１２（Ａ）は、利用者がエディタプログラムを起動したときに生成されるデータ構造を表わす図である。すなわち、変数名は、フィールドＦ１２１０に格納される。各変数に対応するデータ属性は、フィールドＦ１２２０に格納される。各変数の分類は、フィールドＦ１２３０に格納される。
【０１１０】
図１２（Ｂ）は、エディタプログラムの実行中に一時的に作成されるデータ構造を表わす。すなわち、選択された変数は、フィールドＦ１２５０に格納される。その変数が構成要素として含む要素変数は、フィールドＦ１２６０に格納される。この変数は、たとえば変数の内部に異なる属性の変数を含む場合におけるその変数を表わす。
【０１１１】
利用者がエディタプログラムを起動して所定の変数の作成処理を実行すると（ステップＳ５０４）、その変数は固定ディスク２６０に保存される。利用者がコンピュータシステム２００において操作を継続して、変数の一覧表示を指示すると（ステップＳ５０８）、モニタ２２０は、ラダー線図上にその変数の一覧表を表示する（ステップＳ５０８、図１３）。
【０１１２】
利用者が、その一覧表においてマウス２３０により変数「Ｔ＿０００５」を選択すると、その変数の表示部分は、選択されたことを示す表示の態様に切換わる（たとえば、白黒反転する）。この状態において、利用者がマウス２３０によりその変数「Ｔ＿０００５」をラダー線図上の命令（たとえば、「ａ接点」）にドラッグしてさらにドロップすると、モニタ２２０は、その命令上に、変数「Ｔ＿０００５」に対応する構造体の要素の一覧表を表示する（ステップＳ５１８、図１４）。
【０１１３】
ここで、図１４を参照して、一覧表が表示される場所について説明する。この一覧表は、割付の対象となる命令（たとえば、図１３におけるプログラムコメント「２」の表示部）の前面に表示される。したがって、利用者は、選択すべき変数を容易に確認することができるため、変数の選択を確実に行なうことができる。図１４における一覧表の表示を実現するためには、たとえば、その一覧表の始点（同左上部）が、既に表示されている命令（図１３）の表示領域の始点（たとえば、画面における左上部）に重なるように、表示のための位置データを出力してもよい。すなわち、割り付け対象となる命令の表示領域のいずれかの角部に対応する座標データと同じデータを、新たな一覧表についての座標データとすることにより、変数の表示を重ねて表示することができる。
【０１１４】
利用者が、その一覧からビット変数「Ｔ＿０００５．Ｑ」を選択すると、コンピュータシステム２００は、その変数を命令（ａ接点）に割付ける（ステップＳ５３０）。
【０１１５】
以上により、利用者がラダー線図上におけるビットデータを要する命令にタイマ構造体の変数を割付けようとした場合には、選択されたタイマ構造体の変数の要素（たとえばビット属性、あるいはワード属性）に応じた変数をさらに表示する。したがって、利用者はその一覧表からビット属性を有する変数（たとえばＴ＿０００５．Ｑ）を選択することができるため、キーボード２４０を使用して変数名を入力する場合に比べて、誤入力を少なくすることができる。
【０１１６】
［整数変数のドラッグ＆ドロップ操作］
以下、ビット属性を有する命令に対して、１６ビットの整数変数を割付けようとする場合について説明する。
【０１１７】
利用者がエディタプログラムを起動して変数を作成すると（ステップＳ５０４）、作成された変数は固定ディスク２５０に格納される（たとえば図６）。コンピュータシステム２００のモニタ２２０が変数の一覧表を表示すると（ステップＳ５０８、図１５）、利用者のマウス２３０による選択操作が可能になる。たとえば、利用者が変数「Ｄ＿０００４」を選択して、ドラッグ＆ドロップ操作によりその変数を命令（ａ接点）に割り付けようとすると、変数「Ｄ＿０００４」の属性と命令（ａ接点）の属性とが一致しないため（ステップＳ５１４にてＮＯ）、変数「Ｄ＿０００４」に対応する属性を有する変数のリストがメモリ２５０において作成される（ステップＳ５１６、図１６）。
【０１１８】
ここで、図１６を参照して、メモリ２５０に作成されるデータについて説明する。図１６は、固定ディスク２５０からメモリ２５０に読み出されたデータが格納される態様を概念的に表わす図である。
【０１１９】
図１６に示すように、特定の命令に割り付けられようとしている変数（たとえば「Ｄ＿０００４」）は、フィールドＦ１６１０に格納される。その変数に含まれるビット要素は、フィールドＦ１６２０に示すように、各データ領域に格納される。なお、データが格納される態様は、図１６に示した態様に限られない。
【０１２０】
コンピュータシステム２００は、メモリ２５０に読み出したデータに基づいて、変数「Ｄ＿０００４」に応じたリストを表示する（ステップＳ５１８）。
【０１２１】
ここで、図１７を参照して、モニタ２２０が表示する画面について説明する。図１７は、モニタ２２０に表示された一覧表から選択された変数に対して、その変数が有するビット要素の一覧表が表示された画面を表わす。
【０１２２】
利用者が、その表示されたリストから、マウス２３０により命令（ａ接点）に割り付けようとする変数（たとえばＤ＿０００４×［０］）を選択して確定ボタン（図示しない）を押下すると（ステップＳ５２０）、その変数「Ｄ＿０００４×［０］」は、命令（ａ接点）に対応づけられて、メモリ２５０に格納される（ステップＳ５３０）。
【０１２３】
このようにして、利用者がビット属性を有する命令に整数属性を有する変数を割付けようとする場合には、その変数から命令の属性に対応する属性を有する変数のリストが作成される。利用者は、そのリストから、マウス２３０により特定の変数を選択し、その命令に割り付けることができる。このようにすると、利用者は、キーボード２４０を介して特定の変数を入力する場合に比べて、命令に対して不適切な変数の入力その他の誤操作を防止することができる。
【０１２４】
以上のようにして、詳述した本実施の形態に係るエディタ装１００を実現するコンピュータシステム２００は、変数をラダー線図に割付ける処理を実行中に、その命令に許可されるデータの属性と変数が参照するデータの属性とが一致するか否かを判断する。命令に許可されるデータの属性と変数が参照するデータの属性とが一致しない場合には、コンピュータシステム２００は、その命令に許可される属性を有する変数のリストを、割り付け可能な候補として作成して、モニタ２２０に表示させる。このようにすると、利用者はマウス２３０その他のポインティングデバイスの操作により、表示されたリストから、特定の変数を選択して、命令にその変数を割り付けることができる。このようにすると、利用者は命令に割付けるための変数を、たとえばキーボード２４０その他の入力手段を介して入力する場合に比べて、誤って選択することがなくなる。したがって、ラダー線図に対して適切な変数を割付けることができる。
【０１２５】
なお、本発明の実施の形態においては、利用者が選択した変数に対して、その変数が含む要素が処理に関連付けられる場合について説明した。すなわち、最初の選択において変数と処理との関連付けができない場合、その後の要素の選択によって関連付けができる場合を説明した。
【０１２６】
このような場合に加えて、その要素から、特定の要素をさらに選択する場合も、同様の処理を実行することができる。この場合は、たとえば、処理におけるデータ属性がビット要素である場合において、利用者が、複数のビット要素からなる整数の配列の属性を有する変数を選択した場合を含む。このとき、選択された変数から特定の配列要素を選択する処理と、選択された配列要素（すなわち整数）から、特定のビット要素を選択する処理が必要になる。
【０１２７】
このような場合も、図５に示したフローチャートにおいて、ステップＳ５２０の後に、ステップＳ５１４における判断処理を実行し、一致しない場合には、ステップＳ５１６と同様の処理を実行することにより、関連付けの対象となる処理の属性に合致した変数を対応付けることができる。
【０１２８】
また、上記の実施の形態においては、変数の選択のためにマウス２３０を用いて説明したが、変数の選択にはこれに限られるものではない。その他のポインティングデバイス（たとえばライトペン、トラックボール等）であってもよい。
【０１２９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１３０】
本発明は、制御対象機器の状態を表示する機能あるいはその機器の動作の指示を制御する機能を有する表示器が実行する制御プログラムを編集する機能を有するコンピュータにおいて利用可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施の形態に係るエディタ装置、プログラマブル表示器およびＰＬＣを説明するための図である。
【図２】本発明の実施の形態に係るエディタ装置を実現するコンピュータシステムを表わすブロック図である。
【図３】図２に示したコンピュータシステムに格納されるデータを説明するための図（その１）である。
【図４】図２に示したコンピュータシステムに格納されるデータを説明するための図（その２）である。
【図５】本発明の実施の形態に係るエディタ装置を実現するコンピュータシステムが実行する処理の手順を表わすフローチャートである。
【図６】図２に示したコンピュータシステムに格納されるデータを説明するための図（その３）である。
【図７】図２に示したコンピュータシステムが表示する画面を説明するための図（その１）である。
【図８】図２に示したコンピュータシステムに格納されるデータを説明するための図（その４）である。
【図９】図２に示したコンピュータシステムが表示する画面を説明するための図（その２）である。
【図１０】図２に示したコンピュータシステムに格納されるデータを説明するための図（その５）である。
【図１１】図２に示したコンピュータシステムが表示する画面を説明するための図（その３）である。
【図１２】図２に示したコンピュータシステムに格納されるデータを説明するための図（その６）である。
【図１３】図２に示したコンピュータシステムが表示する画面を説明するための図（その４）である。
【図１４】図２に示したコンピュータシステムが表示する画面を説明するための図（その５）である。
【図１５】図２に示したコンピュータシステムが表示する画面を説明するための図（その６）である。
【図１６】図２に示したコンピュータシステムに格納されるデータを説明するための図（その７）である。
【図１７】図２に示したコンピュータシステムが表示する画面を説明するための図（その７）である。
【符号の説明】
【０１３２】
１００  エディタ装置、１１０  制御部、１１２  メモリ部、１１４  表示部、１１６  入力部、１１８  駆動部、１２０  記録媒体、１２２  通信部、１３０  エディタ部、１３２  作画エディタ、１３４  変数管理部、１３６  プログラムエディタ、１４０  データ記憶部、１５０  プログラマブル表示器、１５２，１８２，２１０  ＣＰＵ、１５４  メンテナンスポート、１６０，１８４，２５０  メモリ、１６２  ＤＲＡＭ、１６４  ＦＲＰＲＯＭ、１６６  通信コントローラ、１６８  ＶＲＡＭ、１７０  グラフィックコントローラ、１７２  ディスプレイ、１７４  タッチパネル、１７６  タッチパネルコントローラ、１７８  Ｉ／Ｏ制御ＩＦ、１７９  Ｉ／Ｏユニット、１８０  ＰＬＣ、１８６  通信ＩＦ、１９０  ネットワーク、１９２，１９４，１９６，１９８  制御対象機器、２００  コンピュータシステム、２２０  モニタ、２３０  マウス、２４０  キーボード、２６０  固定ディスク、２７０  ＦＤ駆動装置、２７２  ＦＤ、２８０  ＣＤ−ＲＯＭ駆動装置、２８２  ＣＤ−ＲＯＭ。
【図１】
2005141564.tif 000003
【図２】
2005141564.tif 000004
【図３】
2005141564.tif 000005
【図４】
2005141564.tif 000006
【図５】
2005141564.tif 000007
【図６】
2005141564.tif 000008
【図７】
2005141564.tif 000009
【図８】
2005141564.tif 000010
【図９】
2005141564.tif 000011
【図１０】
2005141564.tif 000012
【図１１】
2005141564.tif 000013
【図１２】
2005141564.tif 000014
【図１３】
2005141564.tif 000015
【図１４】
2005141564.tif 000016
【図１５】
2005141564.tif 000017
【図１６】
2005141564.tif 000018
【図１７】
2005141564.tif 000019