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