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

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

Algorithmic closed loop controller
Table of Contents

Advertisement

Quick Links

HP E1415A
Algorithmic Closed Loop Controller
User's and SCPI Programming Manual
Where to Find it - Online and Printed Information:
System installation (hardware/software) ............VXIbus Configuration Guide*
Module configuration and wiring .......................This Manual
SCPI programming .............................................This Manual
SCPI example programs .....................................This Manual, Driver Disk
SCPI command reference ..................................This Manual
VXIplug&play programming ............................VXIplug&play Online Help
VXIplug&play example programs .....................VXIplug&play Online Help
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
HP VIC (VXI installation software)*
Printed in U.S.A. E0896
HP 75000 Series C

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the VXI 75000 C Series and is the answer not in the manual?

Questions and answers

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 3: Table Of Contents

    Configuring the HP E1415 ........
  • Page 4 Chapter 3 Programming the HP E1415 for PID Control ......55 About This Chapter ..........55 Overview of the HP E1415 Algorithmic Loop Controller .
  • Page 5 HP E1415 Background Operation ........
  • Page 6 Standard Reserved Keywords ........138 Special HP E1415 Reserved Keywords ......138 Identifiers .
  • Page 7 HP E1415 Command Reference ........
  • Page 8 CALibration:ZERO? ......... . . 194 DIAGnostic .
  • Page 9 OUTPut:CURRent:AMPLitude? ....... . . 221 OUTPut:CURRent[:STATe] ........222 OUTPut:CURRent[:STATe]? .
  • Page 10 [SENSe:]FUNCtion:STRain[:QUARter] ......248 [SENSe:]FUNCtion:TEMPerature ....... . 249 [SENSe:]FUNCtion:TOTalize .
  • Page 11 STATus:QUEStionable:PTRansition? ......278 SYSTem ............279 SYSTem:CTYPe? .
  • Page 12 HP E1415 Guard Connections ........363...
  • Page 13: Hewlett-Packard Warranty Statement

    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.
  • Page 14: Safety Symbols

    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.
  • Page 15: Declaration Of Conformity

    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...
  • Page 17: Reader Comment Sheet

    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).
  • Page 19: Getting Started

    • Configuring the HP E1415 ....... 19 •...
  • Page 20: Setting The Logical Address Switch

    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.
  • Page 21: Installing Signal Conditioning Plug-Ons

    "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...
  • Page 25: Disabling The Input Protect Feature (Optional)

    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...
  • Page 27: Instrument Drivers

    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;...
  • Page 30 Notes: 30 Getting Started Chapter 1...
  • Page 31: Field Wiring

    Terminal Modules ........35 • Reference Temperature Sensing with the HP E1415 ... 37 •...
  • Page 32 Figure 2-1. Channel Numbers at SCP Positions 32 Field Wiring Chapter 2...
  • Page 33: Sense Scps And Output Scps

    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.
  • Page 34: Planning For Thermocouple Measurements

    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.
  • Page 35: Terminal Modules

    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...
  • Page 37: Reference Temperature Sensing With The Hp E1415

    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...
  • Page 39: Preferred Measurement Connections

    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.
  • Page 42: Connecting The On-Board Thermistor

    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.
  • Page 43: Wiring And Attaching The 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...
  • Page 45: Attaching/Removing The Hp E1415 Terminal Module

    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...
  • Page 47: Adding Components To The Terminal Module

    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.
  • Page 48: Terminal Module Wiring Map

    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.
  • Page 49: Terminal Module Options

    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...
  • Page 51: Option A3F

    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.
  • Page 53: Faceplate Connector Pin-Signal Lists

    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...
  • Page 54 Notes: 54 Field Wiring Chapter 2...
  • Page 55: Programming The Hp E1415 For Pid Control

    • Using the Status System ....... . . 95 • HP E1415 Background Operation......101 •...
  • Page 56: Overview Of The Hp E1415 Algorithmic Loop Controller

    • 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.
  • Page 57: Programming Model

    +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"...
  • Page 58: Executing The Programming Model

    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...
  • Page 59: Power-On And *Rst Default Settings

    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...
  • Page 61: Programming Overview Diagram

    Programming Overview Diagram Chapter 3 Programming the HP E1415 for PID Control...
  • Page 62: Setting Up Analog Input And Output Channels

    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.
  • Page 64: Linking Input Channels To Eu Conversion

    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)
  • Page 71: Linking Output Channels To Functions

    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.
  • Page 73: Setting Up Digital Outputs

    • 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:...
  • Page 75: Performing Channel Calibration (Important!)

    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.
  • Page 77: Defining Standard Pid Algorithms

    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...
  • Page 79: Defining A Pid With Alg:define

    <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...
  • Page 80: Pre-Setting Pid Variables And Coefficients

    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.
  • Page 81: Defining Data Storage

    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).
  • Page 82: Setting Up The Trigger System

    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.
  • Page 84: Programming The Trigger Timer

    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’...
  • Page 85: Outputting Trigger Signals

    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.
  • Page 86: The Operating Sequence

    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.
  • Page 87: Reading Algorithm Variables

    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...
  • Page 88: Reading History Mode Values From The Fifo

    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...
  • Page 90: Modifying Running Algorithm Variables

    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...
  • Page 91: Enabling And Disabling Algorithms

    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...
  • Page 92: Example Command Sequence

    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...
  • Page 95: Pid Algorithm Tuning

    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...
  • Page 98: Enabling Events To Be Reported In The Status Byte

    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...
  • Page 99: Reading The Status Byte

    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...
  • Page 100: Clearing The Enable Registers

    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.
  • Page 101: Hp E1415 Background Operation

    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.
  • Page 103: Creating And Loading Custom Eu Conversion Tables

    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.
  • Page 106: Compensating For System Offsets

    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>...
  • Page 107: Special Considerations

    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.
  • Page 108: Detecting Open Transducers

    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.
  • Page 109: More On Auto Ranging

    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.
  • Page 110: Settling Characteristics

    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.
  • Page 111: Fixing The Problem

    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>).
  • Page 113: Creating And Running Custom Algorithms

    Algorithm Language. The contents of this chapter are: • Describing the HP E1415 Closed Loop Controller... . 114 • What is a Custom Algorithm?......114 •...
  • Page 114: Describing The Hp E1415 Closed Loop Controller

    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...
  • Page 115: Example Language Usage

    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.
  • Page 116: How Your Algorithms Fit In

    "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.
  • Page 117: Accessing The E1415'S Resources

    /********* 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.
  • Page 118: Accessing 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;...
  • Page 119: Defining And Accessing Global Variables

    (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.
  • Page 120: Initializing Variables

    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.
  • Page 121: Setting A Vxibus Interrupt

    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.
  • Page 122: Calling User Defined Functions

    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’...
  • Page 123: Algorithm Execution Order

    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;...
  • Page 124 Figure 4-2. Algorithm Operating Sequence Diagram 124 Creating and Running Custom Algorithms Chapter 4...
  • Page 125: Defining Custom Algorithms (Alg:def)

    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.
  • Page 126: Changing An Algorithm While

    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".
  • Page 128: A Very Simple First Algorithm

    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.
  • Page 129: Writing The 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.
  • Page 130: Algorithm To Algorithm Communication

    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.
  • Page 131: Communication Using Global Variables

    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;’...
  • Page 133: Non-Control Algorithms

    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.
  • Page 134: Implementing Setpoint Profiles

    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.
  • Page 136 Notes: 136 Creating and Running Custom Algorithms Chapter 4...
  • Page 137: Algorithm Language Reference

    -- Standard Reserved Keywords ......138 -- Special HP E1415 Reserved Keywords ....138 -- Identifiers .
  • Page 138: Standard Reserved Keywords

    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:...
  • Page 139: Special Identifiers For Channels

    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...
  • Page 140: Intrinsic Functions And Statements

    (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...
  • Page 141: Data Structures

    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...
  • Page 142: Bitfield Access

    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.
  • Page 143: Language Syntax Summary

    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...
  • Page 145 Relational-expression: additive-expression relational-expression relational-operator additive-expression Relational-operator: < > <= >= Equality-expression: relational-expression equality-expression equality-operator relational-expression Equality-operator: Logical-AND-expression: equality-expression logical-AND-expression && equality-expression Expression: logical-AND-expression expression || logical-AND-expression Declarator: identifier identifier [ integer-constant-expression ] NOTE: integer-constant expression in array identifier above must not exceed 1023 Init-declarator: declarator...
  • Page 146 Declaration: static float init-declarator-list; Declarations: declaration declarations declaration Intrinsic-statement: interrupt ( ) writefifo ( expression ) writecvt ( expression , constant-expression ) writeboth( expression , constant-expression ) exit ( expression ) Expression-statement: scalar-identifier = expression ; scalar-identifier . bit-number = expression ; array-identifier [ integer-constant expression ] = expression ;...
  • Page 147: Program Structure And Syntax

    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.
  • Page 148: The Operations Symbols

    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;...
  • Page 150: Comment Lines

    "*/", 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.
  • Page 151: Where To Go Next

    (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...
  • Page 153: Hp E1415 Command Reference

    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...
  • Page 156 STATus:QUEStionable:ENABle <enable_mask>....... . . 156 HP E1415 Command Reference Chapter 6...
  • Page 157 *WAI ..............Chapter 6 HP E1415 Command Reference...
  • Page 158: Command Fundamentals

    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:...
  • Page 161: Linking Commands

    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...
  • Page 162: C-Scpi Data Types

    Signed 16-bit integer number. int32 Signed 32-bit integer number. uint16 Unsigned 16-bit integer number. uint32 Unsigned 32-bit integer number. float32 32-bit floating point number. float64 64-bit floating point number. string String of characters (null terminated) 162 HP E1415 Command Reference Chapter 6...
  • Page 163: Scpi 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.
  • Page 164: Abort

    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.
  • Page 165: Algorithm

    [:STATe]? ’< alg_name >’ :TIME? ’< alg_name >’ :FUNCtion:DEFine ’< function_name >’,< range >,< offset >,< block_data > :OUTPut:DELay < usec > | AUTO :OUTPut:DELay? :UPDate [:IMMediate] :CHANnel < channel_item > :WINDow < num_updates > :WINDow? Chapter 6 HP E1415 Command Reference...
  • Page 166: Algorithm[:Explicit]:Array

    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.
  • Page 167: Algorithm[:Explicit]: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...
  • Page 171: Algorithm[:Explicit]:Scalar

    *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...
  • Page 172: Algorithm[:Explicit]:Scalar

    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...
  • Page 173: Algorithm[:Explicit]:Scan:ratio

    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...
  • Page 174: Algorithm[:Explicit][:State]

    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.
  • Page 175: Algorithm[:Explicit][:State]

    • 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.
  • Page 176: Algorithm:function:define

    • 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. •...
  • Page 177: Algorithm:output:delay

    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...
  • Page 178: Algorithm:output:delay

    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...
  • Page 179: Algorithm:update:channel

    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.
  • Page 180: Algorithm:update:window

    • *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...
  • Page 181: Algorithm:update:window

    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...
  • Page 182: Arm

    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.
  • Page 183: Arm[:Immediate]

    “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.
  • Page 184: Arm:source

    • 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...
  • Page 185: Calibration

    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.
  • Page 186: Calibration:configure:resistance

    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...
  • Page 187: Calibration:configure:voltage

    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...
  • Page 188: Calibration:setup

    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.
  • Page 189: Calibration:store

    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.
  • Page 190: Calibration:tare

    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.
  • Page 191: Calibration:tare:reset

    • 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.
  • Page 192: Calibration:tare

    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...
  • Page 193: Calibration:value:voltage

    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...
  • Page 194: Calibration:zero

    • 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...
  • Page 195: Diagnostic

    :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...
  • Page 196: Diagnostic:calibration:setup[:Mode]

    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...
  • Page 197: Diagnostic:calibration:tare[:Otdetect]:Mode

    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...
  • Page 198: Diagnostic:custom:piecewise

    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.
  • Page 199: Diagnostic:custom:reference:temperature

    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.
  • Page 200: Diagnostic:floor:dump

    (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 201: Diagnostic:ieee

    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...
  • Page 202: Diagnostic:otdetect[:State]

    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.
  • Page 203: Diagnostic:query:scpread

    • 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...
  • Page 204: Fetch

    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...
  • Page 206: Format

    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).
  • Page 207: Format[:Data]

    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...
  • Page 209: Initiate

    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).
  • Page 210: Input

    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...
  • Page 211: Input:filter[:Lpass]:Frequency

    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...
  • Page 212: Input:filter[:Lpass][:State]

    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...
  • Page 213: Input:gain

    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...
  • Page 214: Input:low

    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...
  • Page 215: Input:polarity

    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...
  • Page 216: Memory

    :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...
  • Page 217: Memory:vme:address

    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).
  • Page 218: Memory:vme:size

    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.
  • Page 219: Memory:vme:state

    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. •...
  • Page 220: Output

    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...
  • Page 221: Output:current:amplitude

    • 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...
  • Page 222: Output:current[:State]

    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...
  • Page 223: Output:polarity

    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...
  • Page 224: Output:shunt

    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...
  • Page 225: Output:ttltrg:source

    (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.
  • Page 226: Output:ttltrg[:State]

    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...
  • Page 227: Output:type

    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.
  • Page 228: Output:voltage:amplitude

    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.
  • Page 229: Route

    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...
  • Page 230: Route:sequence:points

    "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...
  • Page 231: Sample

    (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...
  • Page 232: Sample:timer

    • 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...
  • Page 233: [Sense]

    :EXCitation < excite_v >,(@< ch_list >) :EXCitation? (@< channel >) :GFACtor < gage_factor >,(@< ch_list >) :GFACtor? (@< channel >) :POISson < poisson_ratio >,(@< ch_list >) :POISson? (@< channel >) :UNSTrained < unstrained_v >,(@< ch_list >) Chapter 6 HP E1415 Command Reference...
  • Page 234: [Sense:]Channel:settling

    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...
  • Page 235: [Sense:]Data:cvtable

    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...
  • Page 236: [Sense:]Data:cvtable:reset

    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...
  • Page 237: [Sense:]Data:fifo[:All]

    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...
  • Page 238: [Sense:]Data:fifo:count

    • 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...
  • Page 239: [Sense:]Data:fifo:mode

    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...
  • Page 240: [Sense:]Data:fifo:mode

    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...
  • Page 241: [Sense:]Data:fifo:reset

    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...
  • Page 242: [Sense:]Frequency:aperture

    *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...
  • Page 243: [Sense:]Function:custom

    (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".
  • Page 244: [Sense:]Function:custom: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 generates an error.
  • Page 245: [Sense:]Function:custom:tcouple

    (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 246: [Sense:]Function:frequency

    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.
  • Page 248: [Sense:]Function:strain:fbending

    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...
  • Page 249: [Sense:]Function:temperature

    (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.
  • Page 251: [Sense:]Function:totalize

    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...
  • Page 252: [Sense:]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.
  • Page 254: [Sense:]Reference:channels

    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...
  • Page 255: [Sense:]Strain:excitation

    (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 •...
  • Page 256: [Sense:]Strain:excitation

    *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...
  • Page 257: [Sense:]Strain:poisson

    [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...
  • Page 258: [Sense:]Strain:unstrained

    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...
  • Page 259: [Sense:]Totalize:reset:mode

    <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...
  • Page 261: Source

    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...
  • Page 262: Source:fm:state

    • 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>.
  • Page 263: Source:function[:Shape]:Square

    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...
  • Page 264: Source:pulm:state

    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...
  • Page 265: Source:pulse:width

    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...
  • Page 267: Status

    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...
  • Page 269: The Operation Status Group

    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...
  • Page 270: Status:operation:enable

    • 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...
  • Page 271: Status:operation:enable

    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...
  • Page 272: Status:operation:ntransition

    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...
  • Page 273: Status:operation:ptransition

    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...
  • Page 274: The Questionable Data Group

    (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...
  • Page 275: Status:questionable:enable

    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...
  • Page 276: Status:questionable[:Event]

    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...
  • Page 277: Status:questionable:ntransition

    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...
  • Page 278: Status:questionable:ptransition

    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...
  • Page 279: System

    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...
  • Page 280: System:version

    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...
  • Page 281: Trigger

    (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.
  • Page 282 Update Control Outputs Figure 6-6. Trigger/Scan Sequence Diagram Subsystem Syntax TRIGger :COUNt <trig_count> :COUNt? [:IMMediate] :SOURce BUS | EXTernal | HOLD | SCP | IMMediate | TIMer | TTLTrg<n> :SOURce? :TIMer [:PERiod] <trig_interval> [:PERiod]? 282 HP E1415 Command Reference Chapter 6...
  • Page 283: Trigger:count

    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...
  • Page 284: Trigger:source

    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"...
  • Page 285: Trigger:source

    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 >...
  • Page 286: Trigger:timer[:Period]

    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...
  • Page 287: Ieee-488.2 Common Command Reference

    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.
  • Page 288: Cls

    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...
  • Page 289: Ese

    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...
  • Page 290: Lmc

    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...
  • Page 291: Rmc

    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.
  • Page 292: Sre

    *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.
  • Page 293: Tst

    *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...
  • Page 296: Wai

    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...
  • Page 297: Command Quick Reference

    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...
  • Page 304 Command Quick Reference Notes: 304 HP E1415 Command Reference Chapter 6...
  • Page 305: Specifications

    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 •...
  • Page 308: Thermocouple Type E (-200-800C), Scps Hp E1501,02,03

    Thermocouple Type E (-200-800C), SCPs HP E1501,02,03 308 Specifications Appendix A...
  • Page 309: Thermocouple Type E (-200-800C), Scps Hp E1508,09

    Thermocouple Type E (-200-800C), SCPs HP E1508,09 Appendix A Specifications...
  • Page 310: Thermocouple Type E (0-800C), Scps Hp E1501,02,03

    :Thermocouple Type E (0-800C), SCPs HP E1501,02,03 310 Specifications Appendix A...
  • Page 311: Thermocouple Type E (0-800C), Scps Hp E1509,09

    Thermocouple Type E (0-800C), SCPs HP E1509,09 Appendix A Specifications...
  • Page 312: Thermocouple Type E Extended, Scps Hp E1501,02,03

    Thermocouple Type E Extended, SCPs HP E1501,02,03 312 Specifications Appendix A...
  • Page 313: Thermocouple Type E Extended, Scps Hp E1508,09

    Thermocouple Type E Extended, SCPs HP E1508,09 Appendix A Specifications...
  • Page 314: Thermocouple Type J, Scps Hp E1501,02,03

    Thermocouple Type J, SCPs HP E1501,02,03 314 Specifications Appendix A...
  • Page 315: Thermocouple Type J, Scps Hp E1508,09

    Thermocouple Type J, SCPs HP E1508,09 Appendix A Specifications...
  • Page 316: Thermocouple Type K, Scps Hp E1501,02,03

    Thermocouple Type K, SCPs HP E1501,02,03 316 Specifications Appendix A...
  • Page 317: Thermocouple Type R, Scps Hp E1501,02,03

    Thermocouple Type R, SCPs HP E1501,02,03 Appendix A Specifications...
  • Page 318: Thermocouple Type R, Scps Hp E1508,09

    Thermocouple Type R, SCPs HP E1508,09 318 Specifications Appendix A...
  • Page 319: Thermocouple Type S, Scps Hp E1501,02,03

    Thermocouple Type S, SCPs HP E1501,02,03 Appendix A Specifications...
  • Page 320: Thermocouple Type S, Scps Hp E1508,09

    Thermocouple Type S, SCPs HP E1508,09 320 Specifications Appendix A...
  • Page 321: Thermocouple Type T, Scps Hp E1501,02,03

    Thermocouple Type T, SCPs HP E1501,02,03 Appendix A Specifications...
  • Page 322: Thermocouple Type T, Scps Hp E1508,09

    Thermocouple Type T, SCPs HP E1508,09 322 Specifications Appendix A...
  • Page 323: Thermistor Reference, Scps Hp E1501,02,03

    5K Thermistor Reference, SCPs HP E1501,02,03 Appendix A Specifications...
  • Page 324: Thermistor Reference, Scps Hp E1508,09

    5K Thermistor Reference, SCPs HP E1508,09 324 Specifications Appendix A...
  • Page 325: Rtd Reference, Scps Hp E1501,02,03

    RTD Reference, SCPs HP E1501,02,03 Appendix A Specifications...
  • Page 326: Rtd, Scps Hp E1501,02,03

    RTD, SCPs HP E1501,02,03 326 Specifications Appendix A...
  • Page 327: Rtd, Scps Hp E1508,09

    RTD, SCPs HP E1508,09 Appendix A Specifications...
  • Page 328: 2250 Thermistor, Scps Hp E1501,02,03

    2250 Thermistor, SCPs HP E1501,02,03 328 Specifications Appendix A...
  • Page 329: 2250 Thermistor, Scps Hp E1508,09

    2250 Thermistor, SCPs HP E1508,09 Appendix A Specifications...
  • Page 330: Thermistor, Scps Hp E1501,02,03

    5K Thermistor, SCPs HP E1501,02,03 330 Specifications Appendix A...
  • Page 331: Thermistor, Scps Hp E1508,09

    5K Thermistor, SCPs HP E1508,09 Appendix A Specifications...
  • Page 332: Thermistor, Scps Hp E1501,02,03

    10K Thermistor, SCPs HP E1501,02,03 332 Specifications Appendix A...
  • Page 333: Thermistor, Scps Hp E1508,09

    10K Thermistor, SCPs HP E1508,09 Appendix A Specifications...
  • Page 334 Notes: 334 Specifications Appendix A...
  • Page 335: Error Messages

    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.
  • Page 343: Glossary

    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 346 Notes: 346 Glossary Appendix C...
  • 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 353 SD_out = SD_min; Status.B3=1; else Status.B3 = 0; /* Calculate the Error Derivative term */ D_out = D_factor *( PV_old - inchan ); /* Clip to specified limits */ if ( D_out > D_max ) /* Clip derivative */ D_out = D_max; Status.B2=1;...
  • Page 354 else /* Output summary to CVT only */ writecvt( inchan, (ALG_NUM*10)+0 ); writecvt( Error, (ALG_NUM*10)+1); writecvt( outchan, (ALG_NUM*10)+2); writecvt( Status, (ALG_NUM*10)+3 354 PID Algorithm Listings Appendix D...
  • 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 357 static float D_max = 9.9e+37; /* Derivative clip limits static float D_min = 9.9e+37; static float I_max = 9.9e+37; /* Integral clip limits static float I_min = -9.9e+37; static float Man_state = 0; /* Activates manual control static float Man_out = 0; /* Target Manual output value static float Man_inc = 0;...
  • 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 375 uint16 *conv_array ) uint16 M[128]; uint16 EX[128]; uint16 Bhigh[128]; 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];...
  • 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 391 if (!*command) { break; result[0] = 0; cscpi_exe(e1415, command, strlen(command), result, sizeof(result)); INST_QUERY(e1415, "syst:err?", "%d,%s", &error, string); while ( error ) { (void) printf("syst:err %d,’%s’\n", error, string); INST_QUERY(e1415,"syst:err?", "%d,%s", &error, string); if (result[0]) { (void) printf("result: %s\n", result); #endif /* Print usage information */ void usage(char *prog_name) (void) fprintf(stderr, "usage: %s algorithm_file...\n", prog_name);...
  • 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 394 char alg[6]; /* Temporary algorithm name */ (void) sprintf(alg, "ALG%d", alg_num); INST_SEND(e1415, "alg:def %S, %*B\n", alg, strlen(algorithm) + 1, algorithm); /* Check for algorithm errors */ INST_QUERY(e1415,"syst:err?\n", "%d,%S", &error, string); if (error) { (void) printf("While loading file %s, syst:err %d,%s\n", argv[alg_num], error, string);...
  • 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 401 free(algorithm); 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 */ INST_SEND(e1415,"alg:def ’alg1’,’PIDB(I116,O100,O141.B0)’\n"); #endif /* Preset Algorithm variables */ INST_SEND(e1415,"alg:scal ’alg1’,’M’,%f\n", 1.234); INST_SEND(e1415,"alg:scal ’alg1’,’B’,%f\n", 5.678); INST_SEND(e1415,"alg:upd\n"); /* Initiate Trigger System - start scanning and running algorithms */ INST_SEND(e1415,"init\n");...
  • 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...

This manual is also suitable for:

Vxi e1415a

Table of Contents