Manual

8-8 Using the Digital Outputs and Inputs
Interrupting An Interrupt
The maximum nesting depth of Download Sequences is 12, including interrupts. In other
words, suppose Sequence 1 has called Sequence 2, 2 has called 3, and so forth up until 11
has called 12. Then if an interrupt occurs the maximum nesting depth will be exceeded. Or,
if only 11 Sequences are nested when the interrupt occurs, but then the interrupting
Sequence attempts to execute an XD or XI command, the maximum depth is exceeded.
When you attempt to exceed the maximum depth, instead of invoking a Download Sequence
the System just logs an ACL error and halts Download Sequence execution.
To minimize the possibility that runaway or uncontrolled interrupts will cause this error, the
Automove System does not allow you to interrupt an interrupt. In other words, suppose the
System is sitting idle (or is just executing ACL commands from the host) when Download
Sequence A is invoked, either via an XD or XI command or via the Digital Inputs or front
panel. Sequence A is not considered to be an interrupt. Now a Digital Input or the front
panel invokes sequence B; this is an interrupt. Now if a Digital Input or the front panel
attempts to invoke sequence C (or sequence B again) this new interrupt is held off; the
System postpones any response until after sequence B finishes executing.
When designing your Download Sequences you must make sure that the worst case
non-interrupt nesting depth plus the depth of the worst- case interrupt routine itself does not
exceed 12.
Toggling The Outputs
Via personality parameters 36 - 38 you can set up the Digital Inputs to toggle (i.e. change)
the Digital Outputs directly, without involving any ACL commands or Download
Sequences.
It would be easy to set up Download Sequences to perform the same function via the TD
("Toggle Digital Outputs") command. However, the built-in toggling feature is immune to
accidental erasure of Download Sequences, and also it leaves all the Download Sequences
available for other uses.
If Digital Inputs 0 and 1 have been set up for toggling, Download Sequences 0 and 1 can still
be invoked via the FAST/PAUSE and FAST/TEACH buttons, respectively.
Don't forget that the WD command's wait is executed after each toggle. This ensures that the
necessary hardware response times are allowed for, even if a toggle occurs during a running
move sequence. If this delay is not desired, don't use the WD command; instead, put a WA
command after each CD or TD command in the move sequence.