Specifications
The VT1419A’s ability to execute programs directly on the card and its fast
execution speed give the programmer real-time response to changing conditions.
Additionally, programming the card has been made very easy to understand. The
C programming language was chosen to write user programs because this language
is already considered the industry standard. Choosing C allows algorithms to be
written on PC’s or UNIX
®
workstations that have C-compilers, so they can be
debugged before execution on the card. The VT1419A also provides good
debugging tools that permits worst-case execution speed to be determined, variables
to be monitored while running and selective enabling/disabling any of the
VT1419A’s 32 algorithms.
VXI Technology uses a limited and simplified version of C since most applications
need only basic operations: add, subtract, multiply, divide, scalar variables, arrays,
and programming constructs. The programming constructs are limited to
if-then-else to allow conditional evaluation and response to input changes. Since all
algorithms have an opportunity to execute after each time-base trigger, the
if-then-else constructs permit conditional skipping of cycle intervals so that some
code segments or algorithms can execute at multiples of the cycle time instead of
every cycle.
Looping constructs such as for or while are purposely left out of the language so
that user programs are deterministic. Note that looping is not really needed for most
applications since the cycle interval execution (via the trigger system) of every
algorithm has inherent repeat looping. With no language looping constructs, the
VT1419’s C-compiler can perform a worst-case branch analysis of user programs
and return the execution time for determining the minimum time-base interval.
Making this timing query available allows the programmer to know exactly how
much time may be required to execute any/all phases before attempting to set up
physical test conditions.
Note the darker shaded portion at the end of the Execute Algorithms Phase in
Figure 3-2. The conditional execution of code can cause the length of this phase to
move back and forth like an accordion. This can cause undesirable output jitter
when the beginning of the output phase starts immediately after the last user
algorithm executes. The VT1419’s design allows the user to specify when output
signals begin relative to the start of the trigger cycle. Outputs then always occur at
the same time, every time.
The programming task is further made easy with this design because all the difficult
structure of handling input and output channels is done automatically. This is not
true of many other products that may have several ways to acquire measurement
data or write results to its I/O channels. When the VT1419A’s user-written C
algorithms are compiled, input channels and output channels are detected in the
algorithms and are automatically grouped and configured for the Input and Output
phases as seen in Figure 3-2. Each algorithm simply accesses input channels as
variables and writes to output channels as variables. The rest is handled and
optimized by the Input and Output phases. Instead of concentrating on how to deal
with differences between each SCP, one can think of solving applications in terms
of input and output value variables.
Programming the VT1419A Multifunction
Plus
Overview of the VT1419A Multifunction
Plus
Chapter 3 51
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com










