[go: up one dir, main page]

JPH04229303A - Signal tracing control system for pc - Google Patents

Signal tracing control system for pc

Info

Publication number
JPH04229303A
JPH04229303A JP41457790A JP41457790A JPH04229303A JP H04229303 A JPH04229303 A JP H04229303A JP 41457790 A JP41457790 A JP 41457790A JP 41457790 A JP41457790 A JP 41457790A JP H04229303 A JPH04229303 A JP H04229303A
Authority
JP
Japan
Prior art keywords
signal
trace
program
signals
sequence program
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
JP41457790A
Other languages
Japanese (ja)
Inventor
Kunio Tanaka
久仁夫 田中
Yoshiharu Saiki
嘉春 斎木
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP41457790A priority Critical patent/JPH04229303A/en
Publication of JPH04229303A publication Critical patent/JPH04229303A/en
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

PURPOSE:To accurately confirm the variation state of a desired signal of a sequence program. CONSTITUTION:The RAM 23 of a PMC is provided with a program storage area 1 where the sequence program is stored and a trace signal storage area 2 where a signal to be traced among signals of the sequence program is stored. A program execution means 3 executes the sequence program in the program storage area 1 in order. When trace instructions 1a and 1b in addresses (n) and (n+1) are executed, a tracing execution means 4 stores the ON/OFF states of signals included in the trace instructions in specific bit areas 2a and 2b in the trace signal storage area 2.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明はPCの信号トレース制御
方式に関し、特に所望の信号をその実行時にトレースす
るPCの信号トレース制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a PC signal trace control system, and more particularly to a PC signal trace control system for tracing a desired signal during execution.

【0002】0002

【従来の技術】PCのシーケンスプログラムの開発時あ
るいは保守時には、不具合の原因を調査するために、各
部の信号の変化状態を知る必要がある。これらの信号の
変化状態は、PCまたはPCと接続される数値制御装置
の表示装置に表示される。しかし、信号の変化が高速で
あったり、発生の頻度が低いと、人間の目で確認するの
は困難な場合があった。
2. Description of the Related Art When developing or maintaining a sequence program for a PC, it is necessary to know the state of change in signals in each part in order to investigate the cause of a malfunction. Changes in these signals are displayed on a display device of the PC or a numerical control device connected to the PC. However, if the signal changes quickly or occurs infrequently, it may be difficult to confirm with the human eye.

【0003】そこで、所望の信号の変化状態を一定時間
毎に記憶し、それを表示装置の画面上でゆっくり再現す
る、所謂トレース制御方式が用いられている。
[0003] Therefore, a so-called trace control method is used in which the change state of a desired signal is memorized at fixed time intervals and slowly reproduced on the screen of a display device.

【0004】0004

【発明が解決しようとする課題】しかし、従来のトレー
ス制御方式では、トレースのタイミングを一定周期、例
えばシーケンスプログラムの実行周期毎に行っていたの
で、図5に示すように、信号が一定周期内で一時的にオ
フに変化しても、トレースの結果はすべて1となってし
まい、その変化を捉えることはできなかった。これは、
信号はそのプログラムの実行時に変化するのが多いのに
対し、従来はそれに関係なくトレースを行っていたから
である。本発明はこのような点に鑑みてなされたもので
あり、所望の信号の変化状態を正確に知ることのできる
PCの信号トレース制御方式を提供することを目的とす
る。
[Problems to be Solved by the Invention] However, in the conventional trace control method, the trace timing is performed at a fixed period, for example, every execution cycle of a sequence program, so as shown in FIG. Even if it turned off temporarily, all trace results would be 1, and the change could not be detected. this is,
This is because signals often change during the execution of a program, whereas in the past, tracing was performed regardless of this. The present invention has been made in view of these points, and it is an object of the present invention to provide a signal trace control system for a PC that can accurately determine the state of change of a desired signal.

【0005】[0005]

