JP2007257077A - プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム - Google Patents

プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム Download PDF

Info

Publication number
JP2007257077A
JP2007257077A JP2006077549A JP2006077549A JP2007257077A JP 2007257077 A JP2007257077 A JP 2007257077A JP 2006077549 A JP2006077549 A JP 2006077549A JP 2006077549 A JP2006077549 A JP 2006077549A JP 2007257077 A JP2007257077 A JP 2007257077A
Authority
JP
Japan
Prior art keywords
arithmetic processing
processing unit
execution position
program
result
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
JP2006077549A
Other languages
English (en)
Other versions
JP4537336B2 (ja
Inventor
Koji Morita
浩司 森田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006077549A priority Critical patent/JP4537336B2/ja
Publication of JP2007257077A publication Critical patent/JP2007257077A/ja
Application granted granted Critical
Publication of JP4537336B2 publication Critical patent/JP4537336B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】プログラム中の不正な演算結果の起因となる根本的な演算処理部を迅速に特定することができ、これによって、プログラム開発工数の削減を図ること。
【解決手段】シーケンスプログラム111の実行位置と、実行位置で使用されるレジスタの使用情報とを対応付けたデバイス使用テーブル105と、演算処理結果をシーケンスプログラムの内容とともに実行位置に対応させて表示装置106に表示するデバッグ処理部102と、演算処理結果が不正である場合に、不正な演算処理結果を出力した演算処理部におけるレジスタの使用状況に基づいて、デバイス使用デーブル105から、不正な演算結果を出力した演算処理部の実行位置から遡った演算処理部の実行位置を検索する検索処理部103とを備え、デバッグ処理部102は、検索された実行位置に対応する演算処理部を特定する。
【選択図】 図1

Description

本発明は、プログラムのデバッグ処理を実行するプログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラムに関する。
シーケンス回路の設計、編集を行う際に、シーケンス回路のシーケンスプログラムの動作を確認する必要がある。このようなシーケンスプログラムの動作確認を行う場合には、通常、シーケンスプログラムを実行するシーケンサエンジンによってシーケンスプログラムを動作させ、動作状態を、シーケンサエンジンとネットワークで接続されたシーケンスプログラム編集装置で確認するデバッグ作業を行うことが一般的である。
シーケンスプログラム編集装置は、例えば、特許文献1に開示されているように、シーケンス回路をリレーシンボルでプログラムを表したラダー図で表示し、シーケンス回路のリレー接点と、リレー接点に接続されている命令と、シーケンス回路で使用しているレジスタ等のデバイスのデバイス値とをモニタに表示させてデバッグ作業を可能とし、シーケンスプログラムを設計する装置である。
特開2003−303002号公報
しかしながら、このような従来のシーケンスプログラム編集装置では、不正な演算を行ったシーケンスプログラムにおける演算処理部(演算処理箇所)を特定するために時間を要していた。
すなわち、シーケンスプログラム編集装置では、シーケンサエンジンでシーケンスプログラムを動作させながら、シーケンスプログラムの動作状態をモニタに表示しているので、利用者は、動作中のシーケンスプログラムの演算処理結果をレジスタ値などで確認することにより、不正な演算処理結果を出力した演算処理部を把握することができる。
ところが、シーケンスプログラムの実行中にレジスタ値が不正になった場合、不正なレジスタ値を出力した箇所の演算処理部が必ずしも不正な処理を行っているとは限らず、その不正な演算結果を出力した演算処理部にいたるまでの途中の演算処理部で、不正な処理をしていた結果、最終的に、その後実行される他の演算処理部でレジスタ値が不正となって出力される場合が多い。
このため、利用者は、シーケンスプログラム中の演算処理部のそれぞれを動作させながら、その演算結果が不正か否かをレジスタ値を目視することにより確認する必要があり、根本的な不正の原因となった演算処理部を特定することが困難でかつ長時間を要し、その結果、プログラムの開発工数が増大するという問題があった。
本発明は、上記に鑑みてなされたものであって、プログラム中の不正な演算結果の起因となる根本的な演算処理部を迅速に特定することができ、これによって、プログラム開発工数の削減を図ることができるプログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、演算処理部を含むプログラムの実行による演算処理結果から前記プログラムのデバッグ処理を行うプログラムデバッグ装置であって、前記プログラムの実行位置と、前記実行位置において使用されるデバイスの使用情報とを対応付けたデバイス使用情報を記憶する使用情報記憶手段と、前記演算処理結果を取得して、取得した前記演算処理結果を、前記プログラムの内容とともに前記実行位置に対応させて前記表示装置に表示するデバッグ処理手段と、前記演算処理結果が不正である場合に、不正な前記演算処理結果を出力した前記演算処理部における前記デバイスの使用状況に基づいて、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡った前記演算処理部の前記実行位置を検索する検索処理手段と、を備え、前記デバッグ処理手段は、前記検索処理手段によって検索された前記実行位置に対応する前記演算処理部を特定することを特徴とする。
本発明によれば、プログラム中の不正な演算結果の起因となる根本的な演算処理部を迅速に特定することができ、プログラム開発工数の削減を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるプログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラムの最良な実施の形態を詳細に説明する。本実施の形態では、本発明にかかるプログラムデバッグ装置を、シーケンスプログラムの内容とシーケンスプログラムで使用しされているレジスタ等のデバイスのデバイス値とを表示装置に表示させてデバッグ処理を行いシーケンスプログラムを設計するシーケンスプログラム編集装置に適用している。
なお、本発明は、かかる実施の形態に限定されるものではなく、例えば、シーケンスプログラム以外のプログラムをデバッグするものに適用することも可能であり、またデバッグ機能を有するが、プログラムの設計機能を有さないデバッグ装置にも適用することができる。
図1は、本実施の形態にかかるシーケンスプログラム編集装置を含むシーケンスプログラムデバッグシステムのネットワーク構成およびシーケンスプログラム編集装置の機能的構成を示すブロック図である。
本実施の形態にかかるシーケンスプログラムデバッグシステムは、図1に示すように、シーケンサエンジン110とシーケンスプログラム編集装置100とが、LAN(Local Area Network)等のネットワークで接続された構成となっている。
シーケンサエンジン110は、利用者であるユーザが作成したシーケンスプログラム111をハードディスクドライブ装置(HDD)等の記憶媒体に保持し、このシーケンスプログラム111を記憶媒体から読み出して実行するものである。また、シーケンサエンジン110は、シーケンスプログラム111の実行中の動作状況をシーケンスプログラム編集装置100に送信する。シーケンサエンジン110のこのような機能は、一般的にはハードウェアで構成されているが、ソフトウェアで実現してPC(Personal Computer)に実装するように構成してもよい。
シーケンスプログラム111は、リレー接点とリレー接点がONになると演算が実行される命令との組み合わせで構成されたプログラムであり、リレー接点がONになると、そのリレー接点に接続している命令が動作し、命令の記述内容にしたがって、演算処理が実行される。シーケンスプログラム111では、このような命令が演算処理部としてリレー接点に接続されて記述される。
図2は、シーケンスプログラム111の一例を含む説明図である。図2に示すように、リレー接点201にデバイスとしてのレジスタ(D102,D0,D2,D4,D6等)をパラメータとした命令(E*,SQL等)である演算処理部204がリレー接点201毎に接続されている。
また、図2に示すシーケンスプログラム111において、202はシーケンサ全体の各演算処理部の位置を示しており、具体的には、演算処理部ごとに先頭から順番に割り振られた演算処理のステップ番号である。
図1に戻り、シーケンサエンジン110は、デバイス値変更一覧データ112をメモリ、HDD等の記憶媒体に保持している。デバイス値変更一覧データ112は、デバイスとしてのレジスタの値(レジスタ値)の変更状況を示すデータである。
図3は、デバイス値変更一覧データ112の一例を示す説明図である。デバイス値変更一覧データ112には、図3に示すように、シーケンスプログラム111上の実行位置の位置情報(ステップ番号)と、レジスタの情報と、演算処理により変化したレジスタ値の変更内容が対応付けられて記録されている。図3の第1行目の例では、シーケンスプログラム111の実行位置が行番号2の演算処理部による演算処理によって、レジスタD0のレジスタ値が「100」から「−10」に変更されたことを示している。このデバイス値変更一覧データ112には、シーケンスプログラム111の実行により演算処理が行われ、レジスタ値が変化した場合に、テーブルの最後尾に変更内容が追記され蓄積されるようになっている。また、このようなデバイス値変更一覧データ112におけるレジスタ値の変更内容は実行位置の位置情報とともに、シーケンサエンジン110からシーケンスプログラム編集装置100に送信される。
図1に戻り、シーケンスプログラム編集装置100は、シーケンサエンジン110にシーケンスプログラム111を実行させて、その実行による動作状況をシーケンサエンジン110から受信し、シーケンスプログラム111をデバッグしながら設計および編集する装置である。
シーケンスプログラム編集装置100は、図1に示すように、通信制御部108と、編集処理部101と、デバッグ処理部102と、検索処理部103と、表示制御部104と、入力受け付け部109と、デバイス使用テーブル105と、表示装置106と、入力装置107とを主に備えている。
通信制御部108は、シーケンサエンジン110との通信を制御するものである。表示装置106は、ディスプレイ装置等の表示デバイスであり、表示制御部104が各種画面やデータの表示装置106に対する表示制御を行っている。
入力装置107は、キーボードや、マウス等のポインティングデバイスであり、入力受け付け部109が、入力装置からのユーザによる入力を受け付けて、各部へ受け渡している。
編集処理部101は、シーケンスプログラム111を表示装置106に表示して、入力装置107からの指示等によりシーケンスプログラム111を設計、編集するエディタである。
デバッグ処理部102は、シーケンサエンジン110からシーケンスプログラム111中の演算処理部による演算処理結果を取得して、取得した演算処理結果とシーケンスプログラムの内容とを実行位置に対応させて編集画面として表示制御部104を介して表示装置に表示する処理部である。また、デバッグ処理部102は、検索処理部103によって検索された実行位置に対応する演算処理部を特定する処理を行う。また、デバッグ処理部102は、シーケンスプログラム111の内容と演算処理結果とともに、後述するデバイス使用テーブルの内容を表示制御部104を介して表示装置106に表示する処理を行う。
検索処理部103は、不正な演算処理結果を出力したレジスタ以外で、かつ不正な演算処理結果を出力した演算処理部で使用される他のレジスタをキーにして、デバイス使用テーブル105から、不正な演算結果を出力した演算処理部の実行位置から遡って他のレジスタに対応する実行位置を検索する処理部である。
デバイス使用テーブル105は、シーケンスプログラムの実行位置(行番号)と、実行位置における演算処理部で使用されるレジスタを対応付けたテーブルであり、メモリやHDD等の記憶媒体に生成される。図4は、デバイス使用テーブルの一例を示す説明図である。デバイス使用テーブルは、図4に示すように、レジスタごとに、シーケンスプログラム111中でそのレジスタを使用する実行位置が対応付けられている。
次に、以上のように構成された本実施の形態にかかるシーケンスプログラム編集装置100によるシーケンスプログラムのデバッグ処理について説明する。図5は、シーケンスプログラムのデバッグ処理の手順を示すフローチャートである。
図6は、本実施の形態にかかるシーケンスプログラム編集装置100の編集処理部101によって表示装置に表示されるエディタ画面の一例を示す模式図である。エディタ画面は、編集処理部101とデバッグ処理部102によって、シーケンサエンジン110によって実行されるシーケンスプログラム111の動作状況が表示される。具体的には、シーケンスプログラムの内容、すなわちリレー接点とリレー接点に接続された命令およびレジスタを含む演算処理部を編集処理部101によって表示装置106に表示し、さらにデバッグ処理部102によって、各演算処理部による演算処理結果としてのレジスタごとのレジスタ値602をエディタ画面に表示している。また、エディタ画面では、デバッグ処理部102によって、実行中の演算処理部をハイライト表示601により強調して表示している。
さらに、本実施の形態では、従来のシーケンスプログラム編集装置と異なり、デバッグ処理部102は、デバイス使用テーブル105の内容を、エディタ画面中のデバイス使用テーブルウィンドウ603に表示している。
従来のシーケンスプログラム編集装置では、このようなシーケンスプログラム111の動作状況をユーザによる目視によって把握してデバッグ作業を行っていた。すなわち、ユーザは、エディタ画面上で、シーケンスプログラムとその演算結果としてのレジスタ値を確認する。そして、不正なレジスタ値が表示された場合には、ユーザは手動でシーケンスプログラム編集装置100とシーケンサエンジン110との通信を切断することによりエディタ画面上でのシーケンスプログラムの動作を停止し、レジスタの不正な値を出力している演算処理部で使用されている他のレジスタを使用している他の演算処理部の命令を、シーケンスプログラム111の中から目視やシーケンスプログラム編集装置100の検索機能などによって検索し、検索された演算処理部による演算処理が正しいか否かについてプログラム記述を目視で確認することによって判断している。
例えば、図6のSQL命令において,仮にレジスタD6のレジスタ値が不正な値である場合には、SQL命令が記述されている演算処理部で不正なレジスタ値のレジスタD6以外のレジスタD4を使用している他の演算処理部を目視により検索する。そして、このような演算処理部として「E* D0 D2 D4」が見つかり、この演算処理部のプログラム記述が正しいか否かをユーザは判断する。そして、プログラム記述が正しい場合には、その演算処理部で使用しているレジスタを使用している他の演算処理部を検索し、検索された演算処理部のプログラム記述を確認する。ユーザは、プログラム記述の記載の不正を発見するまで、上記の作業を繰り返す必要があり、演算処理結果をみながら不正な演算に関連する演算処理部の箇所を確認することができないため、シーケンスプログラム111の記述を目視で確認する必要があり、不正な演算の根本原因を発見することが非常に困難であった。
本実施の形態にかかるシーケンスプログラム編集装置100によるデバッグ処理では、以下のような処理を行うことによって、不正な演算の根本原因となる演算処理部の位置を容易にかつ正確に特定している。
ユーザは、自己が作成したシーケンスプログラム111が正しく動作することを確認するために、シーケンスプログラム編集装置100とシーケンサエンジン110を使用して、シーケンスプログラム111全体の動作をエディタ画面で確認する。
シーケンサエンジン110では、上述したように、シーケンスプログラム111を動作させる際に、演算処理毎に演算処理によって変化したレジスタの情報とレジスタ値の変更内容をデバイス値変更一覧データ112に記録するとともに、シーケンスプログラム編集装置100に送信し、シーケンスプログラム編集装置100では受信したレジスタの情報とレジスタ値の変更内容を、デバッグ処理部102によってエディタ面の演算処理部のレジスタ値に表示するとともに、デバイス使用テーブルウィンドウ603にデバイス使用テーブル105の内容を表示している。このため、ユーザは、シーケンスプログラム111を動作させながら、演算処理部内に表示されるレジスタ値と、デバイス使用テーブルウィンドウ603とを確認することにより、表示されるレジスタ値が正しいか否かおよびレジスタの使用位置を確認する。
そして、不正な演算処理結果が発見された場合には、検索処理部103によって、デバイス使用テーブル105から不正なレジスタ値を出力したレジスタを使用している演算処理部の実行位置を取得する(ステップS11)。そして、検索処理部103は、取得した実行位置と同一の実行位置で使用されているレジスタを選択し、当該レジスタをデバイス使用テーブル105から検索する(ステップS12)。そして、デバイス使用テーブル105に、取得した実行位置と同一の実行位置で使用されているレジスタが存在するか否か、すなわち取得した実行位置と同一の実行位置で使用されているレジスタをキーとして当該レジスタの実行位置が存在するか否かを調べる(ステップS13)。
そして、デバイス使用テーブル105に、取得した実行位置と同一の実行位置で使用されているレジスタが存在しない場合(ステップS13:No)、すなわち当該レジスタの実行位置が存在しない場合には、不正なレジスタ値を出力した当該演算処理部が不正処理の根本部分として特定する(ステップS14)。従って、不正なレジスタ値を出力した演算処理部にハイライト表示がされた状態のままとなる。
一方、ステップS13において、デバイス使用テーブル105に、取得した実行位置と同一の実行位置で使用されているレジスタが存在する場合(ステップS13:Yes)、すなわち当該レジスタの実行位置が存在する場合には、デバッグ処理部102によって、検索された実行位置の演算処理部をエディタ画面ハイライト表示する(ステップS15)。これにより、ハイライト表示される演算処理部は、不正なレジスタ値を出力した演算処理部から移動することになる。
ここで、ユーザは、ハイライト表示された演算処理部のレジスタのレジスタ値がユーザが意図する値であるか否かを判断し、デバッグ続行かデバッグ終了かの指示を入力装置107から入力する。かかる指示入力は、入力受け付け部109によって受け付けられ、デバッグ処理部102に受け渡される。
次に、デバッグ処理部102は、ユーザからの指示入力がデバッグ終了指示であるか否かを判断する(ステップS16)。そして、指示入力がデバッグ終了でない場合(ステップS16:No)、すなわち、ハイライト表示された演算処理部のレジスタのレジスタ値がユーザの意図する値でない場合には、デバッグ処理を続行し、ステップS11からS15までの処理を繰り返す。これにより、ハイライト表示される演算処理部は順次移動していくことになる。
一方、ステップS16において、指示入力がデバッグ終了である場合(ステップS16:Yes)、すなわち、ハイライト表示された演算処理部のレジスタのレジスタ値がユーザの意図する値である場合には、デバッグ処理部102は、一つ前に検索された演算処理部が不正処理の根本部分であると特定する(ステップS17)。これにより、ハイライト表示は、当該不正処理の根本部分の演算処理部に移動する。
次に、以上のような処理を図6および7に示す例をあげて説明する。例えば、図6において、SQL命令のレジスタD6のレジスタ値が不正な値であると判断した場合には、検索処理部103は、SQL命令が記述されている演算処理部で不正なレジスタ値のレジスタD6以外のレジスタD4を使用している他の演算処理部をデバイス使用テーブル105から検索する。そして、このような演算処理部として「E* D0 D2 D4」が見つかり、ハイライト表示される。
次に、ユーザは、ハイライト表示された演算処理部のレジスタD4のレジスタ値がユーザが意図する値であるか否かを判断し、意図する値でない場合には、デバッグ続行の指示入力を行う。そして、ステップS11からS15の処理を繰り返し行う。このような処理の結果、演算処理部「E* D100 D102 D0」が不正処理の根本原因であると特定された場合には、図7に示すように、当該演算処理部がハイライト表示される。これにより、ユーザは、不正処理の根本部分である当該演算処理部のプログラム記述をエディタ画面で正しい処理に修正する。
図8は、本実施の形態のシーケンスプログラム編集装置100のハードウェア構成を示すブロック図である。本実施の形態のシーケンスプログラム編集装置100は、CPU801などの制御装置と、ROM(Read Only Memory)802やRAM803などの記憶装置と、HDD804、CD−ROMドライブ装置805などの外部記憶装置と、ディスプレイ装置などの表示装置106と、キーボードやマウスなどの入力装置107と、ネットワークボード等のネットワークI/F806とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施の形態のシーケンスプログラム編集装置100で実行されるデバッグ処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施の形態のデバッグ処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態のシーケンスプログラム編集装置100で実行されるデバッグ処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施の形態のデバッグ処理プログラムを、ROM802等に予め組み込んで提供するように構成してもよい。
本実施の形態のシーケンスプログラム編集装置100で実行されるデバッグ処理プログラムは、上述した各部(通信制御部108、編集処理部101、デバッグ処理部102、検索処理部103、表示制御部104、入力受け付け部109)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からデバッグ処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、通信制御部108、編集処理部101、デバッグ処理部102、検索処理部103、表示制御部104、入力受け付け部109が主記憶装置上に生成されるようになっている。
このように実施の形態にかかるシーケンスプログラム編集装置100では、シーケンサエンジン110からシーケンスプログラム111の演算処理結果を取得して、取得した演算処理結果を、シーケンスプログラム111の内容とともに実行位置に対応させてエディタ画面に表示し、演算処理結果が不正である場合に、不正な前記演算処理結果を出力したレジスタ以外で、かつ不正な前記演算処理結果を出力した前記演算処理部で使用される他のレジスタを選択し、前記選択された前記他のレジスタをキーにして、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡って前記他のレジスタに対応する実行位置を検索し、検索されたレジスタの実行位置に対応する演算処理部を特定しているので、シーケンスプログラム中の不正な演算結果の起因となる根本的な演算処理部を迅速に特定することができ、シーケンスプログラム開発工数の削減を図ることができる。
また、本実施の形態にかかるシーケンスプログラム編集装置100では、デバイス使用テーブルから、不正な演算結果を出力した演算処理部の実行位置から遡って他のレジスタに対応する実行位置が検索された場合には、検索された実行位置の演算処理部をエディタ画面にハイライト表示しているので、確認対象の演算処理部を容易に把握することができる。
また、本実施の形態にかかるシーケンスプログラム編集装置100では、ユーザからデバッグを続行する旨を受け付けた場合には、再度、他のレジスタを選択し、選択された他のレジスタをキーにして、デバイス使用テーブルから、不正な演算結果を出力した演算処理部の実行位置から遡って他のレジスタに対応する実行位置を検索しているので、不正処理の根本部分の特定をユーザの意向によって迅速に行うことができる。
また、本実施の形態にかかるシーケンスプログラム編集装置100では、ユーザからデバッグを終了する旨を受け付けた場合には、一つ前に検索された実行位置における演算処理部を不正な処理の根本的部分であると特定しているので、シーケンスプログラム中の不正な演算結果の起因となる根本的な演算処理部を迅速に特定することができる。
また、本実施の形態にかかるシーケンスプログラム編集装置100では、デバイス使用テーブル105から、不正な演算結果を出力した演算処理部の実行位置から遡って他のレジスタに対応する実行位置が検索されなかった場合には、不正な演算処理結果を出力した演算処理部を不正な処理の根本的部分であると特定しているので、シーケンスプログラム中の不正な演算結果の起因となる根本的な演算処理部を迅速に特定することができる。
また、本実施の形態にかかるシーケンスプログラム編集装置100では、シーケンスプログラムの内容と演算処理結果とともに、デバイス使用テーブルの内容をエディタ画面に表示しているので、レジスタのシーケンスプログラム中における使用位置をユーザに容易に把握させることができる。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。
以上のように、本発明にかかるプログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラムは、シーケンスプログラムをデバッグする装置、方法およびプログラムに有用であり、特に、シーケンスプログラムの内容とシーケンスプログラムで使用しされているレジスタ等のデバイスのデバイス値とを表示装置に表示させてデバッグ処理を行いシーケンスプログラムを設計するシーケンスプログラム編集装置、方法およびプログラムに適用している。
本実施の形態にかかるシーケンスプログラム編集装置を含むシーケンスプログラムデバッグシステムのネットワーク構成およびシーケンスプログラム編集装置の機能的構成を示すブロック図である。 シーケンスプログラムの一例を含む説明図である。 デバイス値変更一覧データの一例を示す説明図である。 デバイス使用テーブルの一例を示す説明図である。 シーケンスプログラムのデバッグ処理の手順を示すフローチャートである。 エディタ画面の一例を示す模式図である。 不正処理の根本部分が特定された場合におけるエディタ画面の一例を示す模式図である。 本実施の形態のシーケンスプログラム編集装置のハードウェア構成を示すブロック図である。
符号の説明
100 シーケンスプログラム編集装置
101 編集処理部
102 デバッグ処理部
103 検索処理部
104 表示制御部
105 デバイス使用テーブル
106 表示装置
107 入力装置
108 通信制御部
201 リレー接点
202 ステップ番号
204 演算処理部
601 ハイライト表示
602 レジスタ値
603 デバイス使用テーブルウィンドウ
801 CPU
802 ROM
803 RAM
804 HDD
805 CD−ROMドライブ装置
806 ネットワークI/F

Claims (9)

  1. 演算処理部を含むプログラムの実行による演算処理結果から前記プログラムのデバッグ処理を行うプログラムデバッグ装置であって、
    前記プログラムの実行位置と、前記実行位置において使用されるデバイスの使用情報とを対応付けたデバイス使用情報を記憶する使用情報記憶手段と、
    前記演算処理結果を取得して、取得した前記演算処理結果を、前記プログラムの内容とともに前記実行位置に対応させて前記表示装置に表示するデバッグ処理手段と、
    前記演算処理結果が不正である場合に、不正な前記演算処理結果を出力した前記演算処理部における前記デバイスの使用状況に基づいて、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡った前記演算処理部の前記実行位置を検索する検索処理手段と、を備え、
    前記デバッグ処理手段は、前記検索処理手段によって検索された前記実行位置に対応する前記演算処理部を特定することを特徴とするプログラムデバッグ装置。
  2. 前記デバイス使用情報は、前記プログラムの実行位置と、前記実行位置の前記演算処理部で使用されるレジスタを対応付けたものであり、
    前記検索処理手段は、前記演算処理結果が不正である場合に、不正な前記演算処理結果を出力したレジスタ以外で、かつ不正な前記演算処理結果を出力した前記演算処理部で使用される他のレジスタを選択し、前記選択された前記他のレジスタをキーにして、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡って前記他のレジスタに対応する実行位置を検索することを特徴とする請求項1に記載のプログラムデバッグ装置。
  3. 前記デバッグ処理手段は、前記検索処理手段によって、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡って前記他のレジスタに対応する実行位置が検索された場合には、検索された実行位置の演算処理部を前記表示装置に強調して表示することを特徴とする請求項2に記載のプログラムデバッグ装置。
  4. 前記検索処理手段によって、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡って前記他のレジスタに対応する実行位置が検索された場合には、利用者からのデバッグを終了するか否かの入力の指示を受け付ける入力受け付け手段をさらに備え、
    前記デバッグ処理手段は、前記入力受け付け手段によってデバッグを続行する旨を受け付けた場合には、再度、前記他のレジスタを選択し、選択された前記他のレジスタをキーにして、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡って前記他のレジスタに対応する実行位置を検索することを特徴とする請求項2または3に記載のプログラムデバッグ装置。
  5. 前記デバッグ処理手段は、前記入力受け付け手段によってデバッグを終了する旨を受け付けた場合には、一つ前に検索された実行位置における前記演算処理部を不正な処理の根本的部分であると特定することを特徴とする請求項4に記載のプログラムデバッグ装置。
  6. 前記デバッグ処理手段は、前記検索処理手段によって、前記デバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡って前記他のレジスタに対応する実行位置が検索されなかった場合には、不正な演算処理結果を出力した前記演算処理部を不正な処理の根本的部分であると特定することを特徴とする請求項2〜5のいずれか一つに記載のプログラムデバッグ装置。
  7. 前記デバッグ処理手段は、前記プログラムの内容と前記演算処理結果とともに、前記デバイス使用情報の内容を、前記表示装置に表示することを特徴とする請求項1〜6のいずれか一つに記載のプログラムデバッグ装置。
  8. 演算処理部を含むプログラムの実行による演算処理結果から前記プログラムのデバッグ処理を行うプログラムデバッグ方法であって、
    前記演算処理結果を取得して、取得した前記演算処理結果を、前記プログラムの内容とともに前記実行位置に対応させて前記表示装置に表示するステップと、
    前記演算処理結果が不正である場合に、不正な前記演算処理結果を出力した前記演算処理部における前記デバイスの使用状況に基づいて、前記プログラムの実行位置と前記実行位置において使用されるデバイスの使用情報とを対応付けたデバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡った前記演算処理部の前記実行位置を検索するステップと、
    検索された前記実行位置に対応する前記演算処理部を特定するステップと、
    を含むことを特徴とするプログラムデバッグ方法。
  9. 演算処理部を含むプログラムの実行による演算処理結果から前記プログラムのデバッグ処理を行うデバッグプログラムであって、
    前記演算処理結果を取得して、取得した前記演算処理結果を、前記プログラムの内容とともに前記実行位置に対応させて前記表示装置に表示するステップと、
    前記演算処理結果が不正である場合に、不正な前記演算処理結果を出力した前記演算処理部における前記デバイスの使用状況に基づいて、前記プログラムの実行位置と前記実行位置において使用されるデバイスの使用情報とを対応付けたデバイス使用情報から、不正な演算結果を出力した前記演算処理部の実行位置から遡った前記演算処理部の前記実行位置を検索するステップと、
    検索された前記実行位置に対応する前記演算処理部を特定するステップと、
    をコンピュータに実行させるデバッグプログラム。
JP2006077549A 2006-03-20 2006-03-20 プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム Expired - Fee Related JP4537336B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006077549A JP4537336B2 (ja) 2006-03-20 2006-03-20 プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006077549A JP4537336B2 (ja) 2006-03-20 2006-03-20 プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム

Publications (2)

Publication Number Publication Date
JP2007257077A true JP2007257077A (ja) 2007-10-04
JP4537336B2 JP4537336B2 (ja) 2010-09-01

Family

ID=38631301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006077549A Expired - Fee Related JP4537336B2 (ja) 2006-03-20 2006-03-20 プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム

Country Status (1)

Country Link
JP (1) JP4537336B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053906A1 (fr) 2006-10-31 2008-05-08 Canon Kabushiki Kaisha Corps photosensible électrophotographique, procédé de production d'un corps photosensible électrophotographique, cartouche de traitement et dispositif électrophotographique
JP2020013528A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラ用のエンジニアリングツール
JP2020013527A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラおよびプログラム作成支援装置
JP2022529260A (ja) * 2019-04-15 2022-06-20 エルエス、エレクトリック、カンパニー、リミテッド Plcシステム、及びこれの入出力リフレッシュ周期の制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06138913A (ja) * 1992-10-23 1994-05-20 Toshiba Mach Co Ltd プログラマブルコントローラ
JPH06266420A (ja) * 1993-03-16 1994-09-22 Toshiba Corp プログラマブルコントローラ
JPH0883108A (ja) * 1994-09-13 1996-03-26 Toshiba Corp プログラマブルコントローラのデバッグツール
JPH11212606A (ja) * 1998-01-28 1999-08-06 Sharp Corp プログラム作成装置及びプログラムモニタ装置
JP2003157105A (ja) * 2001-09-10 2003-05-30 Digital Electronics Corp 制御システム、並びに、そのプログラムおよび記録媒体
JP2003303002A (ja) * 2002-04-08 2003-10-24 Fuji Mach Mfg Co Ltd シーケンス回路表示装置およびシーケンス回路表示プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06138913A (ja) * 1992-10-23 1994-05-20 Toshiba Mach Co Ltd プログラマブルコントローラ
JPH06266420A (ja) * 1993-03-16 1994-09-22 Toshiba Corp プログラマブルコントローラ
JPH0883108A (ja) * 1994-09-13 1996-03-26 Toshiba Corp プログラマブルコントローラのデバッグツール
JPH11212606A (ja) * 1998-01-28 1999-08-06 Sharp Corp プログラム作成装置及びプログラムモニタ装置
JP2003157105A (ja) * 2001-09-10 2003-05-30 Digital Electronics Corp 制御システム、並びに、そのプログラムおよび記録媒体
JP2003303002A (ja) * 2002-04-08 2003-10-24 Fuji Mach Mfg Co Ltd シーケンス回路表示装置およびシーケンス回路表示プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053906A1 (fr) 2006-10-31 2008-05-08 Canon Kabushiki Kaisha Corps photosensible électrophotographique, procédé de production d'un corps photosensible électrophotographique, cartouche de traitement et dispositif électrophotographique
EP2397908A1 (en) 2006-10-31 2011-12-21 Canon Kabushiki Kaisha Electrophotographic photosensitive member, method of manufacturing electrophotographic photosensitive member, process cartridge, and electrophotographic apparatus
JP2020013528A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラ用のエンジニアリングツール
JP2020013527A (ja) * 2018-10-23 2020-01-23 株式会社キーエンス プログラマブルロジックコントローラおよびプログラム作成支援装置
US11656596B2 (en) 2018-10-23 2023-05-23 Keyence Corporation Programmable logic controller and program creation supporting apparatus
JP7412076B2 (ja) 2018-10-23 2024-01-12 株式会社キーエンス プログラマブルロジックコントローラ用のエンジニアリングツール
JP2022529260A (ja) * 2019-04-15 2022-06-20 エルエス、エレクトリック、カンパニー、リミテッド Plcシステム、及びこれの入出力リフレッシュ周期の制御方法
JP7457730B2 (ja) 2019-04-15 2024-03-28 エルエス、エレクトリック、カンパニー、リミテッド Plcシステム、及びこれの入出力リフレッシュ周期の制御方法
US12001185B2 (en) 2019-04-15 2024-06-04 Ls Electric Co., Ltd. PLC system, and method for controlling input/output refresh period thereof

Also Published As

Publication number Publication date
JP4537336B2 (ja) 2010-09-01

Similar Documents

Publication Publication Date Title
US8607142B2 (en) Method for aligning demonstrated user actions with existing documentation
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
JP5556655B2 (ja) 解析支援プログラム,解析支援装置および解析支援方法
JP2007058368A (ja) プログラムの照合装置
JP4537336B2 (ja) プログラムデバッグ装置、プログラムデバッグ方法およびデバッグプログラム
JP5125938B2 (ja) バグ検出支援プログラム、類似構文識別情報一覧出力プログラム、バグ検出支援装置およびバグ検出支援方法
US8255581B2 (en) Electronic device having physical switch to select functionality exposed to host computing device
JP2017107265A (ja) テストシナリオ作成支援システム及びテストシナリオ作成支援方法
JP2009104252A (ja) デバッグ支援装置およびデバッグ支援方法
US20130080892A1 (en) Information processing device, gui manipulation assistance method, and computer-readable recording medium
JP4929121B2 (ja) ソースプログラム解析装置、ソースプログラム解析方法及びコンピュータプログラム
JP5811859B2 (ja) ソースコードの静的解析装置、システム、方法、及びそのためのプログラム
JP2007079855A (ja) 情報処理装置、プログラム提供装置、プログラム提供方法、および該方法をコンピュータに実行させるプログラム
JP2007287025A (ja) 画面遷移プログラム生成方法及び装置
JP2009053767A (ja) プログラム解析装置、および、プログラム解析方法
JP4983027B2 (ja) チェックプログラム及びチェック方法
JP2007122153A (ja) 文書編集装置、文書編集方法、および文書編集プログラム
JP2013137716A (ja) マクロ展開装置及びプログラム
JP2003208333A (ja) トレース情報検索装置およびその方法
JP2009048403A (ja) システム障害復旧装置およびそのコマンド生成方法、ならびにそのプログラム
JP2004151884A (ja) 試験項目抽出プログラム
JP2006195827A (ja) アプリケーション開発ツール
JP2002091957A (ja) 編集装置および編集プログラム記憶媒体
JP5197508B2 (ja) ソースコード管理装置
JP2021177272A (ja) デバッグ支援装置、デバッグ支援方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100409

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: 20100615

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: 20100617

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees