Creating and Running Custom Algorithms
121
Individual element numbers are isolated by commas. A contiguous range of
elements is specified by: <starting element>colon<ending element>.
Writing values to the FIFO
The FIFO, as the name implies is a First-In-First-Out buffer. It can buffer up
to 65,024 values. This capability allows your algorithm to send a continuous
stream of data values related in time by their position in the buffer. This can
be thought of as an electronic strip-chart recorder. Each value is sent to the
FIFO by executing the Algorithm Language intrinsic statement
writefifo(<expression>). The following in an example algorithm statement:
writefifo(O124); /* send output channel 24’s value to the FIFO */
Since you can determine the actual algorithm execution rate (see
“Programming the Trigger Timer” on page 84), the time relationship of
readings in the FIFO is very deterministic.
Reading values from the FIFO
For a discussion on reading values from the FIFO, see “Reading History
Mode Values From the FIFO” on page 88.
Writing values to the FIFO and CVT
The writeboth(<expression>,<cvt_element>) statement sends the value of
<expression> both to the FIFO and to a <cvt_element>. Reading these
values is done the same way as mentioned for writefifo() and writecvt().
Setting a VXIbus
Interrupt
The algorithm language provides the function interrupt() to force a VXIbus
interrupt. When interrupt() is executed in your algorithm, a VXIbus
interrupt line (selected by the the SCPI command DIAG:INTR[:LINe]) is
asserted. The following example algorithm code tests an input channel value
and sets an interrupt if it is higher or lower than set limits.
static float upper_limit = 1.2, lower_limit = 0.2;
if( I124 > upper_limit || I124 < lower_limit ) interrupt();
Determining Your
Algorithm’s Identity
(ALG_NUM)
When you define your algorithm with the ALG:DEF 'ALGn',... command,
the E1415's driver make available to your algorithm the constant
ALG_NUM. ALG_NUM has the value n from "ALGn". For instance, if you
defined an algorithm with <alg_name> equal to "ALG3", then ALG_NUM
within that algorithm would have the value 3.
What can you do with this value? To give you an idea, the standard PID
algorithm PIDB uses ALG_NUM to determine which CVT elements it should
use to store values. Here’s a short example of the code used:
writecvt ( inp_channel, (ALG_NUM * 10) + 0 );
writecvt ( Error, (ALG_NUM * 10) + 1 );
writecvt ( outp_channel, (ALG_NUM * 10) + 2 );
writecvt ( Status, (ALG_NUM * 10) + 3 );
This code writes PID values into CVT elements 10 through 13 for ALG1,
CVT elements 20 through 23 for ALG2, CVT elements 30 through 33 for
Содержание VXI 75000 C Series
Страница 2: ......
Страница 16: ...16 ...
Страница 18: ......
Страница 30: ...30 Getting Started Chapter 1 Notes ...
Страница 32: ...32 Field Wiring Chapter 2 Figure 2 1 Channel Numbers at SCP Positions ...
Страница 44: ...44 Field Wiring Chapter 2 Figure 2 11 HP E1415 Terminal Module ...
Страница 54: ...54 Field Wiring Chapter 2 Notes ...
Страница 61: ...Programming the HP E1415 for PID Control 61 Chapter 3 Programming Overview Diagram ...
Страница 124: ...124 Creating and Running Custom Algorithms Chapter 4 Figure 4 2 Algorithm Operating Sequence Diagram ...
Страница 136: ...136 Creating and Running Custom Algorithms Chapter 4 Notes ...
Страница 152: ...152 Algorithm Language Reference Chapter 5 Notes ...
Страница 304: ...304 HP E1415 Command Reference Chapter 6 Command Quick Reference Notes ...
Страница 308: ...308 Specifications Appendix A Thermocouple Type E 200 800C SCPs HP E1501 02 03 ...
Страница 309: ...Specifications 309 Appendix A Thermocouple Type E 200 800C SCPs HP E1508 09 ...
Страница 310: ...310 Specifications Appendix A Thermocouple Type E 0 800C SCPs HP E1501 02 03 ...
Страница 311: ...Specifications 311 Appendix A Thermocouple Type E 0 800C SCPs HP E1509 09 ...
Страница 312: ...312 Specifications Appendix A Thermocouple Type E Extended SCPs HP E1501 02 03 ...
Страница 313: ...Specifications 313 Appendix A Thermocouple Type E Extended SCPs HP E1508 09 ...
Страница 314: ...314 Specifications Appendix A Thermocouple Type J SCPs HP E1501 02 03 ...
Страница 315: ...Specifications 315 Appendix A Thermocouple Type J SCPs HP E1508 09 ...
Страница 316: ...316 Specifications Appendix A Thermocouple Type K SCPs HP E1501 02 03 ...
Страница 317: ...Specifications 317 Appendix A Thermocouple Type R SCPs HP E1501 02 03 ...
Страница 318: ...318 Specifications Appendix A Thermocouple Type R SCPs HP E1508 09 ...
Страница 319: ...Specifications 319 Appendix A Thermocouple Type S SCPs HP E1501 02 03 ...
Страница 320: ...320 Specifications Appendix A Thermocouple Type S SCPs HP E1508 09 ...
Страница 321: ...Specifications 321 Appendix A Thermocouple Type T SCPs HP E1501 02 03 ...
Страница 322: ...322 Specifications Appendix A Thermocouple Type T SCPs HP E1508 09 ...
Страница 323: ...Specifications 323 Appendix A 5K Thermistor Reference SCPs HP E1501 02 03 ...
Страница 324: ...324 Specifications Appendix A 5K Thermistor Reference SCPs HP E1508 09 ...
Страница 325: ...Specifications 325 Appendix A RTD Reference SCPs HP E1501 02 03 ...
Страница 326: ...326 Specifications Appendix A RTD SCPs HP E1501 02 03 ...
Страница 327: ...Specifications 327 Appendix A RTD SCPs HP E1508 09 ...
Страница 328: ...328 Specifications Appendix A 2250 Thermistor SCPs HP E1501 02 03 ...
Страница 329: ...Specifications 329 Appendix A 2250 Thermistor SCPs HP E1508 09 ...
Страница 330: ...330 Specifications Appendix A 5K Thermistor SCPs HP E1501 02 03 ...
Страница 331: ...Specifications 331 Appendix A 5K Thermistor SCPs HP E1508 09 ...
Страница 332: ...332 Specifications Appendix A 10K Thermistor SCPs HP E1501 02 03 ...
Страница 333: ...Specifications 333 Appendix A 10K Thermistor SCPs HP E1508 09 ...
Страница 334: ...334 Specifications Appendix A Notes ...
Страница 346: ...346 Glossary Appendix C Notes ...
Страница 388: ...388 Generating User Defined Functions Appendix F Notes ...
Страница 438: ...438 Index Writing the algorithm 129 values to CVT elements 120 values to the FIFO 121 Z ZERO CALibration ZERO 194 ...