【課題を解決するための手段】本発明では上記課題を解
決するために、シーケンスプログラムの信号の変化状態
をトレースするPCの信号トレース制御方式において、
前記シーケンスプログラムが格納されるプログラム記憶
手段と、前記トレースすべき信号を格納するトレース信
号記憶手段と、前記プログラム記憶手段内のシーケンス
プログラムを順次実行するプログラム実行手段と、前記
プログラム実行手段により実行されたシーケンスプログ
ラムのうちトレース命令に含まれる信号を前記トレース
信号記憶手段に格納するトレース実行手段と、を有する
ことを特徴とするPCの信号トレース制御方式が提供さ
れる。
[Means for Solving the Problems] In order to solve the above-mentioned problems, the present invention provides a signal trace control method for a PC that traces the change state of a signal of a sequence program.
program storage means for storing the sequence program; trace signal storage means for storing the signal to be traced; program execution means for sequentially executing the sequence program in the program storage means; There is provided a signal trace control system for a PC, comprising: trace execution means for storing a signal included in a trace command of a sequence program in the trace signal storage means.

【0006】[0006]

【作用】プログラム実行手段は、プログラム記憶手段内
のシーケンスプログラムを順次実行する。この実行した
シーケンスプログラムにトレース命令が含まれていれば
、トレース実行手段はその信号をトレース信号記憶手段
に格納する。したがって、所望の信号の変化状態は全て
記憶される。
[Operation] The program execution means sequentially executes the sequence programs in the program storage means. If the executed sequence program includes a trace command, the trace execution means stores the signal in the trace signal storage means. Therefore, all desired signal change states are stored.

【0007】[0007]

【実施例】以下、本発明の一実施例を図面に基づいて説
明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0008】図2は本発明を実施するための数値制御装
置(CNC)全体のハードウエアのブロック図である。 PMC(プログラマブル・マシン・コントローラ)20
は数値制御装置(CNC)10に内蔵されている。プロ
セッサ11は数値制御装置(CNC)10全体の制御の
中心となるプロセッサであり、バス19を介して、RO
M13に格納されたシステムプログラムを読み出し、こ
のシステムプログラムに従って、数値制御装置(CNC
)10全体の制御を実行する。
FIG. 2 is a block diagram of the overall hardware of a numerical control device (CNC) for implementing the present invention. PMC (Programmable Machine Controller) 20
is built into a numerical control device (CNC) 10. The processor 11 is a central processor for controlling the entire numerical control device (CNC) 10, and is connected to the RO via the bus 19.
The system program stored in M13 is read out, and according to this system program, the numerical control device (CNC
)10 overall control.

【0009】共有RAM12はCNC10とPMC20
とのデータの授受を行うためのRAMであり、この共有
RAM12を経由して、互いにデータの授受を行う。ま
た、同時に双方からのアクセスに必要なデータを格納す
る。RAM14には一時的な計算データ、表示データ等
が格納される。CMOS15は不揮発性メモリとして構
成され、工具補正量、ピッチ誤差補正量、加工プログラ
ム及びパラメータ等が格納される。CMOS15は図示
されていないバッテリでバックアップされ、数値制御装
置(CNC)10の電源がオフされても不揮発性メモリ
となっているので、それらのデータはそのまま保持され
る。また、CMOS15にはPMC20側に必要なパラ
メータ等も格納されている。
[0009] The shared RAM 12 is shared by the CNC 10 and the PMC 20.
This is a RAM for exchanging data with the shared RAM 12, and exchanging data with each other via this shared RAM 12. It also stores data necessary for access from both sides at the same time. The RAM 14 stores temporary calculation data, display data, etc. The CMOS 15 is configured as a nonvolatile memory, and stores tool correction amounts, pitch error correction amounts, machining programs, parameters, and the like. The CMOS 15 is backed up by a battery (not shown) and serves as a non-volatile memory even when the power of the numerical control unit (CNC) 10 is turned off, so its data is retained as is. The CMOS 15 also stores parameters necessary for the PMC 20 side.

【0010】グラフィック制御回路16は各軸の現在位
置、アラーム、パラメータ、画像データ等のディジタル
データを画像信号に変換して出力する。この画像信号は
CRT/MDIユニット30の表示装置31に送られ、
表示装置31に表示される。PMC20側のパラメータ
、ラダーダイヤグラム等も表示装置31に表示すること
ができる。このときのデータはPMC20から共有RA
M12を経由して送られてくる。
The graphic control circuit 16 converts digital data such as the current position of each axis, alarms, parameters, image data, etc. into image signals and outputs the image signals. This image signal is sent to the display device 31 of the CRT/MDI unit 30,
It is displayed on the display device 31. Parameters, ladder diagrams, etc. on the PMC 20 side can also be displayed on the display device 31. At this time, the data is sent from the PMC20 to the shared RA.
It is sent via M12.

【0011】インタフェース17はCRT/MDIユニ
ット30内のキーボード32からのデータを受けて、プ
ロセッサ11に渡す。また、PMC20側へのデータも
キーボード32から入力することができ、そのデータは
共有RAM12を経由して、PMC20側へ送られる。
The interface 17 receives data from the keyboard 32 in the CRT/MDI unit 30 and passes it to the processor 11. Further, data to the PMC 20 side can also be input from the keyboard 32, and the data is sent to the PMC 20 side via the shared RAM 12.

【0012】インタフェース18は外部機器用のインタ
フェースであり、紙テープリーダ、紙テープパンチャー
、紙テープリーダ・パンチャー、プリンタ等の外部機器
40が接続される。紙テープリーダからは加工プログラ
ムが読み込まれ、また、数値制御装置(CNC)10内
で編集された加工プログラムを紙テープパンチャーに出
力することができる。
The interface 18 is an interface for external equipment, and external equipment 40 such as a paper tape reader, paper tape puncher, paper tape reader/puncher, printer, etc. is connected thereto. A machining program is read from the paper tape reader, and the machining program edited in the numerical control device (CNC) 10 can be output to the paper tape puncher.

【0013】PMC(プログラマブル・マシン・コント
ローラ)20にはPMC用のプロセッサ21があり、プ
ロセッサ21はバス25によって共有RAM12と接続
され、共有RAM12はCNC10のバス19に結合さ
れている。また、バス25にはROM22が結合されて
いる。ROM22にはPMC20を制御するための管理
プログラムとシーケンスプログラムが格納されている。 シーケンスプログラムは、本発明実施例ではラダー言語
で作成される。また、ROM22に代えて、ROMカセ
ット用インタフェースを設け、ROMカセットにシーケ
ンスプログラムを格納して、ROMカセット用インタフ
ェースに接続する場合もある。このようにすることによ
り、簡単にシーケンスプログラムをレベルアップしたり
、シーケンスプログラムを変更することができる。
A PMC (programmable machine controller) 20 includes a processor 21 for the PMC, and the processor 21 is connected to a shared RAM 12 by a bus 25, and the shared RAM 12 is coupled to a bus 19 of the CNC 10. Further, a ROM 22 is coupled to the bus 25. A management program and a sequence program for controlling the PMC 20 are stored in the ROM 22 . In the embodiment of the present invention, the sequence program is created in ladder language. Further, in place of the ROM 22, a ROM cassette interface may be provided, a sequence program may be stored in the ROM cassette, and the sequence program may be connected to the ROM cassette interface. By doing so, the sequence program can be easily upgraded or changed.

【0014】さらに、バス25にはRAM23が結合さ
れており、RAM23には入出力信号が格納され、シー
ケンスプログラムの実行に従って、その内容は書き換え
られていく。I/O制御回路24はバス25に接続され
、RAM23に格納された出力信号をI/Oユニット2
6にシリアル信号に変換して送る。また、I/Oユニッ
ト26からのシリアルな入力信号をパラレル信号に変換
してバス25に送る。その信号はプロセッサ21によっ
て、RAM23に格納される。
Further, a RAM 23 is coupled to the bus 25, and input/output signals are stored in the RAM 23, and the contents thereof are rewritten as the sequence program is executed. The I/O control circuit 24 is connected to the bus 25 and outputs the output signal stored in the RAM 23 to the I/O unit 2.
6, convert it into a serial signal and send it. It also converts the serial input signal from the I/O unit 26 into a parallel signal and sends it to the bus 25. The signal is stored in RAM 23 by processor 21.

