(57)【要約】【課題】ニーモニック形式のプログラムにおける不正入力を防止する。【解決手段】インストラクションリストプログラム（ＩＬ）を作成するインストラクションリスト（ＩＬ）エディタ２において、入力支援部２１は、セル形式で命令およびオペランドの入力を可能にする画面を表示する。フォーマットエラーチェック部２２ａは、入力された命令およびオペランドが適正であるか否かをチェックする。入力支援部２１は、入力された命令およびオペランドが適正である場合のみ、これらの入力を受け入れ、データ管理部２３にそれらを書き替えるように指示する。データ管理部２３は、作業メモリ４１に展開されているＩＬプログラムおよびラダープログラムに共通の命令およびオペランドのデータを書き替える。セル単位で入力が可能になると、ＩＬプログラムにおける命令およびオペランドの変化がラダープログラムに同時に反映されることになる。【選択図】図１
2009134366.tif 000002
【特許請求の範囲】
【請求項１】
ニーモニック形式の第１プログラムを作成する第１エディタ手段と、ラダー図形式の第２プログラムを作成する第２エディタ手段とを備えたエディタ装置において、
前記第１エディタ手段および第２エディタ手段によって作成される前記両プログラムに共通する共通データを記憶するデータ記憶手段を備え、
前記第１エディタ手段は、
前記第１プログラムを構成する要素の入力を一つずつ受け入れるとともに確定した前記要素を表示するセル形式の入力表示領域を有する入力表示画面を表示する画面表示手段と、
前記入力表示領域に入力された前記要素が適正であるか否かを判定する適否判定手段と、
適正であると判定された前記要素についての前記共通データを前記データ記憶手段において書き込むデータ書込手段とを含んでいることを特徴とするエディタ装置。
【請求項２】
前記入力表示領域に入力すべき前記要素の内容について案内表示する案内表示手段を備えていることを特徴とする請求項１に記載のエディタ装置。
【請求項３】
前記案内表示手段は、確定した前記要素を表示する文字より薄く案内表示することを特徴とする請求項２に記載のエディタ装置。
【請求項４】
前記画面表示手段は、前記第２プログラムの行番号と前記第１プログラムのステップ番号とを木構造的に対応付けて表示する対応関係表示領域を前記入力表示画面に表示することを特徴とする請求項１に記載のエディタ装置。
【請求項５】
ニーモニック形式のプログラムを作成するエディタ装置において、
前記プログラムを構成する要素の入力を一つずつ受け入れるとともに確定した前記要素を表示するセル形式の入力表示領域を有する入力表示画面を表示する画面表示手段と、
前記入力表示領域に入力すべき前記要素の内容について、確定した前記要素を表示する文字より薄く案内表示する案内表示手段とを備えていることを特徴とするエディタ装置。
【請求項６】
コンピュータを請求項１ないし５のいずれか１項に記載のエディタ装置として機能させるためのエディタプログラムであって、当該コンピュータを上記各手段として機能させるエディタプログラム。
【請求項７】
請求項６に記載のエディタプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス制御に用いられるプログラムを作成するエディタ装置、エディタプログラムおよびそれを記録した記録媒体に関するものである。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（以降、ＰＬＣと称する）などと呼ばれる制御装置は、シーケンス制御をはじめとする各種制御を制御システムにおいて実現するために、ユーザが作成したプログラム（ロジックプログラム）を実行する。ＰＬＣは、ＣＰＵおよびメモリを中心とするハードウェアの部分と、このハードウェアの部分にプログラムを実行させるシステムプログラムなどのソフトウェアの部分を備えている。
【０００３】
ユーザが作成するプログラムは、ＰＬＣに所望の制御動作をさせる基本となる制御フローにしたがって、各種の命令語を組み合わせることによって構築される。このようなプログラムの作成においては、コンピュータの専門知識を持たなくてもロジックプログラムを簡単に作成できるように、ラダープログラム（シーケンスプログラム）のようなグラフィカルな独自のプログラミング言語が用いられており、他にも利用者に使いやすい各種のプログラミング言語が次々と開発されるようになった。現在、ＩＥＣ(International Electrotechnical Commission) において、標準のプログラミング言語が制定されている（ＩＥＣ 6 1131-3 ）。それは、ＳＦＣ（Sequential Function Chart）、ＬＤ（Ladder Diagram）、ＩＬ(Instruction List)、ＦＢＤ（Function Block Diagram）およびＳＴ（Structured Text）の５言語である。
【０００４】
例えば、グラフィック言語であるＬＤ（ラダー図）は、命令記号のようなオブジェクトを用いて比較的容易にラダー回路を設計することができるので広く普及しており、現在、最もよく用いられているプログラミング言語である。また、テキスト言語であるインストラクションリスト（ＩＬ）は、オペコード（命令）とオペランド（変数等）とからなるニーモニック形式により、行に分かれた命令シーケンスで記述される。
【０００５】
ラダー図は命令がシンボル化されているので、視覚的に分かりやすいが、命令を選択して決定するという操作が必要となるため、プログラミングに手間がかかる。また、インストラクションリストは、テキスト形式であるので、プログラミングを速くすることができるが、視覚的には分かりにくい。このように、ラダー図およびインストラクションリストは、相反する特徴を有しているが、ともにリレーシーケンス回路を基本にしているため、相互の特徴を補うことを目的として、変換や複合利用が試みられてきた。
【０００６】
例えば、引用文献１には、ラダー図形式からニーモニック形式へのプログラム変換について開示されている。また、特許文献２には、ラダー図と、当該ラダー図の指定された部分をニーモニック形式で編集可能に表示するコマンドラインとを同一の画面に表示して、ニーモニック形式でラダー図を編集することが開示されている。また、特許文献３には、ニーモニック形式のプログラムと、当該プログラムの指定されたステップをラダー図形式で編集可能に表示するコマンドラインとを同一の画面に表示して、ラダー図形式で当該プログラムを編集することが開示されている。具体的には、コマンドラインにてラダー図の命令シンボルで上記のプログラムを編集すると、ニーモニック形式のプログラムが書き替えられて表示される。
【特許文献１】特開２００３−１９５９１２号公報（２００２年７月１１日公開）
【特許文献２】特開平５−１９８１６号公報（１９９３年１月２９日公開）
【特許文献３】特開平５−１９８１７号公報（１９９３年１月２９日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ラダー図は、図形式で表現するプログラミング言語であるため、入力制限がかけられており、不正な入力が不可能になっている。このため、特許文献１に開示されたようなラダー図形式からニーモニック形式へのプログラム変換や、特許文献２に開示されたようなニーモニック形式のプログラムのラダー図形式による編集は、エラーのない状態で円滑に行うことが可能である。ところが、インストラクションリストのプログラミングは文字列の入力で行われるので、記述ミス等による不正入力も可能となる。このため、ニーモニック形式で表現されたプログラムをラダー図形式に変換する場合は、ニーモニック形式のプログラムが全て正しく記述されているか確認できてからでないと変換することができなかった。
【０００８】
また、特許文献２に開示された編集方法では、コマンドラインにてニーモニック形式のプログラムを編集すると、内部的なデータの編集とともに、ラダー図の該当部分もそれに合わせて変換される。しかしながら、ニーモニック形式での入力には上記のような不正入力の可能性があるため、エラー処理が必要であるが、それについては特許文献２には開示されていない。
【０００９】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ニーモニック形式のエディタにおいて不正入力を防止することにある。また、本発明の他の目的は、ニーモニック形式のプログラムからラダー図形式のプログラムへの変換処理を効率的に行うことにある。
【課題を解決するための手段】
【００１０】
本発明に係るエディタ装置は、ニーモニック形式の第１プログラムを作成する第１エディタ手段と、ラダー図形式の第２プログラムを作成する第２エディタ手段とを備えたエディタ装置において、上記の課題を解決するために、前記第１エディタ手段および第２エディタ手段によって作成される前記両プログラムに共通する共通データを記憶するデータ記憶手段を備え、前記第１エディタ手段が、前記第１プログラムを構成する要素の入力を一つずつ受け入れるとともに確定した前記要素を表示するセル形式の入力表示領域を有する入力表示画面を表示する画面表示手段と、前記入力表示領域に入力された前記要素が適正であるか否かを判定する適否判定手段と、適正であると判定された前記要素についての前記共通データを前記データ記憶手段において書き込むデータ書込手段とを含んでいることを特徴としている。
【００１１】
上記の構成では、第１エディタ手段において、画面表示手段によって表示された入力表示画面の入力表示領域に、ユーザによって要素（命令や当該命令に付随するオペランド等）が入力されると、適否判定手段によって、当該要素が適正であるか否かが判定される。入力された要素が適正であると判定されると、データ書込手段によって、当該要素についての共通データがデータ記憶手段に書き込まれる。また、ユーザがキーボードなどで要素を直接入力している場合、タイプミスによって誤った要素が入力されると、適否確認手段によって、当該要素が適正でないと判定される。この場合、当該要素についての共通データはデータ記憶手段に書き込まれない。
【００１２】
このように、第１プログラムの要素を入力表示画面の入力表示領域に一つずつ入力する毎に当該要素の適否が判定され、適正な要素の共通データのみがデータ記憶手段に書き込まれる。これにより、不正入力が要素の入力毎に防止されるとともに、第１および第２プログラムについての共通データが更新されるので、第１エディタ手段で入力された要素が第２プログラムにリアルタイムで反映される。それゆえ、第１エディタ手段から第２エディタ手段に切り替えたときに、第２プログラムにおいて、その反映された要素の状態を確認することができる。また、ラダー図形式の第２プログラムで入力された要素についても、データ記憶手段に共通データが書き込まれるので、第２プログラムで入力された要素が第１プログラムにリアルタイムで反映される。
【００１３】
前記エディタ装置は、前記入力表示領域に入力すべき前記要素の内容について案内表示する案内表示手段を備えていることが好ましい。これにより、入力表示領域に入力すべき要素の内容を容易に把握することができる。また、前記案内表示手段は、入力および確定した前記要素を表示する文字より薄く案内表示することが好ましい。これにより、案内表示と確定した要素とを容易に区別することができ、より一層、入力表示領域に入力すべき要素の内容を容易に把握することができる。
【００１４】
前記エディタ装置において、前記画面表示手段は、前記第２プログラムの行番号と前記第１プログラムのステップ番号とを木構造的に対応付けて表示する対応関係表示領域を前記入力表示画面に表示することが好ましい。これにより、第２プログラムの行単位で第１プログラムを表示することができる。したがって、第１プログラムを狭い範囲で表示する場合に、第２プログラムの行単位で第１プログラムを表示して、表示エリアを有効に利用することができる。
【００１５】
本発明に係る他のエディタ装置は、ニーモニック形式のプログラムを作成するエディタ装置において、上記の課題を解決するために、前記プログラムを構成する要素の入力を一つずつ受け入れるとともに確定した前記要素を表示するセル形式の入力表示領域を有する入力表示画面を表示する画面表示手段と、前記入力表示領域に入力すべき前記要素の内容について、入力および確定した前記要素を表示する文字より薄く案内表示する案内表示手段とを備えていることを特徴としている。
【００１６】
上記の構成では、画面表示手段によって表示された入力表示画面の入力表示領域に、ユーザによって要素（命令や当該命令に付随するオペランド等）が入力され、当該命令が確定すると、その要素が入力表示領域に表示される。また、入力表示領域には、案内表示手段によって、入力すべき要素の内容について、確定した要素を表示する文字より薄く案内表示される。これにより、入力表示領域に入力すべき要素の内容を容易に把握することができる。
【００１７】
本発明のエディタプログラムは、コンピュータを前述のいずれかのエディタ装置として機能させるためのエディタプログラムであって、当該コンピュータを上記各手段として機能させるプログラムである。また、このエディタプログラムは、コンピュータ読み取り可能な記録媒体に記録される。このように、エディタプログラムをコンピュータに読み取らせて実行させることにより、前記エディタ装置を実現することができる。
【発明の効果】
【００１８】
本発明に係るエディタ装置は、以上のように、ニーモニック形式の第１プログラムを構成する要素の入力を一つずつ受け入れるとともに確定した前記要素を表示するセル形式の入力表示領域を有する入力表示画面を表示し、第１プログラムの要素を入力表示画面の入力表示領域に一つずつ入力する毎に当該要素の適否を判定し、適正な要素の共通データのみをデータ記憶手段に書き込む。これにより、不正入力が要素の入力毎に防止されるとともに、第１プログラムおよびラダー図形式の第２プログラムについての共通データが更新されるので、第１エディタ手段で入力された要素が第２プログラムにリアルタイムで反映される。したがって、本発明は、第１プログラムから第２プログラムへの変換を効率的に行うことができるという効果を奏する。
【００１９】
また、本発明に係る他のエディタ装置は、以上のように、ニーモニック形式のプログラムを構成する要素の入力を一つずつ受け入れるとともに確定した前記要素を表示するセル形式の入力表示領域を有する入力表示画面を表示し、前記入力表示領域に入力すべき前記要素の内容について、確定した前記要素を表示する文字より薄く案内表示する案内表示するので、入力表示領域に入力すべき要素の内容を容易に把握することができる。したがって、ニーモニック形式のプログラムの作成を効率的に行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
本発明の一実施形態について図１ないし図６に基づいて説明すると、以下の通りである。
【００２１】
本実施の形態に係るエディタ装置は、図１に示すように、エディタコンピュータ１によって構成されている。エディタコンピュータ１は、ＣＰＵ、メモリ（ＲＡＭ、ＲＯＭなど）、外部記憶装置（ハードディスクドライブ、ＭＯドライブなど）、表示装置および入力装置（キーボード、マウスなど）を有している。また、エディタコンピュータ１は、図１に示すように、インストラクションリストエディタ（図中、ＩＬエディタ；以降「ＩＬエディタ」と称する）２、ラダーエディタ３、制御部４およびデータ記憶部５を備えている。
【００２２】
制御部４は、ハードウエア（ＣＰＵやメモリなど）およびソフトウエア（オペレーティングシステムなど）によって実現される機能ブロックであり、アプリケーションプログラムの実行や周辺機器の動作を制御する部分である。制御部４は、その機能を果たすために作業メモリ４１を有している。作業メモリ４１は、ＲＡＭなどによって構成され、ＩＬエディタ２およびラダーエディタ３がプログラムを展開するためなどに用いられる。また、作業メモリ４１は、ＩＬエディタ２およびラダーエディタ３によってＩＬプログラムおよびラダープログラム、ならびに両プログラムに共通するデータが展開されている。このデータとしては、ラベル、命令、オペランドの各データが挙げられる。
【００２３】
また、制御部４は、アプリケーションプログラムであるＩＬプログラミングソフトウェアおよびラダープログラミングソフトウェアを実行することにより、ＩＬエディタ２およびラダーエディタ３を実現する。ＩＬエディタ２およびラダーエディタ３は、エディタコンピュータ１と分離可能に構成される記録媒体に記録され、この記憶媒体からエディタコンピュータ１にインストールすることが可能である。また、エディタコンピュータ１は、両エディタ２，３を備えることによりエディタ装置として機能する。
【００２４】
ＩＬエディタ２およびラダーエディタ３は、シーケンスプログラム（ロジックプログラム）を作成する。シーケンスプログラムは、ユーザがＰＬＣやＰＬＣ機能を有する機器に実現させたい制御フロー（制御手順）をユーザによって組み上げられたロジックで規定している。
【００２５】
両エディタ２，３は、シーケンスプログラムの作成のために各種の命令を用意している。このような命令としては、ａ接点（Normal Open）、ｂ接点（Normal Close）、コイル出力、コイル反転出力、ジャンプ、サブルーチンジャンプ（サブルーチン処理開始）などの基本命令を始めとして、演算命令、比較命令、タイマ命令、カウンタ命令などが挙げられる。
【００２６】
上記の記録媒体（プログラムメディア）は、コンピュータに読み取り可能な記録媒体であり、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００２７】
また、エディタコンピュータ１が、インターネットを含む通信ネットワークと接続可能な環境に置かれていれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めエディタコンピュータ１に格納されるか、あるいは別な記録媒体からインストールされるものであことが好ましい。
【００２８】
ＩＬエディタ２は、ニーモニック形式のプログラム（ＩＬプログラム）を作成するためにエディタコンピュータ１に実現されるプログラミング機能である。このＩＬエディタ２は、入力支援部２１と、エラーチェック部２２と、データ管理部２３と、切替制御部２４とを有している。
【００２９】
入力支援部２１は、プログラミングのためのユーザによる入力作業を支援するために、図２に示すようなＩＬ画面１０１を表示する。ＩＬ画面１０１は、行番号表示領域１０１ａ、ステップ番号表示領域１０１ｂ、ラベル表示領域１０１ｃ、命令表示領域１０１ｄおよびオペランド表示領域１０１ｅを含んでいる。また、ラベル表示領域１０１ｃ、命令表示領域１０１ｄおよびオペランド表示領域１０１ｅは、図中破線で示すように、セル形式に区分された領域であるセル１１０によって形成されている。この破線は、図において便宜上描かれているが、実際には表示されていない。これにより、セル１１０を意識することなく、入力作業を行うことができる。
【００３０】
行番号表示領域１０１ａは、ＩＬプログラムに対応するラダープログラムの行番号を表示するために、ＩＬ画面１０１の左端に設けられている。ステップ番号表示領域１０１ｂは、ＩＬプログラムのステップ番号を表示するために、行番号表示領域１０１ａの右隣に設けられている。ステップ番号は、行番号に対応しており、例えば、ラダープログラムの行番号２の行にはＩＬプログラムのステップ番号１，２，４の命令が対応している。このように、入力支援部２１は、ラダープログラムの行番号とＩＬプログラムのステップ番号とを木構造で関連付けている。
【００３１】
ラベル表示領域１０１ｃは、メインプログラムの開始・終了、サブルーチンの開始・終了などを表すラベルを表示するために、ステップ番号表示領域１０１ｂの右隣に設けられている。ラベル表示領域１０１ｃにおいては、メインプログラムの開始・終了、サブルーチンの開始・終了を表すラベル以外の通常ラベルはユーザによる編集が可能である。
【００３２】
命令表示領域１０１ｄは、ＩＬエディタ２およびラダーエディタ３で共通して規定されている命令をアルファベットで表記した略号の表示およびユーザの入力のために設けられている。入力支援部２１は、命令表示領域１０１ｄにおいてセル１１０が選択されると、当該セルを命令入力可能な状態にする。また、入力支援部２１は、当該セルが右クリック操作されると、当該セルに入力可能な命令の一覧のリストボックスを表示する。また、入力支援部２１は、選択されたセル１１０に命令が直接またはリストボックスによって入力されると、入力された命令をエラーチェック部２２に渡し、エラーチェック部２２によって、当該命令が不正な命令であると判定された場合、図３に示すように、そのことをユーザに報知するダイアログボックス１０３をＩＬ画面１０１上に表示する。また、入力支援部２１は、入力された命令がエラーチェック部２２によって適正であると判定されると、データ管理部２３にデータの書き替えを指示する。
【００３３】
オペランド表示領域１０１ｅは、各命令に対応するオペランドを表示するために命令表示領域１０１ｄの右隣に設けられている。オペランド表示領域１０１ｅは、命令に付随するオペランドの最大数のセル数が用意されている。オペランド表示領域１０１ｅには、後述するＳＯＲ命令（行の開始を示す）についてもオペランドが入力可能なセル１１０が設けられている。このセル１１０は、当該行についてのコメントを入力するために設けられており、任意の文字列が入力可能である。
【００３４】
入力支援部２１は、入力を補助する情報を表示するヘルプ情報表示部２１ａを有している。具体的には、このヘルプ情報表示部２１ａは、オペランド表示領域１０１ｅに命令に応じて表示すべきオペランドの内容を表示する。ヘルプ情報表示部２１ａによって、オペランドの入力前に表示される文字の色は、入力後の文字より薄い色（淡色）となっている。
【００３５】
なお、ＩＬエディタ２では、行の開始、分岐開始、分岐および分岐終了を命令として扱い、ＳＯＲ（行開始；Start of Rang）、ＢＳ（分岐開始）、Ｂ（分岐）およびＢＥ（分岐終了）と表される。具体的には、図４（ａ）に示すＩＬプログラムにおけるＳＯＲ命令、ＢＳ命令、Ｂ命令、ＢＥ命令が、それぞれ図４（ｂ）に示すラダープログラムにおける第１行、当該第１行からの分岐、当該分岐から分岐した分岐行、当該分岐行と第１行との合流に対応している。
【００３６】
なお、入力支援部２１は、行の区切りを明確にするため、ラベル表示領域１０１ａに表示するラベルの文字列と、命令表示領域１０１ｂに表示するＳＯＲ命令の文字列とを他の文字列表示色と異なる色で表示する。
【００３７】
エラーチェック部２２は、入力支援部２１の指示を受けて、入力された命令およびオペランドのエラーをチェックする。このために、エラーチェック部２２は、フォーマットエラーチェック部２２ａと論理エラーチェック部２２ｂとを有している。
【００３８】
フォーマットエラーチェック部２２ａは、入力された命令が規定の命令に該当するか否かを判定する。具体的には、フォーマットエラーチェック部２２ａは、前述のリストボックスから入力された命令については規定の命令であるため、そのように判定するが、ユーザによって直接入力された命令については、タイプミスされた場合、規定の命令ではない（フォーマットエラーがある）と判定する。また、フォーマットエラーチェック部２２ａは、入力されたオペランドが予め定められた条件を満たすか否かを判定する。論理エラーチェック部２２ｂは、命令の配置が適正な論理にしたがっているか否かを判定する。具体的には、論理エラーチェック部２２ｂは、出力コイルの次に接点が配置されるような論理上の誤りがないかどうか判定する。
【００３９】
データ管理部２３は、入力支援部２１によってデータの書き替えを指示されると、作業メモリ４１に展開されたＩＬプログラムおよびラダーエディタに共通するデータ（共通データ）を書き替える。また、データ管理部２３は、入力支援部２１によってＩＬプログラムの保存が指示されると、ＩＬファイルというファイル形式でハードディスク装置等によって構成されるデータ記憶部５に保存する。また、入力支援部２１は、ＩＬファイルをデータ記憶部５から読み出して、ＰＬＣやＰＬＣ機能を有する機器にダウンロードする。
【００４０】
切替制御部２４は、ＩＬエディタ２からラダーエディタ３への切り替え（画面切替）がユーザによって指示されると、切替指示を受けたことと、ラダーエディタ３に反映すべきＩＬエディタ２での最新の情報とをラダーエディタ３に渡す。
【００４１】
具体的には、切替制御部２４は、データ管理部２３に共通データの書き替え有無を問い合わせ、その結果をラダーエディタ３における後述する切替制御部３４に通知する。通知の内容は、共通データの書き替えがなかった場合は、そのことであり、共通データの書き替えがあった場合は、どの共通データが書き替えられたかという情報である。
【００４２】
また、切替制御部２４は、上記の最新の情報として、ＩＬ画面１０１上で現在選択されているセル１１０の情報（選択範囲）をラダーエディタ３に渡す。例えば、命令表示領域１０１ｄにおいて、ある命令のセル１１０が選択されている場合、当該命令が選択されていることが切替制御部３４に通知され、ある行に含まれる全ての命令について、行番号、ステップ番号、ラベル、命令およびオペランドのセル１１０（行全体のセル１１０）が選択されている場合、そのことが切替表示部３３に通知される。行全体を範囲指定する場合、ＳＯＲ命令を含むステップから次のＳＯＲたまはラベルの手前のステップまでが選択される。
【００４３】
切替制御部２４は、ラダーエディタ３からＩＬエディタ２への切り替え（画面切替）について、切替指示を受けたことと、ＩＬエディタ２に反映すべきラダーエディタ３での最新の情報とをラダーエディタ３から受け取ると、切替処理を行う。具体的には、切替制御部２４は、切替制御部３４からラダーエディタ３側で共通データの書き替えがあったことを通知されると、当該共通データをデータ管理部２３に読み出すように指示し、データ管理部２３から取得した当該共通データを入力支援部２１に渡す。また、切替制御部２４は、切替制御部３４からラダーエディタ３側で共通データの書き替えがなかったことを通知されると、上記のようにデータ管理部２３を通じて作業メモリ４１から共通データを読み出すことはしない。また、切替制御部２４は、後述するラダー画面２０１（図５参照）上で現在選択されている行、命令、ラベル、オペランドまたは行コメントについての情報を切替制御部３４から取得すると、入力支援部２１にそれを通知する。
【００４４】
入力支援部２１は、ユーザによるラダーエディタ３への切替指示を受けると、切替制御部３４に上記の切替処理を行うように指示するとともに、ラダーエディタ３からの切替通知を切替制御部２４より受けると、ラダーエディタ３での最新の情報をＩＬエディタ２に反映させる処理を行う。具体的には、入力支援部２１は、ラダーエディタ３側で共通データの書き替えがあったときに、データ管理部２３が作業メモリ４１から読み出した共通データに基づいて、ＩＬ画面１０１の各セル１１０における行、ステップ、ラベル、命令およびオペランドの表示を更新する。また、入力支援部２１は、切替制御部３４から受けたラダー画面２０１上で現在選択されている行、命令、ラベル、オペランドまたは行コメントについての情報に基づいて、それに対応した選択されている単一のセル１１０の周囲または複数のセル全体の周囲を、太枠で囲んで表示したり、強調色で表示したりする。
【００４５】
ラダーエディタ３は、ラダー図形式のプログラム（ラダープログラム）を作成するためにエディタコンピュータ１に実現されるプログラミング機能である。このラダーエディタ３は、入力支援部３１と、エラーチェック部３２と、データ管理部３３と、切替制御部３４とを有している。
【００４６】
入力支援部３１は、プログラミングのためのユーザによる入力作業を支援するために、図５に示すようなラダー画面２０１を含むメイン画面（図示せず）を表示する。ラダー画面２０１においては、ラダープログラムが上下方向にスクロール自在に表示され、ラダープログラムには各行の左側母線には行番号が付記されている。上記のメイン画面におけるツールバーには、プログラミングのために必要な入力を行うためのアイコンが設けられている。当該アイコンとしては、行、分岐、各種命令についてのアイコンが用意されている。入力支援部３１は、アイコンがユーザによってクリック操作されると、ラダープログラムにおいてユーザによって選択された箇所に当該アイコンに示す対象（行、分岐、各種命令）のシンボル（命令記号）を追加する。
【００４７】
エラーチェック部３２は、入力支援部３１の指示を受けて、入力された命令およびオペランドのエラーをチェックする。このエラーチェック部３２は、前述の論理エラーチェック部２２ｂと同様、命令の配置が適正な論理にしたがっているか否かを判定する。
【００４８】
データ管理部３３は、入力支援部３１によってデータの書き替えを指示されると、作業メモリ４１に展開された前述の共通データを書き替える。また、データ管理部３３は、入力支援部３１によってラダープログラムの保存が指示されると、ラダーファイルというファイル形式でデータ記憶部５に保存する。また、入力支援部３１は、ラダーファイルをデータ記憶部５から読み出して、ＰＬＣやＰＬＣ機能を有する機器にダウンロードする。
【００４９】
切替制御部３４は、ラダーエディタ３からＩＬエディタ２への切り替え（画面切替）がユーザによって指示されると、切替指示を受けたことと、ＩＬエディタ２に反映すべきラダーエディタ３での最新の情報とをＩＬエディタ２に渡す。
【００５０】
具体的には、切替制御部３４は、データ管理部３３にデータの書き替え有無を問い合わせ、その結果を、切替制御部２４が切替制御部３４にするのと同様に、ＩＬエディタ２における切替制御部２４に通知する。
【００５１】
また、切替制御部３４は、上記の最新の情報として、ラダー画面２０１上で現在選択されている命令、ラベル、行（単一の行または複数の行）の情報（選択範囲）をＩＬエディタ２に渡す。例えば、ラダー画面２０１に表示されているラダープログラムにおいて、ある命令のシンボルが選択されている場合、当該シンボルが選択されていることが切替制御部２４に通知され、ある行が選択されている場合、そのことが切替表示部２４に通知される。ラダープログラムにおける行の選択は、前述の行番号の表示部分をクリック操作することによって行われる。
【００５２】
切替制御部３４は、ＩＬエディタ２からラダーエディタ３への切り替え（画面切替）について、切替指示を受けたことと、ラダーエディタ３に反映すべきＩＬエディタ２での最新の情報とをＩＬエディタ２から受け取ると、切替処理を行う。具体的には、切替制御部３４は、切替制御部２４からＩＬエディタ２側で共通データの書き替えがあったことを通知されると、当該共通データをデータ管理部３３に読み出すように指示し、データ管理部３３が作業メモリ４１から読み出した当該共通データを入力支援部３１に渡す。また、切替制御部３４は、切替制御部２４からＩＬエディタ２側で共通データの書き替えがなかったことを通知されると、上記のようにデータ管理部３３を通じて作業メモリ４１から共通データを読み出すことはしない。また、切替制御部３４は、ＩＬ画面１０１上で現在選択されている行、命令、ラベル、オペランドまたは行コメントについての情報を切替制御部２４から取得すると、入力支援部３１にそれを通知する。
【００５３】
入力支援部３１は、ユーザによるＩＬエディタ２への切替指示を受けると、切替制御部３４に上記の切替処理を行うように指示するとともに、ＩＬエディタ２からの切替通知を切替制御部３４より受けると、ＩＬエディタ２での最新の情報をラダーエディタ３に反映させる処理を行う。具体的には、入力支援部３１は、ＩＬエディタ２側で共通データの書き替えがあったときに、データ管理部３３が作業メモリ４１から読み出した共通データに基づいて、ラダー画面２０１のラダープログラムにおける行、ステップ、ラベル、命令、オペランドおよび行コメントの表示を更新する。また、入力支援部３１は、切替制御部２４から受けたＩＬ画面１０１上で現在選択されている行、命令、ラベル、オペランドおよび行コメントについての情報に基づいて、それに対応した選択されている行、命令、ラベル、オペランドおよび行コメントを含む矩形の範囲を、太枠で囲んで表示したり強調色で表示したりする。
【００５４】
ここで、上記のように構成されるエディタコンピュータ１の動作をＩＬエディタ２によるプログラミングを中心に説明する。
【００５５】
まず、ユーザによって、ＩＬ画面１０１のラベル入力領域１０１ｃ、命令入力領域１０１ｄおよびオペランド入力領域１０１ｅの各セル１１０に、ラベル、命令およびオペランドが入力される。すると、入力支援部２１は、入力されたラベル、命令およびオペランドについての共通データの書き替えをデータ管理部２３に指示する。データ管理部２３は、その指示を受けて、作業メモリ４１に展開されているＩＬプログラムにおいて、当該共通データを書き替える。
【００５６】
なお、図２に示すスタートラベル“MAIN START”は、ＩＬプログラムの最初のステップ（ラダープログラムでは最初の行）である。このため、入力支援部２１は、新規のＩＬプログラム作成のためにＩＬ画面１０１が表示されるときに、ユーザの入力を受けることなく自動的にデータ管理部２３にスタートラベルの共通データを書き込むように指示する。
【００５７】
また、入力された命令（略号）およびオペランドについては、入力支援部２１がフォーマットエラーの有無のチェックをエラーチェック部２２に指示する。エラーチェック部２２は、その指示を受けて、フォーマットエラーチェック部２２ａに上記の命令およびオペランドにフォーマットエラーの有無をチェックする。例えば、フォーマットエラーチェック部２２ａは、スタートラベルおよびＪＳＲ（サブルーチンジャンプ）命令の次のステップでは、ＳＯＲ命令しか入力が許可されないので、他の命令が入力されると、フォーマットエラーがあったものとして入力支援部２１に通知する。また、フォーマットエラーチェック部２２ａは、任意の命令の入力が可能なセル１１０において、ユーザによってキーボードを用いて直接入力された命令がタイプミスにより存在しない命令である場合も、フォーマットエラーがあったものとして入力支援部２１に通知する。
【００５８】
入力支援部２１は、フォーマットエラーチェック部２２ａからのフォーマットエラーありの通知を受けると、その入力された命令やオペランドについて、図３に示すようなダイアログボックス１０３を表示する。また、入力支援部２１は、フォーマットエラーチェック部２２ａからのフォーマットエラーなしの通知を受けると、その入力された命令やオペランドを確定するように、データ管理部２３に当該命令やオペランドの共通データの書き込みを指示する。データ管理部２３は、その指示を受けて、作業メモリ４１に当該共通データを書き込む。
【００５９】
このように、セル１１０への命令およびオペランドの入力毎にフォーマットエラーの有無がチェックされる。
【００６０】
また、入力支援部２１のヘルプ情報表示部２１ａは、ＳＯＲ命令について、オペランド入力領域１０１ｅにおけるオペランド１のセル１１０に入力項目（要素）の内容として「行コメント」を淡色で表示して、ユーザに行コメントの入力を促す。また、ヘルプ情報表示部２１ａは、規定のオペランドを有する命令について、オペランド入力領域１０１ｅにおけるオペランド１〜４の該当するセル１１０に入力項目の内容としてオペランドの内容を示す略号などを淡色で表示する。例えばＰＩＤ演算を行うＰＩＤ命令では、オペランド１のセル１１０にホームポジションを表す“ＨＰ”が表示され、オペランド２〜４にはそれぞれソースＳ１〜Ｓ３が表示され、オペランド５にはディスティネーションＤ１が表示される。ソースＳ１〜Ｓ３には、それぞれ現在値、目標値、タイバック値が入力可能であり、ディスティネーションＤ１には出力値を設定可能である。
【００６１】
ユーザの指示によって、ＩＬエディタ２（ＩＬ画面１０１の表示）からラダーエディタ３（ラダー画面２０１の表示）への切り替えが指示されると、入力支援部２１は、当該指示を受けたことを切替制御部２４に通知する。切替制御部２４は、その通知を受けて、切替指示を受けたこととをラダーエディタ３の入力支援部３１に通知するとともに、書き替えられた共通データについての情報を切替制御部３４に渡す。すると、切替制御部３４は、データ管理部３３に当該共通データの読み出しを指示し、その指示に応じて作業メモリ４１から読み出された共通データを入力支援部３１に渡す。すると、入力支援部３１は、ラダー画面２０１の表示をＩＬ画面１０１の表示から切り替えるとともに、ラダー画面２０１におけるラダープログラムに、取得した共通データの内容を反映させる。これにより、ＩＬエディタ２で更新されたＩＬプログラムの最新の状態がラダーエディタ３におけるラダープログラムに反映される。
【００６２】
例えば、図６（ａ）に示すように、ＩＬプログラムにおいて、ＢＥ命令の次に命令を挿入すると、図６（ｂ）に示すように、ラダープログラムの分岐路における上記のＢＥ命令に相当する分岐終了の後の矩形で示す部分に上記の命令が追加される。
【００６３】
また、ユーザの指示によって、ラダーエディタ３（ラダー画面２０１の表示）からＩＬエディタ２（ＩＬ画面１０１の表示）への切り替えが指示されると、入力支援部３１は、当該指示を受けたことを切替制御部３４に通知する。切替制御部３４は、その通知を受けて、切替指示を受けたこととをＩＬエディタ２の入力支援部２１に通知するとともに、書き替えられた共通データについての情報を切替制御部２４に渡す。すると、切替制御部２４は、データ管理部２３に当該共通データの読み出しを指示し、その指示に応じて作業メモリ４１から読み出された共通データを入力支援部２１に渡す。すると、入力支援部２１は、ＩＬ画面１０１の表示をラダー画面２０１の表示から切り替えるとともに、ＩＬ画面１０１におけるＩＬプログラムに、取得した共通データの内容を反映させる。これにより、ラダーエディタ３で更新されたラダープログラムの最新の状態がＩＬエディタ２におけるＩＬプログラムに反映される。
【００６４】
以上のように、エディタコンピュータ１におけるＩＬエディタ２は、１つの入力項目を１つのセル１１０に入力するというセル形式のＩＬ画面１０１をユーザインターフェースとして提供する。また、各セル１１０には、キーボードによる入力を受け付ける。しかも、入力支援部２１およびエラーチェック２３によって、セル１１０への入力毎にフォーマットエラーの有無をチェックし、フォーマットエラーがない場合にのみ入力を確定して、確定した入力項目をセル１１０に表示する。これにより、入力できたことがフォーマットエラーのないことになるので、不正入力（誤入力）を防止することができ、従来のエディタで、ＩＬプログラムのプログラミングが完了した後にフォーマットエラーをチェックしていたように時間がかからない。
【００６５】
ＩＬエディタ２にて入力された項目についてのデータは、ラダーエディタ３と共通の共通データであるので、ＩＬ画面１０１にて入力が可能となったと項目は、ラダープログラムにも同時に反映される。したがって、ＩＬエディタ２からラダーエディタ３への切り替えると、ＩＬプログラムにおいて更新された内容がリアルタイムにラダープログラムに反映される。
【００６６】
また、ヘルプ情報表示部２１ａによって、セル１１０に入力すべき内容が案内表示されるので、入力する内容が分からない場合に効率的に入力することができる。これは、セル形式で入力する構成によって可能になる。また、ヘルプ情報表示部２１ａによって、入力および確定した前記要素が表示する文字より薄く案内表示されるので、より一層、効率的な入力が可能となる。
【００６７】
さらに、ラダープログラムの行番号とＩＬプログラムのステップ番号とが木構造で関連付けられている。これにより、ラダープログラムの行単位でＩＬプログラムを表示することができる。したがって、ＩＬ画面１０１を狭い範囲で表示する場合に、ラダープログラムの行単位でＩＬプログラムを表示して、表示エリアを有効に利用することができる。
【００６８】
なお、本実施の形態では、ＩＬエディタ２およびラダーエディタ３を独立して設けているが、両エディタ２，３を統合したエディタとして設けてもよい。この場合、エラーチェック部２２，３２、データ管理部２３，３３および切替制御部２４，３４をそれぞれ共通化することができる。
【００６９】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００７０】
本発明のエディタ装置は、ニーモニック形式のプログラムの作成において、セル形式の入力領域に命令等のプログラムを構成する要素を入力する毎にフォーマットエラーの有無をチェックし、フォーマットエラーがない場合にのみ入力を確定して、確定した要素を入力領域に表示することにより、不正入力を防止することができるので、ニーモニック形式のプログラムの作成に好適に利用できる。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態に係るエディタコンピュータを含むシステムの構成を示すブロック図である。
【図２】上記エディタコンピュータにおけるＩＬエディタが表示するＩＬプログラムを作成するためのＩＬ画面を示す図である。
【図３】上記ＩＬ画面上に表示される入力エラー報知のためのダイアログボックスを示す図である。
【図４】（ａ）はＩＬ画面に表示されるＩＬプログラムを示す図であり、（ｂ）はラダー画面に表示される当該ＩＬプログラムに対応するラダープログラムを示す図である。
【図５】上記エディタコンピュータにおけるラダーエディタが表示するラダープログラムを作成するためのラダー画面を示す図である。
【図６】（ａ）はＩＬ画面に表示されるＩＬプログラムにおいて命令が追加された状態を示す図であり、（ｂ）はラダー画面に表示される当該ＩＬプログラムに対応するラダープログラムにおいて上記命令が追加された状態を示す図である。
【符号の説明】
【００７２】
１    エディタコンピュータ（エディタ装置）
２    インストラクションリストエディタ（第１エディタ手段）
３    ラダーエディタ（第２エディタ手段）
５    データ記憶部（データ記憶手段）
２１    入力支援部（画面表示手段）
２１ａ  ヘルプ情報表示部（案内表示手段）
２２    エラーチェック部
２２ａ  フォーマットエラーチェック部（適否判定手段）
２３    データ管理部（データ書込手段）
２４    切替制御部
３１    入力支援部
３２    エラーチェック部
３３    データ管理部
３４    切替制御部
１０１    ＩＬ画面（入力表示画面）
１０１ａ  行番号表示領域（対応関係表示領域）
１１０    セル（入力表示領域）
【図１】
2009134366.tif 000003
【図２】
2009134366.tif 000004
【図３】
2009134366.tif 000005
【図４】
2009134366.tif 000006
【図５】
2009134366.tif 000007
【図６】
2009134366.tif 000008