HP VXI 75000 C Series User's And Scpi Programming Manual page 127

Algorithmic closed loop controller
Table of Contents

Advertisement

How Does it Work?
Determining an
Algorithm's Size
Chapter 4
<alg_name>. Here is an example of defining an algorithm for swapping:
define ALG3 so it can be swapped with an algorithm as large as 1000 words
ALG:DEF 'ALG3',1000,#41698<1698char_alg_source>
NOTE
The number of characters (bytes) in an algorithm's <source_code>
parameter is not well related to the amount of memory space the algorithm
requires. Remember this parameter contains the algorithm's source code, not
the executable code it will be translated into by the ALG:DEF command.
Your algorithm's source might contain extensive comments, none of which
will be in the executable algorithm code after it is translated.
We'll use the example algorithm definition above for this discussion. When
you specify a value for <swap_size> at algorithm definition, the HP E1415
allocates two identical algorithm spaces for ALG3, each the size specified
by <swap_size> (in this example 1000 words). This is called a "double
buffer". We'll just call these space A and space B. The algorithm is loaded
into ALG3's space A at first definition. Later, while algorithms are running
you can "replace" ALG3 by again executing
ALG:DEF ALG3,#42435<2435char_alg_source>
Notice that <swap_size> is not (must not be) included this time. This
ALG:DEF works like an Update Request. The HP E1415 translates and
downloads the new algorithm into ALG3's space B while the old ALG3 is
still running from space A. When the new algorithm has been completely
loaded into space B and an ALG:UPDATE command has been sent, the
HP E1415 simply switches to executing ALG3's new algorithm from space
B at the next Update Phase (see Figure 4-2. If you were to send yet another
ALG3, it would be loaded and executed from ALG3's space A.
In order to define an algorithm for swapping, you will need to know how
much algorithm memory to allocate for it or any of its replacements. You
can query this information from the HP E1415. Use the following sequence:
1. Define the algorithm without swapping enabled. This will cause the
HP E1415 to allocate only the memory actually required by the
algorithm.
2. Execute the ALG:SIZE? <alg_name> command to query the amount
of memory allocated. You now know the minimum amount of
memory required for the algorithm.
3. Repeat 1 and 2 for each of the algorithms you want to be able to swap
with the original. From this you know the minimum amount of
memory required for the largest.
4. Execute *RST to erase all algorithms.
Creating and Running Custom Algorithms
127

Advertisement

Table of Contents
loading

This manual is also suitable for:

Vxi e1415a

Table of Contents