【0015】プロセッサ21はCNC10から共有RA
M12を経由して、M機能指令、T機能指令等の指令信
号を受け、一旦RAM23に格納し、その指令をROM
22に格納されたシーケンスプログラムに従って処理し
、I/O制御回路24を経由して、I/Oユニット26
に出力する。この出力信号によって、機械側の油圧機器
、空圧機器、電磁機器が制御される。
The processor 21 receives a shared RA from the CNC 10.
Receive command signals such as M function command and T function command via M12, temporarily store them in RAM23, and then transfer the commands to ROM.
22 and is processed according to the sequence program stored in the I/O unit 26 via the I/O control circuit 24.
Output to. This output signal controls hydraulic equipment, pneumatic equipment, and electromagnetic equipment on the machine side.

【0016】また、プロセッサ21はI/Oユニット2
6からの機械側のリミットスイッチ信号、機械操作盤の
操作スイッチの信号等の入力信号を受けて、この入力信
号を一旦RAM23に格納する。PMC20で処理する
必要のない入力信号は共有RAM12を経由してプロセ
ッサ11に送られる。その他の信号はシーケンスプログ
ラムで処理し、一部の信号はCNC側へ、他の信号は出
力信号として、I/O制御回路24を経由して、I/O
ユニット26から機械側へ出力される。
The processor 21 also has an I/O unit 2.
Input signals such as a limit switch signal on the machine side and a signal from an operation switch on a machine operation panel are received from 6, and the input signals are temporarily stored in the RAM 23. Input signals that do not need to be processed by the PMC 20 are sent to the processor 11 via the shared RAM 12. Other signals are processed by the sequence program, some signals are sent to the CNC side, and other signals are sent to the I/O control circuit 24 as output signals.
It is output from the unit 26 to the machine side.

【0017】一方、シーケンスプログラムには、各軸の
移動等を制御する命令を含めることができる。これらの
指令はプロセッサ21によって読み出されると、共有R
AM12を経由して、プロセッサ11に送られ、サーボ
モータを制御する。同様にして、スピンドルモータ等も
PMC側からの指令で制御することもできる。ROM2
2に格納されたシーケンスプログラム、RAM23に格
納された入出力信号はCRT/MDIユニット30の表
示装置31に表示することができる。また、シーケンス
プログラムの実行中にトレースされた信号も表示装置3
1に表示される。
On the other hand, the sequence program can include instructions for controlling the movement of each axis. When these instructions are read by the processor 21, the shared R
The signal is sent to the processor 11 via the AM 12, and controls the servo motor. Similarly, a spindle motor etc. can also be controlled by commands from the PMC side. ROM2
The sequence program stored in the RAM 23 and the input/output signals stored in the RAM 23 can be displayed on the display device 31 of the CRT/MDI unit 30. In addition, the signals traced during the execution of the sequence program are also displayed on the display device 3.
1 is displayed.

【0018】次に上記CNC10内のPMC20による
信号トレース制御方式を説明する。図1は本発明の信号
トレース制御方式の概念図である。図中、1はRAM2
3内に確保されたプログラム記憶領域であり、ラダープ
ログラムが記憶されている。2はこのラダープログラム
のうちトレースすべき信号を格納するトレース信号記憶
領域である。
Next, a signal tracing control method by the PMC 20 in the CNC 10 will be explained. FIG. 1 is a conceptual diagram of the signal trace control method of the present invention. In the figure, 1 is RAM2
This is a program storage area secured within 3, in which the ladder program is stored. 2 is a trace signal storage area for storing signals to be traced in this ladder program.

