
Operands
In general, all operands provide information which may be useful in debugging an application program. Below is a
list of operands which are particularly valuable for program debugging. To display the value of an operand, the
message command may be used. For example, since the operand, _ED contains the last line of program execution,
the command MG _ED will display this line number.
_ED contains the last line of program execution. Useful to determine where program stopped.
_DL contains the number of available labels.
_UL contains the number of available variables.
_DA contains the number of available arrays.
_DM contains the number of available array elements.
_AB contains the state of the Abort Input
_LFx contains the state of the forward limit switch for the ‘x’ axis
_LRx contains the state of the reverse limit switch for the ‘x’ axis
Debugging Example
:
The following program has an error. It attempts to specify a relative movement while the X-axis is already in
motion. When the program is executed, the controller stops at line 003. The user can then query the controller
using the command, TC1. The controller responds with the corresponding explanation:
Download Code
#A
Program Label
PR1000
Position Relative 1000
BGX
Begin
PR5000
Position Relative 5000
EN
End
From Terminal
:XQ #A
Execute #A
?003 PR5000
Error on Line 3
:TC1
Tell Error Code
?7 Command not valid
while running.
Command not valid while running
Change the BGX line to BGX;AMX and re-download the program.
:XQ #A
Execute #A
Program Flow Commands
The DMC-40x0 provides instructions to control program flow. The controller program sequencer normally executes
program instructions sequentially. The program flow can be altered with the use of event triggers, trippoints, and
conditional jump statements.
Event Triggers & Trippoints
To function independently from the host computer, the DMC-40x0 can be programmed to make decisions based on
the occurrence of an event. Such events include waiting for motion to be complete, waiting for a specified amount
of time to elapse, or waiting for an input to change logic levels.
The DMC-40x0 provides several event triggers that cause the program sequencer to halt until the specified event
occurs. Normally, a program is automatically executed sequentially one line at a time. When an event trigger
instruction is decoded, however, the actual program sequence is halted. The program sequence does not continue
until the event trigger is “tripped”. For example, the motion complete trigger can be used to separate two move
sequences in a program. The commands for the second move sequence will not be executed until the motion is
complete on the first motion sequence. In this way, the controller can make decisions based on its own status or
external events without intervention from a host computer.
Chapter 7 Application Programming ▫ 121
DMC-40x0 User Manual