Raid 1(+0): breaking mirrors and rebuilding drives (9 pages)
Summary of Contents for HP VXI 75000 C Series
Page 1
VXIplug&play function reference......VXIplug&play Online Help Soft Front Panel information ......VXIplug&play Online Help VISA language information........HP VISA User’s Guide HP VEE programming information....HP VEE User’s Manual *Supplied with HP Command Modules , Embedded Controllers, and VXLink.
Manual Part Number: E1415-90002 Printed in U.S.A. E0896...
Page 4
Chapter 3 Programming the HP E1415 for PID Control ......55 About This Chapter ..........55 Overview of the HP E1415 Algorithmic Loop Controller .
3. HP does not warrant that the operation of HP products will be interrupted or error free. If HP is unable, within a reasonable time, to repair or replace any product to a condition as warranted, customer will be entitled to a refund of the purchase price upon prompt return of the product.
Documentation History All Editions and Updates of this manual and their creation date are listed below. The first Edition of the manual is Edition 1. The Edition number increments by 1 whenever the manual is revised. Updates, which are issued between Editions, contain replacement pages to correct or add additional information to the current Edition of the manual.
Supplementary Information: The product herewith complies with the requirements of the Low Voltage Directive 73/23/EEC and the EMC Directive 89/336/EEC (inclusive 93/68/EEC) and carries the "CE" mark accordingly. Tested in a typical configuration in an HP C-Size VXI mainframe. Jim White, QA Manager...
Please fold and tape for mailing Reader Comment Sheet HP E1415A Algorithmic Closed Loop Controller User’s Manual Edition 2 You can help us improve our manuals by sharing your comments and suggestions. In appreciation of your time, we will enter you in a quarterly drawing for a Hewlett-Packard Palmtop Personal Computer (U.S. government employees are not eligible for the drawing).
Setting the Logical Follow the next figure and ignore any switch numbering printed on the Logical Address switch. When installing more than one HP E1415 in a Address Switch single VXIbus Mainframe, set each instrument to a different Logical Address.
"Separating Digital and Analog SCP Signals" in Appendix E page 361. Plug-ons Caution Use approved Static Discharge Safe handling procedures anytime you have the covers removed from the HP E1415 or are handling SCPs. Installing SCPs: Step 1, Removing the Cover E1415 Remove the SCP Retaining Screws Remove 2 screws (#10 Torx);...
Page 22
Installing SCPs: Step 2, Mounting an SCP CAUTION Use approved Static Discharge handling procedures when handling the HP E1413 Scanning A/D Module and the SCPs. E1520 INSLSCP Tighten the SCP Retaining Screws Align the SCP Connectors with the Module Connectors...
Page 23
Installing SCPs: Step 3, Reinstalling the Cover E1415 Line up the 3 Tabs with the 3 Slots; then lower cover onto the Module Tighten 2 Screws E1520 INSTLEFT Chapter 1 Getting Started...
Page 24
Cover Terminal Module (Connect to A/D Module Later) Stick-on Label furnished with the SCP (HP part number: E15xx-84304) Peel off Label from Card and Stick on the Terminal Module to be Connected to the A/D Module...
Disabling the Disabling the Input Protect feature voids the HP E1415’s warranty. The Input Protect feature allows the HP E1415 to open all channel input relays if any input’s Input Protect voltage exceeds ±19 volts (±6 volts for digital I/O SCPs). This feature will help to Feature protect the card’s Signal Conditioning Plug-ons, input multiplexer, ranging...
Page 26
Accessing and Locating JM2201 and JM2202 E1415 Flash Memory Protect Jumper Default = PROG (recommended) JM2201 JM2202 1 Locate 2 Cut 3 Bend Input Protect Jumper Warning: Cutting this Jumper E1413 FIG1-3 Voids Your Warranty! 26 Getting Started Chapter 1...
Instrument Drivers If you will be using the HP E1415 with C-SCPI, the driver is supplied as an option to the C-SCPI product. Follow the C-SCPI documentation for use. The HP E1405B/E1406, down-loadable driver is supplied with your HP E1415. See the manual for your HP Command Module/Mainframe for down-loading procedures.
Page 28
#define LADD "208" /* Declares module as a register device */ INST_DECL(e1415, "E1415A", REGISTER); /* Prototypes of functions declared later */ voidrst_clr( void ); voidid_scps( void ); int32check_error( char * ); /************************************************************************/ void main() /* Main function */ charread_id[80]; /* Clear screen and announce program */ printf("\033H\033J\n\n Installation Verification Program\n\n");...
Page 29
exit(1); /*************************************************************************/ voidid_scps() /* Check ID of all installed SCPs */ int16scp_addr; charscp_id[100]; /* Get SCP identifications of all SCPs */ printf("\nSCP Identifications:\n\n"); for (scp_addr = 100; scp_addr <= 156; scp_addr += 8) INST_QUERY(e1415, "SYST:CTYP? (@%d)", "%s", scp_addr, scp_id); printf("ID for SCP %d is %s\n", (scp_addr - 100) / 8, scp_id); /************************************************************************/ int32check_error( char *message ) /* Check for module generated errors */ int16error;...
SCPs: 1. Paired SCPs (an output and a sense SCP) may reside in separate HP E1415s. SCP outputs are adjusted by *CAL? to be within a specific limit. The Engineering Unit (EU) conversion used for a sense channel will assume the calibrated value for the output channel.
Note To make good low-noise measurements you must use shielded wiring from the device under test to the Terminal Module at the HP E1415. The shield must be continuous through any wiring panels or isothermal reference connector blocks and must be grounded at a single point to prevent ground loops.
Terminal Modules The HP E1415 is comprised of an A/D module and a spring clamp type Terminal Module. The terminals utilize a spring clamp terminal for connecting solid or stranded wire. Connection is made with a simple push of a three-pronged insertion tool (HP part number 8710-2127), which is shipped with the HP E1415.
Page 36
Terminal Block for Input Connections Jumper to select for On-board or Remote Temperature Sensing Terminal Block with Remote Temperature Sensing, On-board Thermistor Trigger, and other Connections for Temperature Sensing Figure 2-3. HP E1415 Terminal Module 36 Field Wiring Chapter 2...
The Terminal Module provides an on-board thermistor for sensing isothermal reference temperature of the terminal blocks. Also provided is a jumper set (J1 in Figure 2-5) to route the HP E1415’s on-board current source to a thermistor or RTD on a remote isothermal reference block. Figure 2-4 and Figure 2-5 show connections for both local and remote sensing.
Page 38
HP E1415 at a uniform temperature. If there is no front door, try opening the back door. 6. HP recommends that the cooling fan switch on the back of the of an HP E1401 Mainframe is in the "High" position. The normal variable...
For any A/D Module to scan channels at high speeds, it must use a very short sample period (<10µsecond for the HP E1415). If significant normal mode noise is presented to its inputs, that noise will be part of the measurement.
Page 40
power Shield Shield Device Under Test pressure Guard power Remove Jumper to break Ground Loop Example for (shield connected to Powered ground at transducer) Transducers power Shield Device Under Test pressure Guard Leave Jumper power in Place (transducer floating) Shield Device Under Test Guard...
Page 41
Terminal Module External Connections 1 KΩ .1 µF GND to GRD Jumper 10 KΩ (removable) For each SCP Position 1 KΩ .1 µF GND to GRD Jumper 10 KΩ (removable) Figure 2-7. GRD/GND Circuitry on Terminal Module Removing Guard to Ground on Channel 00 Figure 2-8.
Connecting the On-board Thermistor The following figures show how to use the HP E1415 to make temperature measurements using the on-board Thermistor or a remote reference sensor. The Thermistor is used for reference junction temperature sensing for thermocouple measurements. Figure 2-9 shows the configuration for the HP E1415 Terminal Module.
Wiring and Attaching the Terminal Module Figure 2-10 and Figure 2-12 show how to open, wire, and attach the terminal module to an HP E1415. Figure 2-10. Wiring and Connecting the E1415’s Terminal Module Chapter 2 Field Wiring...
Page 44
Figure 2-11. HP E1415 Terminal Module 44 Field Wiring Chapter 2...
Attaching/Removing the HP E1415 Terminal Module Figure 2-12 shows how to attach the terminal module to the HP E1415 and Figure 2-13 shows how to remove it. Extend the extraction levers on the Terminal Module Install Mylar Thermal Barrier on Terminal Module...
Page 46
Use a small screwdriver to pry and release the two extraction levers Free and remove the Terminal Module from the A/D Module Extraction Lever HP E1415 Extraction Lever Figure 2-13. Removing the HP E1415 Terminal 46 Field Wiring Chapter 2...
Adding Components to the Terminal Module The back of the terminal module P.C. board provides surface mount pads which you can use to add serial and parallel components to any channel’s signal path. Figure 2-14 shows additional component locator information (see the schematic and pad layout information on the back of the teminal module P.C.
Terminal Module Wiring Map Figure 2-16 shows the Terminal Module map for the HP E1415. All wiring entering Terminal Module passes under this TRIG strain relief bar LCAL HCAL LOHM HOHM Heavy line indicates the side of the terminal block that the wire enters Figure 2-16.
Besides the standard Terminal Module with push-in connectors, the The HP E1415 can be ordered with the following two options. One option (Option A3F) allows connection to an HP E1586 Rack Mount Terminal Panel and the other option (A3E) allows direct connections to the HP E1415 A/D Module’s Faceplate using connectors.
Page 50
These contacts may be crimped onto a conductor and then inserted into a crimp-and-insert connector. The crimp tool kit is required to crimp the contacts onto a conductor and remove the contact from the connector. Order HP 91515A. Wire Gauge Range: 20 - 24 AWG...
Crimp-and-Insert Tools The hand crimp tool (part number HP 91518A) is used for crimping contacts onto a conductor. The pin extractor tool (part number HP 91519A) is required for removing contacts from the crimp-and-insert connector. These products are not included with Option A3E or with the terminal option accessories listed earlier.
Page 52
Rack Mount There are two different cables available for connecting the HP E1586 Rack Mount Terminal Panel to the HP E1415 Option A3F. In both cases, four cables are required Terminal Panel if all 64-channels are needed. These cables do not come with the HP E1415 Option Accessories A3F and must be ordered separately.
Faceplate Connector Pin-Signal Lists Figure 2-19 shows the Faceplate Connector Pin Signal List for the HP E1415. Figure 2-19. HP E1415A Faceplate Connector Pin Signals Chapter 2 Field Wiring...
• Settling Characteristics ....... . . 110 Overview of the HP E1415 Algorithmic Loop Controller The first part of this chapter will provide an overview of the HP E1415’s operating model, and programming. This will help you understand the affects of programming commands you will see in later examples and detailed discussions.
+16 Volts. Programming Model You is configure, start, stop, and communicated with the HP E1415 using its SCPI command set. The module can be in one of two states; either the "idle" state, or the "running" state. The INITiate[:IMMediate] command moves the module from the "idle"...
Executing the Programming Model This section shows the sequence of programming steps that should be used for the HP E1415. Within each step, most of the available choices are shown using command sequence examples, with further details available in the...
Figure 3-3 provides a quick reference to the Programming model. Refer to this, together with the “Programming Overview Diagram” to keep an overview of the HP E1415 SCPI programming sequence. Again, where default settings are what you want, you can skip that configuration step...
Page 60
Trigger events execute algs SENS:DATA:FIFO: ..., SENS:CVT: ... Step 11 Retrieve Data ALG:SCAL?, and ALG:ARR? commands ALG:ARRay, ALG:SCALar, Step 12 Modify Algorithm Variables ALG:STAT, ALG:SCAN:RATio, ALG:UPD Figure 3-3. Programming Sequence 60 Programming the HP E1415 for PID Control Chapter 3...
This step applies only to programmable Signal Conditioning Plug-ons such as the HP E1503 Programmable Amplifier/Filter SCP, the HP E1505 Programmable Current Source SCP, the HP E1510 Sample and Hold SCP, and the Analog SCP HP E1511 Transient Strain SCP. See the particular SCP’s User’s manual to...
Page 63
• The amplitude parameter sets the current output level. It is specified in units of Amps DC and for the HP E1505 SCP can take on the values 30e-6 (or MIN), and 488e-6 (or MAX). Select 488µA for measuring resistances of less than 8,000 Ohms. Select 30µA for resistances of 8,000 Ohms and above.
It is does not program output DAC SCPs like the HP E1532. Setting the HP E1511 The HP E1511 Strain Bridge Completion SCP has a programmable bridge excitation voltage source. The command to control the excitation supply is Strain Bridge SCP OUTPut:VOLTage:AMPLitude <amplitude>,(@<ch_list>)
Page 65
To link channels to the resistance EU conversion send the [SENSe:]FUNCtion:RESistance Measurements <excite_current>,[<range>,](@<ch_list>) command. Resistance measurements assume that there is at least one Current Source SCP installed (eight current sources per SCP). See Figure 3-4 Chapter 3 Programming the HP E1415 for PID Control...
Page 66
The excite_current parameter is used only to tell the EU conversion what the Current Source SCP channel is now set to. Excite_current is specified in Amps DC and the choices for the HP E1505 SCP are 30e-6 (or MIN) and 488e-6 (or MAX). Select 488µA for measuring resistances of less than 8,000 Ohms.
Page 67
2. sub_type values of 2250, 5000, and 10000 refer to thermistors that match the Omega 44000 series temperature response curve. These 44000 series thermistors have been selected to match the curve within ° 0.1 or 0.2 Chapter 3 Programming the HP E1415 for PID Control...
Page 68
The Reference Temperature Register can be loaded two ways: 1. By measuring the temperature of an isothermal reference junction 68 Programming the HP E1415 for PID Control Chapter 3...
Page 69
Reference Measurement Before Thermocouple Measurements At this point we are going to introduce you to the concept of the HP E1415’s Scan List. As you define each algorithm, the HP E1415 places any reference to an analog input channel into the Scan List. When you run algorithms, the scan list tells the HP E1415 which analog channels to scan during the Input Phase.
Page 70
• Configures thermocouple measurements on channels 16 through 23. • Instructs the HP E1415 to add channel 15 to the Scan List and order channels so channel 15 will be scanned before channels 16 through 23. SENS:REF THER, 5000, (@115)
SCPs are installed are automatically considered outputs. No Functions SOURce:FUNCtion command is required since the HP E1531 can only output voltage, while the HP E1532 can only output current. The only way to control the output amplitude of these SCPs is through the HP E1415’s Algorithm Language.
Page 72
To set the lower 8 bit channel of an HP E1533 in SCP position 4 to input SENS:FUNC:COND (@132) To set the upper 4 channels (bits) of an HP E1534 in SCP pos 2 to input states SENS:FUNC:COND (@120:123) Frequency Function The frequency function uses two commands.
• The <ch_list> parameter specifies the channels to configure. The HP E1533 has 2 channels of 8 bits each. All 8 bits in a channel take on the configuration specified for the channel. The HP E1534 has 8 I/O bits that are individually configured as channels.
Page 74
To set the upper 8 bit channel of an HP E1533 in SCP position 4 to output SOUR:FUNC:COND (@133) To set the lower 4 channels (bits) of an HP E1534 in SCP pos 2 to output states SOUR:FUNC:COND (@116:119) To configure digital channels to output static states:...
Example algorithm statement to control pulse width to .1 msec (20% duty-cycle) O132 = 0.1e-3; Fixed Width Pulses at Variable Frequency (FM) This function sets up one or more HP E1534 channels to output a train of ↑ ↓ pulses. A companion command sets the width (...
Page 76
SCPs to different SCP locations. How to Use *CAL? When you turn power on to the HP E1415 after you have first installed your SCPs (or after you have moved SCPs), the module will use approximate values for calibration constants. This means that input and output channels will function although the values will not be very accurate relative to the HP E1415’s specified capability.
Defining Standard PID Algorithms The HP E1415 provides you the choice of two different pre-defined PID algorithms that are widely used in process control. The Pre-defined Figure 3-5 shows the block diagram of the PID algorithm that is defined when you execute PIDA Algorithm ALG:DEFINE ’ALGn’,’PIDA(<inp_channel>,<outp_channel>)’...
Page 78
The variables that control the manual mode are: Auto/Manual control; Man_state (0 = automatic (default), 1 = manual) Manual output control; Man_out (defaults to current auto value) 78 Programming the HP E1415 for PID Control Chapter 3...
<alg_def_string> contains a string that selects the PID algorithm (PIDA... , or PIDB... ), and specifies the input, and output "channels". PIDB also takes an alarm "channel". The general form of the string is: PIDx(<inp_channel>,<outp_channel>,<alarm_channel>)’ Chapter 3 Programming the HP E1415 for PID Control...
The <alg_def_string> commands the driver’s translator function to download the program code for the selected PID algorithm into the HP E1415’s algorithm memory space where is can be executed. The source code listings for the available PIDs can be seen in Appendix D page 347.
FORM ASC same operation as above Selecting the The HP E1415’s FIFO can operate in two modes. One mode is for reading FIFO values while algorithms are executing, the other mode is for reading FIFO Mode FIFO values after algorithms have been halted (ABORT sent).
Setting up the Trigger System Arm and Trigger Figure 3-7 shows the trigger and arm model for the HP E1415. Note that when the Trigger Source selected is TIMer(the default), the remaining Sources sources become Arm Sources. Using ARM:SOUR allows you to specify an event that must occur in order to start the Trigger Timer.
Page 83
The trigger signal is always true (scan starts when an … INITiate: command is received). SCP Trigger Bus (future HP or SCP Breadboard) TIMer The internal trigger interval timer (must set Arm source) TTLTrg<n> The VXIbus TTLTRG lines (n=0 through 7) NOTES 1.
After you have defined all of your algorithms, you send the ALG:TIME? command with its <alg_name> parameter set to ’MAIN’. This causes the HP E1415’s driver to analyze the time required for all four phases of the execution cycle; Input, Update, Calculate, and Output. The value returned from ALG:TIME? ’MAIN’...
Trig Idle State. Outputting Trigger The HP E1415 can output trigger signals on any of the VXIbus TTLTRG lines. Use the OUTPut:TTLTrg<n>[:STATe] ON | OFF command to select Signals one of the TTLTRG lines and then choose the source that will drive the TTLTRG line with the command OUTPut:TTLTrg:SOURce command.
Trigger Event Figure 3-8. Sequence of Loop Operations The Operating The HP E1415 has four major operating phases. Figure 3-8 shows these phases. A trigger event starts the sequence: Sequence 1. (INPUT); the state of all digital inputs are captured and each analog input channel that is linked to an algorithm variable is scanned.
The CVT has a total size of 512 elements. Elements 10 through 511 are available to algorithms. Elements 0 through 9 are reserved for internal use. Chapter 3 Programming the HP E1415 for PID Control...
FIFO capacity) when they become available. This command completes only after the 32,768 values are transferred. [SENSe:]DATA:FIFO:PART? <n_values> returns the number of values specified by <n_values> (2,147,483,647 maximum). This command completes only after n_values have been transferred. 88 Programming the HP E1415 for PID Control Chapter 3...
Page 89
(bit 4 "measuring") Algorithm Stopped? Enough Values Any Values in FIFO? DATA:FIFO:COUNT? in FIFO? Execute Bulk Transfer Execute Final Transfer DATA:FIFO:PART? <n_values> Command Command Exit Data Retrieval Figure 3-9. Controlling Reading Count Chapter 3 Programming the HP E1415 for PID Control...
Algorithm Variables and Coefficients ALG:UPD cause changes to take place Updates are performed during phase 2 of the algorithm execution cycle (see Figure 3-8 on page 86). The UPDate:WINDow <num_updates> command 90 Programming the HP E1415 for PID Control Chapter 3...
ALG:SCAN:RATIO ’ALG3’,20, followed by an ALG:UPDATE command. ’ALG3’ would then execute on the first trigger after INIT, then the 21st, then the 41st, etc. This can be useful to adjust the Chapter 3 Programming the HP E1415 for PID Control...
The object is to control the voltage level in the capacitor. The example program is written in C-SCPI. To save space, the program shown here does not include any error 92 Programming the HP E1415 for PID Control Chapter 3...
Page 93
/* Open the E1415 device session with error checking */ INST_OPEN(e1415, E1415_ADDR);/* Open the E1415 */ if (! e1415) {/* Did it open? */ (void) fprintf(stderr, "Failed to open the E1415 at address %s\n", Chapter 3 Programming the HP E1415 for PID Control...
Page 94
( i = 0; i < 10 ; i++ ) { /* read CVT 10 times */ /* ALG1 has elments 10-13 in CVT */ INST_QUERY( e1415, "data:cvt? (@10:13)","%f",&process_info ); printf("Process variable: %f, %f, %f, %f\n",process_info[0], process_info[1],process_info[2],process_info[3]); 94 Programming the HP E1415 for PID Control Chapter 3...
FIFO Using the Status System The HP E1415’s Status System allows you to quickly poll a single register (the Status Byte) to see if any internal condition needs attention. Figure 3-11 shows that the three Status Groups (Operation Status, Questionable Data, and the Standard Event Groups) and the Output Queue all send summary information to the Status Byte.
Page 96
FIFO Half Full Execution Error Algorithm Interrupt Command Error User request Power-On *ESE <mask_value> *ESR? *ESE? Condition Filter Event Enable (real time) (latched) (1=enable) Figure 3-12. HP E1415A Status System 96 Programming the HP E1415 for PID Control Chapter 3...
Page 97
Command Error Unrecognized command or improper parameter count or type. User Request Not used by HP E1415 Power-On Power has been applied to the instrument Chapter 3 Programming the HP E1415 for PID Control...
If you only wanted the "FIFO Overflowed" condition to be reported by the QUE bit (bit 3) of the Status Byte, you would execute; STAT:QUES:ENAB 1024 1024=decimal value for bit 10 98 Programming the HP E1415 for PID Control Chapter 3...
Use the SYST:ERR? command to read the error(s). Bit 4 (MAV) bit value 16 There is a message available in the Output Queue. You should execute the appropriate query command. Chapter 3 Programming the HP E1415 for PID Control...
In this way the RQS bit is like the HP-IB’s SRQ (Service Request) line. The difference is that while executing an HP-IB serial poll (SPOLL) releases the SRQ line, executing the *STB? command does not clear the RQS bit in the Status Byte. You must read the Event Register of the group who’s summary bit is causing the RQS.
Updating the Status System and VXIbus Interrupts The driver needs to update the status system’s information whenever the status of the HP E1415 changes. This update is always done when the status system is accessed, or when CALibrate, INITiate, or ABORt commands are executed.
Page 102
QUES or OPER registers. If that bit is enabled via the STATus:OPER/QUES:ENABle command to be a part of the group summary bit, it will also enable the HP E1415 interrupt for that condition. If that bit is not enabled, the corresponding interrupt will be disabled.
HP E1415. Standard EU Operation The EU conversion tables built into the HP E1415 are stored in a "library" in the module’s non-volatile Flash Memory. When you link a specific …...
Page 104
“Thermocouple Reference Temperature Compensation” on page 68. Custom Reference The HP E1415 can measure reference junction temperatures using custom characterized RTDs and thermistors. The custom EU table generated for the Temperature EU individually characterized transducer is loaded to the appropriate channel(s) Conversions using the DIAG:CUST:PIEC command.
Page 105
• The limit on the number of different custom EU tables that can be loaded in an HP E1415 is the same as the number of channels. • Custom tables can provide the same level of accuracy as the built-in tables.
Compensating for System Offsets System Wiring Offsets The HP E1415 can compensate for offsets in your system’s field wiring. Apply shorts to channels at the Unit-Under-Test (UUT) end of your field wiring, and then execute the CAL:TARE (@<ch_list>) command. The instrument will measure the voltage at each channel in <ch_list>...
Flash Memory you can execute the CAL:STORE TARE command. NOTE The HP E1415’s Flash Memory has a finite lifetime of approximately ten thousand write cycles (unlimited read cycles). While executing CAL:STOR once every day would not exceed the lifetime of the Flash Memory for approximately 27 years, an application that stored constants many times each day would unnecessarily shorten the Flash Memory’s lifetime.
TARE. Detecting Open Transducers Most of the HP E1415’s analog input SCPs provide a method to detect open transducers. When Open Transducer Detect (OTD) is enabled, the SCP injects a small current into the HIGH and LOW input of each channel. The polarity of the current pulls the HIGH inputs toward +17 volts and the LOW inputs towards -17 volts.
DIAG:OTD OFF, (@100,116) More On Auto Ranging There are rare circumstances where your input signal can be difficult for the HP E1415 to auto range correctly. The module completes the range µ selection based on your input signal about 6 sec before the actual measurement is made on that channel.
The simple answer here is to always use an SCP that presents a low impedance buffered output to the HP E1415’s Range Amp and A/D. The HP E1503, 8, 9, 10, 12, and 14 through 17 SCPs all provide this capability.
4 provided by the SCP amplifier allows the Range Amplifier to be set one range higher and still provide the same measurement resolution. Amplifier SCPs for the HP E1415 are available with gains of .5, 8, 16, 64, and 512. Lets return to our earlier example of a difficult measurement where one channel is measuring 15.5 volts on the 16 volt...
Page 112
SENS:CHAN:SETTLING <num_samples>,(@<ch_list>) command to add extra settling time for just these problem channels. What SENS:CHAN:SETTLING does is instruct the HP E1415 to replace single instances of a channel in the Scan List with multiple repeat instances of that channel if it is specified in (@<ch_list>).
Algorithm Language. The contents of this chapter are: • Describing the HP E1415 Closed Loop Controller... . 114 • What is a Custom Algorithm?......114 •...
Language you will use to create your custom algorithms. The source code for PIDA, PIDB, as well a third algorithm "PIDC" are supplied with your HP E1415 so you can use these as the basis for custom PID algorithms. Overview of the Algorithm Language As mentioned in the Introduction, the HP E1415’s Algorithm Language is...
The Main Function All ’C’ language programs consist of one or more functions. A ’C’ program must have a function called main(). In the HP E1415, the main() function is usually generated automatically by the driver when you execute the INIT command.
"body" of your function, the HP E1415’s driver supplies the rest. Think of the program space in the HP E1415 in the form of a source file with any global variables first, then the main() function followed by as many algorithms as you have defined.
/********* Your algorithm code goes here **********/ Figure 4-1. Source Listing of Function mai Accessing the E1415’s Resources This section describes how your algorithm accesses hardware and software resources provided by the HP E1415. The following is a list of these resources: • I/O channels.
".Bn" to the normal channel syntax; where n is the bit number (0 through 7). If the Digital I/O SCP has single-bit channels (like the HP E1534), its channel identifiers can only take on the values 0 and 1. Examples: O100 = 1;...
(or implicitly, in the case of HP E1531&32 SCPs) be tied to the channels. If your algorithm references an input channel identifier that is not configured as an input channel, or an output channel identifier that is not configured as an output channel, the driver will generate an error when your algorithm is defined with ALG:DEF.
Initializing Variables Variable initialization can be performed during three distinct HP E1415 operations. 1. When you define algorithms with the ALG:DEFINE command. A declaration initialization statement is a command to the driver’s translator function and doesn’t create an executable statement. The value assigned during algorithm definition is not re-assigned when the algorithm is run with the INIT command.
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.
User defined functions are global in scope. A user function defined with ALG:FUNC:DEF is available to all defined algorithms. Up to 32 functions can be defined in the HP E1415. You call your function with the syntax <func_name>(<expression>). Example: for user function pre-defined as square root with name ’sqrt’...
Once you see it here, you won’t do this in your programs. The following algorithm statements will help explain: O124.B0 = 1;/* digital output bit on HP E1533 in SCP position 3 */ O124.B0 = 0;...
Sequence section). ALG:DEFINE’s For custom algorithms, the ALG:DEFINE ’<alg_name>’,’<source_code>’ command sends the algorithm’s source code to the HP E1415’s driver for Three Data Formats translation to executable code. The <source_code> parameter can be sent in one of three forms: 1. SCPI Quoted String: For short segments (single lines) of code, enclose the code string within single (apostrophes), or double quotes.
See the section "Running the Algorithm" later in this chapter for more on loading algorithms from files. Changing an The HP E1415 has a feature that allows you to specify that a given algorithm can be swapped with another even while it is executing. This is useful if, for Algorithm While instance, you needed to alter the function of an algorithm that is currently it’s Running...
Page 127
How Does it Work? 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".
This section will show you how to create and download an algorithm that simply sends the value of an input channel to a CVT element. It includes an example application program that configures the HP E1415, downloads (defines) the algorithm, starts and then communicates with the running algorithm.
PIDA and PIDB are also available as source files supplied with your HP E1415. Also included is a source file for a PIDC algorithm. PIDC has more features than PIDB but is not pre-defined in the HP E1415’s driver like PIDA and PIDB.
Modifying the This behavior is easy to fix. We’ll just modify the standard PIDA algorithm source code (supplied with your HP E1415 in the file PIDA.C) and then Standard PIDA define it as a custom algorithm. Use the following steps.
SCP channels but are instead buffered in the Output Channel Buffer until the Output Phase occurs. This situation allows easy implementation of decouplers because it allows an algorithm following the two PIDs to inspect their output values and make adjustments to them before they are sent to output channels.
Page 132
GLOBAL cold_setpoint 120° ALG2 Product Flow Controller O116 I109 55° Cold Supply flow transmitter ALG1 Ratio Station I108 180° Hot Supply flow transmitter Figure 4-4. Inter-algorithm Communication with Globals To set up the algorithms for this example: 1. Define the global variable cold_setpoint ALG:DEF ’GLOBALS’,’static float cold_setpoint;’...
SCP position 0, and one channel (8 bits) of digital input from an HP E1533 in SCP position 2. The results of the acquisition are placed in the CVT and FIFO.
writecvt( I102, 332); /* write analog value to CVT */ Exceeded = Exceeded + ( ( I102 > Max_chan2 ) || ( I102 < Min_chan2 ) ); writecvt( I103, 333); /* write analog value to CVT */ Exceeded = Exceeded + ( ( I103 > Max_chan3 ) || ( I103 < Min_chan3 ) ); writecvt( I116, 334);...
Page 135
elements will take place. If the array is downloaded AFTER the index reaches 1023, the same setpoint profile will be executed until index reaches 1023 again. • The application program can monitor the index value with ALG:SCAL? "alg1","index" so it can keep track of where the profile sequence is currently running.
NOTE While all of the ANSI ’C’ keywords are reserved, only those keywords that are shown in bold are actually implemented in the HP E1415. Special HP E1415 The HP E1415 implements some additional reserved keywords. You may not create variables using these names:...
The "O" must be upper case. They can appear on either or both sides of the assignment operator. NOTE Trying to declare a variable with a channel identifier will generate an error. Operators The HP E1415’s Algorithm Language supports the following operators: Assignment Operator (assignment) example; c = 1.2345...
(a function of the driver invoked by ALG:DEF) performs the arithmetic operations before downloading the executable code to the algorithm memory in the HP E1415. For example look at the statement; a = 5 + 8; 140 Algorithm Language Reference...
8.0 being assigned to the variable "a". The Static Modifier All HP E1415 variables, local or global, must be declared as static. An example: static float gain_var, integer_var, deriv_var; /* three vars declared */ In ’C’, local variables that are not declared as static lose their values once the...
Bitfield Access The HP E1415 implements bitfield syntax that allows you to manipulate individual bit values within a variable. This syntax is similar to what would be done in ’C’, but doesn’t require a structure declaration. Bitfield syntax is supported only for the lower 16 bits (bits 0-15) of simple (scalar) variables and channel identifiers.
The string must not contain any executable source code. Language Syntax Summary This section documents the HP E1415's Algorithm Language elements. Identifier: first character is A-Z, a-z, or "_", optionally followed by characters; A-Z, a-z, 0-9 or "_".
Page 144
found, the number is assumed to be a Decimal Constant as above. Primary-expression: constant (expression) scalar-identifier scalar-identifier.bitnumber array-identifier[expression] abs(expression) max(expression,expression) min(expression,expression) Bit-number: where n=0-9 where nn=10-15 Unary-expression: primary-expression unary-operator unary-expression Unary-operator: Multiplicative-expression: unary-expression multiplicative-expression multiplicative-operator unary-expression Multiplicative-operator: Additive-expression: multiplicative-expression additive-expression additive-operator multiplicative-expression Additive-operator: 144 Algorithm Language Reference Chapter 5...
Program Structure and Syntax In this section you will learn the portion of the ’C’ programming language that is directly applicable to the HP E1415’ Algorithm Language. To do this we will compare the ’C’ Algorithm Language elements with equivalent BASIC language elements.
A common ’C’ programming error for BASIC programmers is to inadvertently use the assignment operator "=" instead of the comparison operator "==" in an if statement. Fortunately, the HP E1415 will flag this as a Syntax Error when the algorithm is loaded.
Page 149
’C’ Syntax Comments BASIC Syntax Simplest form (used often) if( boolean_expression ) statement ; IF boolean_expression THEN statement Two-line form (not recommended; use if( boolean_expression ) statement ; IF boolean_expression THEN multiple line form instead) statement END IF if( boolean_expression ){ statement;...
"*/", since this will terminate the comment. Overall Program The preceding discussion showed the differences between individual statements in BASIC and ’C’. Here we will show how the HP E1415’s Structure Algorithm Language elements are arranged into a program.
(0,331);/* else clause goes with first if statement. Note single line else */ Where to go Next If you have already read Chapter 3 “Programming the HP E1415 for PID Control”, you should now go to Chapter 4 “Algorithm Language Reference”.
Page 152
Notes: 152 Algorithm Language Reference Chapter 5...
Using This Chapter This chapter describes the Standard Commands for Programmable Instruments (SCPI) command set and the IEEE-488.2 Common Commands for the HP E1415. • Overall Command Index .......
Page 154
MEMory:VME:ADDRess <A24_address> ........154 HP E1415 Command Reference...
Page 155
[SENSe:]FUNCtion:FREQuency <ch_list>........Chapter 6 HP E1415 Command Reference...
Command Fundamentals Commands are separated into two types: IEEE-488.2 Common Commands and SCPI Commands. The SCPI command set for the HP E1415 is 1990 compatible Common The IEEE-488.2 standard defines the Common commands that perform functions like reset, self-test, status byte query, etc. Common commands are four or five...
Page 159
, usec=10 Hertz; hz, khz=10 , mhz=10 , ghz=10 The Comments section within the Command Reference will state whether a numeric parameter can also be specified in hex, octal, and/or binary; #H7B, #Q173, #B1111011 Chapter 6 HP E1415 Command Reference...
Page 160
Since the HP E1415 has an on-board 64 channel multiplexer, the card number will be 1 and the channel number can range from 00 to 63. Some example channel specifications:...
Linking a complete SCPI Command with other keywords from the same branch and level. Separate the first complete SCPI command from next partial command with the semicolon only. For example take the following portion of the [SENSE] subsystem command tree (the FUNCtion branch): Chapter 6 HP E1415 Command Reference...
SCPI Command Reference The following section describes the SCPI commands for the HP E1415. Commands are listed alphabetically by subsystem and also within each subsystem. A command guide is printed in the top margin of each page. The guide indicates the current subsystem on that page.
ABORt The ABORt subsystem is a part of the HP E1415’s trigger system. ABORt resets the trigger system from its Wait For Trigger state to its Trigger Idle state. Subsystem Syntax ABORt Caution ABORT stops execution of a running algorithm. The control output is left at the last value set by the algorithm.
An error is generated if <alg_name> or <array_name> is not defined. • When an array is defined (in an algorithm or in ’GLOBALS’), the HP E1415 allocates twice the memory required to store the array. When you send the ALG:ARRAY command, the new values for the array are loaded into the second space for this array.
46K words as it creates two spaces for this algorithm). -- If included, <swap_size> specifies the number of words of memory to allocate for the algorithm specified by <alg_name>. The HP E1415 will then allocate this much memory again, as an update buffer for this algorithm.
Page 168
<source_code> and any subsequent replacement for it or an error 3085 "Algorithm too big" will be generated. -- If <swap_size> is not included, the HP E1415 will allocated just enough memory for algorithm <alg_name>. Since there is no swapping buffer allocated, this algorithm cannot be changed until a *RST command is sent to clear all algorithms.
Page 169
ALG:DEF ’GLOBALS’,’static float My_global;’ ALG:DEF ’ALG2’,’PIDA(I100,O108)’ ALG:DEF ’ALG3’,’My_global = My_global + 1;’ Error INIT ALG:DEF ’ALG5’,’PIDB(I101,O109,O124.B0)’ "Can’t define new algorithm while running" b. The <alg_name> has not already been defined since a *RST command. Here Chapter 6 HP E1415 Command Reference...
Page 170
<alg_name> and re-define all algorithms that will replace <alg_name> by swapping them before you send INIT. This insures that all channels referenced in these algorithms will be available after INIT. 170 HP E1415 Command Reference Chapter 6...
*RST Condition: No algorithms or variables are defined. Usage ALG:SCAL ’ALG1’,’my_var’,1.2345 1.2345 to variable my_var in ALG1 ALG:SCAL ’ALG1’,’another’,5.4321 5.4321 to variable another also in ALG1 ALG:SCAL ’ALG3’,’my_global_var’,1.001 1.001 to global variable ALG:UPD update variables from update queue Chapter 6 HP E1415 Command Reference...
All enabled algorithms execute on the first trigger after INIT. • The algorithm specified by <alg_name> may or may not be currently defined. The specified setting will be used when the algorithm is defined. 172 HP E1415 Command Reference Chapter 6...
This can be used to determine whether algorithm <alg_name> is defined. • Returned Value: numeric value up to the maximum available algorithm memory (this approximately 46K words). The type is int32. • *RST Condition: returned value is 0. Chapter 6 HP E1415 Command Reference...
Make certain that you have put your process into a safe state before you halt execution of a controlling algorithm. The HP E1535 Watchdog Timer SCP was specifically developed to automatically signal that an algorithm has stopped controlling a process. Use of the Watchdog Timer is recommended for critical processes.
• If triggered more rapidly than the value returned by ALG:TIME? ’MAIN’, the HP E1415 will generate a "Trigger too fast" error. Note If <alg_name> specifies an undefined algorithm, ALG:TIME? returns 0.
• You generate values for <range>, <offset>, and <func_data> with a program supplied with your HP E1415. It is provided in C-SCPI, and HP Basic forms. See Appendix F page 367 "Generating User Defined Functions" for full information. •...
Note that the delay value returned by ALG:OUTP:DEL? is valid only until another algorithm is loaded. After that, you would have to re-issue the ALG:OUTP:DEL AUTO and ALG:OUTP:DEL? commands to determine the new delay that includes the added algorithm. • When Accepted: Before INIT only. Chapter 6 HP E1415 Command Reference...
SCP sent to SCP channels, algorothms sent to SCP channels, channels analog & channels analog & digital digital Set by ALG:OUTPUT:DELay (if any) Trigger Event Trigger Event Figure 6-1. Updating Variables and Algorithms 178 HP E1415 Command Reference Chapter 6...
The update will be performed at the next update phase (UPDATE in Figure 6-1), following the channel’s change of digital state. This command is useful to synchronize multiple HP E1415s when you want all variable updates to be processed at the same time.
• *RST Condition: ALG:UPD:WIND 20 • When Accepted: Before INIT only. Usage You decide you will need to update a maximum of 8 variables during run-time. ALG:UPD:WIND 8 180 HP E1415 Command Reference Chapter 6...
The INIT command automatically performs the updates before starting the algorithms. ALGOrithm:UPDate:WINDow? returns the number of variable, and algorithm ALGOrithm:UPDate:WINDow? updates allowed within the UPDATE window. • Returned Value: number of updates in the UPDATEwindow. The type is int16 Chapter 6 HP E1415 Command Reference...
With the HP E1415, when the TRIG:SOURCE is set to TIMer, an ARM event must occur to start the timer. This can be something as simple as executing the ARM[:IMMediate] command, or it could be another event selected by ARM:SOURCE.
“TRG” signal on terminal module HOLD ARM[:IMMediate] IMMediate The arm signal is always true (continuous arming). SCP Trigger Bus (future HP or SCP Breadboard) TTLTrg<n> The VXIbus TTLTRG lines (n=0 through 7) • See note about ARM subsystem on page 182.
• Returned Value: Discrete, one of BUS, HOLD, IMM, SCP, or TTLT0 through TTLT7. The C-SCPI type is string. Usage ARM:SOUR? An enter statement return arm source configuration 184 HP E1415 Command Reference Chapter 6...
1. "A/D Calibration"; In these procedures, an external multimeter is used to calibrate the A/D gain on all 5 of its ranges. The multimeter also determines the value of the HP E1415’s internal calibration resistor. The values generated from this calibration are then stored in nonvolatile memory and become the basis for "Working Calibrations.
Terminal Module, or the V H, V L, Ω H, and Ω L terminals on the Cal Bus connector. • Comments Related Commands: CAL:VAL:RES, CAL:STOR ADC • When Accepted: Not while INITiated 186 HP E1415 Command Reference Chapter 6...
Send measured value to module repeat above sequence for full-scale repeat zero and full-scale for remaining ranges (.25, 1, 4, 16) CAL:STORE ADC Store cal constants in non-volatile memory (used only at end of complete cal sequence) Chapter 6 HP E1415 Command Reference...
C-SCPI driver waiting for response data from the instrument. If you have multiple HP E1415s in your system you can start a CAL:SET operation on each and then execute a CAL:SET? command to complete the operation on each instrument.
CAL:TARE channel offsets into Flash Memory. Note The HP E1415’s Flash Memory has a finite lifetime of approximately ten thousand write cycles (unlimited read cycles). While executing CAL:STOR once every day would not exceed the lifetime of the Flash Memory for approximately 27 years, an application that stored constants many times each day would unnecessarily shorten the Flash Memory’s lifetime.
The voltage a thermocouple wire pair generates can not be removed by introducing a short anywhere between its junction and its connection to an isothermal panel (either the HP E1415's Terminal Module or a remote isothermal reference block). Thermal voltage is generated along the entire length of a thermocouple pair where there is any temperature gradient along that length.
• The HP E1415’s Flash Memory has a finite lifetime of approximately ten thousand write cycles (unlimited read cycles). While executing CAL:STOR once every day would not exceed the lifetime of the Flash Memory for approximately 27 years, an application that stored constants many times each day would unnecessarily shorten the Flash Memory’s lifetime.
5% of the nominal reference resistor value (7,500 Ohms) and may be specified in Kohm (kohm). • A four-wire measurement of the resistor can be made with an external 192 HP E1415 Command Reference Chapter 6...
Calibration Bus connector. • When Accepted: Not while INITiated • Related Commands: CAL:CONF:VOLT, CAL:STORE ADC Command CAL:CONF:VOLTAGE 4,FSCALE *OPC? Wait for operation to complete Sequence enter statement (now measure voltage with external DMM) Chapter 6 HP E1415 Command Reference...
• Executing this command does not alter the module’s programmed state (function, range etc.). • Related Commands: *CAL? • *RST Condition: A/D offset performed Usage CAL:ZERO? enter statement here returns 0 or -1 194 HP E1415 Command Reference Chapter 6...
:QUERy :SCPREAD? < reg_addr > :VERSion? DIAGnostic:CALibration:SETup[:MODE] DIAGnostic:CALibration:SETup[:MODE] < mode > sets the type of calibration to use for analog output SCPs like the HP E1531 and HP E1532 when *CAL? or CAL:SET are executed. Parameters Parameter Parameter Range of...
OTD circuitry disabled. This is done for two reasons: first, most users do not leave OTD enabled while taking readings, and second, the CALibration:TARE? operation takes much longer with OTD enabled. 196 HP E1415 Command Reference Chapter 6...
DIAGnostic:CUSTom:LINear < table_range >,< table_block >, (@< ch_list >) downloads a custom linear Engineering Unit Conversion table (in <table_block>) to the HP E1415. Contact your Hewlett-Packard System Engineer for more information on Custom Engineering Unit Conversion for your application. Chapter 6...
DIAGnostic:CUSTom:PIECewise < table_range >,< table_block >, (@< ch_list >) downloads a custom piece wise Engineering Unit Conversion table (in <table_block>) to the HP E1415. Contact your Hewlett-Packard System Engineer for more information on Custom Engineering Unit Conversion for your application.
Comments There are rare circumstances where your input signal can be difficult for the HP E1415 to auto range correctly. The module completes the range selection based on your input signal about 6 µsec before the actual measurement is made on that channel.
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 causes an error.
VXIbus interrupt line that the module is DIAGnostic:INTerrupt[:LINe]? set to use. • Comments Returned Value: Numeric 0 through 7. The C-SCPI type is int16. • Related Commands: DIAG:INT:LINE Usage DIAG:INT? Enter statement will return 0 through 7 Chapter 6 HP E1415 Command Reference...
DIAGnostic:OTDetect[:STATe] < enable >,(@< ch_list >) enables and disables the HP E1415’s "Open Transducer Detection" capability (OTD). When Open Transducer Detection is enabled, a very high impedance path connects all SCP channels to a voltage source greater than 16 volts. If an enabled channel has an open transducer, the input signal becomes the source voltage and the channel returns an input over-range value.
• Comments Returned Value: Examples of the response string format: HEWLETT-PACKARD,E1415,US34000478,A.04.00,Thu Aug 5 9:38:07 MDT 1994 • The C-SCPI type is string. • Related Commands: *IDN? Usage DIAG:VERS? Returns version string as shown above Chapter 6 HP E1415 Command Reference...
FETCh? returns readings stored in VME memory. • Comments This command is only available in systems using an HP E1405B or HP E1406A command module. • FETCH? does not alter the readings stored in VME memory. Only the *RST or INIT…...
Page 205
*(set up E1415 for scanning) TRIG:SOUR IMM let unit trigger on INIT INIT program execution remains here until VME memory is full or the HP E1415 has stopped taking readings FORM REAL,64 affects only the return of data FETCH? Note...
PACKed, 64 returns the same values as REAL, 64 except for Not-a-Number (NaN), IEEE +INF and IEEE -INF. The NaN, IEEE +INF and IEEE -INF values returned by PACKed,64 are in a form compatible with HP Workstation BASIC and HP BASIC/UX (see table on following page).
FORMAT ASCII, 7 Set format to 7-bit ASCII FORMat[:DATA]? returns the currently set response data format for readings. FORMat[:DATA]? • Comments Returned Value: Returns REAL, +32 | REAL, +64 | PACK, +64 | ASC, +7. Chapter 6 HP E1415 Command Reference...
Page 208
FORMat The C-SCPI type is string, int16. • Related Commands: FORMAT • *RST Condition: ASCII, 7 Usage FORMAT? Returns REAL, +32 | REAL, +64 | PACK, +64 | ASC, +7 208 HP E1415 Command Reference Chapter 6...
INITiate The INITiate command subsystem moves the HP E1415 from the Trigger Idle State to the Waiting For Trigger State. When initiated, the instrument is ready to receive one (:IMMediate) or more (depending on TRIG:COUNT) trigger events. On each trigger, the module will perform one control cycle which includes reading analog and digital input channels (Input Phase), executing all defined algorithms (Calculate Phase), and updating output channels (Output Phase).
Sending a value greater than the SCP’s highest cutoff frequency or less than the SCP’s lowest cutoff frequency generates a -222 "Data out of range" error. • When Accepted: Not while INITiated • Related Commands: INP:FILT:FREQ?, INP:FILT:STAT ON | OFF 210 HP E1415 Command Reference Chapter 6...
SCP channel reverts to its previously programmed setting. Parameters Parameter Parameter Range of Default Name Type Values Units enable boolean (uint16) 1 | 0 | ON | OFF none ch_list channel list (string) 100 - 163 none Chapter 6 HP E1415 Command Reference...
The gain set will be the one closest to the value specified by gain. Refer to your SCP manual for specific information on the SCP you are programming. Sending MAX will program the highest gain available with the SCP installed. 212 HP E1415 Command Reference Chapter 6...
INPut:LOW INPut:LOW < wvolt_type >,(@< ch_list >) controls the connection of input LO at a Strain Bridge SCP channel specified by <ch_list>. LO can be connected to the Wagner Voltage ground or left floating. Chapter 6 HP E1415 Command Reference...
100 - 163 none • Comments If the channels specified are on an SCP that doesn’t support this function, an error will be generated. See your SCP’s User’s Manual to determine its 214 HP E1415 Command Reference Chapter 6...
If the channel specified is on an SCP that doesn’t support this function, an error will be generated. See your SCP’s User’s Manual to determine its capabilities. • Returned Value: returns "NORM" or "INV". The type is string. Chapter 6 HP E1415 Command Reference...
:ADDRess? :SIZE < mem_size > :SIZE? :STATe 1 | 0 | ON | OFF :STATe? Note This subsystem is only available in systems using an HP E1405B or HP E1406A command module. Use Sequence *RST MEM:VME:ADDR #H300000 MEM:VME:SIZE #H100000 1M byte or 262144 readings...
A24 address none • Comments This command is only available in systems using an HP E1405B or HP E1406A command module. • The default (if MEM:VME:ADDR not executed) is 240000 • A24_address may be specified in decimal, hex (#H), octal (#Q), or binary (#B).
MEMory • Comments This command is only available in systems using an HP E1405B or HP E1406A command module. • mem_size may be specified in decimal, hex (#H), octal (#Q), or binary(#B). • mem_size should be a multiple of four (4) to accommodate 32 bit readings.
MEMory:VME:STATe? disabled. Returned value of 1 indicates VME memory is enabled. • Comments This command is only available in systems using an HP E1405B or HP E1406A command module. • Returned Value: Numeric 1 or 0. C-SCPI type uint16. •...
Current Source SCP channels specified by ch_list to either 488 µA, or 30 µA. This current is typically used for four-wire resistance and resistance temperature measurements. Note This command does not set current amplitude on SCPs like the HP E1532 Current Output SCP. Parameters Parameter...
• Returned Value: Numeric value of amplitude set. The C-SCPI type is float32. • Related Commands: OUTP:CURR:AMPL Usage OUTP:CURR:AMPLITUDE? (@163) Check SCP current set for channel 63 (returns +3.0E-5 or +4.88E-4) Chapter 6 HP E1415 Command Reference...
0 and 8 OUTPut:CURRent[:STATe]? OUTPut:CURRent[:STATe]? (@< channel >) returns the state of the Current Source SCP channel specified by <channel>. If the channel is not on an HP E1505 Current Source SCP, the query will return zero. Parameters Parameter...
Returned Value: returns one of NORM or INV. The type is string. OUTPut:SHUNt adds shunt resistance to one leg of bridge OUTPut:SHUNt < enable >,(@< ch_list >) on Strain Bridge Completion SCPs. This can be used for diagnostic purposes and characterization of bridge response. Chapter 6 HP E1415 Command Reference...
Related Commands: OUTP:SHUNT Usage OUTPUT:SHUNt? (@116) Check status of shunt resistance on channel 16 OUTPut:TTLTrg:SOURce selects the internal source of the trigger OUTPut:TTLTrg:SOURce < trig_source > event that will operate the VXIbus TTLTRG lines. 224 HP E1415 Command Reference Chapter 6...
(as set by TRIG:COUNT) is exhausted. At this point the TTLTRG line will return to its high state (de-asserted). This feature can be used to signal when the HP E1415 has started running its control algorithms.
OUTPut:TYPE < select >,(@< ch_list >) sets the output drive characteristic for digital SCP channels. Parameters Parameter Parameter Range of Default Name Type Values Units select discrete (string) PASSive | ACTive seconds ch_list string 100 - 163 none 226 HP E1415 Command Reference Chapter 6...
OUTPut:VOLTage:AMPLitude < amplitude >,(@< ch_list >) voltage on programmable Strain Bridge Completion SCPs pointed to by <ch_list> (the HP E1511 for example). This command is not used to set output voltage on SCPs like the HP E1531 Voltage Output SCP.
OUTPut:VOLTage:AMPLitude? (@< channel >) returns the current setting of excitation voltage for the channel specified by <channel>. If the channel is not on an HP E1511 SCP, the query will return zero. • Comments channel must specify a single channel only.
After algorithm definition, if some delay is still required, there will be repeat entries of the last channel referenced by an algorithm. The three other lists contain no channels. Usage ROUT:SEQ:DEF? AIN query for analog input (Scan List) sequence Chapter 6 HP E1415 Command Reference...
"DOUT" selects the Digital Output list. • Returned Value: Numeric. The C_SCPI type is int16. • *RST Condition: The Analog Input list returns +8, the others return +0. Usage ROUT:SEQ:POINTS? AIN query for analog input channel count 230 HP E1415 Command Reference Chapter 6...
(SAMP:TIMER <interval>) X (<chan_repeats> from SENS:CHAN:SETT) • When Accepted: Not while INITiated • Related Commands: SENSE:CHAN:SETTLING, SAMP:TIMER? • *RST Condition: Sample Timer for all Channel Lists set to 1.0E-5 seconds. Usage SAMPLE:TIMER 50E-6 Pace measurements at 50µsecond intervals Chapter 6 HP E1415 Command Reference...
• Comments Returned Value: Numeric. The C-SCPI type is float32. • Related Commands: SAMP:TIMER • *RST Condition: Sample Timer set to 1.0E-5 seconds. Usage SAMPLE:TIMER? Check the interval between channel measurements 232 HP E1415 Command Reference Chapter 6...
Related Commands: [SENSe:]CHANnel:SETTling?, SAMPLE:TIMER • *RST Condition: SENS:CHAN:SETTLING 1,(@100:163) Usage SENS:CHAN:SETT 4,(@144,156) settle channels 44 and 56 for 4 measurement periods [SENSe:]CHANnel:SETTling? returns the current number of samples [SENSe:]CHANnel:SETTling? < channel > to make on <channel>. 234 HP E1415 Command Reference Chapter 6...
OutputProcess control drive value(PIDB & C) Status Bit values indicate Clips/Alarms limited(PIDB & C) SetpointSetpoint value (PIDC only) Setpoint_DValue of Differential term from setpoint(PIDC only) Value of Proportional term(PIDC only) Value of Integral term(PIDC only) Chapter 6 HP E1415 Command Reference...
The value of NaN is +9.910000E+037 (ASCII). • Executing DATA:CVT:RES while the module is INITiated will generate an error 3000, "Illegal while initiated". • When Accepted: Not while INITiated • Related Commands: SENSE:DATA:CVT? 236 HP E1415 Command Reference Chapter 6...
FIFO values until measurements complete and FIFO empty Command set up scan lists and trigger SENSE:DATA:FIFO:ALL? Sequence now execute read statement read statement does not complete until triggered measurements are complete and FIFO is empty Chapter 6 HP E1415 Command Reference...
• Use the DATA:FIFO:ALL? command to acquire the values remaining in the FIFO buffer after the ABORT command has stopped execution. • The format of values returned is set using the FORMat[:DATA] command. 238 HP E1415 Command Reference Chapter 6...
Mode, if the FIFO becomes full and measurements are still being made, new values overwrite the oldest values. • In both modes Error 3021, "FIFO Overflow" is generated to let you know that measurements have been lost. • When Accepted: Not while INITiated Chapter 6 HP E1415 Command Reference...
160. For REAL 32, each value is 4 bytes in length (the C-SCPI data type is a float32 array). For REAL 64 and PACK 64, each value is 8 bytes in length (the C-SCPI data type is a float64 array). 240 HP E1415 Command Reference Chapter 6...
If the channels specified are on an SCP that doesn’t support this function, an error will be generated. See your SCP’s User’s Manual for its capabilities. • Related Commands: SENSe:FUNCtion:FREQuency • *RST Condition: .001 sec Usage SENS:FREQ:APER .01,(@144) set channel 44 aperture to 10msec Chapter 6 HP E1415 Command Reference...
*RST Condition: SENS:FUNC:COND and INP:POL NORM for all digital SCP channels. Usage To set second 8-bits of HP E1533 at SCP position 4, and upper 4-bits of HP E1534 at SCP position 5 to digital inputs send: SENS:FUNC:COND (@133,144:147) 242 HP E1415 Command Reference...
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 causes an error -222 "Data out of range".
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 generates an error.
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 generates an error.
30E-6 | 488E-6 | MIN | MAX Amps range numeric (float32) see first comment ch_list channel list (string) 100 - 163 none • Comments The <range> parameter: The HP E1415 has five ranges: .0625VDC, .25VDC, 246 HP E1415 Command Reference Chapter 6...
Page 247
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 causes an error.
Because of the number of possible strain gage configurations, the driver must generate any Strain EU conversion tables and download them to the instrument when INITiate is executed. This can cause the time to complete the INIT command to exceed 1 minute. 248 HP E1415 Command Reference Chapter 6...
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 generates an error.
Page 250
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 generates an error.
Related Commands: SENS:TOT:RESET:MODE, INPUT:POLARITY • *RST Condition: SENS:FUNC:COND and INP:POL NORM for all digital SCP channels. Usage SENS:FUNC:TOT (@134) channel 34 is a totalizer [SENSe:]FUNCtion:VOLTage[:DC] [SENSe:]FUNCtion:VOLTage[:DC] [< range >,](@< ch_list >) links the specified Chapter 6 HP E1415 Command Reference...
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 causes an error.
Page 253
(for example, 4 selects the 4VDC range). If you specify a value larger than one of the first four ranges, the HP E1415 selects the next higher range (for example, 4.1 selects the 16VDC range). Specifying a value larger than 16 causes an error.
RTD measured before chs 12 - 15 [SENSe:]REFerence:TEMPerature [SENSe:]REFerence:TEMPerature < degrees_c > stores a fixed reference junction temperature in the Reference Temperature Register. Use when the thermocouple reference junction is kept at a controlled temperature. 254 HP E1415 Command Reference Chapter 6...
(float32) -126 to +126 none • Comments This command is used to specify to the HP E1415 the temperature of a controlled temperature thermocouple reference junction. • When Accepted: Not while INITiated • Related Commands: FUNC:TEMP TC… *RST Condition: Reference temperature is 0 °C •...
*RST Condition: Gage factor is 2 Usage STRAIN:GFAC 3,(@100:107) set gage factor for channels 0 through 7 [SENSe:]STRain:GFACtor? [SENSe:]STRain:GFACtor? (@< channel >) returns the gage factor currently set for the sense channel specified by <channel>. 256 HP E1415 Command Reference Chapter 6...
[SENSe:]STRain:POISson? (@< channel >) returns the Poisson ratio currently set for the sense channel specified by <channel>. Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 163 none Chapter 6 HP E1415 Command Reference...
Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 163 none • Comments Returned Value: Numeric value of unstrained voltage. The C-SCPI type is 258 HP E1415 Command Reference Chapter 6...
<channel>. Parameters Parameter Parameter Range of Default Name Type Values Units channel string 100 - 163 none • Comments Channel must specify a single channel. Chapter 6 HP E1415 Command Reference...
Page 260
[SENSe] • If the channel specified is not on a frequency/totalize SCP, an error will be generated. • Returned Value: returns INIT or TRIG. The type is string. 260 HP E1415 Command Reference Chapter 6...
If the channels specified are not on a Frequency/Totalize SCP, an error will be generated. • Use SOURce:FUNCtion[:SHAPe]:SQUare to set FM pulse train to 50% duty cycle. Use SOURce:PULSe:PERiod to set the period • *RST Condition: SOUR:FM:STATE OFF, SOUR:PULM:STATE OFF, Chapter 6 HP E1415 Command Reference...
• Comments The HP E1533 SCP sources 8 digital bits on the channel specified by this command. The HP E1534 SCP can source 1 digital bit on each of the the channels specified by this command. SOURce:FUNCtion[:SHAPe]:PULSe SOURce:FUNCtion[:SHAPe]:PULSe (@< ch_list >) sets the SOURce function to PULSe for the channels in <ch_list>.
FM state is disabled. If both the FM and the PULM states are disabled then the PULSe channel is in the single pulse mode. • If the channels specified are not on a Frequency/Totalize SCP, an error will be generated. Chapter 6 HP E1415 Command Reference...
For example: O140 = .0025 /* set channel 43 pulse-width to 2.5 msec */ Usage SOUR:PULS:PER .005,(@140) set PWM pulse train to 200 Hz on channel 40 SOURce:PULSe:PERiod? 264 HP E1415 Command Reference Chapter 6...
O143 = 2000 /* set channel 43 to 2KHz */ Usage SOUR:PULS:WIDTH 2.50E-3,(@143) set fixed pulse width of 2.5 msec on channel 43 SOURce:PULSe:WIDTh? SOURce:PULSe:WIDTh? (@< ch_list >) returns the fixed pulse width value on a frequency modulated pulse channel. Chapter 6 HP E1415 Command Reference...
Page 266
Channel must specify a single channel. • If the channels specified are not on a Frequency/Totalize SCP, an error will be generated. • Returned Value: returns the numeric pulse width. The type is float32. 266 HP E1415 Command Reference Chapter 6...
For a complete discussion See “Using the Status System” on page 95. Condition Positive/Negative Event Enable Register Transition Filter Register Register Bit 0 latch Logical Bit 1 latch Summary Bit to Status Byte Bit 14 latch latch Bit 15 Figure 6-4. General Status Register Organization Chapter 6 HP E1415 Command Reference...
Page 268
Standard Event Group • Status Byte Group This SCPI STATus subsystem communicates with the first two groups while IEEE-488.2 Common Commands (documented later in this chapter) communicate with Standard Event and Status Byte Groups. 268 HP E1415 Command Reference Chapter 6...
16,384 8,192 4,096 2,048 1,024 512 128 64 32 16 8 4 2 1 The Operation Status Group The Operation Status Group indicates the current operating state of the HP E1415. The bit assignments are: Bit # dec value hex value...
• Related Commands: *STB?, SPOLL, STAT:OPER:COND?, STAT:OPER:EVENT?, STAT:OPER:ENABLE? • Cleared By: STAT:PRESet and power-on. • *RST Condition: No change Usage STAT:OPER:ENABLE 1 Set bit 0 in the Operation Enable register 270 HP E1415 Command Reference Chapter 6...
Condition register must change from a one to a zero in order to set the corresponding bit in the Event register. When a bit in the NTF register is zero, a negative transition of the Condition register bit will not change the Event register bit. Chapter 6 HP E1415 Command Reference...
Event register. When a bit in the PTF register is zero, a positive transition of the Condition register bit will not change the Event register bit. 272 HP E1415 Command Reference Chapter 6...
Event or Questionable Event registers will be reported as a summary bit in either the Status Byte Group or Standard Event Status Group. STATus:PRESet does not clear either of the Event registers. • Comments Related Commands: *STB?, SPOLL, STAT:OPER:ENABLE, Chapter 6 HP E1415 Command Reference...
(see STAT:QUES:EVENT?). • Returned Value: Decimal weighted sum of all set bits. The C-SCPI type is uint16. • Related Commands: CAL:VALUE:RESISTANCE, CAL:VALUE:VOLTAGE, STAT:QUES:EVENT?, STAT:QUES:ENABLE, 274 HP E1415 Command Reference Chapter 6...
Questionable STATus:QUEStionable:ENABle? Enable register. • Comments Returned Value: Decimal weighted sum of all set bits. The C-SCPI type is uint16. • Related Commands: *STB?, SPOLL, STAT:QUES:COND?, STAT:QUES:EVENT?, STAT:QUES:ENABLE • *RST Condition: No change Chapter 6 HP E1415 Command Reference...
Event register. • If neither the STAT:QUES:PTR or STAT:QUES:NTR registers have a corresponding bit set to one, transitions from the Condition register will have no effect on the Event register. 276 HP E1415 Command Reference Chapter 6...
Event register. • If neither the STAT:QUES:PTR or STAT:QUES:NTR registers have a corresponding bit set to one, transitions from the Condition register will have no effect on the Event register. Chapter 6 HP E1415 Command Reference...
Returned Value: Decimal weighted sum of all set bits. The C-SCPI type is uint16. • Related Commands: STAT:QUES:PTR • *RST Condition: No change Usage STAT:OPER:PTR? Enter statement returns current value of bits set in the PTF register 278 HP E1415 Command Reference Chapter 6...
To return all errors in the queue, repeatedly execute SYST:ERR? until the error message string = +0, "No error" • Returned Value: Errors are returned in the form: ±<error number>, "<error message string>" • RST Condition: Error Queue is empty. Chapter 6 HP E1415 Command Reference...
Error Queue SYSTem:VERSion? SYSTem:VERSion? returns the version of SCPI this instrument complies with. • Comments Returned Value: String "1990". The C-SCPI type is string. Usage SYST:VER? Returns "1990" 280 HP E1415 Command Reference Chapter 6...
(stop triggering) execution of a controlling algorithm. The HP E1535 Watchdog Timer SCP was specifically developed to automatically signal that an algorithm has stopped controlling a process. Use of the Watchdog Timer is recommended for critical processes.
Related Commands: TRIG:COUNT • *RST Condition: TRIG:COUNT? returns 0 Usage TRIG:COUNT? Query for trigger count setting enter statement Returns the TRIG:COUNT setting TRIGger[:IMMediate] causes one trigger when the module is set to the TRIG:SOUR TRIGger[:IMMediate] Chapter 6 HP E1415 Command Reference...
EXTernal “TRG” signal on terminal module HOLD TRIGger[:IMMediate] IMMediate The trigger event is always satisfied. SCP Trigger Bus (future HP or SCP Breadboard) TIMer The internal trigger timer TTLTrg<n> The VXIbus TTLTRG lines (n=0 through 7) Note The ARM system only exists while TRIG:SOUR is TIMer. When TRIG:SOUR is not TIMer, SCPI compatibility requires that ARM:SOUR be IMM or an Error -221,"Settings conflict"...
Returned Value: Discrete; one of BUS, EXT, HOLD, IMM, SCP, TIM, or TTLT0 through TTLT7. The C-SCPI type is string. See the TRIG:SOUR command for more response data information. Usage TRIG:SOUR? ask HP E1415 to return trigger source configuration TRIGger:TIMer[:PERiod] sets the interval between scan triggers. TRIGger:TIMer[:PERiod] < trig_interval >...
Trigger Timer interval. • Comments Returned Value: Numeric 1 through 6.5536. The C-SCPI type is float32. • Related Commands: TRIG:TIMER • *RST Condition: 1.0E-4 Usage TRIG:TIMER? Query trig timer enter statement Returns the timer setting 286 HP E1415 Command Reference Chapter 6...
This may take many minutes to complete. The actual time it will take your HP E1415 to complete *CAL? depends on the mix of SCPs installed. *CAL performs literally hundreds of measurements of the internal calibration sources for each channel and must allow 17 time constants of settling wait each time a filtered channel’s calibrations source value is changed.
Standard Event Status Register to be reported in bit 5 (the Standard Event Status Summary Bit) of the Status Byte Register. You enable an event by specifying its decimal weight for <mask>. To enable more than one event (bit), 288 HP E1415 Command Reference Chapter 6...
Serial Number (returns 0 if not available) • Driver Revision (returns 0 if not available) *IDN? returns the following response strings depending on model and options: HEWLETT-PACKARD,E1415A,<serial number>,<revision number> • The C-SCPI type for this returned value is string. Chapter 6 HP E1415 Command Reference...
Note Do not use *OPC? to determine when the CAL:SETUP or CAL:TARE commands have completed. Instead, use their query forms CAL:SETUP? or CAL:TARE?. *PMC Purge Macros Command. Purges all currently defined macros. *PMC 290 HP E1415 Command Reference Chapter 6...
Defines all Analog Input channels to measure voltage • Configures all Digital I/O channels as inputs • Resets HP E1531 and HP E1532 Analog Output SCP channels to zero • When Accepted: Not while INITiated WARNING Note the change in character of output channels when *RST is received.
*SRE and that event occurs, it sets a bit in the Status Byte Register and issues an SRQ to the computer (sets the HP-IB SRQ line true). You enable an event by specifying its decimal weight for <mask>. To enable more than one event, specify the sum of the decimal weights.
*TST?. 2. Module must be screwed securely to mainframe. 3. The HP E1415 C-SCPI driver for MS-DOS® implements two versions of *TST. The default version is an abbreviated self test that executes only the Digital Tests. By loading an additional object file, you can execute the full self test as described below.
Page 294
Following *TST?, the module is placed in the *RST state. This returns many of the module's programmed states to their defaults. See “*RST” on page 291. for a list of the module's default states. • *TST? performs the following tests on the HP E1415 and installed Signal Conditioning Plug-ons: DIGITAL TESTS: Test#...
Page 295
Digital I/O SCPinternal digital interface 332: Digital I/O SCPuser input 333: Digital I/O SCPuser input 334: Digital I/O SCPuser output 335: Digital I/O SCPuser output 336: Digital I/O SCPoutput current 337: Digital I/O SCPoutput current Chapter 6 HP E1415 Command Reference...
Do not use *WAI to determine when the CAL:SETUP or CAL:TARE commands have completed. Instead, use their query forms CAL:SETUP? or CAL:TARE?. CAL:SETUP? and CAL:TARE? return a value only after the CAL:SETUP or CAL:TARE operations are complete. 296 HP E1415 Command Reference Chapter 6...
Command Quick Reference The following tables summarize SCPI and IEEE-488.2 Common (*) commands for the HP E1415Algorithmic Loop Controller. SCPI Command Quick Reference Command Description ABORt Stops scanning immediately and sets trigger system to idle state (scan lists are unaffected)
Page 298
ASCii[, 7] Seven bit ASCII format (not as fast as 32-bit because of conversion) PACKed[, 64] Same as REAL, 64 except NaN, +INF, and -INF formated for HP BASIC REAL[, 32] IEEE 32-bit floating point (requires no conversion so is fastest)
Page 299
Returns number of channels defined in above lists. SAMPle :TIMer <num_samples>,(@<ch_list>) Sets number of samples that will be made on channels in <ch_list> :TIMer? (@<channel>) Returns number of samples that will be made on channels in <ch_list> Chapter 6 HP E1415 Command Reference...
Page 300
:TEMPerature <sensor_type>,<sub_type>, Configure channels for temperature measurement types above: [<range>,](@<ch_list>) excitation current comes from Current Output SCP. :TOTalize (@<ch_list>) Configure channels to count digital state transitions :VOLTage[:DC] [<range>,](@<ch_list>) Configure channels for DC voltage measurement 300 HP E1415 Command Reference Chapter 6...
Page 301
Presets both the Operation and Questionable Enable registers to 0 :QUEStionable Questionable Data Status Group: Bit assignments; 8=Calibration Lost, 9=Trigger Too Fast, 10=FIFO Overflowed, 11=Over voltage, 12=VME Memory Overflow, 13=Setup Changed. :CONDition? Returns state of Questionable Status signals Chapter 6 HP E1415 Command Reference...
Page 302
Returns the current trigger source :TIMer Sets the interval between scan triggers when TRIG:SOUR is TIMer [:PERiod] <trig_interval> Sets the interval between scan triggers when TRIG:SOUR is TIMer [:PERiod]? Returns setting of trigger timer 302 HP E1415 Command Reference Chapter 6...
Page 303
*OPC? Operation Complete query Places an ASCII 1 in the output queue when all pending operations have finished. *TRG Trigger Trigger s module when TRIG:SOUR is HOLD. *WAI Wait to Complete Chapter 6 HP E1415 Command Reference...
Thermistors - (Opt 15 required) -80 to +160 ° RTD’s - (Opt 15 required) -200 to +850 Resistance (HP E1505 with HP E1501) 512 ohms to 131 Kohms FS µ Strain 25,000 e or limit of linear range of strain gage...
Page 306
.07581 .03792 The following specifications reflect the performance of the HP E1415 with the HP E1501 Direct Input Signal Conditioning Plug-on. The performance of the HP E1415 with other SCPs is found in the Specifications section of that SCP’s manual.
Page 307
• RTD, SCPs HP E1501,02,03......326 • RTD, SCPs HP E1508,09 ....... 327 •...
Appendix B Error Messages Possible Error Messages: -108 ’Parameter not allowed’. -109 ’Missing parameter’ -160 ’Block data error’. -211 ’Trigger ignored’. -212 ’Arm ignored’. -213 ’Init ignored’. -221 ’Settings conflict’. -222 ’Data out of range’. -224 ’Illegal parameter value’. -240 ’Hardware error’.
Page 336
before INIT or INIT:CONT ON. 3004 ’Illegal command. CAL:CONF not sent’. Incorrect sequence of calibration commands. Send CAL:CONF:VOLT command before CAL:VAL:VOLT and send CAL:CONF:RES command before CAL:VAL:RES 3005 ’Illegal command. Send CAL:VAL:RES’. The only command accepted after a CAL:CONF:RES is a CAL:VAL:RES command.
Page 337
’Calibration not in Process’. 3050 ’ZERO must be sent before FSCale’. Perform A/D Cal sequence as shown in Command Reference under CAL:CONF:VOLT 3051 ’Memory size must be multiple of 4’. From MEM:VME:SIZE. Each HP E1415 reading requires 4 bytes. Appendix B Error Messages...
Page 338
SCP. 73, 77 - 79, 94 - 99 (HP Service)* *Must send module to an HP Service Center for repair. Record information found in FIFO to assist the HP Service Center in repairing the problem. Refer to the Command Reference under *TST? for a list of module functions tested.
Page 339
3071 ’Checksum error on Flash Memory’ 3074 ’WARNING! Old Opt 16 or Opt 17 card can damage SCP modules’ must use HP E1506 or HP E1507. 3075 ’Too many entries in CVT list’ 3076 ’Invalid entry in CVT list’ Can only be 10 to 511 3077 ’Too many updates in queue.
Page 340
3082 ’Invalid Variable name’ Must be valid ’C’ identifier, see Chapter 5 3083 ’Global symbol (variable or custom function) already defined’ Trying to define a global variable with same name as a user defined function, or vice versa. User functions are also global. 3084 ’Algorithmic error queue full’...
Page 341
3086 ’Not enough memory to compile Algorithm’ Your algorithm’s constructs are using too much translator memory. Need more memory in your HP E1406. Try breaking your algorithm into smaller algorithms. 3088 ’Too many functions’ Limit is 32 user defined functions 3089 ’Bad Algorithm array index’...
Page 342
3101 ’Can’t define new algorithm while running’ Execute ABORT, then define algorithm 3102 ’Need ALG:UPD before redefining this algorithm again’ Already have an algorithm swap pending for this algorithm. 3103 ’Algorithm swapping already enabled; Can’t change size’ Only send <swap_size> parameter on initial definition.
Appendix C Glossary The following terms have special meaning when related to the HP E1415. Algorithm In general, an algorithm is a tightly defined procedure that performs a task. This manual, uses the term to indicate a program executed within the HP E1415 that implements a data acquisition and control algorithm.
Page 344
This list will be scanned each time the module is triggered. Signal Conditioning Plug-on: Small circuit boards that plug onto the HP E1415’s main circuit board. Available analog input SCPs can provide noise canceling filters, signal amplifiers, signal attenuators, and strain bridge completion. Analog...
Page 345
The plastic encased module which contains the terminal blocks you connect your field wiring to. The Terminal Module then is plugged into the HP E1415’s front panel. Update This is an intended change to an algorithm, algorithm variable, or global variable that is...
Page 347
The following source listings show the actual code for the HP E1415’s default PID algorithms; PIDA, and PIDB. PIDC is an advanced PID algorithm that is not "built into" the HP E1415A’s driver like the other two, but is included here so you can down-load it using the ALG:DEF command.
Page 348
static float Setpoint = 0; /* The setpoint static float P_factor = 1; /* Proportional control constant static float I_factor = 0; /* Integral control constant static float D_factor = 0; /* Derivative control constant Other Variables static float I_out; /* Integral term static float Error;...
Page 349
PIDB Listing /****************************************************************************/ PID_B /****************************************************************************/ I/O Channels Must be defined by the user /* inchan - Input channel name /* outchan - Output channel name /* alarmchan - Alarm channel name /****************************************************************************/ /****************************************************************************/ /* PID algorithm for E1415A controller module. This algorithm is called /* once per scan trigger by main().
Page 350
/* be bumpless and will use the current Process Variable value as the /* new setpoint. /* The Status variable indicates when the Manual control mode is active. /* At startup in the Manual control mode, the output will slew to Man_out /* at a rate of Man_inc per scan trigger.
Page 351
static float Error; /* Error term static float PV_old; /* Last process variable static float Setpoint_old; /* Last setpoint - for derivative static float SD_out; /* Setpoint derivative term static float Status = 0; /* Algorithm status word B0 - PID_out at clip limit B1 - I_out at clip limit B2 - D_out at clip limit B3 - SD_out at clip limit...
Page 352
else /* if ( Man_state ) Status.B4 = 0; /* First, find the Process Variable "error" */ /* This calculation has gain of minus one (-1) */ Error = Setpoint - inchan; /* Test for error out of limits */ if ( (Error >...
Page 355
PIDC Listing /****************************************************************************/ PID_C /****************************************************************************/ I/O Channels Must be defined by the user /* inchan - Input channel name /* outchan - Output channel name /* alarmchan - Alarm channel name /****************************************************************************/ /****************************************************************************/ /* PID algorithm for E1415A controller module. This algorithm is called /* once per scan trigger by main().
Page 356
/* be bumpless and will use the current Process Variable value as the /* new setpoint. /* The Status variable indicates when the Manual control mode is active. /* At startup in the Manual control mode, the output will be held at /* its current value.
Page 358
else if (outchan > Man_out + abs(Man_inc)) outchan = outchan - abs(Man_inc); else outchan = Man_out; /* Set manual mode bit in status word */ Status.B4 = 1; /* No error alarms while in Manual mode */ Status.B5 = 0; /* In case we exit manual mode on the next trigger */ /* Set up for bumpless transfer */ I_out = outchan;...
Page 359
Status.B1=1; else if ( I_min > I_out ) I_out = I_min; Status.B1=1; else Status.B1 = 0; /* Calculate the Setpoint Derivative term */ SD_out = SD_factor * ( Setpoint - Setpoint_old ); /* Clip to specified limits */ if ( SD_out >...
Page 360
outchan = Out_max; Status.B0=1; else if ( Out_min > outchan ) outchan = Out_min; Status.B0=1; else Status.B0 = 0; /* Clear alarm output if no alarms */ if (!(Status.B6 || Status.B5) ) alarmchan = 0; /* Log appropriate data */ if ( History_mode >...
Page 361
3, and digital I/O SCPs in positions 4 through 7, you can keep these types of signals separated by the width of the HP E1415 module. The signals are further isolated because they remain separated on the connector module as well.
Page 362
Generally, the shield should be connected to ground at the DUT and left open at the HP E1415. Floating DUTs or transducers are an exception. Connect the shield to HP E1415 GND or GRD terminals for this case, whichever gives the best performance. This will usually be the GND terminal.
Page 363
Under Test (DUT) isn’t actually floating, the shield is connected to the DUT and also connected to the HP E1415 guard terminal (G). The 10 KΩ resistor limits the ground loop current, which has been known to burn out shields.
Page 364
Normal Mode Noise This noise is actually present at the signal source and is a differential noise (Hi to Lo). It is what is filtered out by the buffered filters on the HP E1502, (Enm) E1503, E1508, and E1509 SCPs.
Page 365
This effectively does the same thing that shielded, twisted pair cable does, only better. It is especially effective if the shield connection to the HP E1415 ground can’t be a very low impedance due to large DC and/or low frequency common mode voltages.
Page 366
common mode signals, and a quite low impedance to differential mode signals. The ratio of common-mode impedance to differential-mode impedance for the transformer we use is ~ 3500:1. Thus, there is NO differential mode bandwidth penalty incurred by using the tri-filar transformers.
Page 367
Appendix F Generating User Defined Functions Introduction The HP E1415 Algorithmic Closed Loop Control Card has a limited set of mathematical operations such as add, subtract, multiply, and divide. Many control applications require functions such a square root for calculating flow rate or a trigonometric function to correctly transition motion of moving object from a start to ending position.
Page 368
function over the entire range would severely impact the accuracy of the approximation. Remember, the entire range is broken up into only 128 segments of Mx+B operations. If you want accuracy, you MUST limit the range over which calculations are made. Many transcendental functions are simply used as a scaling multiplier.
Page 369
A typical use of this function would be to output an analog voltage or current at each Scan Trigger of the HP E1415 and over the range of the haversine. For example, suppose you wanted a new position of an analog output to move from 1ma to 3ma over a period of 100msec.
Page 370
’C’ sin(1.570798) 1.000000 ’HP E1415’ sin(1.570798) 0.999905 Table 6-2. ’C’ Sin(x) Vs. HP E1415 Haversine Function Limitations As stated earlier, there are limitations to using this custom function technique. These limitations are directly proportional to the non-linearity of the desired waveform. For example, suppose you wanted to represent the function X*X*X over a range of +/-1000.
Page 371
/* The SICL address of your E1415 */ INST_DECL(e1415, "E1415A", REGISTER); /* E1415 */ /* Use something like this for HP-IB and HP E1405/6 Command Module */ /* #define E1415_ADDR "hpib,22,26" /* The SICL address of your E1415 */ /*INST_DECL(e1415, "E1415A", MESSAGE); /* E1415 */ /* Declare instruments that will be accessed with SICL.
Page 372
/* Trap instrument errors. If this function is used, it will be called every * time a C-SCPI instrument puts an error in the error queue. As written, the * function will figure out which instrument generated the error, retrieve the * error, print a message, and exit.
Page 373
#endif /* Print usage information */ void usage(char *prog_name) (void) fprintf(stderr, "usage: %s algorithm_file...\n", prog_name); /* Get an algorithm from a filename */ static char *get_algorithm(char *file_name) FILE /* Algorithm file pointer */ int32 a_size; /* Algorithm size */ /* Character read from input */ char *algorithm;...
Page 374
return ( r ); /*F****************************************************************** * NAME: static int32 round32f() * TASK: Rounds a 32-bit floating point number. static int32 round32f( float64 number ) /* add or subtract 0.5 to round based on sign of number */ float64 half = (number > 0.0 )? 0.5 : -0.5 ; return( (int32)( number + half ) );...
Page 376
* Note that 129 points are calculated in order to generate a line segment * for calculating slope. * Also note that the entire binary range is built to include the min * and max values entered as min_input and max_input. for ( ii=0 ;...
Page 377
Mfactor = round32f( two_to_the_N(Xfactor)*slope ); if ( Mfactor == 32768 ) /* There is an endpoint problem. Re-compute if on endpoint */ Xfactor--; Mfactor =round32f( two_to_the_N(Xfactor)*slope ); if ((Mfactor<=32767) && (Mfactor>= -32768) ) /* only save if M is within limits */ /* Adjust EX to match runtime.asm */ EX[jj] = (uint16)(Xofst - Xfactor );...
Page 378
/* Choose the smallest exponent -- maximize resolution */ if (exponent2 < exponent) exponent = exponent2; Xfactor = (int32)(exponent); if ( t != 0 ) int32 ltemp = round32f( log10( t ) / log10( 2.0 ) ); if ( (Xfactor + ltemp) > 30 ) Xfactor = 30 - ltemp;...
Page 379
#if 0 /* Set to 1 if reading algorithm files */ /* Check pass parameters */ if ((argc < 2) || (argc > 33)) { /* Must have 1 to 32 algorithms */ usage(argv[0]); exit(1); #endif INST_STARTUP(); /* Initialize the C-SCPI routines */ #if 0 /* Set to 1 to open interface session */ /* If you need to open a VXI device session, here’s how to do it.
Page 380
INST_QUERY(e1415, "*TST?\n", "%d", &test_result); if (test_result) { (void) fprintf(stderr, "E1415A failed self-test\n"); exit(1); #endif /* Setup SCP functions */ INST_SEND(e1415, "sens:func:volt (@116)\n"); /* Analog in volts */ INST_SEND(e1415, "sour:func:cond (@141)\n"); /* Digital output #if 0 /* Set to 1 to do calibration */ /* Perform Calibrate, if necessary */ int cal_result;...
Page 381
/* Download algorithms */ #if 0 /* Set to 1 if algorithms passed in as files */ /* Get an algorithm(s) from the passed filename(s). We assign sequential * algorithm numbers to each successive file name: ALG1, ALG2, etc. when * you execute this program as "<progname>...
Page 382
/* Note that alg:scal? won’t execute until alg:upd is done */ for ( radians = -pi/2.0; radians < pi/2.0; radians += pi / 10.0 ) { INST_SEND(e1415, "alg:scal ’alg1’,’radians’,%f\n", radians); INST_SEND(e1415, "alg:upd\n"); INST_QUERY(e1415, "alg:scal? ’alg1’,’y’\n", "%f", &y); printf( "’C’ sin(%f): %f, ’E1415A’ sin(%f): %f\n",radians, (float32)sin((float64)radians), radians, y);...
Page 383
RMB Version. 10 ! RE-SAVE "SINE_FN.ASC" 20 ! 30 ! DESCRIPTION: Example program to illustrate the use of Custom Functions 40 ! in the E1415A. This example shows the use of RMB. 50 ! This example shows the creation of a Haversine function. 60 ! 70 ! The Build_table subprogram receives the minimum and maximum ranges 80 ! over which the function it to be built.
Page 384
OUTPUT @E1415;"alg:def ’alg1’,’static float y,radians=0;y=sin(radians);’" OUTPUT @E1415;"form ascii;:trig:timer .001;:init" RAD ! use radians GOSUB Err_check FOR Radians=-PI/2 TO PI/2 STEP PI/10 OUTPUT @E1415;"alg:scal ’alg1’,’radians’,";Radians;";upd" OUTPUT @E1415;"alg:scal? ’alg1’,’y’" ENTER @E1415;Y PRINT USING This;"’RMB’ sin(radians): ";SIN(Radians);" ’E1415A’ sin(Radians): ";Y 670 This:IMAGE K,SD.DDDD,K,SD.DDDD NEXT Radians STOP 700 End_: !
Page 385
1170 Tbl_range=1/2^128 1180 WHILE Test_range>Tbl_range 1190 Tbl_range=Tbl_range*2 1200 END WHILE 1210 Table_range=Tbl_range 1220 Xofst=157 ! exponent bias for DSP calculations 1230 ! 1240 ! Now divide the full range of the table into 128 segments (129 points) 1250 ! from -Rnge to +Rnge using the Custom() function function. We 1260 ! then generate the M, B and Ex values for the table to be downloaded.
Page 386
1750 Ex(Jj)=Xofst-Xfactor 1760 M(Jj)=Mfactor ! remove leading 1’s 1770 B=PROUND(2^Xfactor*Result(Ii-1),0) 1780 Bhigh(Jj)=INT(B/65536.0) ! truncates 1790 Bl=B-(Bhigh(Jj)*65536.0) 1800 IF Bl>32767 THEN Bl=Bl-65536 1810 Blow(Jj)=Bl 1820 END IF 1830 Loopend1:NEXT Ii 1840 FOR Ii=0 TO 64 STEP 1 1850 Input(Ii)=Center-((Tbl_range/64.0)*Ii) 1860 Result(Ii)=FNMy_function(Input(Ii)) 1870 IF Ii=0 THEN GOTO Loopend2! This is the first point 1880 1890...
Page 387
2330 Blow(Jj)=Bl 2340 END IF 2350 Loopend2:NEXT Ii 2360 ! 2370 ! Copy the calculated table values to the output array 2380 ! 2390 ! 2400 ! Store M, E, and B terms in array 2410 ! 2420 FOR Ii=0 TO 127 2430 ! copy 128 sets of coefficents 2440 Coef_array(Ii*4)=M(Ii)
Page 388
Notes: 388 Generating User Defined Functions Appendix F...
Page 389
Appendix G Example Program Listings This appendix includes listings of example programs that are not printed in other parts of the manual. The example "simp_pid.cs" is shown here because the listing in Chapter 3 is a shortened version. • simp_pid.cs ......... . 389 •...
Page 390
INST_DECL(e1415, "E1415A", REGISTER); /* E1415 */ /* Use something like this for HP-IB and HP E1405/6 Command Module */ /* #define E1415_ADDR "hpib,22,26" /* The SICL address of your E1415 */ /*INST_DECL(e1415, "E1415A", MESSAGE); /* E1415 */ /* Declare instruments that will be accessed with SICL. These declarations * can also be moved into local contexts.
Page 392
/* Main program */ /*ARGSUSED*/ /* Keeps lint happy */ int main(int argc, char *argv[]) /* Main program local variable declarations */ char *algorithm; /* Algorithm string */ alg_num; /* Algorithm number being loaded */ char string[333]; /* Holds error information */ int32 error;...
Page 393
INST_SEND(e1415, "*RST;*CLS\n"); #if 0 /* Set to 1 to do self test */ /* Does the E1415 pass self-test? */ int test_result; /* Result of E1415 self-test */ test_result = -1; /* Make sure it gets assigned */ INST_QUERY(e1415, "*TST?\n", "%d", &test_result); if (test_result) { (void) fprintf(stderr, "E1415A failed self-test\n");...
Page 395
do_interactive(); /* Calls cscpi_exe() in a loop */ #endif #if 0 /* C-CSPI way to check for errors */ INST_QUERY(e1415,"syst:err?\n", "%d,%S", &error, string); if (error) { (void) printf("syst:err %d,%s\n", error, string); exit(1); #endif return 0; /* Normal end of program */ #if 0 C-CSPI program.
Page 396
/* The SICL address of your E1415 */ INST_DECL(e1415, "E1415A", REGISTER); /* E1415 */ /* Use something like this for HP-IB and HP E1405/6 Command Module */ /* #define E1415_ADDR "hpib,22,26" /* The SICL address of your E1415 */ /*INST_DECL(e1415, "E1415A", MESSAGE); /* E1415 */ /* Declare instruments that will be accessed with SICL.
Page 397
* error, print a message, and exit. You may want to modify the way the error * is printed, or comment out the exit if you want the program to continue. * Note that this works only on REGISTER based instruments, because it was * a C-SCPI register-based feature, not a general programming improvement.
Page 398
/* Print usage information */ void usage(char *prog_name) (void) fprintf(stderr, "usage: %s algorithm_file...\n", prog_name); /* Get an algorithm from a filename */ static char *get_algorithm(char *file_name) FILE /* Algorithm file pointer */ int32 a_size; /* Algorithm size */ /* Character read from input */ char *algorithm;...
Page 399
#endif INST_STARTUP(); /* Initialize the C-SCPI routines */ #if 0 /* Set to 1 to open interface session */ /* If you need to open a VXI device session, here’s how to do it. You need * a VXI device session if the V382 is to source or respond to VXI * backplane triggers (SICL ixtrig or ionintr calls).
Page 400
/* Setup SCP functions */ INST_SEND(e1415, "sens:func:volt (@116)\n"); /* Analog in volts */ INST_SEND(e1415, "sour:func:cond (@141)\n"); /* Digital output #if 0 /* Set to 1 to do calibration */ /* Perform Calibrate, if necessary */ int cal_result; /* Result of E1415 self-test */ cal_result = -1;...
Page 402
return 0; /* Normal end of program */ #if 0 /* Example algorithm that calculates 4 Mx+B values upon * signal that sync == 1. M and B terms set by application * program. * filename: mxplusb static float M, B, x, sync; if ( First_loop ) sync = 0;...
Page 403
/* The SICL address of your E1415 */ INST_DECL(e1415, "E1415A", REGISTER); /* E1415 */ /* Use something like this for HP-IB and HP E1405/6 Command Module */ /* #define E1415_ADDR "hpib,22,26" /* The SICL address of your E1415 */ /*INST_DECL(e1415, "E1415A", MESSAGE); /* E1415 */ /* Declare instruments that will be accessed with SICL.
Page 404
* is printed, or comment out the exit if you want the program to continue. * Note that this works only on REGISTER based instruments, because it was * a C-SCPI register-based feature, not a general programming improvement. * If you’re using MESSAGE instruments, you’ll still have to do SYST:ERR?: * If your test program generates errors on purpose, you probably don’t want * this error function.
Page 405
/* Print usage information */ void usage(char *prog_name) (void) fprintf(stderr, "usage: %s algorithm_file...\n", prog_name); /* Get an algorithm from a filename */ static char *get_algorithm(char *file_name) FILE /* Algorithm file pointer */ int32 a_size; /* Algorithm size */ /* Character read from input */ char *algorithm;...
Page 406
INST_STARTUP(); /* Initialize the C-SCPI routines */ #if 0 /* Set to 1 to open interface session */ /* If you need to open a VXI device session, here’s how to do it. You need * a VXI device session if the V382 is to source or respond to VXI * backplane triggers (SICL ixtrig or ionintr calls).
Page 407
/* Setup SCP functions */ INST_SEND(e1415, "sens:func:volt (@116)\n"); /* Analog in volts */ INST_SEND(e1415, "sour:func:cond (@141)\n"); /* Digital output #if 0 /* Set to 1 to do calibration */ /* Perform Calibrate, if necessary */ int cal_result; /* Result of E1415 self-test */ cal_result = -1;...
Page 408
alg_num++; /* Next algorithm */ (void) printf("All %d algorithm(s) loaded without errors\n\n", alg_num-1); #else /* Download algorithms with in-line code */ algorithm = " \n"\ "/* Example algorithm that calculates 4 Mx+B values upon\n" " * signal that sync == 1. M and B terms set by application\n" "...
Page 409
* the algorithm to complete and set sync = 2. This should * happen almost instantly since the algorithm is executing * every 1msec based upon trig:timer .001 above. sync = 0; while ( sync != 2.0 ) /* wait until algorithm sets sync to 2 */ INST_QUERY( e1415, "alg:scal? ’alg1’,’sync’","%f",&sync );...
Page 410
/* Example algorithm that calculates 4 Mx+B values upon * signal that sync == 1. M and B terms set by application * program. * filename: mxplusb static float M, B, x, sync; if ( First_loop ) sync = 0; if ( sync == 1 ) { writecvt( M*x+B, 10 );...
Page 411
/* The SICL address of your E1415 */ INST_DECL(e1415, "E1415A", REGISTER); /* E1415 */ /* Use something like this for HP-IB and HP E1405/6 Command Module */ /* #define E1415_ADDR "hpib,22,26" /* The SICL address of your E1415 */ /*INST_DECL(e1415, "E1415A", MESSAGE); /* E1415 */ /* Declare instruments that will be accessed with SICL.
Page 412
* is printed, or comment out the exit if you want the program to continue. * Note that this works only on REGISTER based instruments, because it was * a C-SCPI register-based feature, not a general programming improvement. * If you’re using MESSAGE instruments, you’ll still have to do SYST:ERR?: * If your test program generates errors on purpose, you probably don’t want * this error function.
Page 413
/* Print usage information */ void usage(char *prog_name) (void) fprintf(stderr, "usage: %s algorithm_file...\n", prog_name); /* Get an algorithm from a filename */ static char *get_algorithm(char *file_name) FILE /* Algorithm file pointer */ int32 a_size; /* Algorithm size */ /* Character read from input */ char *algorithm;...
Page 414
* TASK: Rounds a 32-bit floating point number. static int32 round32f( float64 number ) /* add or subtract 0.5 to round based on sign of number */ float64 half = (number > 0.0 )? 0.5 : -0.5 ; return( (int32)( number + half ) ); /*F****************************************************************** * NAME: static float64 my_function() * TASK: User-supplied function for calculating desired results of f(x).
Page 415
uint16 Blow[128]; int32 int16 int16 int32 Mfactor; int32 Xfactor; int32 Xofst; float64 test_range; float64 tbl_range; float64 center; float64 temp_range; float64 t; float64 slope; float64 absslope; float64 exponent; float64 exponent2; float64 input[129]; float64 result[129]; * First calculate the mid point of the range of values from the min and max * input values.
Page 416
* and max values entered as min_input and max_input. for ( ii=0 ; ii<=64 ; ii++ ) /* 0 to +FS */ input[ii] = center + ( (tbl_range/64.0)*(float64)ii); result[ii] = (*custom_function)( input[ii] ); if ( ii == 0 ) continue; /* This is the first point - skip slope */ jj = 64 + ii - 1;...
Page 417
/* There is an endpoint problem. Re-compute if on endpoint */ Xfactor--; Mfactor =round32f( two_to_the_N(Xfactor)*slope ); if ((Mfactor<=32767) && (Mfactor>= -32768) ) /* only save if M is within limits */ /* Adjust EX to match runtime.asm */ EX[jj] = (uint16)(Xofst - Xfactor ); M[jj] = (uint16)(Mfactor &...
Page 418
if ( t != 0 ) int32 ltemp = round32f( log10( t ) / log10( 2.0 ) ); if ( (Xfactor + ltemp) > 30 ) Xfactor = 30 - ltemp; Mfactor = round32f( two_to_the_N(Xfactor)*slope ); if ( Mfactor == 32768 ) /* There is an endpoint problem.
Page 419
exit(1); #endif INST_STARTUP(); /* Initialize the C-SCPI routines */ #if 0 /* Set to 1 to open interface session */ /* If you need to open a VXI device session, here’s how to do it. You need * a VXI device session if the V382 is to source or respond to VXI * backplane triggers (SICL ixtrig or ionintr calls).
Page 420
#endif /* Setup SCP functions */ INST_SEND(e1415, "sens:func:volt (@116)\n"); /* Analog in volts */ INST_SEND(e1415, "sour:func:cond (@141)\n"); /* Digital output #if 0 /* Set to 1 to do calibration */ /* Perform Calibrate, if necessary */ int cal_result; /* Result of E1415 self-test */ cal_result = -1;...
Page 421
* you execute this program as "<progname> lang1 lang2 lang3 ..." alg_num = 1; /* Starting algorithm number */ while (argc > alg_num) { algorithm = get_algorithm(argv[alg_num]); /* Read the algorithm */ /* Define the algorithm */ char alg[6]; /* Temporary algorithm name */ (void) sprintf(alg, "ALG%d", alg_num);...
Page 422
* ASCII numbers during interactive mode. INST_SEND(e1415,"form asc\n"); do_interactive(); /* Calls cscpi_exe() in a loop */ #endif #if 0 /* C-CSPI way to check for errors */ INST_QUERY(e1415,"syst:err?\n", "%d,%S", &error, string); if (error) { (void) printf("syst:err %d,%s\n", error, string); exit(1); #endif return 0;...
Page 423
Index HP E1415A Algorithmic Closed Loop Controller Symbols Thermocouple Type R – Thermocouple Type S – (ALG_NUM), determining your algorithms Thermocouple Type T identity – Adding settling delay for specific channels (FIFO mode BLOCK), continuously reading the Adding terminal module components...
Page 424
Assigning values defined input Assignment operator input Attaching and removing the terminal module Attaching the HP E1415 terminal module output Attaching the terminal module setting up analog input Auto range, overflow readings setting up digital input...
Page 425
FIFO status manual FIFO transfer PIDA with digital on-off Comment lines program flow Comments Controller, describing the HP E1415 closed loop Common Command Format Controller, overview of the HP E1415 algorithmic Common mode loop noise Conversion rejection specification...
Page 426
Definite length block data example Current Value Table DELay SENSe:DATA:CVTable? ALGorithm:OUTPu:DELay? CUSTom ALGorithm:OUTPut:DELay SENSe:FUNCtion:CUSTom Describing the HP E1415 closed loop controller Custom Detecting open transducers EU conversion tables, creating Determining EU conversion tables, loading an algorithm’s size EU conversions first execution (First_loop)
Page 427
writing values to Filters ENABle adding circuits to terminal module STATus:OPERation:ENABle configuring the status transition filters STATus:OPERation:ENABle? Fixed width pulses at variable frequency (FM) STATus:QUEStionable:ENABle Fixing the problem STATus:QUEStionable:ENABle? Flash Memory Enabling and disabling algorithms Flash memory access, disabling Enabling events to be reported in the status byte Flash memory limited lifetime Environment, the algorithm execution FLOor...
Page 428
Read chapter 3 before chapter 4 GAIN History mode INPut:GAIN How to use *CAL? INPut:GAIN? HP E1415 background operation Gain, channel HP E1415, configuring the Gains, setting SCP GFACtor SENSe:STRain:GFACtor Identifier SENSe:STRain:GFACtor? Identifiers Global variables IEEE +/- INF...
Page 429
Isothermal reference measurement, NOTE tare cal. offset specification tare capability Update Rate, specifications Keywords Measurement accuracy DC Volts specification special HP E1415 reserved Measurement Ranges, specifications standard reserved Measurements linking resistance linking strain Language syntax summary linking temperature...
Page 430
MODE? algorithm SENSe:DATA:FIFO:MODE? ALG:STATE effective after SENSe:TOTalize:RESe:MODE? ALG:UPDATE Model ALG:STATE effective only after executing the programming ALG:UPD the programming ALG:TIME? return for undefined Model number, determining with SCPI algorithm programming Algorithm Language case sensitivity Modifier, the static Algorithm Language reserved keywords Modifying Algorithm source string terminated with a standard PID algorithm...
Page 431
On-board Current Source specification Overloads, unexpected channel Operating sequence Overview Operation of the algorithm language Operation and restrictions of the HP E1415 algorithmic loop Operation status group examples controller Operation, custom EU operational Operation, HP E1415 background Operation, standard EU...
Page 432
PERiod PULSe SOURce:PULSe:PERiod SOURce:FUNC[:SHAPe]:PULSe SOURce:PULSe:PERiod? PID algorithm tuning PIDA with digital on-off control Questionable data group examples PIDA, modifying the standard Quick Reference, Command Pin-out, connector pin-signal lists Quiet measurements, HINTS Planning Quieter readings with amplifier SCPs, NOTE grouping channels to signal conditioning planning wiring layout Rack Mount Terminal Panel Accessories sense vs.
Page 433
Rejection error messages Noise how to read results Relational-expression Sending Data to the CVT and FIFO Relational-operator SENSe subsystem Removing the HP E1415 terminal module SENSe:CHANnel:SETTling RESet SENSe:CHANnel:SETTling? SENSe:DATA:CVTable:RESet SENSe:DATA:CVTable:RESet SENSe:DATA:FIFO:RESet SENSe:DATA:CVTable? SENSe:DATA:FIFO:COUNt:HALF? Reset SENSe:DATA:FIFO:COUNt? *RST SENSe:DATA:FIFO:HALF? Resetting the CVT...
Page 434
SOURce:FM:STATe output functions SOURce:FM:STATe? output polarity SOURce:FUNC[:SHAPe]:CONDition SCP gains SOURce:FUNC[:SHAPe]:PULSe the HP E1505 current source SCP SOURce:FUNC[:SHAPe]:SQUare the HP E1511 strain bridge SCP excitation SOURce:PULM[:STATe] voltage SOURce:PULM[:STATe]? the logical address switch SOURce:PULSe:PERiod the trigger counter SOURce:PULSe:PERiod? Setting up SOURce:PULSe:WIDTh...
Page 435
SQUare STATus:QUEStionable:CONDition? SOURce:FUNC[:SHAPe]:SQUare STATus:QUEStionable:ENABle STATus:QUEStionable:ENABle? Standard STATus:QUEStionable:EVENt? EU operation STATus:QUEStionable:NTRansition event status group examples STATus:QUEStionable:NTRansition? reserved keywords STATus:QUEStionable:PTRansition Standard Commands for Programmable Instruments, STATus:QUEStionable:PTRansition? SCPI Storage, defining data Starting the PID algorithm STORe STATe CALibration:STORe ALGorithm[:EXPLicit][:STATe] STRain ALGorithm[:EXPLicit][:STATe]? SENSe:FUNCtion:STRain DIAGnostic:OTDectect[:STATe] Structure, overall program DIAGnostic:OTDectect[:STATe]? Structures, data...
Page 436
SAMPle:TIMer? Terminal block considerations for TC Timer, programming the trigger measurements TIMer? Terminal Blocks TRIGger:TIMer? Terminal Module TIMerTRIGger:TIMer Attaching and removing the HP E1415 Timing of loops Attaching the HP E1415 TOTalize Crimp-and-insert option SENSe:FUNCtion:TOTalize Layout Totalizer function Option A3E...
Page 437
OUTPut:TYPE? OUTPut:VOLTage:AMPLitude? Type, setting output drive Types, data CALibration:CONFigure:VOLTage SENSe:FUNCtion:VOLTage Voltage Unary CALibration:VALue:VOLTage arithmetic operator Voltage, setting the HP E1511 strain bridge SCP logical operator excitation operators VXIplug&play. See online help. Unary-expression Unary-operator Unexpected channel offsets or overloads Warranty UNSTrained...
Page 438
Writing the algorithm values to CVT elements values to the FIFO ZERO? CALibration:ZERO? 438 Index...
Need help?
Do you have a question about the VXI 75000 C Series and is the answer not in the manual?
Questions and answers