【0019】プログラム実行手段3は、プログラム記憶
領域1内のプログラムを順次実行していく。今、アドレ
スn,n+1にあるトレース命令1a,1bを実行した
とき、トレース実行手段4は、そのトレース命令に含ま
れる信号のオン・オフ状態をトレース信号記憶領域2内
の所定のビット領域2a,2bに格納する。これは、ト
レース命令が実行される毎に行われる。
The program execution means 3 sequentially executes the programs in the program storage area 1. Now, when the trace instructions 1a and 1b at addresses n and n+1 are executed, the trace execution means 4 stores the on/off state of the signal included in the trace instruction in a predetermined bit area 2a in the trace signal storage area 2, 2b. This is done every time a trace instruction is executed.

【0020】こうして、トレース実行手段4は、トレー
ス命令の含まれたプログラムの信号を次々にトレース信
号記憶領域2に格納していく。そして、このトレース信
号記憶領域2の内容を後で表示装置31に表示すること
により、信号の変化状態を確認することができる。
In this way, the trace execution means 4 stores program signals containing trace instructions in the trace signal storage area 2 one after another. Then, by displaying the contents of this trace signal storage area 2 on the display device 31 later, it is possible to check the change state of the signal.

【0021】図3(a)は表示装置31に表示されるラ
ダー図の従来の命令の表示方法である。これに対し、図
3(b)は本発明によるトレース命令の表示方法である
。本実施例では、例えば信号Eと信号Fとをトレースし
たい場合には、その信号の記号を白抜きで表す。トレー
ス結果を画面上で確認するときは、この白抜きの信号が
オン・オフの状態に合わせて点滅する。
FIG. 3A shows a conventional method for displaying instructions in a ladder diagram displayed on the display device 31. On the other hand, FIG. 3(b) shows a method for displaying trace instructions according to the present invention. In this embodiment, for example, when it is desired to trace signal E and signal F, the symbols of the signals are represented by white outlines. When checking the trace results on the screen, this white signal blinks according to the on/off state.

【0022】ここで、図3(a)に示す通常の命令のコ
ーディングは、以下のようにされる。 RD    C WRT  D 一方、図3(b)に示すトレース命令のコーディングは
、以下のように示される。 RD.T    E WRT.T  F すなわち、プログラムでトレース命令された信号のみが
、トレース実行手段4によりトレース信号記憶領域2に
格納され、後で表示装置31で確認される。
Here, the normal instruction shown in FIG. 3(a) is coded as follows. RD C WRT D On the other hand, the coding of the trace instruction shown in FIG. 3(b) is shown as follows. R.D. T E WRT. T F That is, only the signals instructed to be traced by the program are stored in the trace signal storage area 2 by the trace execution means 4, and are later confirmed on the display device 31.

【0023】信号が変化するのは、ほとんどの場合がプ
ログラムの実行時である。ところが、従来のトレース制
御方式では、トレースすべき信号の実行とは関係なく、
例えばシーケンスプログラムの実行周期毎にトレースを
行っていた。したがって、周期内で信号の変化が起こっ
てしまう場合には、その変化があったことを知ることが
できなかった。これに対し、本実施例では所望の信号の
実行プログラムにトレース命令を含ませることにより、
プログラムの実行時にトレースを行うようにしているの
で、図4の信号トレースのタイムチャートからも分かる
ように、信号の変化を正確に捉えることができる。
Signals change in most cases when a program is executed. However, with conventional trace control methods, the
For example, tracing was performed every execution cycle of a sequence program. Therefore, when a signal change occurs within a period, it is not possible to know that the change has occurred. In contrast, in this embodiment, by including a trace instruction in the execution program of the desired signal,
Since tracing is performed when the program is executed, changes in the signal can be accurately captured, as can be seen from the signal tracing time chart in FIG.

【0024】[0024]

【発明の効果】以上説明したように本発明では、プログ
ラム実行手段の実行したシーケンスプログラムにトレー
ス命令が含まれていれば、トレース実行手段がその信号
をトレース信号記憶手段に格納するようにしたので、所
望の信号の変化状態は全て記憶される。したがって、所
望の信号の変化状態を正確に知ることができる。
As explained above, in the present invention, if a trace instruction is included in the sequence program executed by the program execution means, the trace execution means stores the signal in the trace signal storage means. , all desired signal changes are stored. Therefore, it is possible to accurately know the change state of the desired signal.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の信号トレース制御方式の概念図である
FIG. 1 is a conceptual diagram of a signal trace control method of the present invention.

