JPH01243137A - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JPH01243137A
JPH01243137A JP63070116A JP7011688A JPH01243137A JP H01243137 A JPH01243137 A JP H01243137A JP 63070116 A JP63070116 A JP 63070116A JP 7011688 A JP7011688 A JP 7011688A JP H01243137 A JPH01243137 A JP H01243137A
Authority
JP
Japan
Prior art keywords
patch file
execution
patch
procedure
file
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.)
Pending
Application number
JP63070116A
Other languages
English (en)
Inventor
Hisashi Yao
尚志 八尾
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 JP63070116A priority Critical patent/JPH01243137A/ja
Publication of JPH01243137A publication Critical patent/JPH01243137A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、FAコントローラのプログラムをシンボリ
ックにデバッグするためのデバッグ装置に関するもので
ある。
〔従来の技術〕
第7図はFAコントローラとデバッグ装置の構成図を示
し、同図において、(10)は、中央処理装置(1)、
実行プログラム(2a)とデバッグコマンド実行手順(
2b)を記憶してなるメモリ(2)、及びインタフェイ
ズ装置(7)を備えたFAコントローラである。これに
対して、(11)は、中央処理装置(3)、操作員から
のコマンドを入力するキー入力装置(4)、コマンド実
行結果やメツセージを表示する表示装置(5)、マンマ
シンインタフェイス手順(6a)を記憶してなるメモリ
(6)及びインタフェイス装置(8)を備えてなるデバ
ッグ装置を示す。
ここで、マンマシンインタフェイス手順(6a)は、キ
ー入力装置(4)から入力された文字を表示装置(5)
の画面上にエコーバック表示しながら一連のデバッグコ
マンドを入力し、該コマンドが正しいか判断し、正しい
ならば該コマンドをインタフェイス装置(8)に出力す
ると共に、該コマンドの実行結果を表示装置(5)の画
面上に表示する。
また、デバッグコマンド実行手順(2b)は、実行プロ
グラム(2a)より呼出されデバッグ装置(11)より
受信したデバッグコマンドを実行しその結果をデバッグ
装置(11)に送信するようになっている。
さらに、上記実行プログラム(2a)の機械語命令並び
は第3図のようになっており、第3図において、命令X
はデバッグコマンド実行手順(2b)を呼出す命令、命
令A、B、CはFAコントローラ(10)のソースプロ
グラムの1ステップに対応した実行命令群(機械語)で
ある。この実行プログラム(2a)はメモリ(2)に複
数本格納され、中央処理装置(1)が該複数本の実行プ
ログラムを同時平行実行することができる。これは、中
央処理装置(1)がある実行プログラムを数10m5実
行後、別の実行プログラムを数10m5実行するという
様にしてあたかも複数本の実行プログラムを同時平行実
行している様に見せかけている。
次に、従来例におけるデバッグ動作を、第8図のフロー
チャートを参照して説明する。
まず、操作員は、デバッグ装置(11)をデバッグモー
ド(デバッグ可能な状態)にし、実行プログラム(2a
)をスタートした後、デバッグコマンドをキー入力装置
(4)により入力すると中央処理装置(3)が該コマン
ドを解析してメモリ(6)に記憶されたマンマシンイン
タフェイス手順(6a)を呼出す。マンマシンインタフ
ェイス手順(6a)は、入力されたデバッグコマンドが
正しいか判断し、間違っていれば操作員に対して表示装
置(5)の画面上にエラーメツセージを表示し再入力を
促す(第7図ステップS 70. S 71の処理)。
入力されたデバッグコマンドが正しいならば該コマンド
をインタフェイス装置(8)に出力する(ステップS8
2の処理)。ここで、FAコントローラ(10)の中央
処理装置(1)は、実行プログラム(2a)を第3図及
び第7図ステップS 89. S 90の様に実行して
いる。
デバッグコマンド実行手順(2b)を呼出すと(ステッ
プS89の処理)、該手順はデバッグ装置(11)から
の上記デバッグコマンドをインタフェイス装置(7)に
受信したか判断しくステップ586の処理)、受信した
ならば該コマンドをインタフェイス装置(7)より入力
しくステップS87の処理)、該コマンドを実行し実行
結果をインタフェイス装置(7)に出力する(ステップ
588の処理)。その後、実行プログラム(2a)はソ
ースプログラムの1ステップに対応する実行命令群(機
械語)を実行する(ステップS90の処理)。第3図の
命令XはステップS89の処理に、命令A、B、Cはス
テップS90の処理にそれぞれ対応する。マンマシンイ
ンタフェイス手順(6a)は、デバッグコマンド実行手
順(2b)により求められた上記デバッグコマンド実行
結果をインタフェイス装置(8)に受信したか判断しく
ステップS83の処理)、受信したならば該実行結果を
インタフェイス装置(8)より入力しくステップS84
の処理)、該実行結果を表示装置(5)の画面上に表示
する(ステップS85の処理)。
また、実行プログラム(2a)が複数本同時平行実行さ
れている場合は、各実行プログラムを以上の様な操作に
よりデバッグを行っていた。
珠 〔発明が解決しようとする問題点〕 従来のデバッグ装置(11)における複数本の実行プロ
グラムが同時平行実行されている場合のデバッグ方法は
各実行プログラムに対してデバッグコマンドの実行によ
りバグを見つけ出すというものであり、その後はソース
プログラムを修正・コンパイルして実行プログラムを生
成して、それをFAコントローラ(10)に転送してか
ら再び動作確認・デバッグしなければならないので、非
常に時間がかかりデバッグ効率が悪かった。
この発明はこの様な問題点を解決するためになされたも
ので、デバッグコマンドの実行によりバグを見つけ出し
たならばそこでパッチファイルをキー入力によりデバッ
グ装置のメモリに作成し、その後すぐに上記パッチファ
イルを実行と共に、また、複数本の実行プログラムが同
時平行実行されている場合にバグのある複数の実行プロ
グラムのそれぞれに対してパッチファイルを作成した場
合でも各パッチファイルの同時平行実行を可能とし、動
作確認・デバッグを引続き行うことによりデバッグ効率
を大幅に向上させるデバッグ装置を得ることを目的とす
る。
(’! !!! *を解決するための手段)この発明に
係るデバッグ装置は、数値制御装置やプログラマブルコ
ントローラ等を統括制御するFAコントローラに接続さ
れるデバッグ装置において、コマンドを入力するキー入
力装置と、キー入力した文字をエコーバック表示し上記
コマンド実行結果やメツセージを表示する表示装置と、
上記キー入力装置から入力されるコマンドの適否を判断
し、FAコントローラのプログラムをデバッグ中に見つ
け出したバグを修正するためのパッチファイルをメモリ
に作成可能とし該パッチファイル実行のために必要なア
ドレスをパッチファイル制御エリア及びFAコントロー
ラのパッチポイントアドレステーブルに書込むマンマシ
ンインタフェイス手順、上記パッチファイルの実行開始
要求を示す情報を上記FAコントローラより受信しパッ
チファイル実行手順に上記実行開始情報を渡す受信実行
手順、上記メモリに作成された上記パッチファイルを上
記パッチファイル制御エリアを参照して上記パッチファ
イル中の1ステップのアドレスを求め該1ステップを実
行し実行完了後別のパッチファイル実行要求がある場合
該パッチファイル中の1ステップを実行することにより
複数ハツチファイルの同時平行実行を可能としパッチフ
ァイル中の全ステップ実行完了後それを示す情報を上記
FAコントローラに送信するパッチファイル実行手順、
上記パッチファイル制御エリア、上記パッチファイル、
及び上記パッチファイル作成時の中間バッファとなるパ
ッチファイルバッファを記憶してなるメモリと、上記マ
ンマシンインタフェイス手順、上記受信実行手順、上記
パッチファイル実行手順及び上記パッチファイルを実行
する中央処理装置を備えると共に、上記FAコントロー
ラ側に、制御用の実行プログラム、該実行プログラムよ
り呼出され上記パッチポイントアドレステーブルを参照
し上記パッチファイルを上記デバッグ装置に実行させる
か判断し実行させると判断したならば上記パッチファイ
ルを実行させる要求を示す情報をデバッグ装置に送信し
上記パッチファイルの実行が終了したことを示す情報を
デバッグ装置より受信するまで上記実行プログラムの実
行を中断状態にするデバッグコマンド実行手順、及び上
記パッチポイントアドレステーブルを記憶してなるメモ
リと、上記実行プログラムを複数本同時平行実行すると
共に上記デバッグコマンド実行手順を実行する中央処理
装置を備えたものである。
〔作用〕
この発明のデバッグ装置においては、ます、プログラム
をデバッグしていてバグを見つけたならば、バグを修正
するためのパッチファイルをキー入力によりデバッグ装
置のメモリに作成し、作成と同時にパッチファイル実行
のために必要なアドレスがパッチファイル制御エリア、
パッチポイントアドレステーブルに書込まれる。この後
、プログラム中のバグのある行を実行する前にデバッグ
コマンド実行手順が上記パッチファイルをデバッグ装置
に実行させるかをバッチポイントアドレステーブルを参
照して判断し、実行させると判断するとプログラムを中
断状態にし、上記パッチファイル実行要求を示す情報を
デバッグ装置に送信する。受信実行手順が該パッチファ
イル実行開始要求を示す情報を受信すると、パッチファ
イル実行手順は、実行するパッチファイル中の1ステッ
プのアドレスをパッチファイル制御エリアを参照して求
め、該アドレスよりパッチファイル中の1ステップを実
行し、該パッチファイル中の全ステップを実行完了した
ならばパッチファイル実行完了を示す情報をFAコント
ローラに送信する。また、パッチファイル実行手順は複
数パッチファイルの同時平行実行の要求が有る場合、あ
るパッチファイル中の1ステップ実行後、別のパッチフ
ァイル中の1ステップを実行していくという様にして複
数パッチファイルの同時平行実行を行う。ここて、デバ
ッグコマンド実行手順は、上記パッチファイル実行完了
を示す情報を受信したならは中断状態にしていたプログ
ラム中の行より実行再開する。この様にして複数パッチ
ファイルの同時平行実行により複数プログラムのバグを
修正実行し、引続き動作確認デバッグを行う。
〔実施例〕
以下、この発明の一実施例を図にりいて説明する。第1
図はこの発明に係るFAコントローラとデバッグ装置の
構成図を示し、同図において、第6図の従来例と同一符
号は同一部分を示してその説明は省略する。この第1図
構成において従来例と異なる点はデバッグ装置(11)
のメモリ(6)に、マンマシンインタフェイス手順(6
a)の他に、受信実行手順(6b)、パッチファイル実
行手順(6C)、パッチファイル制御エリア(6d)、
パッチファイルバッファ(6e)及びパッチファイル(
6f)を記憶しており、また、FAコントローラ(10
)のメモリ(2)に、実行プログラム(2a)、デバッ
グコマンド実行手順(2b)の他に、バッチポイントア
ドレステーブル(2c)を記憶している点である。
ここで、マンマシンインタフェイス手順(6a)は、キ
ー入力装置(4)から入力された文字を表示装置(5)
の画面上にエコーバック表示しながら一連のデバッグコ
マンドを入力し、該コマンドが正しいか判断し、正しい
ならば該コマンドをインタフェイス装置(8)に出力す
ると共に、また、パッチファイル編集を可能とし編集さ
れたパッチファイルをパッチファイルバッファ(6e)
を通してメモリ (6)に書込み(パッチファイル(6
f))、パッチファイル実行のために必要なアドレスを
パッチファイル制御エリア(6d)及びバッチポイント
アドレステーブル(2C)に書込む。
また、受信実行手順(6b)は、インタフェイス装置 
(8)にFAコントローラ(10)より何か受信したか
調べ、受信したならばその内容を調ベパッチファイル実
行要求情報ならばパッチファイル実行手順(6C)がパ
ッチファイルを実行するために必要な情報をパッチファ
イル制御エリア(6d)に書込み、受信内容がコマンド
実行結果ならばそれを表示装置 (5)の画面上に表示
する。
さらに、パッチファイル実行手順(6C)は、パッチフ
ァイル制御エリア(6d)を参照して実行するパッチフ
ァイル中の1ステップのアドレスを求め該アドレスより
該1ステップを実行し、パッチファイル中の全ステップ
を実行完了したならばパッチファイル実行完了情報をイ
ンタフェイス装置 (8)に出力する。これに対し、パ
ッチファイル制御エリア(6d)は、上記の様にパッチ
ファイル実行手順(6c)が実行するパッチファイル中
の1ステップのアドレスを求めるなどのために参照する
エリアで第4図の様な構造になっており、次ステップア
ドレステーブル(第4図(a))、パッチファイル開始
アドレステーブル(第4図(b))、実行要求ID番号
テーブル(第4図(c))、インデックスカウンタ(第
4図(d))、ID番号セットインデックス(第4図(
e))より成る。
また、パッチファイルバッファ(6e)は、操作員がパ
ッチファイル編集を開始してから終了するまで編集内容
が格納されるエリアで、パッチファイル編集終了すると
マンマシンインタフェイス手順(6a)が編集内容をパ
ッチファイルバッファ(6e)から最終的に第4図(f
)に示す構造のパッチファイル(6f)が格納されるエ
リアに書込まれるようになされている。
他方、FAコントローラ(lO)のメモリ(2)は実行
プログラム(2a)、デバッグコマンド実行手順(2b
)、バッチポイントアドレステーブル(2C)を記憶し
、該実行プログラム(2a)はFAコントローラ(10
)を制御するプログラム(機械語)で、第3図の様な命
令並びになっている。また、デバッグコマンド実行手順
(2b)は実行プログラム(2a)より呼出され、パッ
チファイル(6f)をデバッグ装置(11)に実行させ
るかを第4図(g)に示す構造のバッチポイントアドレ
ステーブル(2C)を参照して判断し、実行させると判
断したならば実行プログラム(2a)の実行を中断状態
にしパッチファイル実行要求情報をインタフェイス装置
 (7)に出力すると共に、インタフェイス装置 (7
)に何か受信したかを調べ、受信したならば受信内容を
調べそれがパッチファイル実行終了情報ならば中断状態
にしていた実行プログラム(2a)を再開し、受信内容
がコマンドならば該コマンドを実行し結果をインタフェ
イス装置 (7)に出力する。
また、上記実行プログラム(2a)は、従来と同様に中
央処理装置(1)が複数本の実行プログラムを同時平行
実行することができるようになされている。
次に、第2図(a) 、 (b) 、 (c)はバグを
修正するためにパッチファイルを編集する場合のキー入
力及び表示例、第3図は実行プログラム(2a)の命令
並び、第4図(a)〜(i)は、次ステップアドレステ
ーブル、パッチファイル開始アドレステーブル、実行要
求ID番号テーブル、インデックスカウンタ、ID番号
セットインデックス、パッチファイル、バッチポイント
アドレステーブル、パッチファイル実行要求情報及びパ
ッチファイル実行完了情報の構造内容、第5図はパッチ
ファイル(6f)を実行完了した場合のパッチファイル
制御エリア(6d)中の情報の変化を示した例、第6図
(a)、(b)、(c)はこの発明の動作フローチャー
トで、(a)はデバッグ装置(11)側のマンマシンイ
ンタフェイス手順(6a)、(b)は同パッチファイル
実行手順(6C)と受信実行手順(6b)、(C)はF
Aコントローラ(lO)側の実行プログラム(2a)と
デバッグコマンド実行手順(2b)の内容をそれぞれ示
したもので、これら図面を参照してこの実施例の動作説
明をする。
操作員がデバッグコマンドの入力実行によりバグを見つ
け出す場合の動作は従来と同じであるので、複数本の実
行プログラムが同時に実行されている場合に各実行プロ
グラムに対してバグを見つけ出した時にパッチファイル
をバグのある実行プログラムに対して作成し、その後す
ぐにパッチファイルを実行してバグを修正実行し動作確
認・デバッグを引続き行う場合の動作を説明する。
第2図(alのACTlという名のプログラムの動作確
認・デバッグを行っていて1010行のPRINT#1
・0%の0%が実はB%のまちがいであるというバグを
見つけた場合、101O行を実行する前に0%をB%に
置換える処理をパッチファイルとして作成し、1010
行の実行前に該パッチファイルを実行し実行終了後10
10行を実行すれば良い。
まず、パッチファイルを作成する操作としてキー入力装
置(4)よりパッチファイル編集のためのコマンドを入
力する(第2図(b)の操作(20)、)。なお、第2
図において下線部は操作員が入力する。この操作(20
)において、PATC)l ON、PATCHOFFは
コマンド名、1は作成したパッチファイルの登録番号と
してのID番号、ACTIはプログラム名、1010は
中断状態にするプログラムの行番号をそれぞれ示し、作
成したパッチファイルはID番号で管理し、プログラム
実行が1010行に達したならばここでプログラムを中
断状態にし、作成したパッチファイルを実行後、101
0行よりプログラムを再開することを示す。操作(2o
)の入力により中央処理装置 (3)が入力されたコマ
ンドを解析してマンマシンインタフェイス手順(6a)
を呼出す。
すなわち、マンマシンインタフェイス手順(6a)はキ
ー入力により呼出されるが、他の処理(受信実行手順(
6b)、パッチファイル実行手順(6c)、パッチファ
イル(6f))が実行中にキー入力された場合、実行中
の処理は中断しマンマシンインタフェイス手順(6a)
を優先的に実行し実行終了後、中断していた処理を再開
する。これは、人間の操作であるキー入力による処理の
応答性を高くするためである。操作(20)の入力によ
り呼出されたマンマシンインタフェイス手順(6a)は
、第6図(a)の如く、入力されたコマンドが正しいか
判断しくステップ5al)、間違っていれば操作員に対
して表示装置 (5)の画面上にエラーメツセージを表
示し再入力をうながす(ステップ5a2)。入力された
コマンドか正しいならば該コマンドがパッチファイル編
集コマンドかを判断しくステップ5a3)、そうである
ならば以降パッチファイル編集が有効となるモードにし
くステップ5a4)、パッチファイル編集のための入力
を待つ。そこて操作員はパッチファイルに記述したいコ
マンドを入力すると(第2図(b)の操作(21))、
ステップSal、 Sa3の処理を通ってステップSa
5の処理に進み、ここて、既にパッチファイル編集は有
効となっているのでステップSa6の処理に進む。ここ
てはキー入力されたコマン]・がパッチファイル編集終
了を示すものかを調べるが、そうではないのてステップ
Sa7の処理に進み入力されたコマンド(C%=B%)
をこのまソースレヘルでパッチファイルバッファ(6e
)に書込む。次に、バグ修正実行のためにはC%=B%
のみ実行すれば良いのでパッチファイル編集終了コマン
ドを入力すると(第2図(b)の操作(22))、ステ
ップSal、Sa3、Sa5及びSa6を通ってステッ
プSa8の処理に進み、パッチファイル実行時に中断状
態にする実行プログラム(2a)中の対応する命令(第
3図の命令B)のアドレス(以下、パッチポイントアド
レスと呼ぶ)をパッチポイントアドレステーブル(2c
)に書込む(第4図(g)のエリア(53))。また、
実行するパッチファイルの開始アドレス(以下、パッチ
ファイル開始アドレスと呼ぶ)をパッチファイル開始ア
ドレステーブルと次ステップアドレステーブルに書込む
(第4図(b)と(a)ノエリ7 (41)と(38)
)。
そして、ステップSa9の処理に進み、パッチファイル
バッファ(6e)に書込んだ編集内容(C%=B%)の
後にパッチファイル実行終了コマンド(END)を付け
て最終的にパッチファイルが格納されるエリアに転送す
る(第4図(f)のエリア(35))。この後、パッチ
ファイル編集が有効となっているのを無効としパッチフ
ァイル編集を終了する(ステップ5alOの処理)。こ
こで、プログラム八CTIのイ也にプログラムACT2
(PATC)l ON 2ACT2.1000)、AC
T3(PATCHON 3 ACT3.1000)にも
バグが有ったとしてパッチファイルをそれぞれ編集しメ
モリ(6)に転送する(第4図エリア(36)、(37
)、(39)、(40)、(42)、(43)、(54
)、(55))。
次に、以上の様な操作によりデバッグ装置(11)のメ
モリ (6)に作成したパッチファイル(6f)を実行
する動作を説明する。ここで、実行プログラム(2a)
は、上記ACTI、ACT2、ACT3の3本有り、中
央処理装置(,1)より3木が同時平行実行されている
として以下説明する。第6図は実行プログラム1本につ
いての処理内容である。実行プログラム(2a〕は第3
図の様な命令並びになっており、命令Xはデバッグコマ
ンド実行手順(2b)を呼出す命令、命令A、B、Cは
ソースプログラムの1ステップの実行命令群(機城語)
で、命令Xと命令A、B、Cは必ず1対になっている。
パッチファイル実行は、実行プログラム(2a)の実行
が命令Bに達した時ここで命令Bを実行しないで中断状
態にし、その後パッチファイル中の1ステップをデバッ
グ装置(11)が実行する。まず、第3図の命令X (
32)を実行すると(第6図(c)のステップSclの
処理)、デバッグコマンド実行手順(2b)は命令Bの
アドレスがパッチポイントアドレスかをパッチポイント
アドレステーブル(2c)を参照し、命令Bのアドレス
と一致するアドレスがあるかを調べて判断する(ステッ
プ5c3)。ここでは、命令Bのアドレスはパッチポイ
ントアドレスであるのでパッチポイントアドレステーブ
ル(2c)の中に命令Bのアドレスは有り(第4図エリ
ア(53)) 、 L、たがって、ステップSc4の処
理に進む。そして、デバッグ装置(11)にパッチファ
イル(6f)を実行させる要求を示すパッチファイル実
行要求情報をインタフェイス装置 (7)に出力しデバ
ッグ装置(11)に送信する。上記パッチファイル実行
要求情報は、パッチファイル実行要求であることを示す
ステータス(特定のコード)と上記パッチファイルのI
D番号(この場合は1)からなる(第4図エリア(49
)、(50))。
一方、デバッグ装置(11)では、デバッグ装置(11
)を立上げると中央処理装置 (3)がタイマを使用し
て受信実行手順(6b)とパッチファイル実行手順をそ
れぞれを周期的に繰返し実行する。ステップSblの処
理で件、インタフェイス装置 (8)にFAコントロー
ラ(lO)より何か受信したか調べ、受信したならば受
信内容を入力しくステップSb2の処理)、その内容が
上記パッチファイル実行要求情報かコマンド実行結果か
を判断しくステップSb3の処理)、前者ならばパッチ
ファイル実行手順(6c)を呼出しくステップSb5の
処理)、後者ならば上記コマンド実行結果を表示装置(
5)の画面上に表示する(ステップSb4の処理)。こ
こで、第4図(C)において、実行要求ID番号テーブ
ルは、ある実行プログラムからパッチファイル実行要求
が発生し該パッチファイル中の全ステップを実行完了し
ないうちに別の実行プログラムから別のパッチファイル
の実行要求が発生した場合にそれらのID番号を格納す
るテーブルで、インデックスOのエリア(第4図エリア
(44))に1番最初に実行プログラムから要求が発生
したパッチファイルのID番号(第4図エリア(50)
)が、インデックス1のエリア(第4図エリア(45)
)に2番目に要求が発生したパッチファイルのID番号
が格納される。ID番号セットインデックス(第4図エ
リア(48))は、実行プログラムからパッチファイル
実行要求が発生した場合に該パッチファイルのID番号
を実行要求ID番号テーブルのどのインデックスのエリ
アに格納すれば良いか示すもので、例えば、ID番号セ
ットインデックスが2ならば、パッチファイル実行要求
が発生した場合に該パッチファイルのID番号を実行要
求ID番号テーブルのインデックス2のエリア(第4図
エリア(46))に格納するという具合である。実行要
求ID番号テーブルが、パッチファイルに対応した実行
プログラムの数だけ全てID番号で満杯になった場合は
ID番号セットインデックスを−1にする。本例では、
プログラムACTI、ACT2、ACT3がそれぞれパ
ッチファイルを持っており、ACTIからパッチファイ
ル実行要求が発生し該パッチファイル中の全ステップが
実行完了しない時にACT3→A[:TIの順ですぐに
各パッチファイル実行要求が発生したならば、実行要求
ID番号テーブルのインデックス0.1.2のエリア(
第4図エリア(44)、(45)、(46))にはそれ
ぞれID番号1.3.2が格納され、ID番号セットイ
ンデックスは−1となる。ステップSb5の処理で、I
D番号セットインデックスが−1でないならばパッチフ
ァイル実行要求情報中のパッチファイルID番号(第4
図エリア(50))をID番号セットインデックスが示
す実行要求ID番号テーブル中のエリアに書込む(ステ
ップSb6の処理)。
次に、ID番号セットインデックスが実行要求ID番号
テーブルに格納可能な最後のエリアのインデックスであ
るかを調べ(ステップSb7の処理)、そうであるなら
ば実行要求ID番号テーブルが満杯になったことを示す
ためにID番号セットインデックスに−1をセットしく
ステップSb9の処理)、そうでないならばID番号セ
ットインデックスを1インクリメントする(ステップS
b8の処理)。
次に、パッチファイル実行手順(6C)は、まず、イン
デックスカウンタ(第4図エリア(47))が示すイン
デックスに対応する実行要求ID番号テーブル中のエリ
アに格納されているID番号が0か調べる(SblOの
処理)。ここで、インデックスカウンタは、実行要求I
D番号テーブル中よりID番号を参照する場合に使うイ
ンデックスであり、初期値は0である。
ステップ5blOの処理において、上記ID番号が0な
らばパッチファイル実行要求は全くなしということであ
り、インデックスカウンタには0を書込む(ステップ5
b20の処理)。上記ID番号がOでないならば、該I
D番号に対応するパッチファイル中で次に実行する1ス
テップのアドレスを次ステップアドレステーブル(第4
図(a))を参照して求める(ステップ5bllの処理
)。次ステップアドレステーブルの初期値は、パッチフ
ァイルの開始アドレステーブル(第4図(b))の内容
と同じである。ステップ5bllの処理で求めたアドレ
スよりパッチファイル中の1ステップを実行する(ステ
ップ5b12の処理)。パッチファイル中の1ステップ
実行は、デバッグ時に行うコマンド入力実行と同様であ
る。すなわち、パッチファイル実行手順(6c)がパッ
チファイル中の1ステップ、例えば第4図エリア(35
)のC%二B%を解析しC%=B%を実行する命令をF
Aコントローラ(10)に送信する(キー入力装置(4
)より入力したコマンドをFAコントローラ(10)に
送信するのと同じ)という具合である。そして、実行し
た上記1ステップがパッチファイル実行終了コード(E
ND)か調へ(ステップ5b13の処理)、そうである
ならば、該パッチファイルの実行を完了し、パッチファ
イル実行完了情報(第4図(i))をインタフェイス装
置(8)に出力しFAコントローラ(lO)に送信する
(Sb15の処理)。
パッチファイル実行完了情報は、パッチファイルの実行
を完了したことを示すステータス(特定のコード)と該
パッチファイルのID番号から成る(第4図エリア(5
1)、(52))。そして、次ステップアドレステーブ
ルの上記ID番号に対応するパッチファイル中の1ステ
ップのアドレスを該パッチファイルの開始アドレスに書
換える(ステップ5b1Bの処理)。該パッチファイル
の開始アドレスは、パッチファイル開始アドレステーブ
ル(第4図(b))を参照して求める。そして、例えば
第5図例1の様にプログラムACTI、ACT2、八C
T3がそれぞれパッチファイルを持っており、ACTI
からパッチファイル実行要求が発生し該パッチファイル
中の全ステップが実行完了しないうちに八(:T3→A
CT2の順ですぐに各パッチファイル実行要求が発生し
た場合、ACTI (I D番号1)のパッチファイル
の実行(全ステップ)を完了したならば実行要求ID番
号テーブル中のへ〇T3以降のID番号をACTIのI
D番号エリア以降にシフトしくステップ5b17の処理
)、ID番号セットインデックス−1を2にして(ステ
ップ5b18の処理)、ステップ5blOの処理にもど
る。この場合、インデックスカウンタは、ステップ5b
17.18の処理前後で同じである。第5図の例2、例
3もパッチファイル実行完了した場合の例である。
ステップ5b13の処理において実行したパッチファイ
ル中の1ステップがパッチファイル実行終了コード(E
ND)でない場合は、次ステップアドレステーブルのス
テップ5b12の処理で参照した実行するパッチファイ
ル中の1ステップのアドレスを次の1ステップのアドレ
スに書換える(ステップ5b14の処理)。そして、イ
ンデックスカウンタ(第4図エリア(47))が実行要
求ID番号テーブルに格納可能な最後のエリアのインデ
ックスであるか調べ(ステップ5b19の処理)、そう
であるならばインデックスカウンタを0にしくステップ
5b20) 、そうでないならばインデックスカウンタ
を1インクリメントする(ステップ5b21)。
以上がパッチファイル実行手順(6c)の内容であり、
これを繰返すことにより、複数パッチファイルを1ステ
ップずつ実行することができる。例えば、第4図(f)
のパッチファイル(6f)の実行要求が第5図例1の実
行要求ID番号テーブルの様に発生した場合、パッチフ
ァイルの実行の順番は、ID番号1のパッチファイルの
C%=B%→ID番号3のステップ1→ID番号2のス
テップ1→ID番号1のEND→ID番号3のステップ
2→ID番号2のステップ2→ID番号3のEND→I
D番号2のステップ3→ID番号2のENDとなる。
一方、’ F Aコントローラ(10)のデバッグコマ
ンド実行手順(2b)は、ステップSc4の処理を実行
後、パッチファイル実行中であることを示すパッチファ
イル実行フラグをONシ(ステップSc5の処理)、イ
ンタフェイス装置(7)に何か受信したか調べ(ステッ
プSc6の処理)、受信したならば受信内容を入力しく
ステップSc7の処理)、それが上記パッチファイル実
行完了情報かを調べ(ステップSc8の処理)、そうで
あるならば、上記パッチファイル実行フラグをOFF 
シ(ステップSc9の処理)、デバッグコマンド実行手
順(2b)を終了する。その後、実行プログラム(2a
)にもどり、ソースプログラムの1ステップの実行命令
群(第3図の命令B)を実行する。この時、第4図(f
)のパッチファイル(35)が実行されてC%=B%と
なっているので命令BはPRINT井1:0%をPRI
NT # 1 : B%に置換えて実行することになる
。したがって、0%がB%のまちがいであるというバグ
を修正実行したことになる。
ところで、第2図の操作(20)、 (21)、(22
)によりプログラム八CTIの実行が1olo行に達し
たならば中断状態にしパッチファイルを実行後1010
行より再開する動作となるが、これを取消す、すなわち
、プログラムACTIの実行が1010行に達しても中
断状態にせずパッチファイルを実行しないで通常通り1
010行を実行する様にし、また、第2図の操作(24
)によりメモリ(6)に作成したID番号1のパッチフ
ァイル(第4図(35))を消去する動作を次に示す。
上記処理はバッチフィル実行取消し及びパッチファイル
消去のコマンド(以下、パッチファイル取消しコマンド
と呼ぶ)入力により行うが、対象パッチファイルが実行
されていない場合に入力実行しなければならない。これ
は、対象パッチファイル実行中に該パッチファイル取消
しコマンドを入力実行すると実行中の対象パッチファイ
ルを消去してしまい誤動作(暴走など)するからである
上記パッチファイル取消しコマンドを入力すると(第2
図(b)の操作(24))、マンマシンインタフェイス
手順(6a)は第6図(a)のステップSal、Sc3
、及びSc5の処理を通ってステップ5ailの処理に
進み、入力されたコマンドがパッチファイル取消しコマ
ンドか判断し、そうであるのでステップ5a12の処理
に進む。そして、パッチポイントアドレステーブル(2
c)の対象パッチファイルに対応するパッチポイントア
ドレス(第4図(g)のエリア(53)と同図(b)の
エリア(44))とパッチファイル開始アドレス(第4
図(a)のエリア(41))を0にし、第4図(f)の
エリア(35)のパッチファイルを消去する。そうする
と、第3図の命令X (30)を実行しデバッグコマン
ド実行手順(2b)を呼出した場合、デバッグコマンド
実行手順(2b)は第6図(C)のステップSc3の処
理でパッチポイントアドレステーブル(2c)を参照し
て第3図の命令Bのアドレ又と一致するアドレスを探す
が、上記のとおり第4図(g)のエリア(53)のパッ
チポイントアドレスは0となっているので一致するもの
はなく、パッチファイル実行開始情報をデバッグ装置(
11)に送信しないのでパッチファイルは実行されない
従来のコマンド、すなわち、パッチファイル編集コマン
ド、パッチファイル取消しコマンド以外のコマンド入力
実行の動作は、該コマンドを入力するとマンマシンイン
タフェイス手順(6a)において(ステップSal、S
c3、Sc5.5ail)の処理を通りステップ5a1
3の処理に進み入力された上記コマンドをインタフェイ
ス装置 (8)に出力しFAコントローラ(10)に送
信すると、FAコントローラ(10)ではデバッグコマ
ンド実行手順(2b)において第6図(C)のステップ
Sc3、Sc4、Sc5、Sc8、Sc7、Sc8また
はステップSc3. Sc6. Sc7、Sc8の処理
を通ってステップ5clOの処理に進み、デバッグ装置
(11)より受信した上記コマンドを実行し、実行結果
をインタフェイス装置 (7)に出力しデバッグ装置(
11)に送信する。この後、パッチファイル実行フラグ
がONか否かを調べ(ステップ5cllの処理)ONす
なわちパッチファイル実行中であるならば、該パッチフ
ァイル実行終了までプログラムを中断状態にするために
(ステップSc2の処理よりプログラムを再開しないた
めに)ステップSc6の処理に戻る。上記パッチファイ
ル実行フラグがOFFならばパッチファイル実行中でな
いのでデバッグコマンド実行手順(2b)を終了し、ス
テップSc2を実行する。ステップ5clOの処理でデ
バッグ装置(11)に送信された上記コマンド実行結果
はデバッグ装置(11)の受信実行手順(6b)が第6
図(b)のステップSbl、Sb2、Sb3、Sb4の
処理により上記コマンド実行結果を表示装置 (5)の
画面上に表示する。
〔発明の効果〕
以上のように、コマンドの入力実行により複数プログラ
ムのバグを見つけ出した場合、そこでバグを修正するパ
ッチファイルをキー入力によりデバッグ装置のメモリに
複数作成しその後上記複数パッチファイルを実行するこ
とにより、複数のソースプログラムを修正・再コンパイ
ルすることなくバグを即座に修正実行することかできる
ので、デバッグ効率が大幅に向上する。
【図面の簡単な説明】
第1図はこの発明のFAコントローラとデバッグ装置の
構成図、第2図(a) 、 (b) 、 (c)はパッ
チファイル編集の入力及び表示例の説明図、第3図は従
来及びこの発明に係る実行プログラムの命令並び説明図
、第4図(a)〜(i)はパッチファイル、パッチファ
イル制御エリア、パッチポイントアドレステーブルの構
造内容図、第5図はパッチファイル実行完了時のパッチ
ファイル制御エリア中の情報の変化を示す説明図、第6
図(a) 、 (b) 。 (C)はこの発明の動作を示すフローチャート、第7図
は従来のFAコントローラとデバッグ装置の構成図、第
8図は従来の動作を示すフローチャートである。 図中、 (1) 、 (3)・・・中央処理装置、(2) 、 
(6) ・・・メモリ、 (2a)・・・実行プログラム、 (2b)・・・デバッグコマンド実行手順、(2c)・
・・パッチポイントアドレステーブル、(4)・・・キ
ー入力装置、 (5)・・・表示装置、 (6a)・・・マンマシンインタフェイス手順、(6b
)・・・受信実行手順、 (6c)・・・パッチファイル実行手順、(6d)・・
・パッチファイル制御エリア、(6e)・・・パッチフ
ァイルバッファ、(6f)・・・パッチファイル、 (10)・・・FAコントローラ、 (11)・・・デバッグ装置。 なお、各図中、同一符号は同−又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1.  数値制御装置やプログラマブルコントローラ等を統括
    制御するFAコントローラに接続されるデバッグ装置に
    おいて、コマンドを入力するキー入力装置と、キー入力
    した文字をエコーバック表示し上記コマンド実行結果や
    メッセージを表示する表示装置と、上記キー入力装置か
    ら入力されるコマンドの適否を判断し、FAコントロー
    ラのプログラムをデバッグ中に見つけ出したバグを修正
    するためのパッチファイルをメモリに作成可能とし該パ
    ッチファイル実行のために必要なアドレスをパッチファ
    イル制御エリア及びFAコントローラのパッチポイント
    アドレステーブルに書込むマンマシンインタフェイス手
    順、上記パッチファイルの実行開始要求を示す情報を上
    記FAコントローラより受信しパッチファイル実行手順
    に上記実行開始情報を渡す受信実行手順、上記メモリに
    作成された上記パッチファイルを上記パッチファイル制
    御エリアを参照して上記パッチファイル中の1ステップ
    のアドレスを求め該1ステップを実行し実行完了後別の
    パッチファイル実行要求がある場合該パッチファイル中
    の1ステップを実行することにより複数パッチファイル
    の同時平行実行を可能としパッチファイル中の全ステッ
    プ実行完了後それを示す情報を上記FAコントローラに
    送信するパッチファイル実行手順、上記パッチファイル
    制御エリア、上記パッチファイル、及び上記パッチファ
    イル作成時の中間バッファとなるパッチファイルバッフ
    ァを記憶してなるメモリと、上記マンマシンインタフェ
    イス手順、上記受信実行手順、上記パッチファイル実行
    手順及び上記パッチファイルを実行する中央処理装置を
    備えると共に、上記FAコントローラ側に、制御用の実
    行プログラム、該実行プログラムより呼出され上記パッ
    チポイントアドレステーブルを参照し上記パッチファイ
    ルを上記デバッグ装置に実行させるか判断し実行させる
    と判断したならば上記パッチファイルを実行させる要求
    を示す情報をデバッグ装置に送信し上記パッチファイル
    の実行が終了したことを示す情報をデバッグ装置より受
    信するまで上記実行プログラムの実行を中断状態にする
    デバッグコマンド実行手順、及び上記パッチポイントア
    ドレステーブルを記憶してなるメモリと、上記実行プロ
    グラムを複数本同時平行実行すると共に上記デバッグコ
    マンド実行手順を実行する中央処理装置を備えたことを
    特徴とするデバッグ装置。
