JP2009009314A - エディタ装置、エディタプログラムおよびそれを記録した記録媒体 - Google Patents

エディタ装置、エディタプログラムおよびそれを記録した記録媒体 Download PDF

Info

Publication number
JP2009009314A
JP2009009314A JP2007169399A JP2007169399A JP2009009314A JP 2009009314 A JP2009009314 A JP 2009009314A JP 2007169399 A JP2007169399 A JP 2007169399A JP 2007169399 A JP2007169399 A JP 2007169399A JP 2009009314 A JP2009009314 A JP 2009009314A
Authority
JP
Japan
Prior art keywords
instruction
program
jump
editor
subroutine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007169399A
Other languages
English (en)
Other versions
JP4964036B2 (ja
Inventor
Shohei Nishida
昌平 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schneider Electric Japan Holdings Ltd
Original Assignee
Digital Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Electronics Corp filed Critical Digital Electronics Corp
Priority to JP2007169399A priority Critical patent/JP4964036B2/ja
Publication of JP2009009314A publication Critical patent/JP2009009314A/ja
Application granted granted Critical
Publication of JP4964036B2 publication Critical patent/JP4964036B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】指定したジャンプ先にジャンプさせる命令を含むプログラムにおけるジャンプ先およびジャンプ元(当該命令)の部分をジャンプ先から自動的に探し出す。
【解決手段】ラベル表示部131aおよびサブルーチン表示部131bは、ユーザによって、ラダープログラムにおいて表示されているジャンプ元(ジャンプ命令やサブルーチンジャンプ命令)上でマウスの右クリック操作が行われると、当該ジャンプ元が指定するジャンプ先(ラベル名やサブルーチンプログラム)をサーチして、当該ジャンプ先を表示する。また、命令サーチ部131cは、ユーザによって、ラダープログラムにおいて表示されているジャンプ先上でマウスの右クリック操作が行われると、当該ジャンプ先を指定するジャンプ元をサーチして一覧表示する。さらに、命令サーチ部131cは、ユーザによって、一覧表示されたジャンプ元から1つが選択されると、当該ジャンプ元を表示する。
【選択図】図1

Description

本発明は、指定されたジャンプ先に移行する命令を含むプログラムを作成するエディタ装置、エディタプログラムおよびそれを記録した記録媒体に関するものである。
プログラマブルロジックコントローラ(以降、PLCと称する)などと呼ばれる制御装置は、シーケンス制御をはじめとする各種制御を制御システムにおいて実現するために、ユーザが作成したプログラム(ロジックプログラム)を実行する。PLCは、CPUおよびメモリを中心とするハードウェアの部分と、このハードウェアの部分にプログラムを実行させるシステムプログラムなどのソフトウェアの部分を備えている。
ユーザが作成するプログラムは、PLCに所望の制御動作をさせる基本となる制御フローにしたがって、各種の命令語を組み合わせることによって構築される。このようなプログラムの作成においては、コンピュータの専門知識を持たなくてもロジックプログラムを簡単に作成できるように、ラダープログラム(シーケンスプログラム)のようなグラフィカルな独自のプログラミング言語が用いられており、他にも利用者に使いやすい各種のプログラミング言語が次々と開発されるようになった。例えば、ラダー図(LD)は、命令記号のようなオブジェクトを用いて比較的容易にラダー回路を設計することができるので広く普及しており、現在、最もよく用いられているプログラミング言語である。
このようなプログラミング言語によるプログラム作成において用いられるプログラミングツールとしては、ラダーエディタなどのプログラミングソフトウェアが普及してきている。このソフトウェアは、汎用コンピュータなどのコンピュータ装置において、ラダー図のような記号化された命令を含む形態でプログラムを容易に作成および編集することができる(例えば特許文献1)。
特開2000−259216号公報(2000年9月22日公開)
ロジックプログラムは、ジャンプ命令やサブルーチンジャンプ命令を含んでおり、この命令が実行されると、指定されたジャンプ先へ移行する。近年のエディタには、ロジックプログラムの作成やデバッグにおいて、ジャンプ命令やサブルーチンジャンプ命令で指定されたジャンプ先を確認する場合、ロジックプログラム中で使用される全てのジャンプ先の一覧を表示させ、その中から所望のジャンプ先を選択すると、当該ジャンプ先を検索して表示させる機能を持ったものもある。
このようなエディタでは、まず、ジャンプ先の一覧を表示させてから、所望のジャンプ先を選択するという操作が必要となる。確認する必要があるジャンプ先が多くなるほど操作数が増加するため、操作性が著しく低下する。
また、上記のようなエディタでは、ロジックプログラムのジャンプ先の部分を表示させることができるものの、ジャンプ先を指定したジャンプ元の部分を自動的に探し出すことができない。このため、ジャンプ元の部分を探し出すには、ユーザが、予めジャンプ元のリストを用意したり、記憶に頼ったりすることで、ジャンプ元を探し出すといった手間のかかる作業を行う必要がある。それゆえ、ロジックプログラムのデバッグ作業を効率的に行うことができなかった。これは、同一のジャンプ先を指定している命令が複数あれば、ジャンプ元が複数あることになり、より上記の作業に手間がかかる。
また、ロジックプログラム以外の一般のプログラム(例えばC++言語によるプログラム)でも、同様な命令を含んでいるため、やはり上記のような問題が生じている。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、指定したジャンプ先にジャンプさせる命令を含むプログラムにおけるジャンプ先の部分およびジャンプ元の部分を容易に探し出すことにある。
本発明に係るエディタ装置は、指定したジャンプ先にジャンプさせる命令を含むプログラムを作成するエディタ装置において、上記課題を解決するために、前記命令を指示する操作が行われると、当該命令が有するジャンプ先を指定する指定情報に基づいて、当該命令で指定されたジャンプ先を検索するジャンプ先検索手段を備えていることを特徴としている。
上記の構成では、ユーザによって前記命令を指示する操作(例えばマウスのクリック操作)が行われると、ジャンプ先検索手段によって、プログラムにおいて、指示された命令が有する指定情報に基づいて、ジャンプ先が検索される。例えば、指定されたラベルにジャンプさせるジャンプ命令の場合、あるジャンプ命令が指示されると、ラベルを指定する指定情報に基づいて、当該ラベルが検索される。また、指定されたサブルーチンプログラムにジャンプさせるサブルーチンジャンプ命令の場合、あるサブルーチンプログラムが指示されると、サブルーチンプログラムを指定する指定情報に基づいて、サブルーチンジャンプ命令が検索される。
これにより、プログラムにおいて命令を指示するだけで、ジャンプ先を容易に探し出すことができる。
本発明に係る他のエディタ装置は、指定したジャンプ先にジャンプさせる命令を含むプログラムを作成するエディタ装置において、上記課題を解決するために、前記ジャンプ先を指示する操作が行われると、前記命令の各々が有する、前記命令を特定するための命令特定情報およびジャンプ先を指定するための指定情報に基づいて、指示されたジャンプ先を指定するジャンプ元の前記命令を検索する命令検索手段を備えていることを特徴としている。
上記の構成では、ユーザによってジャンプ先を指示する操作(例えばマウスのクリック操作)が行われると、命令検索手段によって、プログラムにおいて、各命令が有する命令特定情報および指定情報に基づいて、当該ジャンプ先を指定するジャンプ元の命令が検索される。例えば、指定されたラベルにジャンプさせるジャンプ命令の場合、あるラベルが指示されると、ジャンプ命令であることを特定する命令特定情報およびラベルを指定する指定情報に基づいて、指示されたラベルを指定するジャンプ命令が検索される。また、指定されたサブルーチンプログラムにジャンプさせるサブルーチンジャンプ命令の場合、あるサブルーチンプログラムが指示されると、サブルーチンジャンプ命令であることを特定する命令特定情報およびサブルーチンプログラムを指定する指定情報に基づいて、指示されたサブルーチンプログラムを指定するサブルーチンジャンプ命令が検索される。
これにより、ジャンプ先から所望のジャンプ元を容易に探し出すことができる。
前記エディタ装置において、命令検索手段は、探し出した前記命令の一覧を表示することが好ましい。これにより、ジャンプ元を容易に確認することができる。
さらに、前記エディタ装置において、前記命令検索手段は、一覧表示した前記命令から1つが選択されると、当該命令を表示することが好ましい。これにより、ジャンプ先から所望のジャンプ元へプログラムの表示を切り替えることができる。
前記エディタ装置において、前記プログラムは、プログラマブルロジックコントローラの制御手順を規定する制御手順プログラムであることが好ましい。これにより、多数行で構成されることの多い制御手順プログラムにおいて、容易にジャンプ元の命令を探し出すといったことが可能となる。
本発明のエディタプログラムは、前述のいずれかのエディタ装置の前記命令検索手段としてコンピュータを機能させるプログラムである。また、このエディタプログラムは、コンピュータ読み取り可能な記録媒体に記録される。このように、エディタプログラムをコンピュータに読み取らせて実行させることにより、前記エディタ装置を実現することができる。
本発明に係るエディタ装置は、以上のように、指定したジャンプ先にジャンプさせる命令を指示する操作が行われると、当該命令が有するジャンプ先を指定する指定情報に基づいて、当該命令で指定されたジャンプ先を検索するジャンプ先検索手段を備えているので、ジャンプ先を容易に探し出すことができる。
また、本発明に係る他のエディタ装置は、以上のように、指定したジャンプ先にジャンプさせる命令の各々が有する、命令を特定するための命令特定情報およびジャンプ先を指定するための指定情報に基づいて、選択されたジャンプ先を指定するジャンプ元の前記命令を検索する命令検索手段を備えているので、ジャンプ先から所望のジャンプ元を容易に探し出すことができる。
したがって、プログラムの作成・編集作業やデバッグ作業をより効率的に行うことができるという効果を奏する。
本発明の一実施形態について図1ないし図5に基づいて説明すると、以下の通りである。
本実施の形態に係るエディタ装置は、図1に示すように、エディタコンピュータ1によって構成されている。エディタコンピュータ1は、CPU、メモリ(RAM、ROMなど)、外部記憶装置(ハードディスクドライブ、MOドライブなど)、表示装置および入力装置(キーボード、マウスなど)を有している。また、エディタコンピュータ1は、図1に示すように、制御部11、インターフェース部(図中、I/F)12、エディタ部13およびデータ記憶部14を備えている。
インターフェース部12は、プログラマブル表示器2との間の通信を行うための通信制御部であり、転送ケーブル3に接続されている。転送ケーブル3としては、例えばUSBケーブルなどが用いられる。
プログラマブル表示器2は、CPUなどの演算処理装置を備えており、ユーザが作成した入力操作および表示用の画面データを表示することによりプログラマブル表示器特有の操作機能および表示機能を実現する専用コンピュータである。
このプログラマブル表示器2は、シリアルケーブル6を介したPLC4との通信により、PLC4を介して表示画面に表示される各デバイス5の状態を取得して、例えば、後述のディスプレイ23に各デバイス5の状態を表示する機能を有している。また、プログラマブル表示器2は、後述のタッチパネル24への操作に応じて、デバイス5の状態制御をPLC4に指示する機能を有している。また、プログラマブル表示器2は、後述するように、PLCとしての制御機能を備えている。
HMI機器として好適に使用されるプログラマブル表示器2は、HMI処理部21を制御の中心として備えている。このHMI処理部21は、HMI処理のプログラムを実行することによって実現される機能ブロックである。また、プログラマブル表示器2は、上記のPLCとしての制御機能を実現するために、コントローラ部22を備えている。このコントローラ部22は、コントローラ処理のプログラムを実行することによって実現される機能ブロックである。
上記のHMI処理部21は、所定の時間間隔毎や所定のイベント毎にPLC4と通信することによって、PLC4のメモリから、デバイス5の状態を状態データとして取得して、プログラマブル表示器2内に用意された一時的なメモリ空間、例えば作業メモリ25の特定の領域(状態メモリ領域)に書き込む。また、HMI処理部21は、PLC4のメモリにおける状態データを更新するように、状態メモリ領域におけるデバイス5の状態データを書き替えて、PLC4に送信する。また、HMI処理部21は、後述する部品などのオブジェクトを組み合わせて作成された画面データに基づいて、デバイス5の状態データをPLC4から取得してプログラマブル表示器2に描画表示するときの動作や、画面上のタッチパネル24への操作に応じてデバイス5の状態の変更を指示するときの動作を処理規定情報によって特定する。
画面データは、エディタコンピュータ1や他の画面エディタ機能を有するコンピュータによって作成されてHMI処理部21で処理可能な形式として画面ファイルに変換された状態で、エディタコンピュータ1から転送ケーブル3を介して転送され、データメモリ26に格納される。プログラマブル表示器2における画面ファイルの受信は、インターフェース部(図中I/F)27によって行われる。
また、HMI処理部21は、インターフェース部(図中I/F)28によるシリアルケーブル6を介したPLC4との通信により、PLC4のメモリに格納された各デバイス5の状態を取得し、ディスプレイ23に表示される画面上に各デバイス5の状態を描画表示する機能を有する。
コントローラ部22は、データメモリ22からラダーファイルを読み出して作業メモリ23にラダープログラムとして展開し、当該ラダープログラムを数十msなどの予め定められた周期でスキャンして、ラダー命令を一つずつ実行していく。コントローラ部22は、I/O部29を介したデバイス5との通信によって、デバイス5の状態を変更したり、デバイス5の状態を読み取ったりする。
ラダープログラム(ロジックプログラム)は、ユーザがPLC4やコントローラ部22に実現させたい制御フロー(制御手順)をユーザによって組み上げられたラダーロジックで規定している。このラダープログラムは、エディタコンピュータ1によって作成されてコントローラ部22で処理可能な形式としてラダーファイルに変換された状態で、エディタコンピュータ1から転送ケーブル3を介して転送され、データメモリ26に格納される。
I/O部29は、I/O制御インターフェース部およびI/Oユニットからなる。I/Oユニットは、デバイス5が接続可能となるように、多数の入出力端子、入出力回路などを備えている。このI/Oユニットは、接続される通信システムに応じて異なる機種が、プログラマブル表示器2の本体に着脱可能に取り付けられる。I/O制御インターフェース部は、コントローラ部22とI/Oユニットとの間の信号の授受を仲介するインターフェース回路であって、入出力メモリ、D/A変換器、A/D変換器などを備えている。
ラダープログラムは、エディタ部13で作成されて、コントローラ部22で処理可能な形式としてラダーファイルに変換された上で、エディタコンピュータ1から転送ケーブル3を介して転送されて、データメモリ26に格納される。プログラマブル表示器2における画面ファイルの受信は、画面ファイルと同様、インターフェース部27によって行われる。
ここで、PLC4について説明する。
PLC4は、ユーザが作成したロジックプログラム(ラダープログラムなど)にしたがって、例えば、数十msなどの予め定められたスキャンタイム毎に、入力ユニットを介して入力用のデバイス5の状態を取り込むとともに、出力用のデバイス5に状態を変更するように制御指示を与える。
入力用のデバイス5としては、センサ(温度センサ、光センサなど)、スイッチ(押ボタンスイッチ、リミットスイッチ、圧力スイッチなど)のような機器が用いられる。出力用のデバイス5としては、アクチュエータ、リレー、電磁弁、表示器などが用いられる。これらのデバイス5は、製造ラインなどの所要各部に配置される。また、プログラマブル表示器2に表示されるユーザ画面に設けられるスイッチ部品や表示器部品もデバイス5として扱われる。
なお、デバイス5は、プログラマブル表示器2における特定のメモリ領域であってもよいし、PLC4内のメモリにおける特定のメモリ領域であってもよい。これらのメモリ領域は内部デバイスとして設定される。
PLC4内のメモリは、デバイス5の状態(デバイス5からの出力値やデバイス5への設定値)を示すデータ(ワードデータやビットデータ)を、デバイスアドレスで特定される領域に格納している。上記メモリにおいて、ワードデバイスとビットデバイスとが設定される。ワードデバイスは、入出力されるデータが数値のようなワードデータを格納する領域として設定され、ワードアドレス(デバイスアドレス)で指定される。また、ビットデバイスは、オン・オフ状態のようなビットデータを格納する領域として設定され、ビットアドレス(デバイスアドレス)で設定される。このような設定により、メモリ内の任意のワードデバイスまたはビットデバイスをデバイスアドレスとして指定してアクセスするだけでデバイス5を制御し、またはその状態に関する情報を個別に取り出すことができる。
PLC4のメーカ毎に固有の名称で呼ばれるデバイスアドレスには、変数が対応付けられている。変数は、ユーザによって任意に設定可能な名称であり、後述するコメントを変数として扱うことができる。
ここで、再びエディタコンピュータ1の説明に戻る。
制御部11は、ハードウエア(CPUやメモリなど)およびソフトウエア(オペレーティングシステムなど)によって実現される機能ブロックであり、アプリケーションプログラムの実行や周辺機器の動作を制御する部分である。制御部11は、その機能を果たすために作業メモリ11aを有している。作業メモリ11aは、RAMなどによって構成され、エディタ部13がラダープログラムを展開するためなどに用いられる。
また、制御部11は、アプリケーションプログラムであるラダープログラミングソフトウェアを実行することにより、ラダーエディタをエディタ部13に実現する。エディタ部13は、エディタコンピュータ1と分離可能に構成される記録媒体に記録され、この記憶媒体からエディタコンピュータ1にインストールすることが可能である。また、エディタコンピュータ1は、エディタ部13を備えることによりエディタ装置として機能する。
上記の記録媒体(プログラムメディア)は、コンピュータに読み取り可能な記録媒体であり、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスク系、CD−ROM、MO、MD、DVDなどの光ディスク系、ICカード(メモリカードを含む)、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクROM、EPROM、EEPROM、フラッシュROMなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
また、エディタコンピュータ1が、インターネットを含む通信ネットワークと接続可能な環境に置かれていれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めエディタコンピュータ1に格納されるか、あるいは別な記録媒体からインストールされるものであことが好ましい。
エディタ部13は、作成したラダープログラムを前述のラダーファイルに変換した上で、データ記憶部14に保存する。また、エディタ部13は、ラダーファイルをデータ記憶部14から読み出して、転送ケーブル3を介してプログラマブル表示器2に転送する。あるいは、エディタ部13は、ラダーファイルをデータ記憶部14から読み出して、図示しない転送ケーブルを用いてPLC4にロードする。
エディタ部13は、ラダープログラムの作成のために各種の命令を用意している。このような命令としては、a接点(Normal Open)、b接点(Normal Close)、コイル出力、コイル反転出力、ジャンプ、サブルーチンジャンプ(サブルーチン処理開始)などの基本命令を始めとして、演算命令、比較命令、タイマ命令、カウンタ命令などが上げられる。
上記の命令のうち、ジャンプ命令は、指定したラベルが配置されている位置までジャンプして、当該ラベル以降のラダープログラムを実行させるための命令である。ラベルは、ジャンプ命令で指定されるジャンプ先を特定するために設けられている。ここでは、LABEL−001,LABEL−002,LABEL−003,…をラベル名と称する。
また、サブルーチンジャンプ命令は、メインプログラムから、指定したサブルーチンプログラムへラダープログラムの実行を移行させるための命令である。サブルーチンプログラムの実行後は、サブルーチンジャンプ命令の次の行からメインプログラムが実行される。
各命令は、データ構造上、先頭に情報エリアを有しており、それ以外にコマンド部、変数部などを含んでいる。情報エリアは、当該命令を特定する情報(命令特定情報)を含んでいる。上記のラベルも命令として扱われ、ラベルの情報エリアがラベル特定情報(上記のラベル名)を含んでいる。コマンド部は、命令およびオペランドの内容を含んでいる。このオペランドには、ラベル名やサブルーチンプログラムを指定するためのサブルーチン名を設定することが可能である。変数部は、前述の変数およびデバイスアドレスを含んでいる。
エディタ部13は、ユーザがラダープログラムの作成・編集作業を行うために、図2に示すように、メインウインドウ101をエディタコンピュータ1の表示面(ディスプレイ)に表示する。メインウインドウ101は、ラダープログラムを表示するための作業エリア102を有している。作業エリア102は、エディタ部13によるラダープログラムの作成(編集)に用いられる領域である。
また、エディタ部13は、ジャンプ処理部131を含んでいる。このジャンプ処理部131は、ユーザの指示を受けて、作業エリア102におけるラダープログラムの表示を、ジャンプ元命令(前述のジャンプ命令やサブルーチンジャンプ命令)で指定されたジャンプ先を含む部分へ切り替える。ジャンプ命令に対するジャンプ先はラベルであり、サブルーチンジャンプ命令に対するジャンプ先はサブルーチンプログラムである。また、ジャンプ処理部131は、ユーザの指示を受けて、作業エリア102におけるラダープログラムの表示を、ジャンプ先を含む部分から、当該ジャンプ先を指定するジャンプ元の命令(ジャンプ命令やサブルーチンジャンプ命令)をリストアップして、そこから選択された命令を含む部分へ切り替える。
ジャンプ処理部131は、上記の機能を実現するために、ラベル表示部131a、サブルーチン表示部131bおよび命令サーチ部131cを有している。
ラベル表示部131aは、ユーザの指示を受けて、ラダープログラムにおいて、ジャンプ命令で指定されたラベルを含む部分を表示する。具体的には、ラベル表示部131aは、ユーザによってジャンプ命令が指示されると、当該ジャンプ命令のオペランドに設定されたラベル名に基づいて、各ラベルが有する前述の情報エリアに格納されているラベル特定情報を参照しながら、当該ジャンプ命令によって指定されたラベルをサーチする。また、ラベル表示部131aは、指定されたラベルを見出すと、ラダープログラムの当該ラベルを含む部分を作業エリア102に表示する。
サブルーチン表示部131bは、ユーザの指示を受けて、ラダープログラムにおいて、サブルーチンジャンプ命令で指定されたサブルーチンプログラムを含む部分を表示する。具体的には、サブルーチン表示部131bは、ユーザによってサブルーチンジャンプ命令が指示されると、当該サブルーチンジャンプ命令のオペランドに設定されているサブルーチン名に基づいて、登録されているサブルーチン名を参照しながら、当該サブルーチンジャンプ命令によって指定されたサブルーチンプログラムをサーチする。また、サブルーチン表示部131bは、指定されたサブルーチンプログラムを見出すと、当該サブルーチンプログラムを作業エリア102に表示する。
命令サーチ部131cは、ユーザの指示を受けて、ラダープログラムにおいて、ラベルの指定元(ジャンプ元)となるジャンプ命令をサーチ(検索)して、該当する1つ以上のジャンプ命令をリスト表示(一覧表示)し、そこから選択されたジャンプ命令を含む部分を表示する。具体的には、命令サーチ部131cは、ユーザによってラベルが指示されると、各命令が有する前述の情報エリアに格納されている命令特定情報およびオペランドに設定されているラベル名(指定情報)に基づいて、当該ラベルを指定するジャンプ命令をサーチする。そして、命令サーチ部131cは、該当するジャンプ命令を見出すと、ユーザに選択可能な形態でリスト表示する。さらに、命令サーチ部131cは、ユーザによってリストから選択されたジャンプ命令を、各命令が有する上記の命令特定情報およびラベル名を参照しながらサーチ(検索)して見出すと、当該ジャンプ命令を含む部分を作業エリア102に表示する。
また、命令サーチ部131cは、ユーザの指示を受けて、ラダープログラムにおいて、サブルーチンプログラムの指定元(ジャンプ元)となるサブルーチンジャンプ命令をサーチ(検索)して、該当する1つ以上のサブルーチンジャンプ命令をリスト表示(一覧表示)し、そこから選択されたサブルーチンジャンプ命令を含む部分を表示する。具体的には、命令サーチ部131cは、ユーザによってサブルーチンプログラムの開始部分(サブルーチン開始ラベル)が指示されると、各命令が有する前述の情報エリアに格納されている命令特定情報およびオペランドに設定されているサブルーチン名(指定情報)に基づいて、当該サブルーチンプログラムを指定するサブルーチンジャンプ命令をサーチする。そして、命令サーチ部131cは、該当するサブルーチンジャンプ命令を見出すと、ユーザに選択可能な形態でリスト表示する。さらに、命令サーチ部131cは、ユーザによってリストから選択されたサブルーチンジャンプ命令を、各命令が有する上記の命令特定情報およびサブルーチン名を参照しながらサーチ(検索)して見出すと、当該サブルーチンジャンプ命令を含む部分を作業エリア102に表示する。
ここで、上記のように構成されるエディタコンピュータ1のジャンプ処理部131によるジャンプ処理について説明する。以下には、作業エリア102に図2に示すようなラダープログラムが表示されている場合について説明する。
このラダープログラムには、メインプログラムの5行目に、“LABEL−001”というラベル名を付したジャンプ命令が記述されている。ここで、ユーザが当該ジャンプ命令の記述箇所にマウスカーソルを置いた状態で右クリック操作をすると、ラベル表示部131aによって、図3(a)に示すように、ポップアップメニュー201が表示される。また、ラベル表示部131aは、上記の右クリック操作を受けて、当該ジャンプ命令のオペランドに設定されたラベル名“LABEL−001”を、ラダープログラムの第1行から各ラベルの情報エリアにおけるラベル特定情報を参照しながらサーチする。そして、ラベル表示部131aは、当該ラベルを見出すと、ラダープログラムの当該ラベルを含む部分を一旦作業メモリ11aに保存しておく。そして、ユーザがそのポップアップメニューから「対応箇所へ」という項目をクリック操作で選択すると、ラベル表示部131aは、図3(b)に示すように、作業メモリ11aに保存しておいたラダープログラムの当該ラベルを含む部分を読み出して作業エリア102に表示する。
また、上記のラダープログラムには、メインプログラムの3行目に、“SUB−001”というサブルーチン名を付したサブルーチンジャンプ命令が記述されている。ここで、ユーザが当該サブルーチンジャンプ命令の記述箇所にマウスカーソルを置いた状態で右クリック操作をすると、サブルーチン表示部131bによって、図4(a)に示すように、ポップアップメニュー201が表示される。また、サブルーチン表示部131bは、上記の右クリック操作を受けて、当該サブルーチンジャンプ命令のオペランドに設定されたサブルーチン名“SUB−001”のサブルーチンプログラムを、作業メモリ11aに展開されている各サブルーチンプログラムのサブルーチン名を参照しながらサーチする。そして、ラベル表示部131aは、当該サブルーチンプログラムを見出すと、当該サブルーチン名を一旦作業メモリ11aに保存しておく。そして、ユーザがそのポップアップメニューから「対応箇所へ」という項目をクリック操作で選択すると、サブルーチン表示部131bは、図4(b)に示すように、作業メモリ11aに保存しておいたサブルーチン名のサブルーチンプログラムを読み出して作業エリア102に表示する。
続いて、ラベルから当該ラベルを指定するジャンプ命令を探す動作について説明する。
まず、ユーザが、図3(b)に示すように表示されたラベル(LABEL−001)について右クリック操作をすると、命令サーチ部131cによって、図5(a)に示すように、ポップアップメニュー201が表示される。また、命令サーチ部131cは、上記の右クリック操作を受けて、各命令の情報エリアにおける命令特定情報およびオペランドにおけるラベル名に基づいて、当該ラベルを指定するジャンプ命令をサーチする。命令サーチ部131cは、サーチの結果で見出した該当するジャンプ命令の場所を一旦作業メモリ11aに保存しておく。
そして、ユーザがそのポップアップメニュー201から「対応箇所へ」という項目をクリック操作で選択すると、命令サーチ部131cは、作業メモリ11aに保存しておいた該当する全てのジャンプ命令をポップアップメニュー202にリスト表示する。さらに、ユーザがそのポップアップメニューから1つ(例えばメインプログラムの5行目のジャンプ命令(JMP))を選択すると、命令サーチ部131cは、作業メモリ11aに保存した前記ジャンプ命令の場所の情報を元に、図2に示すように、当該ジャンプ命令を含む部分を作業エリア102に表示する。
さらに、サブルーチン開始ラベルから当該ラベルを指定するジャンプ命令を探す動作について説明する。
まず、ユーザが、図4(b)に示すように表示されたサブルーチン開始ラベル(SUB−001)について右クリック操作をすると、命令サーチ部131cによって、図5(b)に示すように、ポップアップメニュー201が表示される。また、命令サーチ部131cは、上記の右クリック操作を受けて、各命令の情報エリアにおける命令特定情報およびオペランドにおけるサブルーチン名に基づいて、当該サブルーチン名を指定するサブルーチンジャンプ命令をサーチする。命令サーチ部131cは、サーチの結果で見出した該当するサブルーチンジャンプ命令を一旦作業メモリ11aに保存しておく。
そして、ユーザがそのポップアップメニュー201から「対応箇所へ」という項目をクリック操作で選択すると、命令サーチ部131cは、作業メモリ11aに保存しておいた該当する全てのサブルーチンジャンプ命令をポップアップメニュー202にリスト表示する。さらに、ユーザがそのポップアップメニューから1つ(例えばメインプログラムの3行目のサブルーチンジャンプ命令(JSR))を選択すると、命令サーチ部131cは、当該サブルーチンジャンプ命令を、各命令の命令特定情報およびサブルーチン名を参照しながらサーチし、図2に示すように、当該サブルーチンジャンプ命令を含む部分を作業エリア102に表示する。
このように、エディタコンピュータ1(エディタ部13)は、ラダープログラムにおけるジャンプ先(ラベルやサブルーチンプログラム)から、当該ジャンプ先を指定するジャンプ元(ジャンプ命令やサブルーチンジャンプ命令)をサーチして表示する。これにより、ジャンプ先から所望のジャンプ元へラダープログラムの表示を切り替えることができる。それゆえ、ジャンプ先とジャンプ元との間の移動を容易にすることができる。また、ジャンプ元のジャンプ命令やサブルーチンジャンプ命令を探し出すときには、各命令における先頭部分の情報エリアに含まれる命令特定情報を参照しながら検索を行うので、各命令の全ての情報を参照する必要がなく、検索速度を高めることができる。
したがって、ラダープログラムの作成・編集作業やデバッグ作業をより効率的に行うことができる。
なお、本実施の形態では、ラダープログラムについてジャンプ処理を行う例について説明したが、本発明が対象とするプログラムはラダープログラムに限定されない。例えば、特定可能なジャンプ命令やサブルーチンジャンプ命令を含んでいるプログラムであれば、広く一般に普及しているC++言語によって作成されたプログラムにも上記の実施の形態の手法を適用することが可能である。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明のエディタ装置は、プログラムのジャンプ先から、当該ジャンプ先を指定するジャンプ元をサーチして表示するので、プログラミング一般に好適に利用できる。
本発明の実施形態に係るエディタコンピュータを含むシステムの構成を示すブロック図である。 上記エディタコンピュータにおけるエディタ部が表示するメインウインドウを示す図である。 (a)は上記エディタ部のラベル表示部によってジャンプ命令からラベルへ表示を切り替えるときのユーザによる操作を示す図であり、(b)は当該操作の結果で表示されたラベルの部分を示す図である。 (a)は上記エディタ部のサブルーチン表示部によってサブルーチンジャンプ命令からサブルーチンプログラムへ表示を切り替えるときのユーザによる操作を示す図であり、(b)は当該操作の結果で表示されたサブルーチンプログラムを示す図である。 (a)は上記エディタ部の命令サーチ部によってラベルからジャンプ命令へ表示を切り替えるときのユーザによる操作を示す図であり、(b)は上記命令サーチ部によってサブルーチンプログラムからサブルーチンジャンプ命令へ表示を切り替えるときのユーザによる操作を示す図である。
符号の説明
1 エディタコンピュータ(エディタ装置)
13 エディタ部
131 ジャンプ処理部
131a ラベル表示部(ジャンプ先検索手段)
131b サブルーチン表示部(ジャンプ先検索手段)
131c 命令サーチ部(命令検索手段)

Claims (8)

  1. 指定したジャンプ先にジャンプさせる命令を含むプログラムを作成するエディタ装置において、
    前記命令を指示する操作が行われると、当該命令が有するジャンプ先を指定する指定情報に基づいて、当該命令で指定されたジャンプ先を検索するジャンプ先検索手段を備えていることを特徴とするエディタ装置。
  2. 指定したジャンプ先にジャンプさせる命令を含むプログラムを作成するエディタ装置において、
    前記ジャンプ先を指示する操作が行われると、前記命令の各々が有する、前記命令を特定するための命令特定情報およびジャンプ先を指定するための指定情報に基づいて、指示されたジャンプ先を指定するジャンプ元の前記命令を検索する命令検索手段を備えていることを特徴とするエディタ装置。
  3. 前記命令検索手段は、探し出した前記命令の一覧を表示することを特徴とする請求項2に記載のエディタ装置。
  4. 前記命令検索手段は、一覧表示した前記命令から1つが選択されると、当該命令を表示することを特徴とする請求項3に記載のエディタ装置。
  5. 前記プログラムは、プログラマブルロジックコントローラの制御手順を規定する制御手順プログラムであることを特徴とする請求項1ないし4のいずれか1項に記載のエディタ装置。
  6. 請求項1に記載のエディタ装置の前記ジャンプ先検索手段としてコンピュータを機能させるためのエディタプログラム。
  7. 請求項2ないし4の何れか1項に記載のエディタ装置の前記命令検索手段としてコンピュータを機能させるためのエディタプログラム。
  8. 請求項6または7に記載のエディタプログラムが記録されたコンピュータ読み取り可能な記録媒体。
JP2007169399A 2007-06-27 2007-06-27 エディタ装置およびエディタプログラム Active JP4964036B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007169399A JP4964036B2 (ja) 2007-06-27 2007-06-27 エディタ装置およびエディタプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007169399A JP4964036B2 (ja) 2007-06-27 2007-06-27 エディタ装置およびエディタプログラム

Publications (2)

Publication Number Publication Date
JP2009009314A true JP2009009314A (ja) 2009-01-15
JP4964036B2 JP4964036B2 (ja) 2012-06-27

Family

ID=40324344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007169399A Active JP4964036B2 (ja) 2007-06-27 2007-06-27 エディタ装置およびエディタプログラム

Country Status (1)

Country Link
JP (1) JP4964036B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170662A (ja) * 2015-03-13 2016-09-23 ファナック株式会社 ラダープログラムの分岐回路抽出表示機能を有するモニタ装置
KR20190096499A (ko) * 2018-02-09 2019-08-20 엘에스산전 주식회사 프로그램 제공 장치 및 그에 의한 프로그램의 실행을 처리하는 cpu모듈

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01114905A (ja) * 1987-10-28 1989-05-08 Fanuc Ltd Pcのジャンプ制御方式
JPH10240533A (ja) * 1997-02-28 1998-09-11 Nec Corp オブジェクト指向プログラミング言語プログラムテキスト編集用タグジャンプ方法及び編集装置
JPH10293603A (ja) * 1997-04-18 1998-11-04 Omron Corp プログラム作成支援装置
JP2007094829A (ja) * 2005-09-29 2007-04-12 Canon Inc プログラム作成、理解支援装置およびその方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01114905A (ja) * 1987-10-28 1989-05-08 Fanuc Ltd Pcのジャンプ制御方式
JPH10240533A (ja) * 1997-02-28 1998-09-11 Nec Corp オブジェクト指向プログラミング言語プログラムテキスト編集用タグジャンプ方法及び編集装置
JPH10293603A (ja) * 1997-04-18 1998-11-04 Omron Corp プログラム作成支援装置
JP2007094829A (ja) * 2005-09-29 2007-04-12 Canon Inc プログラム作成、理解支援装置およびその方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170662A (ja) * 2015-03-13 2016-09-23 ファナック株式会社 ラダープログラムの分岐回路抽出表示機能を有するモニタ装置
US9766994B2 (en) 2015-03-13 2017-09-19 Fanuc Corporation Monitoring device with function of extracting and displaying branch circuit in ladder program
KR20190096499A (ko) * 2018-02-09 2019-08-20 엘에스산전 주식회사 프로그램 제공 장치 및 그에 의한 프로그램의 실행을 처리하는 cpu모듈
KR102095224B1 (ko) * 2018-02-09 2020-03-31 엘에스산전 주식회사 프로그램 제공 장치 및 그에 의한 프로그램의 실행을 처리하는 cpu모듈

Also Published As

Publication number Publication date
JP4964036B2 (ja) 2012-06-27

Similar Documents

Publication Publication Date Title
TWI464558B (zh) 程式作成支援裝置
JP5599535B2 (ja) シーケンスプログラムデバッグ支援装置
JP2008293138A (ja) ソフトウェア開発支援プログラム、ソフトウェア開発支援方法
US9052706B2 (en) Device information display apparatus, storage device storing device information display program, and device information display method
US20150227348A1 (en) Development support device and development support program
JP4964036B2 (ja) エディタ装置およびエディタプログラム
JP2007086921A (ja) 機械装置制御プログラム実行システム
JP5865192B2 (ja) 教示データ編集システムおよびプログラム
JP6337810B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5086296B2 (ja) プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
JP4266334B2 (ja) ラダープログラムマクロ作成装置、ラダープログラムマクロ作成方法、ラダープログラムマクロ作成プログラムおよびコンピュータで読み取り可能な記録媒体
JP4322780B2 (ja) 画面作成装置、画面作成プログラムおよび記録媒体
JP4851390B2 (ja) エディタ装置およびエディタプログラム
JP4372739B2 (ja) プログラマブル表示器、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画面作成装置、画面作成プログラムおよびそのプログラムを記録した記録媒体
JP3795357B2 (ja) エディタ装置、エディタプログラムおよびそれを記録した記録媒体
JP4387288B2 (ja) 制御用表示装置、エディタ装置、プログラムおよび記録媒体
JPH06309133A (ja) オペレーティングシステムの制御方法
US20200183682A1 (en) Electronic calculator, method, and storage medium
JP2010055351A (ja) エディタ装置、エディタプログラムおよびそれを記録した記録媒体ならびにプログラマブル表示器
JP2004178151A (ja) 表示制御装置、プログラム、および、そのプログラムが記録された記録媒体
JP4970105B2 (ja) エディタ装置およびエディタプログラム
JP2005316706A (ja) ソフトウェア開発支援ツール、アプリケーションソフト、ソフトウェア及び記録媒体
JP2007122524A (ja) 制御プログラムモニタ装置、モニタプログラムおよびそのプログラムを記録した記録媒体
JP2006309565A (ja) 作画エディタ装置、制御用表示装置、並びに、そのプログラムおよび記録媒体
JP2005251014A (ja) 制御システム、制御モニタプログラムおよびそのプログラムを記録した記録媒体、ならびにエディタ装置、エディタプログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120327

R150 Certificate of patent or registration of utility model

Ref document number: 4964036

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250