Example - limit switch, Example - position error – Yaskawa LEGEND-MC User Manual
Page 307
297
LEGEND-MC User’s Manual
For example, the #POSERR subroutine will automatically be executed when any axis exceeds its position
error limit. The commands in the #POSERR subroutine could decode which axis is in error and take the
appropriate action. In another example, the #ININT label could be used to designate an input interrupt
subroutine. When the specified input occurs, the program will be executed automatically.
NOTE: An application program must be running for automatic monitoring to function.
Example - Limit Switch:
This program prints a message upon the occurrence of a limit switch. Note, for the #LIMSWI routine to
function, the LEGEND-MC must be executing an applications program from memory. This can be a very
simple program that does nothing but loop on a statement, such as #LOOP;JP #LOOP;EN. Motion
commands, such as JG 5000 can still be sent from the PC even while the "dummy" applications program
is being executed.
Now, when a forward limit switch occurs on the X axis, the #LIMSWI subroutine will be executed.
NOTE: The RE command is used to return from the #LIMSWI subroutine.
NOTE: The #LIMSWI will continue to be executed until the limit switch is cleared (goes high).
Example - Position Error
#MCTIME
Timeout for In-position trippoint, MC
#POSERR
Position error exceeds limit specified by ER
#TCPERR
Ethernet error
#LOOP
Dummy Program
JP #LOOP;EN
Jump to Loop
#LIMSWI
Limit Switch Label
MG "LIMIT OCCURRED"
Print Message
RE
Return to main program
:XQ #LOOP
Execute Dummy Program
:JG 5000
Jog
:BGX
Begin Motion
#LOOP
Dummy Program
JP #LOOP;EN
Loop
#POSERR
Position Error Routine
V1=_TEX
Read Position Error
MG "EXCESS POSITION ERROR"
Print Message
MG "ERROR=",V1=
Print Error
RE
Return from Error
:XQ #LOOP
Execute Dummy Program
:JG 100000
Jog at High Speed