Galil DMC-3425 Manual De Usuario
124 • Chapter 7 Application Programming
DMC-3425
Automatic Subroutines for Monitoring Conditions
Often it is desirable to monitor certain conditions continuously without tying up the host or DMC-3425
program sequences. The DMC-3425 can monitor several important conditions in the background.
These conditions include checking for the occurrence of a limit switch, a defined input, position error,
or a command error. Automatic monitoring is enabled by inserting a special, predefined label in the
applications program, and having an application program actively executing on the controller. The
pre-defined labels are:
program sequences. The DMC-3425 can monitor several important conditions in the background.
These conditions include checking for the occurrence of a limit switch, a defined input, position error,
or a command error. Automatic monitoring is enabled by inserting a special, predefined label in the
applications program, and having an application program actively executing on the controller. The
pre-defined labels are:
SUBROUTINE DESCRIPTION
#LIMSWI
Limit switch on any axis goes low
#ININT
Input specified by II goes low
#POSERR
Position error exceeds limit specified by ER
#MCTIME
Motion Complete timeout occurred. Timeout period set by TW command
#CMDERR
Bad command given
#TCPERR Ethernet
Communication
Error
The following examples illustrate the use of the automatic subroutines:
Example - Limit Switch:
This simple program prints a message upon the occurrence of a limit switch. For the #LIMSWI sub-
routine to execute, the DMC-3425 must be executing an applications program from memory and the
controller must be commanding the motor to move. The RE command is used to return from the
#LIMSWI subroutine. The #LIMSWI subroutine will be re-executed if the limit switch remains active.
routine to execute, the DMC-3425 must be executing an applications program from memory and the
controller must be commanding the motor to move. The RE command is used to return from the
#LIMSWI subroutine. The #LIMSWI subroutine will be re-executed if the limit switch remains active.
Instruction Interpretation
#LOOP Dummy
Program
JP #LOOP;EN
Jump to Loop
#LIMSWI
Limit Switch Label
MG "LIMIT OCCURRED"
Print Message
RE
Return to main program
Example - Position Error
Instruction Interpretation
:ED Edit
Mode
000 #LOOP
Dummy Program
001 JP #LOOP;EN
Loop
002 #POSERR
Position Error Routine
003 V1=_TEA
Read Position Error
004 MG "EXCESS POSITION ERROR"
Print Message
005 MG "ERROR=",V1=
Print Error
006 RE
Return from Error
<control> Q
Quit Edit Mode
:XQ #LOOP
Execute Dummy Program
:JG 100000
Jog at High Speed
:BGA Begin
Motion