SMAC
LAC-26 Technical Reference Manual
4/29/2013 9
2.1 The Interrupt Vector Table
The Interrupt Vector Table consists of an entry for each interrupt source and each entry will
correspond to that interrupt's level (level 0 = entry 0, level 1 = entry 1, etc.). A particular table entry must
be loaded with the number of a valid macro to be executed should that interrupt source become active.
The method for loading a vector table entry is provided by the Load Vector (LV) command. The user must
first use the Accumulator Load (AL) command to set the number of the macro for a vector. The LV
command is then used to transfer the low 8-bits of the accumulator to the vector table entry specified by
the LV command. If an interrupt is generated and that vector table entry has not been defined (equal to 0)
then the interrupt will not be executed. Note that this implies that macro "0" cannot be used as an interrupt
macro. If an interrupt is generated and it's vector table entry has been defined but the macro it specifies
has not, then an error will be reported.
2.2 Enabling and Disabling Interrupts
Loading a vector table entry will not enable an interrupt for operation.
The Enable Vector
(EV) command must be used for this purpose. When the EV command is used, it will enable the interrupt
source (specified with the command) to function. In the event that it is necessary to disable an interrupt
source, there is a Disable Vector (DV) command that functions in a similar manner as the EV command.
In order to prevent multiple or continuous interrupts,
as an interrupt is taken it is
automatically
disabled.
This means that the user must re-enable that interrupt using the EV
command before it will
occur again.
2.3 Interrupt Sources
The following table lists all the possible interrupt sources.
Interrupt Source
Level / Vector
Interrupt Source
Level/Vector
Axis 0 Error
31
Reserved
15
Axis 1 Error
30
Reserved
14
Reserved
29
Reserved
13
Reserved
28
Reserved
12
Axis 0 Fault
27
Reserved
11
Axis 1 Fault
26
Reserved
10
Reserved
25
Reserved
9
Reserved
24
Reserved
8
Axis 0 Limit
23
Reserved
7
Axis 1 Limit
22
Reserved
6
Reserved
21
Reserved
5
Reserved
20
Reserved
4
Axis 0 IP/IR
19
Digital Input 3
3
Axis 1 IP/IR
18
Digital Input 2
2
Reserved
17
Digital Input 1
1
Reserved
16
Digital Input 0
0
Table 5. Macro Interrupt Sources.
The Axis Error interrupts indicate that the position following error for a given axis has exceeded
the limit set by the Set Error (SE) command. Normally, when this limit is exceeded, the servo is disabled
and the "Error" bit in that axis' status word is set.
If the interrupt for this condition
is enabled, the
"Error" bit will still be set but the servo will not be disabled.