(57)【特許請求の範囲】
【請求項１】
制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ手段と、
上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ手段と、
上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データ、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データ、および上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データを統合して格納するファイルと、
上記ファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ手段に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成手段とを備えていることを特徴とするエディタ装置。
【請求項２】
制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ処理と、
上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ処理と、
上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データと、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データと、上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データとを統合して格納するファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成処理とを含んでいることを特徴とするエディタプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３】
制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ処理または上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ処理のいずれか一方と、
上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データと、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データと、上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データとを統合して格納するファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成処理とを含んでいることを特徴とするエディタプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御対象機器の状態を表示させる機能および制御対象機器の動作を制御する機能を有するシステムにおいて、制御対象機器の状態に応じた表示内容および制御対象機器の制御手順をプログラミングするエディタ装置およびエディタプログラムが記録された記録媒体に関するものである。
【０００２】
【従来の技術】
プログラマブルロジックコントローラ（以降、ＰＬＣと称する）などと呼ばれる産業用制御装置は、シーケンス制御をはじめとする各種制御を実現するために、ＣＰＵおよびメモリを中心とするハードウェアの部分と、制御を司るソフトウェアの部分とを備えている。ソフトウェアの部分は、ＰＬＣを設計当初の制御システム通りに動作させるためのシーケンス制御フローの設計、その制御フローの命令語への変換、命令語のメモリへの書き込みなどを含んでいる。一般に、この一連の作業をプログラミングと称している。
【０００３】
このようなプログラミングにおいては、コンピュータの専門知識を持たなくても簡単にプログラム作成ができるように、独自の言語を用いており、利用者に使いやすい各種のプログラミング言語が次々と開発されるようになった。現在、ＩＥＣ(International Electrotechnical Commission) において、標準のプログラミング言語が制定されている（ＩＥＣ 6 1131-3 ）。それは、ＳＦＣ(Sequential Function Chart) 、ＬＤ(Ladder Diagram)、ＩＬ(Instruction List)、ＦＢＤ(Function Block Diagram)およびＳＴ(Structured Text) の５言語である。
【０００４】
上記のように、各種のプログラミング言語を用いてプログラム開発を行うことができるように環境が整えられつつある。例えば、ラダー図（ＬＤ）は、リレーシンボルを用いて比較的容易にラダー回路を設計することができるので従来から広く普及しており、現在でも最もよく用いられているプログラミング言語である。このようなプログラミング言語を用いたプログラミング作業において用いられるプログラミングツールとしては、ラダーエディタなどのプログラミングソフトウェアが普及してきている。このソフトウェアは、パーソナルコンピュータなどのコンピュータ装置において、ラダー図などをシンボルを含む形態で作成できるので、プログラムの作成および編集が容易に行える。
【０００５】
一方、プログラマブル表示器は、ドット表示画面、操作用入力スイッチ、ホストコントローラ（ＰＬＣ）とのインターフェース、画面上での操作入力のような制御のためのプログラムメモリなどを備えた操作用表示器である。一般に、プログラマブル表示器は、グラフィック表示を行うので、操作盤、スイッチ、表示灯などの機能を備えることができる他、制御対象機器の稼働状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えている。
【０００６】
また、近年では、制御対象機器を接続するための入出力ユニットなどを搭載することによってＰＬＣの制御機能を備えたプログラマブル表示器も登場してきている。
【０００７】
このようなプログラマブル表示器で表示される制御画面（表示内容プログラム）は、画面作成ソフトウェア（作画エディタ）を用いてユーザ独自で作成できるようになっている。画面作成に際しては、ユーザが、パーソナルコンピュータなどにおいて作画ソフトによって提供されるスイッチ、テンキー、メータ表示器、グラフ表示器などの部品（マーク）、描画機能などを用いて所望の制御画面を構成する。
【０００８】
作成された制御画面は、画面データとしてプログラマブル表示器に転送されて記憶される。ＰＬＣの稼働時には、プログラマブル表示器は、ＰＬＣとの間でやり取りされるデータに基づいて、制御対象機器の動作状態に応じて制御画面上に各部品や図形を表示させる。
【０００９】
ところで、ラダーエディタなどを用いた制御手順プログラムの作成（プログラミング）と、作画エディタを用いた表示内容プログラムの作成（画面作成）とは、一般には独立して行われる。例えば、作成された制御手順プログラムに基づいて表示内容プログラムを作成する場合は、制御手順プログラムの作成時に各デバイスについて入力された名称およびアドレスをテーブルの形式で書き留めたような設計資料を作成しておき、その設計資料を参照しながらＩ／Ｏアドレスの定義付けなどを含む表示内容プログラムの作成作業を行う。また、作成された表示内容プログラムに基づいて制御手順プログラムを作成する場合も同様に、予め用意された設計資料に基づいて作業を行う。
【００１０】
しかしながら、このような方法では、表示内容プログラムの作成のための入力作業が制御手順プログラムの作成のための入力作業と別途必要であるので、多大な時間と労力とを要する。また、一方のプログラムに対応する設計資料を参照しながら他方のプログラムを作成するので、他方のプログラムの作成時に誤入力が生じるおそれがあり、誤入力によってプログラムのデバッグ作業が困難になる。さらに、作成されたプログラムに対応する設計資料を予め用意しなければならず、これによって作業効率が低下するという不都合がある。
【００１１】
このような不都合を解消するためになされた発明として、特開平１１−１７５３２６号公報には、ラダー図を作成するラダーエディタと画面を作成する作画エディタとの間でラダーシンボルと画面に配置されるマークとを対応付けるエディタ装置が開示されている。このエディタ装置では、例えば、ラダー図のシンボルを作画エディタの作画ウインドウにドラッグ＆ドロップすることによって、１つのシンボルおよびこのシンボルに対応する少なくとも１つのマークについて共通する制御対象機器の名称およびアドレスを含む属性データが共通データベースに蓄えられるとともに、その属性データを参照して作画ウインドウにドラッグされた上記のシンボルに対応するマークが表示される。
【００１２】
【発明が解決しようとする課題】
ところが、上記公報に開示されたエディタ装置では、データの共通化を図ることによって、ラダーエディタと作画エディタとで重複するデータの再入力を避けることができるものの、属性データを蓄えるための共通データベースを、ラダーエディタ用のラダーファイルおよび作画エディタ用の画面ファイルと別途設ける必要がある。しかも、作成されたラダー図（ユーザプログラム）および画面（ユーザ画面）を、最終的にそれぞれラダーファイルおよび画面ファイルに登録する際に、両ファイルにも上記の属性データが格納されるため、さらに属性データが重複して登録されることになる。
【００１３】
このように、従来のエディタ装置では、データが専用のファイルで管理されているため、データベースの効率的な利用が図られていないという不都合がある。
【００１４】
本発明は、上記の事情に鑑みてなされたものであって、データの重複入力を避けることができるという従来のエディタ装置が備える操作性を維持しながら、データベースを効率的に利用することができるエディタ装置およびエディタプログラムを記録した記録媒体を提供することを目的としている。
【００１５】
【課題を解決するための手段】
本発明のエディタ装置は、上記の課題を解決するために、制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ手段と、上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ手段と、上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データ、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データ、および上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データを統合して格納するファイルと、上記ファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ手段に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成手段とを備えていることを特徴としている。
【００１６】
上記の構成では、単一のファイルに、画面データ、制御データおよび共通データが統合して格納されている。このファイルから、共通データの変数名が検索されることによって得られると、データ生成手段によって、第１または第２エディタ手段が、その変数名に基づいて固有データを生成する。それゆえ、一方のエディタ手段によって共通データが入力されていれば、その共通データの変数名を用いて他方のエディタ手段によって固有データを生成することができる。これにより、両エディタ手段によるデータの重複入力を避けることができる。
【００２０】
本発明の記録媒体は、前記の課題を解決するために、制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ処理と、上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ処理と、上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データと、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データと、上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データとを統合して格納するファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成処理とを含んでいることを特徴とするエディタプログラムを記録している。
【００２１】
この記録媒体を用いると、データ生成処理によって、本発明のエディタ装置と同様、第１または第２エディタ処理が、表示内容プログラムまたは制御手順プログラムに固有の固有データを生成する。これにより、両エディタ処理によるデータの重複入力を避けることができる。
【００２２】
また、本発明の他の記録媒体は、制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ処理または上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ処理のいずれか一方と、上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データと、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データと、上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データとを統合して格納するファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成処理とを含んでいることを特徴とするエディタプログラムを記録している。
【００２３】
この記録媒体を用いれば、前記の記録媒体と同様、データ生成処理によって、表示内容プログラムまたは制御手順プログラムに固有の固有データが生成されるので、両エディタ処理によるデータの重複入力を避けることができる。また、この記録媒体によれば、第１または第２エディタ処理のいずれか一方とデータ複写処理とを含んでいる２種類のエディタプログラム、すなわち第１または第２エディタプログラムを提供することができる。
【００２４】
【発明の実施の形態】
本発明の実施の一形態について図１ないし図２１に基づいて説明すれば、以下の通りである。
【００２５】
本実施の形態に係る表示／制御システムは、様々な構成が考えられるが、ここでは、第１ないし第３の構成について説明する。
【００２６】
まず、図１に示す第１の表示／制御システムは、プログラマブル表示器１およびＰＬＣ２を含んでいる。
【００２７】
表示機能部としてのプログラマブル表示器１は、ＣＰＵ１１、メモリ部１２、ＶＲＡＭ１３、ディスプレイ１４、グラフィックコントローラ１５、タッチパネル１６、タッチパネルコントローラ１７、メンテナンスポート１８および通信コントローラ１９を備えている。
【００２８】
メモリ部１２は、ＤＲＡＭ１２ａ、ＦＥＰＲＯＭ(Flash Erasable and Programmable ROM）１２ｂ等のメモリを含んでいる。ＤＲＡＭ１２ａは、主に、表示制御などの演算処理時の作業用に用いられる他、ＰＬＣ２との間でやり取りされるデータの一時的な記憶に用いられる。ＦＥＰＲＯＭ１２ｂは、書き替え可能な読み出し専用のフラッシュメモリであり、一般のパーソナルコンピュータにおけるハードディスクドライブの役割を果たす。フラッシュメモリは、可動部を持たず、かつ衝撃に強いので、劣悪な周囲環境でも安定して動作する。
【００２９】
また、上記のＦＥＰＲＯＭ１２ｂは、図２に示すように、表示制御システムプログラムと、通信プロトコルと、ユーザ画面とをそれぞれ格納するエリアを有している。表示制御システムプログラムは、画像表示制御を行うための基本機能を実現するためのプログラムである。通信プロトコルは、ＰＬＣ２との通信処理で用いられるプロトコルであり、ＰＬＣ２の機種（メーカ）に応じて固有に定められている。ユーザ画面は、後述する作画エディタ３２ｂによって作成されて、ＦＥＰＲＯＭ１２ｂにダウンロードされている。このユーザ画面は、ディスプレイ１４に表示すべきベース画面や画像ブロック（表示シンボル）としてのマークのデータおよび各マークに付与された後述する処理指示語Ｗ（図３参照）などを含んでおり、表示内容プログラムを構成している。
【００３０】
上記のマークは、タッチスイッチ、ランプ、各種表示器などの画像化された基本的な部品として予め用意されている。また、マークとしては、スイッチや数値表示器などの動的変化を画面上の任意の位置で表現させるために、所望の位置に設定された矩形エリアに所望の動画機能が設定された機能部も含まれる。
【００３１】
図３に示すように、画面データに含まれる処理指示語Ｗは、ベース画面上で実行されるべき事象毎に作成されている。この処理指示語Ｗは、基本的には、表示制御動作を実行すべきベース画面のファイル番号Ｆと、このベース画面上で実行されるべき動作内容を特定する事象名Ｔと、各実行事象毎に参照される１または複数のデータからなる参照情報Ｉとを一組として備えている。
【００３２】
ＣＰＵ１１は、前述のＦＥＰＲＯＭ１２ｂに格納された表示制御システムプログラムにしたがって、プログラマブル表示器１の各部の動作を制御する。また、ＣＰＵ１１は、後述するメンテナンスポート１８を介しての後述するコンピュータ装置３との通信を制御する機能を有しており、作画エディタ３２ｂからの画面データを受け取るとＦＥＰＲＯＭ１２ｂに格納したり、ラダーエディタ３２ａからのラダープログラム（ユーザプログラム）を受け取るとＰＬＣ２に転送したりする。
【００３３】
ＶＲＡＭ１３は、ディスプレイ１４に表示される画面のイメージを一時的に保持するメモリであり、ＦＥＰＲＯＭ１２ｂからの画面データのイメージを水平方向に表示される順にドットデータとして格納している。
【００３４】
ディスプレイ１４は、液晶パネルやＥＬパネルのような平板型表示素子によって構成されている。グラフィックコントローラ１５は、ＶＲＡＭ１３に展開された画面のイメージを、ディスプレイ１４に描画するドライバソフトウェアである。タッチパネル１６は、ディスプレイ１４の表示画面上で入力を行うために設けられており、アナログ抵抗膜式タッチパネルなどが好適である。タッチパネルコントローラ１７は、タッチパネル１６の出力電圧を入力位置情報に変換してＣＰＵ１１に出力する。
【００３５】
メンテナンスポート１８は、後述するコンピュータ装置３との間の通信を行うための通信ポートである。一方、通信コントローラ１９は、通信ケーブル（例えばＲＳ−２３２Ｃ）を介してＰＬＣ２との間で入出力機器４…の制御や監視に関するデータなどの転送やＰＬＣ２の出力データの取り込みを制御するインターフェースである。
【００３６】
制御機能部としてのＰＬＣ２は、内蔵するＣＰＵ部によって、制御機能プログラムにしたがい、ラダーエディタ３２ａで作成されたユーザプログラム（制御手順プログラム）で定められた手順で、入出力機器４…の動作を制御する。
【００３７】
ＰＬＣ２内のメモリには、アドレスを指定することにより、ワードデバイスおよびビットデバイスが格納場所を特定可能に設定されている。ワードデバイスは、入出力されるデータが数値のようなワードデータに対して設定され、ビットデバイスは、オン・オフ状態のようなビットデータに対して設定される。このような設定により、ＰＬＣ２内の任意のワードデバイスまたはビットデバイスをアクセスするだけで入出力機器４…を制御し、またはその動作状態に関する情報を個別に取り出すことができる。
【００３８】
プログラマブル表示器１は、上記のビットデバイスまたはワードデバイスが示す状態情報のうち、必要な情報を適時にメモリ部１２に読み込む一方、上記の処理指示語Ｗを繰り返し読み出して各処理指示語Ｗの事象名Ｔで特定される内容の動作をＰＬＣ２側の状態情報を参照しながら実行する。これによって、ビットデバイスまたはワードデバイスの状態の変化に応じて変化する表示動作が実行される。
【００３９】
プログラマブル表示器１の表示動作は、図４に示すフローチャートの手順にしたがって行われる。
【００４０】
まず、ＰＬＣ２と通信が可能なオンラインモード、またはプログラマブル表示器１のみを動作させるオフラインモードのいずれか一方を選択する（Ｓ１）。オフラインモードが選択された場合（ＮＯ）、プログラマブル表示器１において、設定処理、診断処理などの各種の処理を行い（Ｓ６）、処理をＳ１に戻す。
【００４１】
Ｓ１でオンラインモードが選択された場合（ＹＥＳ）、起動処理としてプログラマブル表示器１のメモリ部１２に設定されている前記の処理指示語Ｗで引用されているＰＬＣ２側の状態情報がプログラマブル表示器１側に取り出される。具体的には、メモリ部１２に格納されている処理指示語Ｗ…のうち、現在表示されているベース画面に関係する処理指示語Ｗに含まれる情報から、ＰＬＣ２に設定されたワードデバイスおよびビットデバイスのアドレスが抽出される。そして、そのアドレスに基づいてＰＬＣ２のメモリに直接アクセスすることによって、アドレス指定された状態情報がメモリ部１２に展開され、操作画面上に表示される。オンラインモードでは、プログラマブル表示器１に表示された操作パネル画面による入力操作があったか否かを判断する（Ｓ２）。ここで、入力操作があった場合は、入力されたデータに基づいて所定の演算処理を実行し（Ｓ３）、さらにデータ通信処理を行う（Ｓ４）。
【００４２】
次いで、各事象の表示処理を実行する（Ｓ５）。このとき、メモリ部１２に格納されている処理指示語Ｗのうち、通信処理によって抽出された状態情報に基づく表示動作が行われる。
【００４３】
続いて、コンピュータ装置３について説明する。
【００４４】
図１に示すように、コンピュータ装置３は、パーソナルコンピュータなどの汎用コンピュータによって構成されている。このコンピュータ装置３は、ＣＰＵ３１、エディタ部３２、プロジェクトファイル３３、メモリ部３４、ディスプレイ３５、入力装置３６、外部記憶装置３７およびインターフェース部（図中、Ｉ／Ｆ）３８を備えている。
【００４５】
ＣＰＵ３１は、コンピュータ装置３にインストールされているＯＳ（オペレーティングシステム）上でエディタ部３２を含むアプリケーションソフトウェアを動作させる際の各部の制御や演算処理を行う。
【００４６】
メモリ部３４は、ＲＡＭ、ＲＯＭなどのメモリを備えており、固定データの格納、一時的なデータ記憶、ＣＰＵ３１の演算処理時における作業エリアの提供といった役割を果たしている。
【００４７】
エディタ部３２は、ラダーエディタ３２ａ、作画エディタ３２ｂ、複写機能部３２ｃおよびファイル管理部３２ｄを含んでいる。
【００４８】
第２エディタ手段としてのラダーエディタ３２ａは、入出力機器４…が所望のシーケンスにしたがって動作するようにＰＬＣ２の制御手順を定めるユーザプログラムを作成するためのプログラミングソフトウェアであり、ディスプレイ３５の表示画面３５ａ（図１７（ａ）参照）上で入出力機器４の動作に対応するラダー記号（制御シンボル）を配置してラダー図を作成できるように構成されている。このラダーエディタ３２ａにおいては、例えば、国際基準ＩＥＣに準拠した前述のプログラミング言語が用いられる。
【００４９】
また、ラダーエディタ３２ａは、ＰＬＣ２の入力端子および出力端子のそれぞれに付与されている入力番号および出力番号と、各入出力端子に接続される入出力機器４の名称（デバイス名）との対応付けを入出力番号の割り付け（Ｉ／Ｏアサイン）として行う。この割り付けの結果は、後述のプロジェクトファイル３３に保存される。
【００５０】
割り付けを行う際、メモリ部３４には、入力番号および出力番号をそれぞれアドレスとして、各アドレスに対応するデバイス名が格納される。従来、このような割り付けは、ＰＬＣのメーカによって異なっており、絶対アドレスで設定されるので、メーカに応じたメモリテーブルを用意する必要がある。ただし、ＩＥＣに準拠した本ラダーエディタ３２ａは、自由変数によってユーザが入出力を決定できるので、上記のようなメモリテーブルは不要である。また、一度決定した割り付けも、後に変更することができる。
【００５１】
ラダーエディタ３２ａで作成されたユーザプログラムは、プログラマブル表示器１を介して（または直接）ＰＬＣ２に転送され、ＰＬＣ２内のメモリにダウンロードされる。
【００５２】
第１エディタ手段としての作画エディタ３２ｂは、プログラマブル表示器１が、入出力機器４…の稼働状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えるように、ディスプレイ１４に表示させる画面を作成する画面作成ソフトウェアである。一般に、作画エディタ３２ｂは、ユーザ独自の画面（ユーザ画面）を作成できるように、スイッチ、ランプ、テンキー、各種表示器（例えば、数値表示器、メータ表示器およびグラフ表示器）などの部品（マーク）、描画機能、テキスト入力機能などを備えている。また、作画エディタ３２ｂは、作成された画面に配置されたマークの各入出力機器４に対する前記の入出力番号（アドレス）を割り付ける。
【００５３】
このようにして作成されたユーザ画面は、後述のプロジェクトファイル３３に格納され、必要に応じてインターフェース部３８を介してプログラマブル表示器１に転送され、ＦＥＰＲＯＭ１２ｂにダウンロードされる。
【００５４】
データ生成手段としての複写機能部３２ｃは、ＯＳのデータ複写機能を利用して、ラダーエディタ３２ａで作成されたラダー図におけるラダー記号と後述の変数データを介して対応するマークを、作画ウインドウ３２ｂ1 において、作画エディタ３２ｂに自動的に生成（描画）させる。また、複写機能部３２ｃは、同様にＯＳのデータ複写機能を利用して、作画エディタ３２ｂで作成された画面におけるマークと変数データを介して対応するラダー記号を、ラダーウインドウ３２ａ1 において、ラダーエディタ３２ａに自動的に生成（描画）させる。
【００５５】
具体的には、ドラッグ＆ドロップまたはコピー＆ペーストの機能を利用して、マークまたはラダー記号を複写させたときに、メモリ部３４に設けられる後述のクリップボードＣＢ（図１８参照）に属性データを一時的に保存し、複写先のエディタが、その変数データを参照することによってマークおよびラダー記号が自動生成される。
【００５６】
ファイル管理部３２ｄは、プロジェクトファイル３３に後述するようなデータベースを構築することによって、ユーザプログラムおよびユーザ画面とを一元的に管理する。
【００５７】
クリップボードＣＢに格納されるデータ構造は、図５（ａ）に示すように、ヘッダーコード、メモリサイズ、オブジェクトタイプ、予約、アドレス情報数、アドレス情報（１〜Ｎ）および予約によって構成されている。このうち、メモリサイズは、クリップボードＣＢへデータを格納する際に必要となるメモリのサイズであり、オブジェクトタイプは、クリップボードＣＢに格納する部品の予め設定された種類であり、図５（ｂ）に示すように、ビットスイッチ、トグルスイッチ、ランプ、数値表示器、棒グラフ、円グラフ、半円グラフ、タンクグラフ、メータグラフおよび設定値表示器が設定される。アドレス情報は、図５（ｃ）に示すように、アドレス（アドレス名）、予約、アドレス付加情報、予約、オブジェクトタイプおよび予約によって構成されている。アドレス付加情報は、シンボルの種類（整数シンボル、ディスクリートシンボルなど）に関する情報である。アドレス情報におけるオブジェクトタイプは、上記のオブジェクトタイプと同じ内容であって、アドレスがどの部品に対応しているかを指定し、このために必要な部品のビットのみＯＮする。
【００５８】
なお、上記の複写機能部３２ｃおよびファイル管理部３２ｄは、ラダーエディタ３２ａまたは作画エディタ３２ｂのいずれか一方の一機能としてそれぞれに含まれていてもよい。
【００５９】
コンピュータ装置３は、エディタ部３２を備えることによってユーザプログラムおよびユーザ画面の作成および編集を行うためのエディタ装置として機能する。
【００６０】
エディタ部３２は、パッケージソフトウェアまたはオーダーメイドソフトウェアとしてプログラムメディアの形態で提供可能なソフトウェアであって、例えば、コンピュータ装置３と分離可能な記録媒体５に記録されている。そして、エディタ部３２は、記録媒体５からコンピュータ装置３にインストールされることによってエディタ機能を発揮することができる。
【００６１】
なお、エディタ部３２は、単一の記録媒体５に記録されていてもよいが、ラダーエディタ３２ａと作画エディタ３２ｂとがそれぞれ別個の記録媒体に記録されていてもよい。
【００６２】
上記のプログラムメディアは、磁気テープやカセットテープなどのテープ系、フロッピディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００６３】
また、コンピュータ装置３は、インターネットを含む通信ネットワークと接続可能であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めコンピュータ装置３に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
【００６４】
プロジェクトファイル３３は、図６にも示すように、制御データと、画面データと、変数データとを含んでいる。ユーザプログラムは、制御データおよび変数データを含んでおり、ユーザ画面は、画面データおよび変数データを含んでいる。
【００６５】
固有データとしての制御データは、入力されたラダー記号に対応する、制御シンボルデータとしてのラダー命令（ニーモニック）および変数名からなっている。変数名としては、スイッチに対応するＳＷ１やランプに対応するＬＡＭＰ１のようにデバイス（入出力機器４）に対応する符号や、操作指示、デバイスの動作状態のような事象名が挙げられる。このような変数名によって定義される変数は、デバイスに対応する所望の入出力番号（Ｉ／Ｏアドレス）に予め対応付けられている。
【００６６】
固有データとしての画面データは、グラフィックデータ、テキストデータおよび部品データを含んでいる。グラフィックデータは、線、円、楕円、三角形、四角形、塗り込み図形などの図形データである。テキストデータは、文字や記号などによって構成されるユーザ画面のタイトルや文章などを含んでいる。部品データは、予め作画エディタ３２ｂに用意されている前述の部品に関するデータであり、表示シンボルデータとしての部品名および上記の変数名からなっている。部品名としては、例えば、多種のスイッチから特定のスイッチを選択できるように区別されたスイッチＡといった名称や、各部品毎に付された部品コード（例えば、アルファベットと数字との組み合わせからなるコード）が挙げられる。また、画面データとしては、図示しないが、動画機能が設定された前述の機能部も含まれる。
【００６７】
共通データとしての変数データは、ユーザプログラムおよびユーザ画面に共通の情報であり、変数名およびアドレス（Ｉ／Ｏアドレス等）からなっている。この変数データは、属性データに含まれる。変数は、その他、ビット型、整数型、実数型などの型式で設定が可能であり、このようなデータは変数データとともに属性データに含まれている。
【００６８】
図６に示すプロジェクトファイル３３は、関連付け可能な特定のデータを含んだデータベースとして構成されている。プロジェクトファイル３３においては、制御データと、画面データと、変数データとがそれぞれ関係表として構成されている。これによって、変数データの変数名を基本キーとする一方、制御データの変数名を外部キーとすることで変数データと制御データとが結合されて、ユーザプログラムが構成される。また、変数データの変数名を基本キーとする一方、画面データの変数名を外部キーとすることで変数データと画面データとが結合されて、ユーザ画面が構成される。
【００６９】
例えば、リレーショナルデータベースは、表形式で表現されているので、ラダーエディタ３２ａおよび作画エディタ３２ｂがＣＳＶ(Comma Separated Value) 形式のファイルの読み書きができるように構成されることによって、市販のデータベースソフトウェアや表計算ソフトウェアで作成されたデータを本データベースに取り込むことができ、その逆も可能である。
【００７０】
このように、ユーザプログラムおよびユーザ画面が、ファイル管理部３２ｄによる管理の下に、変数データによって互いに関連付けられているので、第１ないし第３の表示／制御システムにおける表示動作および制御動作は互いに関連する。
【００７１】
プロジェクトファイル３３は、リレーショナルデータベースとしてだけではなく、その他、階層型データベース、ネットワーク型データベース、オブジェクト指向型データベースなどとして構成されていてもよい。
【００７２】
例えば、階層型データベースは、図７に示すように、変数名が根セグメントとして配置され、制御データ（ラダー命令）と、画面データ（部品名）と、アドレスとがその下位の従属セグメントとして配置され、さらに、グラフィックデータおよびテキストデータが画面データの下位の従属セグメントとして配置される階層構造を各変数名について形成している。また、ネットワーク型データベースでは、階層型データベースにおいて、従属セグメントが必要に応じて別の親セグメントに従属する。
【００７３】
オブジェクト指向型データベースは、図８に示すように、ラダー命令（例えば、ＬＤ）、部品名（例えば、スイッチＡ）、変数名（例えば、ＳＷ１）およびアドレス（例えば、ＸＢ０００１）がカプセル化されたスイッチなどの部品がオブジェクトとして扱われる。各オブジェクトにおいては、ラダー命令、部品名およびアドレスがデータとして扱われ、変数名が手続きとして扱われる。したがって、各データへのアクセス（各データの参照）は、変数名を介して行われる。
【００７４】
ディスプレイ３５は、ＣＲＴ、ＬＣＤなどによって構成されるが、パネルコンピュータであるコンピュータ装置３においては、液晶パネルやＥＬパネルのような平板型表示素子によって構成される。入力装置３６は、キーボード、マウスなどの入力操作を行うための装置であり、特に、ＧＵＩ(Graphical User Interface)環境上で動作するエディタ部３２での入力作業にはマウスなどの装置が適している。外部記憶装置３７は、ハードディスク装置などの磁気ディスクドライブ、ＣＤ−ＲＯＭドライブなどの光ディスクドライブといった装置であり、少なくとも、前記の記録媒体５に記録されたプログラムなどの情報を読み出すことができる装置を含んでいる。インターフェース部３８は、プログラマブル表示器１との間でデータ通信を行う入出力部である。ラダーエディタ３２ａで作成されたユーザプログラムおよび作画エディタ３２ｂで作成されたユーザ画面は、このインターフェース部３８を介してプログラマブル表示器１に転送される。
【００７５】
続いて、第２の表示／制御システムについて説明する。
【００７６】
図９に示す第２の表示／制御システムは、前述の第１の表示／制御システムと同様、プログラマブル表示器１およびＰＬＣ２を含んでいるが、ここでのプログラマブル表示器１は、さらにＰＬＣ機能を備えており、入出力機器４…を直接制御するように構成されている。このため、プログラマブル表示器１は、メモリ部１２にＳＲＡＭ１２ｃを備えるとともに、前述の通信コントローラ１９に加えて入出力ユニット（図中、Ｉ／Ｏユニット）２０およびＩ／Ｏ制御インターフェース２１を備えている。
【００７７】
ＳＲＡＭ１２ｃは、ラダーエディタ３２ａによって作成されたユーザプログラムを格納するエリアを有している。また、ＦＥＰＲＯＭ１２ｂは、ＰＬＣ機能を備えるために、図１０に示すように、表示制御システムプログラムと、通信プロトコルと、ユーザ画面とをそれぞれ格納するエリアに加えて、制御機能プログラムとユーザプログラムとをそれぞれ格納するエリアを有している。制御機能プログラムは、シーケンス制御の基本機能を実現するためのプログラムである。
【００７８】
入出力ユニット２０は、入出力機器４…が接続可能となるように、多数の入出力端子、入出力回路などを備えている。Ｉ／Ｏ制御インターフェース２１は、ＣＰＵ１１と入出力ユニット２０との間の信号の授受を仲介するインターフェース回路であって、入出力メモリ、Ｄ／Ａ変換器、Ａ／Ｄ変換器などを備えている。
【００７９】
引き続き、第３の表示／制御システムについて説明する。
【００８０】
図１１に示す第３表示／制御システムは、ソフトウェアで動作するいわゆるオープンコントローラ（ソフトウェアＰＬＣ）を中心として構成されている。
【００８１】
オープンコントローラは、コンピュータ装置３によって構成されており、入出力機器４…を接続するために、前述の第１の表示／制御システムにおけるコンピュータ装置３のインターフェース部３８の代わりに入出力ユニット（図中、Ｉ／Ｏユニット）３９およびＩ／Ｏ制御インターフェース４０を備えている。
【００８２】
入出力ユニット３９は、入出力機器４…が接続可能となるように、多数の入出力端子、入出力回路などを備えている。このような入出力ユニット３９は、Ｉ／Ｏボードとしてコンピュータ装置３内に実装されるが、リモートＩ／Ｏとしてコンピュータ装置３の外部に独立して設けられてもよい。
【００８３】
Ｉ／Ｏ制御インターフェース４０は、ＣＰＵ３１と入出力ユニット３９との間の信号の授受を仲介するインターフェース回路であって、入出力メモリ、Ｄ／Ａ変換器、Ａ／Ｄ変換器などを備えている。このＩ／Ｏ制御インターフェース４０は、入出力機器４…との間で入出力されるデジタル信号またはアナログ信号をＣＰＵ３１とやり取りするようになっている。
【００８４】
また、コンピュータ装置３は、オープンコントローラとして機能するように、インターフェースユニット（図中、Ｉ／Ｆユニット）４１を備えている。インターフェースユニット４１は、イーサネット（登録商標）などの汎用の通信プロトコルを用いるオープンネットワーク８に対応した入出力部であり、オープンネットワーク８に接続されている。これによって、コンピュータ装置３は、オープンネットワーク８を介して他のコンピュータ装置、プログラマブル表示器、ＰＬＣなどと接続される。
【００８５】
メモリ部３４は、前述のＳＲＡＭ１２ｃと同様、図１０に示すように、表示制御システムプログラムと、通信プロトコルと、ユーザ画面と、制御機能プログラムと、ユーザプログラムとをそれぞれ格納するエリアを有している。
【００８６】
このように構成されるコンピュータ装置３は、入出力機器４…が配備されたターゲットシステムの運転時（オンライン状態）では、作成された画面や現場の様子をディスプレイ３５に表示させることによってターゲットシステムの運転状況を監視するモニタとして機能するとともに、ターゲットシステムにおける入出力機器４…の制御を行う。このとき、コンピュータ装置３は、制御機能プログラムにしたがって、ラダーエディタ３２ａで作成され、プロジェクトファイル３３に格納されているユーザプログラムを実行する。一方、コンピュータ装置３は、ターゲットシステムの非運転時（オフライン状態）において、ラダーエディタ３２ａまたは作画エディタ３２ｂを起動することによってユーザプログラムまたはユーザ画面を作成するためのエディタ装置として機能する。
【００８７】
ここで、第１ないし第３の表示／制御システムにおけるユーザプログラムおよびユーザ画面の作成手順について、図１２ないし図１６のフローチャートを参照して説明する。
【００８８】
図１２に示すように、先にユーザ画面を作成（作画）するか、ユーザプログラムを作成する（プログラミング）かをユーザによる入力操作に応じて判断する（Ｓ１１）。先にユーザプログラムを作成する場合は、ラダーエディタ３２ａを用いたプログラミング処理（１）を実行し（Ｓ１２）、その後、作画エディタ３２ｂを用いた作画処理（２）を実行する（Ｓ１３）。一方、先にユーザ画面を作成する場合は、作画エディタ３２ｂを用いた作画処理（１）を実行し（Ｓ１４）、その後、ラダーエディタ３２ａを用いたプログラミング処理（２）を実行する（Ｓ１５）。
【００８９】
次いで、作成されたユーザプログラムおよびユーザ画面を利用可能にするように所定の格納先に格納する（Ｓ１６）。このとき、第１および第２の表示／制御システムでは、ユーザプログラムおよびユーザ画面が、一旦データファイル３３に格納された後、それぞれＰＬＣ２およびプログラマブル表示器１にダウンロードされ、メモリに格納される。あるいは、第２の表示／制御システムでは、ユーザプログラムおよびユーザ画面が、一旦データファイル３３に格納された後、プログラマブル表示器１にダウンロードされ、メモリ部１２に格納される。第３の表示／制御システムでは、ユーザプログラムおよびユーザ画面がデータファイル３３に格納される。
【００９０】
なお、上記の例では、作画またはプログラミングの何れかを先に実行した後に他方を実行する手順について説明しているが、これに限らず、両方を並行して実行することも可能である。
【００９１】
先にプログラミング処理（１）を実行する場合は、図１３のフローチャートに示す手順にしたがう。ここでは、コンピュータ装置３において、ラダーエディタ３２ａおよび作画エディタ３２ｂが起動されており、ディスプレイ３５の表示部３５ａ（図１７（ａ）参照）には、ユーザ画面作成用のエディタ画面（第１エディタ画面）を表示するウインドウ（以降、作画ウインドウと称する）３２ｂ1 およびユーザプログラム作成用のエディタ画面（第２エディタ画面）を表示するウインドウ（以降、ラダーウインドウと称する）３２ａ1 が同時に開いているものとする。しかしながら、先にプログラミング処理（１）を実行する際には、少なくともラダーエディタ３２ａが起動されていればよい。
【００９２】
まず、ラダーウインドウ３２ａ1 上にて、各入出力機器４を対象としてラダー記号を配置することによってラダー命令を記述する（Ｓ２１）。次いで、記述されたラダー命令について使用する変数データ（変数名およびアドレス）を含む属性データを入力し（Ｓ２２）、ラダー記号および属性データをテンポラリファイルに登録する（Ｓ２３）。その後、ユーザの操作に応じてプログラミング処理を終了するか否かを判断する（Ｓ２４）。ここで、終了しない場合はＳ２１に処理を戻す一方、終了する場合は作成されたユーザプログラムをプロジェクトファイル３３に登録する（Ｓ２５）。
【００９３】
続いて実行される作画（２）においては、図１４のフローチャートに示す手順にしたがう。
【００９４】
まず、ラダーウインドウ３２ａ1 上のラダー記号がマウスなどによってドラッグされたか否かを判断し（Ｓ３１）、ドラッグされた場合は、ドラッグされたラダー記号が作画ウインドウ３２ｂ1 にドロップされたか否かを判断する（Ｓ３２）。ここで、ラダー記号のドロップが確認されると、ドロップされたラダー記号についての変数名をデータベースに登録されている変数データから抽出するために、プロジェクトファイル３３のデータベースを検索する（Ｓ３３）。
【００９５】
次いで、ドラッグされたラダー記号についての変数名に含まれる機能に基づいて、その機能を有する複数のマークを含むダイアログボックスＤ1 （図１７（ｃ）参照）を表示する（Ｓ３４）。
【００９６】
その後、ダイアログボックスＤ1 に表示された複数のマークから１つのマークが選択されたか否かを判断する（Ｓ３５）。マークが選択されている場合は、そのマークを表示し（Ｓ３６）、さらにテンポラリファイルに登録する（Ｓ３７）。そして、ユーザの操作に応じて作画処理を終了するか否かを判断する（Ｓ３８）。ここで、終了しない場合はＳ３１に処理を戻す一方、終了する場合は作成されたユーザ画面をプロジェクトファイル３３に登録する（Ｓ３９）。
【００９７】
なお、Ｓ３３ないしＳ３６の処理の処理は、ユーザにマークの選択における自由度を提供するために設けられている。したがって、そのような自由度が必要なく、マークが１種類に固定されていれば、Ｓ３３ないしＳ３６の処理は不要になる。この場合、例えば、固定されたスイッチの番号データ（部品コード）を予めデータベースに登録しておく。
【００９８】
ここで、図１４のフローチャートの手順で行われる作画処理（２）の具体例について説明する。
【００９９】
まず、図１７（ａ）に示すように、ラダーウインドウ３２ａ1 上には、ラダーエディタ３２ａによって既にスイッチ（入力）を表すラダー記号Ｌとランプ（出力）を表すラダー記号Ｌ′とが描画されている。これに伴って、プロジェクトファイル３３は、図１８に示すように、スイッチおよびランプについてのデータを登録している。具体的には、スイッチについては、変数データとして、変数名“ＳＷ１”およびアドレス“ＸＢ０００１”が少なくとも登録されている。また、ランプについては、変数データとして、変数名“ＬＡＭＰ１”およびアドレス“ＹＢ０００１”が少なくとも登録されている。
【０１００】
この状態で、図１７（ａ）に示すように、作画ウインドウ３２ｂ1 を開いておく。さらに、図１７（ｂ）に示すようにラダーウインドウ３２ａ1 におけるラダー記号Ｌが作画ウインドウ３２ｂ1 にドラッグされた後にドロップされると、図１８に示すように、プロジェクトファイル３３から抽出された変数データがクリップボードＣＢに一時的に保存される。そして、作画エディタ３２ｂが、その変数データを参照することによって、図１７（ｃ）に示すように、ダイアログボックスＤ1 が作画ウインドウ３２ｂ1 に表示される。
【０１０１】
前述のように、ラダーエディタ３２ａで選択かつ描画された全てのラダー記号についての変数データを含む属性データは、予めプロジェクトファイル３３に登録されている。したがって、作画エディタ３２ｂは、この変数データに基づいてダイアログボックスＤ1 を表示する。
【０１０２】
ダイアログボックスＤ1 におけるスイッチの機能を有する複数種類のマークの中から適当な１つのマークが選択されると、図１７（ｄ）に示すように、選択されたマークの画像Ｍが作画ウインドウ３２ｂ1 に表示されるとともに、属性データ（名称“ＳＷ１”および特性“ＯＮ”）を含むダイアログボックスＤ2 が表示される。ここで、ＯＫボタンがクリックされると、作画ウインドウ３２ｂ1 上のマークＭおよび画面データが確定し、プロジェクトファイル３３におけるデータベースにスイッチのマークＭについての図形データおよび変数データが関連付けられて格納される（図１８参照）。
【０１０３】
したがって、ユーザは、作画ウインドウ３２ｂ1 上でスイッチのマークを描画する作業や必要な変数データを入力する作業を行う必要がなく、極めて容易にユーザ画面を作成することができる。
【０１０４】
一方、先に作画処理（１）を実行する場合は、図１５のフローチャートに示す手順にしたがう。ここでは、コンピュータ装置３において、ラダーエディタ３２ａおよび作画エディタ３２ｂが起動されており、ディスプレイ３５の表示部３５ａ（図１９（ａ）参照）には、ラダーウインドウ３２ａ1 および作画ウインドウ３２ｂ1 が同時に開いているものとする。しかしながら、先に作画処理（１）を実行する際には、少なくとも作画エディタ３２ｂが起動されていればよい。
【０１０５】
まず、作画ウインドウ３２ｂ1 上にて、各入出力機器４を対象としてマークを配置する（Ｓ４１）。次いで、配置されたマークについて使用する変数データを含む属性データを入力し（Ｓ４２）、マークおよび属性データをテンポラリファイルに登録する（Ｓ４３）。その後、ユーザの操作に応じてプログラミング処理を終了するか否かを判断する（Ｓ４４）。ここで、終了しない場合はＳ４１に処理を戻す一方、終了する場合は作成されたユーザ画面をプロジェクトファイル３３に登録する（Ｓ４５）。
【０１０６】
続いて実行されるプログラミング処理（２）は、図１６のフローチャートに示す手順にしたがう。
【０１０７】
まず、作画ウインドウ３２ｂ1 上のマークがドラッグされたか否かを判断し（Ｓ５１）、ドラッグされた場合は、ドラッグされたマークがラダーウインドウ３２ａ1 にドロップされたか否かを判断する（Ｓ５２）。ここで、マークのドロップが確認されると、ドロップされたマークについての変数名をデータベースに登録されている変数データから抽出するために、プロジェクトファイル３３のデータベースを検索する（Ｓ５３）。
【０１０８】
次いで、ドラッグされたマークについての属性データに含まれる機能に基づいて、その機能に対応するラダー記号とともに、上記の属性データ（少なくとも変数名）を表示する（Ｓ５４）。その後、表示されたラダー記号をテンポラリファイルに登録する（Ｓ５５）。そして、ユーザの操作に応じてプログラミング処理を終了するか否かを判断する（Ｓ５６）。ここで、終了しない場合はＳ５２に処理を戻す一方、終了する場合は作成されたユーザプログラムをプロジェクトファイル３３に登録する（Ｓ５７）。
【０１０９】
ここで、図１６のフローチャートの手順で行われるプログラミング処理（２）の具体例について説明する。
【０１１０】
まず、図１９（ａ）に示すように、作画ウインドウ３２ｂ1 上には、作画エディタ３２ｂによって既にスイッチ（入力）を表すマークＭが配置かつ描画されている。これに伴って、プロジェクトファイル３３は、図２０に示すように、スイッチについてのデータを登録している。具体的には、スイッチについては、変数データとして、変数名“ＳＷ１”およびアドレス“ＸＢ０００１”が少なくとも登録されている。
【０１１１】
この状態で、図１９（ａ）に示すように、ラダーウインドウ３２ａ1 を開いておく。さらに、図１９（ｂ）に示すように作画ウインドウ３２ｂ1 におけるマークＭがラダーウインドウ３２ａ1 にドラッグされた後にドロップされると、図２０に示すように、プロジェクトファイル３３から抽出された変数データがクリップボードＣＢに一時的に保存される。そして、ラダーエディタ３２ａが、その変数データを参照することによって、図１９（ｃ）に示すように、ラダー記号ＬおよびダイアログボックスＤ3 がラダーウインドウ３２ａ1 に表示される。
【０１１２】
前述のように、作画エディタ３２ｂで配置された全てのマークについての変数データを含む属性データは、予めプロジェクトファイル３３に登録されている。したがって、ラダーエディタ３２ａは、この変数データに基づいてダイアログボックスＤ3 を表示する。
【０１１３】
具体的には、スイッチの機能に対応するラダー記号Ｌがラダーウインドウ３２ａ1 に描画されるとともに、変数データ（変数名“ＳＷ１”）を含むダイアログボックスＤ3 が表示される。ここで、ダイアログボックスＤ3 のＯＫボタンがクリックされると、ラダーウインドウ３２ａ1 上のラダー記号Ｌおよび制御データが確定し、プロジェクトファイル３３に、スイッチのラダー記号Ｌについての制御データおよび変数データが関連付けられて格納される（図２０参照）。
【０１１４】
したがって、ユーザは、ラダーウインドウ３２ａ1 上でスイッチのラダー記号を描画する作業や必要な属性データを入力する作業を行う必要がなく、極めて容易にユーザプログラムを作成することができる。
【０１１５】
上記のように、本実施の形態に係る第１ないし第３の表示／制御システムは、ユーザプログラムおよびユーザ画面に共通する属性データ（特に変数データ）と、ユーザプログラムに固有の制御データと、ユーザ画面に固有の画面データとをプロジェクトファイル３３に格納して統合的に管理するファイル管理部３２ｄを備えている。また、これらの表示／制御システムは、複写機能部３２ｃによって、ラダー記号またはマークのドラッグ＆ドロップ動作に伴って、ラダーエディタ３２ａに制御データを生成させるとともにラダー記号を描画させる一方、作画エディタ３２ｂに画面データを生成させるとともにマークを描画させるように構成されている。
【０１１６】
これにより、全てのデータを単一のプロジェクトファイル３３で管理することができ、データ管理を容易に行うことができる。また、データをラダーエディタ３２ａと作画エディタ３２ｂとについて別個のファイルに格納する構成に比べて、変数データをそれぞれのファイルに持つためのファイル間でデータを複写するといった操作は必要ない。また、ユーザプログラムおよびユーザ画面をプロジェクトファイル３３からプログラマブル表示器１などに一度でダウンロードすることも可能になる。さらに、データをプロジェクトファイル３３で管理することによって、前述のような各種のデータベースを用途に応じて構成することができる。
【０１１７】
なお、本発明は、ラダー図だけではなく、前述のＩＥＣ 6 1131-3 で規定された５言語を含む他の言語によるプログラミングにおいても適用されるのは勿論である。
【０１１８】
また、本実施の形態では、ラダーウインドウと作画ウインドウとが同一のディスプレイに表示される例について説明したが、図２１に示すように、ラダーウインドウと作画ウインドウとがネットワークを介して異なる機種のデータベースを基に表示される場合も本発明の適用が可能である。
【０１１９】
本発明のエディタ装置は、制御対象機器の状態を表示する表示機能部と、該制御対象機器の動作を制御する制御機能部とを有する表示／制御システムを対象として、上記表示機能部が実行する表示の内容を定めるための表示内容プログラムを第１エディタ画面上での入力操作に応じて作成する第１エディタ手段と、上記制御機能部が実行する制御の手順を定めるための制御手順プログラムを第２エディタ画面上での入力操作に応じて作成するための第２エディタ手段とを備えるエディタ装置であって、いずれか一方の上記第１または第２エディタ画面上で入力したデータに関して該エディタ画面上に表示されている画像ブロックを選択し、かつ他方のエディタ画面上へ複写させる操作に応じて、上記表示内容プログラムと上記制御手順プログラムとの間で共通する共通データに基づいて、上記第１または第２エディタ手段に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを生成させるデータ生成手段と、上記共通データおよび上記固有データを単一のファイルに格納するデータ統合手段とを備えていることを特徴としている。
【０１２０】
上記の構成では、第１エディタ手段の操作による表示内容プログラムの作成後または表示内容プログラムの作成時に、第２エディタ手段の操作による制御手順プログラムを作成する場合、データ生成手段によって、第１エディタ画面上での画像ブロックの選択およびそれを第２エディタ画面へ複写させる操作に応じて、第２エディタ手段が、共通データに基づいて固有データを生成する。一方、第２エディタ手段の操作による制御手順プログラムの作成後または制御手順プログラムの作成時に、第１エディタ手段の操作による表示内容プログラムを作成する場合、データ生成手段によって、第２エディタ画面上での画像ブロックの選択およびそれを第１エディタ画面へ複写させる操作に応じて、第１エディタ手段が、共通データに基づいて固有データを生成する。これによって、両エディタ手段によるデータの重複入力を避けることができる。
【０１２１】
また、上記のように生成された固有データは、データ統合手段によって、共通データとともに単一のファイルに格納される。すなわち、第１エディタ手段によって作成された表示内容プログラムおよび第２エディタ手段によって作成された制御手順プログラムは同じファイルに格納される。これによって、両プログラムに共通の単一のデータベースを作成することができる。
【０１２２】
上記のエディタ装置においては、上記第１エディタ手段が、上記第１エディタ画面に上記制御対象機器およびそれらの状態を表す複数の表示シンボルを上記画像ブロックとして描画するとともに、各制御対象機器に対応して設定された変数名を含む上記共通データを入力し、上記第２エディタ手段が、上記第２エディタ画面に上記制御対象機器に対応する制御動作を表す複数の制御シンボルを上記画像ブロックとして描画するとともに、上記共通データを入力し、上記データ生成手段が、上記第１または第２エディタ手段に、いずれか一方の上記第１または第２エディタ画面上で選択され、かつ他方のエディタ画面に複写された上記画像ブロックに付随する上記共通データを参照することによって、選択された画像ブロックに対応する制御対象機器と同一の制御対象機器についての画像ブロックを自動的に描画させることが好ましい。
【０１２３】
上記の構成では、第１エディタ手段の操作によって、制御対象機器に対応する表示シンボル（例えばマーク）が第１エディタ画面に画像ブロックとして描画されるとともに、制御対象機器に関する変数データが入力される。一方、第２エディタ手段の操作によって、制御対象機器に対応する制御シンボル（例えばラダー記号）が第１エディタ画面に画像ブロックとして描画されるとともに、制御対象機器に関する変数データが入力される。
【０１２４】
また、データ生成手段によって、第２エディタ手段は、第１エディタ画面から第２エディタ画面に複写された表示シンボルに付随する共通データを参照することで、選択された表示シンボルに対応する制御対象機器と同一の制御対象機器についての制御シンボルを自動的に描画する。一方、データ生成手段によって、第１エディタ手段は、第２エディタ画面から第１エディタ画面に複写された制御シンボルに付随する共通データを参照することで、選択された制御シンボルに対応する制御対象機器と同一の制御対象機器についての表示シンボルを自動的に描画する。
【０１２５】
このように、先に一方のエディタ手段で作成された表示シンボルまたは制御シンボルと、それらに付随する共通データとに基づいて、他方のエディタ手段での制御シンボルまたは表示シンボルの作成が行われるので、他方のエディタ手段によるそれらのシンボルの作成が容易になるとともに、該エディタ手段による共通データの入力が不要になる。
【０１２６】
さらに、このエディタ装置においては、上記データ統合手段が、上記制御対象機器のアドレスおよびそれに対応して設定された変数名を含む上記共通データとしての変数データと、上記制御シンボルおよびそれに対応する上記変数名を含む上記固有データとしての制御シンボルデータと、上記表示シンボルおよびそれに対応する上記変数名を含む上記固有データとしての表示シンボルデータとを、上記両シンボルデータがそれぞれ上記変数名を介して上記変数データと結合可能な形態で上記ファイルに格納することが好ましい。
【０１２７】
このような構成では、データ統合手段によって、両シンボルデータが変数名を介して結合可能な形態でファイルに格納されるので、異なるデータを結合する各種のデータベースを容易に構築することができる。例えば、広く普及している、扱いやすいリレーショナルデータベースだけでなく、階層型データベース、ネットワーク型データベース、オブジェクト指向型データベースの構築も可能である。
【０１２８】
本発明のエディタプログラムが記録された記録媒体は、制御対象機器の状態を表示する表示機能部と、該制御対象機器の動作を制御する制御機能部とを有する表示／制御システムを対象として、上記表示機能部が実行する表示の内容を定めるための表示内容プログラムを第１エディタ画面上での入力操作に応じて作成する第１エディタ処理と、上記制御機能部が実行する制御の手順を定めるための制御手順プログラムを第２エディタ画面上での入力操作に応じて作成するための第２エディタ処理とを含むエディタプログラムを記録したコンピュータ読み取り可能な記録媒体であって、上記エディタプログラムが、いずれか一方の上記第１または第２エディタ画面上で入力したデータに関して該エディタ画面上に表示されている画像ブロックを選択し、かつ他方のエディタ画面上へ複写させる操作に応じて、上記表示内容プログラムと上記制御手順プログラムとの間で共通する共通データに基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを生成させるデータ生成処理と、上記共通データおよび上記固有データを単一のファイルに格納するデータ統合処理とを含んでいることを特徴としている。
【０１２９】
この記録媒体を用いると、データ生成処理によって、本発明のエディタ装置と同様、第１または第２エディタ画面上での画像ブロックの選択およびそれを他方のエディタ画面へ複写させる操作に応じて、複写されたエディタ画面に対応するエディタが、表示内容プログラムまたは制御手順プログラムに固有の固有データを生成する。これにより、両エディタ処理によるデータの重複入力を避けることができる。そして、データ統合処理によって、その固有データと共通データとが単一のファイルに格納される。それゆえ、そのファイルにおいて共通のデータベースを作成することができる。
【０１３０】
本発明のエディタプログラムが記録された他の記録媒体は、制御対象機器の状態を表示する表示機能部と、該制御対象機器の動作を制御する制御機能部とを有する表示／制御システムを対象として、上記表示機能部が実行する表示の内容を定めるための表示内容プログラムを第１エディタ画面上での入力操作に応じて作成する第１エディタ処理または上記制御機能部が実行する制御の手順を定めるための制御手順プログラムを第２エディタ画面上での入力操作に応じて作成するための第２エディタ処理のいずれか一方を含むエディタプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、上記エディタプログラムが、いずれか一方の上記第１または第２エディタ画面上で入力したデータに関して該エディタ画面上に表示されている画像ブロックを選択し、かつ他方のエディタ画面上へ複写させる操作に応じて、上記表示内容プログラムと上記制御手順プログラムとの間で共通する共通データに基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを生成させるデータ生成処理と、上記共通データおよび上記固有データを単一のファイルに格納するデータ統合処理とを含んでいることを特徴としている。
【０１３１】
この記録媒体を用いれば、前記の記録媒体と同様、データ生成処理によって、画像ブロックの選択および複写操作に応じて、表示内容プログラムまたは制御手順プログラムに固有の固有データが生成されるので、両エディタ処理によるデータの重複入力を避けることができる。また、データ統合処理によって、その固有データと共通データとが単一のファイルに格納されて、共通のデータベースを作成することができる。さらに、この記録媒体によれば、第１または第２エディタ処理のいずれか一方とデータ複写処理とを含んでいる２種類のエディタプログラム、すなわち第１または第２エディタプログラムを提供することができる。
【０１３２】
上記の両記録媒体は、上記第１エディタ処理が、上記第１エディタ画面に上記制御対象機器およびそれらの状態を表す複数の表示シンボルを上記画像ブロックとして描画するとともに、各制御対象機器に対応して設定された変数名を含む上記共通データを入力し、上記第２エディタ処理が、上記第２エディタ画面に上記制御対象機器に対応する制御動作を表す複数の制御シンボルを上記画像ブロックとして描画するとともに、上記共通データを入力し、上記データ生成処理が、上記第１または第２エディタ処理に、いずれか一方の上記第１または第２エディタ画面上で選択され、かつ他方のエディタ画面に複写された上記画像ブロックに付随する上記共通データを参照することによって、選択された画像ブロックに対応する制御対象機器と同一の制御対象機器についての画像ブロックを自動的に描画させることが好ましい。
【０１３３】
このような記録媒体を用いれば、前述のエディタ装置と同様、第１エディタ処理による表示シンボルの描画および変数データの入力が行われる一方、第２エディタ処理による制御シンボルの描画および変数データの入力が行われる。また、データ生成処理によって、第２エディタ処理が、変数データを参照することで、選択された表示シンボルに対応する制御対象機器と同一の制御対象機器についての制御シンボルを自動的に描画する一方、第１エディタ処理が、変数データを参照することで、選択された制御シンボルに対応する制御対象機器と同一の制御対象機器についての表示シンボルを自動的に描画する。それゆえ、他方のエディタ処理による表示または制御シンボルの作成が容易になるとともに、そのエディタでの変数データの入力が不要になる。
【０１３４】
また、この両記録媒体では、上記データ統合処理が、上記制御対象機器のアドレスおよびそれに対応して設定された変数名を含む上記共通データとしての変数データと、上記制御シンボルおよびそれに対応する上記変数名を含む上記固有データとしての制御手順データと、上記表示シンボルおよびそれに対応する上記変数名を含む上記固有データとしての表示内容データとを、上記両シンボルデータがそれぞれ上記変数名を介して上記変数データと結合可能な形態で上記ファイルに格納することが好ましい。
【０１３５】
これにより、前述のエディタ装置と同様、データ統合処理によって、両シンボルデータが変数名を介して結合可能な形態でファイルに格納されるので、異なるデータを結合する各種のデータベースを容易に構築することができる。
【０１３６】
以上のように、本発明のエディタ装置は、制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ手段と、上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ手段と、上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データ、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データ、および上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データを統合して格納するファイルと、上記ファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ手段に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成手段とを備えている構成である。
【０１３７】
これにより、一方のエディタ手段によって共通データが入力されていれば、その共通データの変数名を用いて他方のエディタ手段によって固有データを生成することができる。したがって、両エディタ手段によるデータの重複入力を避けることができる。
【０１３８】
本発明の記録媒体は、制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ処理と、上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ処理と、上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データと、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データと、上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データとを統合して格納するファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成処理とを含んでいることを特徴とするエディタプログラムを記録している。
【０１３９】
また、本発明の他の記録媒体は、制御対象機器の状態を表示する表示内容を定めるための表示内容プログラムを作成する第１エディタ処理または上記制御対象機器を制御する制御手順を定めるための制御手順プログラムを作成する第２エディタ処理のいずれか一方と、上記表示内容プログラムに固有の固有データと各制御対象機器に対応する所望の入出力番号に予め対応づけられている変数を定義する変数名とを含む画面データと、上記制御手順プログラムに固有の固有データと上記変数名とを含む制御データと、上記表示内容プログラムと上記制御手順プログラムとの間で共通し、上記変数名および上記入出力番号からなっている共通データとを統合して格納するファイルから検索することによって得られた上記共通データの上記変数名に基づいて、上記第１または第２エディタ処理に上記表示内容プログラムまたは上記制御手順プログラムに固有の固有データを上記ファイルにおいて生成させるデータ生成処理とを含んでいることを特徴とするエディタプログラムを記録している。
【０１４０】
これにより、データ生成処理によって、本発明のエディタ装置と同様、第１または第２エディタ処理が、表示内容プログラムまたは制御手順プログラムに固有の固有データを生成する。したがって、両エディタ処理によるデータの重複入力を避けることができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態に係る第１の表示／制御システムの構成を示すブロック図である。
【図２】上記第１の表示／制御システムにおけるプログラマブル表示器のＦＥＰＲＯＭに格納されるプログラムを示す説明図である。
【図３】上記プログラマブル表示器などで表示されるユーザ画面に含まれる処理指示語の基本的フォーマットを示す説明図である。
【図４】上記プログラマブル表示器の表示動作の処理手順を示すフローチャートである。
【図５】（ａ）ないし（ｃ）は、それぞれ第１ないし第３の表示／制御システムにおけるコンピュータ装置で実行される属性データの複写のために用いられるデータ構造、このデータ構造におけるオブジェクトタイプおよび上記データ構造におけるアドレス情報を示す説明図である。
【図６】上記コンピュータ装置のプロジェクトファイルにおいて形成されるデータベースの形態を示す説明図である。
【図７】上記コンピュータ装置のプロジェクトファイルにおいて形成される他のデータベースの形態を示す説明図である。
【図８】上記コンピュータ装置のプロジェクトファイルにおいて形成されるさらに他のデータベースの形態を示す説明図である。
【図９】本発明の実施の一形態に係る第２の表示／制御システムの構成を示すブロック図である。
【図１０】第２および第３の表示／制御システムにおけるプログラマブル表示器のＦＥＰＲＯＭに格納されるプログラムを示す説明図である。
【図１１】本発明の実施の一形態に係る第３の表示／制御システムの構成を示すブロック図である。
【図１２】上記第１ないし第３の表示／制御システムにおけるコンピュータ装置で実行されるエディタ処理の手順を示すフローチャートである。
【図１３】上記エディタ処理において先に実行されるプログラミングの手順を示すフローチャートである。
【図１４】図１２のプログラミング処理の後に実行される作画処理の手順を示すフローチャートである。
【図１５】上記エディタ処理において先に実行される作画処理の手順を示すフローチャートである。
【図１６】図１５の作画処理の後に実行されるプログラミングの手順を示すフローチャートである。
【図１７】（ａ）ないし（ｄ）は図１４の手順の具体例を示す説明図である。
【図１８】図１７の手順にしたがって実行される処理の具体的な形態を示す説明図である。
【図１９】（ａ）ないし（ｃ）は図１６の手順の具体例を示す説明図である。
【図２０】図１９の手順にしたがって実行される処理の具体的な形態を示す説明図である。
【図２１】コピー＆ペーストによる属性データの複写およびそれに伴うラダー記号またはマークの表示例を示す説明図である。
【符号の説明】
１        プログラマブル表示器（表示機能部、制御機能部）
２        ＰＬＣ（制御機能部）
３        コンピュータ装置（表示機能部、制御機能部）
４        入出力機器（制御対象機器）
５        記録媒体
３２ａ      ラダーエディタ（第２エディタ手段）
３２ｂ      作画エディタ（第１エディタ手段）
３２ｃ      複写機能部（データ生成手段）
３２ｄ      ファイル管理部
３３        プロジェクトファイル（ファイル）
【図１】
0003712641.tif 000002
【図２】
0003712641.tif 000003
【図３】
0003712641.tif 000004
【図４】
0003712641.tif 000005
【図５】
0003712641.tif 000006
【図６】
0003712641.tif 000007
【図７】
0003712641.tif 000008
【図８】
0003712641.tif 000009
【図９】
0003712641.tif 000010
【図１０】
0003712641.tif 000011
【図１１】
0003712641.tif 000012
【図１２】
0003712641.tif 000013
【図１３】
0003712641.tif 000014
【図１４】
0003712641.tif 000015
【図１５】
0003712641.tif 000016
【図１６】
0003712641.tif 000017
【図１７】
0003712641.tif 000018
【図１８】
0003712641.tif 000019
【図１９】
0003712641.tif 000020
【図２０】
0003712641.tif 000021
【図２１】
0003712641.tif 000022