JP63070116A 1988-03-24 1988-03-24 デバッグ装置 Pending JPH01243137A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63070116A JPH01243137A (ja) 1988-03-24 1988-03-24 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63070116A JPH01243137A (ja) 1988-03-24 1988-03-24 デバッグ装置

Publications (1)

Publication Number Publication Date
JPH01243137A true JPH01243137A (ja) 1989-09-27

Family

ID=13422256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63070116A Pending JPH01243137A (ja) 1988-03-24 1988-03-24 デバッグ装置

Country Status (1)

Country Link
JP (1) JPH01243137A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535315A (ja) * 1991-07-31 1993-02-12 Kasuga Denki Kk プログラマブルコントロ−ラの制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535315A (ja) * 1991-07-31 1993-02-12 Kasuga Denki Kk プログラマブルコントロ−ラの制御装置

Similar Documents

Publication Publication Date Title
JPH05341819A (ja) Sfcプログラムのデバッグ装置及びデバッグ方法
JPH01243137A (ja) デバッグ装置
JPH01156806A (ja) Faコントローラシステム
JP3143330B2 (ja) プログラマブルコントローラ
JP2011165039A (ja) モデルデバッグ装置およびモデルデバッグ方法
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH01147641A (ja) デバッグ装置
JP2001209412A (ja) シーケンスプログラムのシミュレーション装置
JPS61180344A (ja) 高級言語のステツプ実行システム
JPH03242736A (ja) 異常処理方式
JPS6249441A (ja) 情報処理方式
JPH0262639A (ja) 言語デバッガの中断方式
JPH01134501A (ja) Pcのプログラム編集方式
JPH08314712A (ja) プログラマブルコントロ−ラ
JPH02178734A (ja) パッチ自動生成方式
JPH07168609A (ja) シーケンスプログラムのデバッグ方法
JPH0318941A (ja) プログラムデバッグ処理方式
JPH09265413A (ja) プログラマブルコントローラのデバッグシステム
JPS63317840A (ja) プログラムデバック方式
JPH01261741A (ja) Faコントローラ
JPH01284902A (ja) プログラマブル・コントローラの伝送制御装置
JPH0468446A (ja) デバッグ支援装置
JPH10160803A (ja) Ic試験装置
JPH0793146A (ja) プログラム作成支援装置
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式