DMC-1500
Chapter 7 Application Programming
•
117
Example - Using Inputs to control program flow:
Instruction Interpretation
JP #A,@IN[1]=0
Jump to A if input 1 is low
JP #B,@IN[2]=1
Jump to B if input 2 is high
AI 7
Wait until input 7 is high
AI -6
Wait until input 6 is low
Example - Start Motion on Switch
Motor X must turn at 4000 counts/sec when the user flips a panel switch to on. When panel switch is
turned to off position, motor X must stop turning.
Solution: Connect panel switch to input 1 of DMC-1500. High on input 1 means switch is in on
position.
Instruction Interpretation
#S;JG 4000
Set speed
AI 1;BGX
Begin after input 1 goes high
AI -1;STX
Stop after input 1 goes low
AMX;JP #S
After motion, repeat
EN;
Input Interrupt Function
The DMC-1500 provides an input interrupt function which causes the program to automatically
execute the instructions following the #ININT label. This function is enabled using the II m,n,o
command. The m specifies the beginning input and n specifies the final input in the range. The
parameter o is an interrupt mask. If m and n are unused, o contains a number with the mask. A 1
designates that input to be enabled for an interrupt, where 20 is bit 1, 21 is bit 2 and so on. For
example, II,,5 enables inputs 1 and 3 (20 + 22 = 5).
A low input on any of the specified inputs will cause automatic execution of the #ININT subroutine.
The Return from Interrupt (RI) command is used to return from this subroutine to the place in the
program where the interrupt had occurred. If it is desired to return to somewhere else in the program
after the execution of the #ININT subroutine, the Zero Stack (ZS) command is used followed by
unconditional jump statements.
IMPORTANT: Use the RI instruction (not EN) to return from the #ININT subroutine.
Examples - Input Interrupt
Instruction Interpretation
#A Label
#A
II 1
Enable input 1 for interrupt function
JG 30000,-20000
Set speeds on X and Y axes
BG XY
Begin motion on X and Y axes
#B Label
#B
TP XY
Report X and Y axes positions
WT 1000
Wait 1000 milliseconds
JP #B
Jump to #B
EN
End of program
#ININT Interrupt
subroutine
Содержание DMC-1510
Страница 6: ......
Страница 18: ...6 Chapter 1 Overview DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...
Страница 88: ...76 Chapter 6 Programming Motion DMC 1500 Figure 6 7 Motion intervals in the Home sequence...
Страница 90: ...78 Chapter 6 Programming Motion DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...
Страница 137: ...DMC 1500 Chapter 7 Application Programming 125 THIS PAGE LEFT BLANK INTENTIONALLY...
Страница 157: ...DMC 1500 Chapter 10 Theory of Operation 145 THIS PAGE LEFT BLANK INTENTIONALLY...
Страница 160: ...148 Appendices DMC 1500 Card Level Layout...
Страница 178: ...166 Appendices DMC 1500 ICM 1100 Drawing 1 3 4 0 0 4 4 0 2 4 0 7 0 0 4 5 3 7 0 5 7 0 2 8 5 1 0 0 1 0 1 0 7 0 1 0 0...
Страница 180: ...168 Appendices DMC 1500...
Страница 198: ...186 Appendices DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...