【図2】本発明を実施するための数値制御装置(CNC
)全体のハードウエアのブロック図である。
[Fig. 2] Numerical control device (CNC) for implementing the present invention
) is a block diagram of the entire hardware.

【図3】表示画面上でのラダー図の表示例である。FIG. 3 is a display example of a ladder diagram on a display screen.

【図4】本発明の信号トレース制御方式のタイムチャー
トである。
FIG. 4 is a time chart of the signal trace control method of the present invention.

【図5】従来の信号トレース制御方式のタイムチャート
である。
FIG. 5 is a time chart of a conventional signal trace control method.

【符号の説明】[Explanation of symbols]

1  プログラム記憶領域 2  トレース信号記憶領域 3  プログラム実行手段 4  トレース実行手段 1 Program storage area 2 Trace signal storage area 3 Program execution means 4 Trace execution means

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  シーケンスプログラムの信号の変化状
態をトレースするPC(プログラマブル・コントローラ
)の信号トレース制御方式において、前記シーケンスプ
ログラムが格納されるプログラム記憶手段と、前記トレ
ースすべき信号を格納するトレース信号記憶手段と、前
記プログラム記憶手段内のシーケンスプログラムを順次
実行するプログラム実行手段と、前記プログラム実行手
段により実行されたシーケンスプログラムのうちトレー
ス命令に含まれる信号を前記トレース信号記憶手段に格
納するトレース実行手段と、を有することを特徴とする
PCの信号トレース制御方式。
1. A signal trace control system for a PC (programmable controller) that traces change states of signals of a sequence program, comprising: a program storage means in which the sequence program is stored; and a trace signal in which the signal to be traced is stored. storage means; program execution means for sequentially executing sequence programs in the program storage means; and trace execution for storing signals included in trace instructions in the sequence program executed by the program execution means in the trace signal storage means. A signal trace control method for a PC, comprising: means.
JP41457790A 1990-12-27 1990-12-27 Signal tracing control system for pc Pending JPH04229303A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP41457790A JPH04229303A (en) 1990-12-27 1990-12-27 Signal tracing control system for pc

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP41457790A JPH04229303A (en) 1990-12-27 1990-12-27 Signal tracing control system for pc

Publications (1)

Publication Number Publication Date
JPH04229303A true JPH04229303A (en) 1992-08-18

Family

ID=18523040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP41457790A Pending JPH04229303A (en) 1990-12-27 1990-12-27 Signal tracing control system for pc

Country Status (1)

Country Link
JP (1) JPH04229303A (en)

Similar Documents

Publication Publication Date Title
US5315523A (en) Numerical control apparatus having a work simulation function
EP0397887B1 (en) Method of correcting machining program
US5784621A (en) Sequence program display apparatus
EP1607813A1 (en) Numerical controller with program check
US4924403A (en) Numerical control method and system therefor having override playback function
EP0428735A1 (en) System for displaying data on a screen
JPH0580815A (en) Message display system for pc
JPH08278804A (en) Diagnostic system for sequence program
JPH04229303A (en) Signal tracing control system for pc
JPH04235603A (en) Pc signal trace control system
US5224031A (en) Signal transfer system of programmable controller
US5331540A (en) Symbol definition system and method a programmable machine controller
JPH04177402A (en) Pc signal state display system
EP0419672A1 (en) Method of plotting tool shape
EP0418393B1 (en) Input/output signal control system
JPH07210218A (en) Abnormality detecting system for sequence program
JPH04123105A (en) Motor control system
JPH06324717A (en) Edit system for sequence program
JPH07261811A (en) Tracing system for sequence program
JPH0460805A (en) Sequence program generating method
EP0538482A1 (en) Method for debugging sequential program
JPH08286712A (en) Editing system for sequence program
JPH0460806A (en) Ladder program management system
EP0425688A1 (en) Method of editing program for program controller
JPH08278806A (en) Cnc macro variable debugging system