VXI VT1422A User Manual

Remote channel multi-function dac module user’s and scpi programming manual
Table of Contents

Advertisement

Quick Links

VT1422A Remote Channel
Multi-Function DAC Module
with VT1529A/B 32 Ch Remote Strain Conditioning Unit
and VT1539A Remote Channel Signal Conditioning Plug-On
User's and SCPI Programming Manual
Where to Find it - Online and Printed Information
Module configuration and wiring....................... This Manual
SCPI programming............................................. This Manual
SCPI example programs..................................... This Manual, Driver Disc
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 ............................... VISA User's Guide
VEE programming information ......................... VEE User's Manual
Manual Part Number: 82-0076-000
Printed in U.S.A. August 15, 2005

Advertisement

Table of Contents
loading

Summary of Contents for VXI VT1422A

  • Page 1 VT1422A Remote Channel Multi-Function DAC Module with VT1529A/B 32 Ch Remote Strain Conditioning Unit and VT1539A Remote Channel Signal Conditioning Plug-On User’s and SCPI Programming Manual Where to Find it - Online and Printed Information Module configuration and wiring....... This Manual SCPI programming..........
  • Page 2 This page is blank.
  • Page 3: Warranty Statement

    FITNESS FOR A PARTICULAR PURPOSE. 8. VXI Technology will be liable for damage to tangible property per incident up to the greater of $300,000 or the actual amount paid for the product that is the subject of the claim and for damages for bodily injury or death, to the extent that all such damages are determined by a court of competent jurisdiction to have been directly caused by a defective VXI Technology product.
  • Page 4: Safety Symbols

    DO NOT substitute parts or modify equipment: Because of the danger of introducing additional hazards, do not install substitute parts or perform any unauthorized modification to the product. Return the product to VXI Technology for service and repair to ensure that safety features are maintained.
  • Page 5: Declaration Of Conformity

    Dips: 30% 10ms; 60% 100 ms Interrupt > 95%@5000 ms Canada: ICES-001:1998 Australia/New Zealand: AS/NZS 2064.1 The product was tested in a typical configuration with VXI Technology test systems. Safety IEC 61010-1:1990+A1:1992+A2:1995 / EN 61010-1:1993+A2:1995 Canada: CSA C22.2 No. 1010.1:1992...
  • Page 6 Canada ICES-001 Australia AS/NZS/2064 Russia GOST 23450-79 Czech Republic CSN EN55011 Hungary MSZ EN55011 The product was tested in a typical configuration with VXI Technology test systems. Safety IEC 61010-1:1990+A1:1992+A2:1995 / EN 61010-1:1993+A2:1995 Canada: CSA C22.2 No. 1010.1:1992 UL 3111-1...
  • Page 7 Australia/New Zealand AS/NZS/2064.1 Russia GOST 23450-79 Czech Republic CSN EN 55011 Hungary MSZ EN 55011 The product was tested in a typical configuration with VXI Technology test systems. Safety IEC 61010-1:1990+A1:1992+A2:1995 / EN 61010-1:1993+A2:1995 Canada: CSA C22.2 No. 1010.1:1992 UL 3111-1: 1994...
  • Page 8 Notes:...
  • Page 9: Table Of Contents

    Contents VT1422A Remote Channel Multi-function DAC Module Warranty Statement ..........3 U.S.
  • Page 10 Attaching and Removing the VT1422A RJ-45 Module ....53 Adding Components to the Terminal Module ......54 Spring and Screw Terminal Module Wiring Maps .
  • Page 11 Performing Channel Calibration (Important!)......122 Calibrating the VT1422A ........122 Calibrating Remote Signal Conditioning Units .
  • Page 12 Chapter 5 Advanced Programming with the VT1529B ......161 About This Chapter ..........161 Additional Capabilities of the VT1529B .
  • Page 13 Defining Algorithms (ALG:DEF)........196 ALG:DEFINE in the Programming Sequence .
  • Page 14 ALGorithm ............237 ALGorithm[:EXPLicit]:ARRay .
  • Page 15 DIAGnostic:CUSTom:PIECewise ....... . 281 DIAGnostic:CUSTom:REFerence:TEMPerature ....282 DIAGnostic:IEEE .
  • Page 16 OUTPut:SHUNt:SOURce ........317 OUTPut:SHUNt:SOURce? .
  • Page 17 [SENSe:]FUNCtion:STRain:HBENding:POST ..... 349 [SENSe:]FUNCtion:STRain:HPOisson:POST ..... . 349 [SENSe:]FUNCtion:STRain[:QUARter]:POST .
  • Page 18 STATus:OPERation:ENABle? ........383 STATus:OPERation[:EVENt]? ........383 STATus:OPERation:NTRansition .
  • Page 19 Command Quick Reference ......... 409 Appendix A Specifications .
  • Page 20 Appendix F Generating User Defined Functions ........487 Introduction .
  • Page 21: Support Resources

    Support Resources Support resources for this product are available on the Internet and at VXI Technology customer support centers. VXI Technology World Headquarters VXI Technology, Inc. 2031 Main Street Irvine, CA 92614-6509 Phone: (949) 955-1894 Fax: (949) 955-3041 VXI Technology Cleveland Instrument Division VXI Technology, Inc.
  • Page 22 Support...
  • Page 23: Getting Started

    Chapter 1 Getting Started About this Chapter This chapter will explain hardware configuration before installation in a VXIbus mainframe. By attending to each of these configuration items, the VT1422A won't have to be removed from its mainframe later. Chapter contents include: •...
  • Page 24 Setting the Logical Follow the next figure and ignore any switch numbering printed on the Address Switch Logical Address switch. When installing more than one VT1422A in a single VXIbus Mainframe, set each instrument to a different Logical Address. Setting the Logical Address Switch Default Switch Setting Logical Address = 208 24 Getting Started...
  • Page 25: Getting Started

    Installing Signal The following illustrations show the steps used to install Signal Conditioning Conditioning Plug-ons (SCPs). Before installing an SCPs, reading the "Separating Digital and Analog SCP Signals" in Appendix E page 483 is Plug-Ons recommended. Caution Use approved Static Discharge Safe handling procedures anytime the covers are removed from the VT1422A or when handling the SCPs.
  • Page 26 Installing SCPs: Step 2, Mounting an SCP CAUTION Use approved Static Discharge handling procedures when handling the VT1422A Multifunction DAC Modules and the SCPs Tighten the SCP Retaining Screws Align the SCP connectors with the Module connectors and then push in 26 Getting Started Chapter 1...
  • Page 27 Installing SCPs: Step 3, Reinstalling the Cover VT1422A Line up the 3 Tabs with the 3 Slots; then lower cover onto the Module Tighten 2 Screws Chapter 1 Getting Started...
  • Page 28 Installing SCPs: Step 4, Labeling Peel off correct Label from Card and Stick on the appropriate place on the Cover Terminal Module (Connect to A/D Module Later) Stick-on Label furnished with the SCP (Part Number: 43-0133-xxx) Peel off Label from Card and Stick on the Terminal Module to be...
  • Page 29 Disabling the Disabling the Input Protect feature voids the VT1422A's warranty. The Input Input Protect Protect feature allows the VT1422A to open all channel input relays if any input's 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 (Optional)
  • Page 30 Accessing and Locating JM2201 and JM2202 VT1422A Flash Memory Protect Jumper Default = PROG (recommended) JM2201 JM2202 1 Locate 2 Cut 3 Bend Input Protect Jumper Warning: Cutting this Jumper Voids Your Warranty! 30 Getting Started Chapter 1...
  • Page 31: Instrument Drivers

    Installing the Module Installation of the VT1422A VXI module is covered in the mainframe manual. WARNING All instruments within the VXI mainframe are grounded through the mainframe chassis. During installation, tighten the instrument's retaining screws to secure the instrument to the mainframe and to make the ground connection.
  • Page 32: Verifying A Successful Configuration

    #include <stdlib.h> #include <string.h> #include <hpe1422.h> /* include the driver header file */ /* GPIB-VXI addressing (0 is the interface number, 208 is the */ /* instrument logical address, INSTR is a VISA resource type) */ #define INSTR_ADDRESS "GPIB-VXI0::208::INSTR" ViSession addr;...
  • Page 33: Instrument Drivers

    return; rst_inst(); /* Resets the instrument and sends a device clear */ reads_instrument_id(); /* Reads instrument software revision */ /* close the device session */ hpe1422_close(addr); /****************************************************************************/ void rst_inst(void) /* Function to set the interface timeout period, resets the instrument, */ /* waits for completion of reset and sends a device clear to enable */ /* the instrument to receive a new command */ ViInt32 result;...
  • Page 34 if(VI_SUCCESS > errStatus) hpe1422_dcl(addr); /* send a device clear */ if(hpe1422_INSTR_ERROR_DETECTED == errStatus) /* read instrument error until error queue is empty*/ hpe1422_error_query( addr, &err_code, err_message); if(err_code != 0) printf("Instrument Error : %ld, %s\n", err_code, err_message); while(err_code != 0); else /* query the instrument */ hpe1422_error_message( addr, errStatus, err_message);...
  • Page 35: About This Chapter

    Chapter 2 Field Wiring About This Chapter This chapter shows how to plan and connect field wiring to the VT1422A's Terminal Module. The chapter explains proper connection of analog signals to the VT1422A, both two-wire voltage type and four-wire resistance type measurements.
  • Page 36: Terminal Module

    Terminal Module Position 0 (on-board addresses 00-07) Position 1 (on-board addresses 08-15) Note: Each channel line represents Position 2 Both a Hi and Lo signal line. (on-board addresses 16-23) Position 3 (on-board addresses 24-31) Range Amp 16-Bits Converter Position 4 (on-board addresses 32-39) Position 5 (on-board addresses 40-47)
  • Page 37: Sense

    Sense SCPs and Some SCPs provide input signal conditioning (sense SCPs such as filters Output SCPs and amplifiers) while others provide stimulus to the measurement circuit (output SCPs such as current sources and strain bridge completion). In general, channels at output SCP positions are not used for external signal sensing but are paired with channels of a sense SCP.
  • Page 38 Planning for Using either the Screw Terminal or Spring Terminal Modules, Thermocouple thermocouples and the thermocouple reference temperature sensor can be wired to any of the VT1422A's channels. When the scan list is executed, one Measurements must ensure that the reference temperature sensor is specified in the channel sequence before any of the associated thermocouple channels.
  • Page 39 Faceplate Connector Pin-Signal Lists Figure 2-3 shows the Faceplate Connector Pin Signal List for the VT1422A. Count Count From From Bottom HOHM LOHM HCAL LCAL HCAL HCAL LCAL LCAL HOHM HOHM LOHM LOHM TST-A SYSF VT1422A Figure 2-3. VT1422A Faceplate Connector Pin Signals Chapter 2 Field Wiring...
  • Page 40: Optional Terminal And Connector Modules

    Optional Terminal and Connector Modules The VT1422A is comprised of the main A/D module and optionally, a Connector or Terminal Module. The Option 001 Connector Module provides sixteen RJ-45 jacks to allow easy connection of the VT1422A to Remote Signal Conditioning Units (RSCUs) like the VT1529A/B Remote Strain Conditioning Unit.
  • Page 41 The RJ-45 Figure 2-4 shows the VT1422A Option 001 RJ-45 Connector Module with Connector Module connector pin numbering. RJ-45 Connector Module Pinout for Std SCP I/O (even chs 0,2,4,6) + = Hi - = Lo SCP position 0, chs 0-6 and 1-7 SCP position 1, chs 8-14 and 9-15 1 2 3 4 5 6 7 8 Shield Gnd...
  • Page 42 Sockets for Guard to Ground Connections Terminal Block for Input Connections Jumper to select for On-board or Remote Temperature Sensing TRIG LCAL HCAL LOHM HDHM Terminal Block with Remote Temperature Sensing, On-board Thermistor Trigger, and other Connections for Temperature Sensing Figure 2-5.
  • Page 43 Screw Terminal Figure 2-6 shows the VT1422A Option 011 Screw Terminal Module Module Layout features and jumper locations. On-Board Reference Temperature Sensing Jumper Detail Remote Reference Temperature Sensing Figure 2-6. VT1422A Screw Terminal Module Chapter 2 Field Wiring...
  • Page 44: Reference Temperature Sensing With The Vt1422A

    Reference Temperature Sensing with the VT1422A The Screw Terminal and Spring Terminal Modules provide an on-board thermistor for sensing isothermal reference temperature of the terminal blocks. Also provided is a jumper set (J1 in Figures 2-7 and 2-8) to route the VT1422A's on-board current source to a thermistor or RTD on a remote isothermal reference block.
  • Page 45 VT1422A module and the Terminal Module. 4. The VXI mainframe cooling fan filters must be clean and there should be as much clear space in front of the fan intakes as possible.
  • Page 46: Preferred Measurement Connections

    Preferred Measurement Connections For any A/D Module to scan channels at high speeds, it must use a very short sample μ period (< 10 s for the VT1422A). If significant normal mode noise is presented to IMPORTANT! its inputs, that noise will be part of the measurement. To make quiet, accurate measurements in electrically noisy environments, use properly connected shielded wiring between the A/D and the device under test.
  • Page 47 + power Device Shield Under Test pressure Remove Jumper to Guard - power break Ground Loop Example for (shield connected to ground at transducer) Powered Transducers + power Shield Device Under Test pressure Guard Leave Jumper in Place - power Example for (transducer floating) Powered...
  • Page 48 Terminal Module External Connections 1 kΩ GND to GRD Jumper 10 kΩ 0.1 F µ (removable) For each SCP Position 1 kΩ GND to GRD Jumper 0.1 F µ 10 kΩ (removable) Figure 2-10. GRD/GND Circuitry on Terminal Module R em oving G uard to G round on C hannel 00 Figure 2-11.
  • Page 49: Connecting The On-Board Thermistor

    Connecting the On-Board Thermistor The following figures show how to use the VT1422A 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-12 shows the configuration for the VT1422A’s Spring Terminal Module, Figure 2-6 shows the configuration for the Screw Terminal Module.
  • Page 50: Wiring And Attaching The Terminal Module

    Wiring and Attaching the Terminal Module Figures 2-13 and 2-14 show how to open, wire and attach the terminal module to a VT1422A. Remove Clear Cover. Remove and Retain Wiring Exit Panel A. Release screws. Remove 1 of the 3 B.
  • Page 51 Replace Wiring Exit Panel Replace Clear Cover A. Hook in the top cover tabs onto the fixture B. Press down and tighten screws Cut required Keep wiring exit panel holes in panels hole as small as for wire exit possible Push in the Extraction Levers to Lock the Install the Terminal Terminal Module onto the VT1422A...
  • Page 52: Wiring And Attaching The Terminal Module

    Removing the VT1422A Terminal Modules Figure 2-15 shows how to remove the Spring Terminal and Screw Terminal Modules from the VT1422A. Release the two extraction levers and push both levers out simultaneously Extraction Lever Use a small screwdriver to pry and release the two extraction levers Free and remove the Terminal Module from the A/D Module...
  • Page 53: Attaching And Removing The Vt1422A Rj-45 Module

    Attaching and Removing the VT1422A RJ-45 Module Figure 2-16 shows how to remove the RJ-45 Terminal Module. Install on VT1422A Push in the Extraction Levers to Lock the Terminal Module onto the VT1422A Extraction Levers Releasing the Extraction Levers to Remove the Terminal Module Screwdriver With 1/8"...
  • Page 54: Adding Components To The Terminal Module

    Adding Components to the Terminal Module The back of the terminal module PCB (printed circuit board) provides surface mount pads which can be used to add serial and parallel components to any channel's signal path. Figure 2-17 shows additional component locator information (see the schematic and pad layout information on the back of the terminal module PCB).
  • Page 55: Attaching And Removing The Vt1422A Rj-45 Module

    Spring and Screw Terminal Module Wiring Maps Figure 2-19 shows the Spring Terminal Module wiring map. 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-19.
  • Page 56: Adding Components To The Terminal Module

    Figure 2-20 shows the Screw Terminal Module wiring map. HOHM LOHM HCAL LCAL heavy line indicates side of terminal block wire enters Figure 2-20. Screw Terminal Module Full-Size Wiring Map 56 Field Wiring Chapter 2...
  • Page 57: Spring And Screw Terminal Module Wiring Maps

    Chapter 2 Field Wiring...
  • Page 58 58 Field Wiring Chapter 2...
  • Page 59: Programming The Vt1422A & Vt1529A/B For Remote Strain Measurement

    VXI Technology Remote Strain Measuring System (VT1422A, VT1539A, and VT1529A/B). The chapter will cover: • Instrument Setup for Remote Strain Measurements ..page 58 -- Preparing the VT1422A for Installation .
  • Page 60: Instrument Setup For Remote Strain Measurements

    Instrument Setup for Remote Strain Measurements This section involves: • Preparing the VT1422A for installation into a VXIbus Mainframe • Preparing the VT1529A/B for use • Connecting the VT1422A to VT1529A/B Remote Strain Completion units. • Connecting Excitation power supplies to the VT1529A/B •...
  • Page 61: Preparing The Vt1529A/B For Use

    Preparing the For most applications, the VT1529A/B is ready for installation as delivered. VT1529A/B for Use It is designed to be easily rack mounted in a system cabinet by its built-in front panel extensions. All user connection are accessible on the front panel with the exception of the line-cord jack which is on the rear of the unit.
  • Page 62 Loosen Top Cover Screw Remove Top Cover PC Board Unlatch Cover from Bottom Cover Tab on Each Side See Detail "A" Detail "A" Figure 3-2. Removing the VT1529A/B Top Cover 60 Programming the VT1422A & VT1529A/B for Remote Strain Measurement Chapter 3...
  • Page 63 Locating Resistors Figure 3-3 provides the relationship between P.C. board location and bridge resistor channel number. The surface mount pads nearest the through-hole locations are in parallel with them. "Rxx" Indicates the Channel Number Through-Hole Resistor Positions Surface-Mount Resistor Positions P401 P402 Figure 3-3.
  • Page 64: Connecting Vt1529A/Bs To The Vt1422A

    Connecting The cable between a VT1422A and each VT1529A/B (connection "A" in VT1529A/Bs to the Figure 3-1) is a standard type of cable used in computer Local Area Networks (LANs). The VT1529A/B can be any distance up to 1000 feet VT1422A (304.8 m) from the VT1422A and the interconnect cable can be easily custom made to fit the installation.
  • Page 65: Two Interconnect Methods

    Two Interconnect Depending on the Terminal Module ordered with the VT1422A, there are Methods two methods of interconnecting a VT1529A/B to the VT1422A (connection "A" in Figure 3-1). The Option 001 RJ-45 The RJ-45 Connector Module is used when most or all of VT1422A SCP Connector Module positions contain a VT1539A Remote Channel SCP.
  • Page 66 Spring and Screw For mixed on-board SCP channels and RSCU operation, spring or screw Terminal Modules type terminal modules can be used. For standard SCP channel connections, see Chapter 2 “Field Wiring” on page 35. For remote channels, connect the individual wires from each VT1529A/B’s data interface cable to the appropriate terminals for remote channel operation.
  • Page 67 Table 3-3. VT1539A Signal Names SCP Signal Names - to - Terminal Names SCP Position Plug VT1539A Signal Name Terminal Name on Terminal Name on Pin# (with EIA/TIA-568A Terminal Module Terminal Module wire color-code) (SCP’s low channel) (SCP’s High Channel) SCP Position 3 Analog+ (wht-green) HI 24...
  • Page 68 Example Terminal Figure 3-6 shows a typical connection to a VT1529A/B through one of Module to VT1529A/B the optional terminal modules. In this case, the connection is to the low channel on the VT1539A in SCP position number 6 (channels 14800 - Connection 14831).
  • Page 69: Connecting Excitation Supplies

    Connecting This connection is shown as "B" in Figure 3-1. The VT1529A/B uses Excitation Supplies external excitation supplies. There are four pairs of input pins (and Gnd) at the "Bridge Excitation" connector for up to four individual excitation supplies. Each of these four inputs power eight channels through a programmable switch.
  • Page 70 Power Supplies Inside VT1529A/B and Cabling Power Chs 0-7 Supply 1 Power Chs 24-31 Supply 4 Ch 0-7 Ch 8-15 Ch 16-23 Ch 24-31 Figure 3-7. Excitation Supply Connections 68 Programming the VT1422A & VT1529A/B for Remote Strain Measurement Chapter 3...
  • Page 71: Connecting The Vt1529A/B To Strain Gages

    Connecting the VT1529A/B to Strain Gages The following discussion relates to the connection marked "C" in Figure 3-1 on page 58. Connecting the strain gages to the RJ-45 telecom connectors is illustrated below. These connections can be made with the same type of cable and crimp-on connectors used for Data Interface connection (connection "A"...
  • Page 72: Vt1529A/B Bridge Configurations

    VT1529A/B Bridge Configurations The Quarter Bridge Figure 3-10 shows the connections to the 8-pin telecom connector for a configuration quarter bridge configuration. It also shows a simplified schematic of the bridge completion settings for a quarter bridge channel. Quarter Bridge (channel 0 shown) 8-pin telcom SENS:STR:EXC:STATE...
  • Page 73 The Half Bridge Figure 3-11 shows the connections to the 8-pin telecom connector for a half configuration bridge configuration. It also shows a simplified schematic of the bridge completion settings for a half bridge channel. Half Bridge (channel 0 shown) 8-pin telcom Excitation SENS:STR:EXC:STATE...
  • Page 74 The Full Bridge Figure 3-12 shows the connections to the 8-pin telecom connector for a full configuration bridge configuration. It also shows a simplified schematic of the bridge completion settings for a full bridge channel. Full Bridge (channel 0 shown) 8-pin telcom Excitation SENS:STR:EXC:STATE...
  • Page 75: Connecting To The Vt1529A/Bs Dynamic Strain Ports

    Connecting to the VT1529A/Bs Dynamic Strain Ports The VT1529A/B has two, 37-pin connectors that provide wideband amplified outputs from each strain bridge signal. This allows for connection to a high-speed ADC-per-channel instrument like the VT1432A or VT1433B to capture dynamic strain events. While an instrument like the VT1432A or VT1433B can measure signals from the VT1529A/B, a VT1422A is still required to control the VT1529A/B’s bridge configuration, calibration and self-test functions.
  • Page 76 Table 3-4. Dynamic Strain Extender Cable Pin-Out Female 37-Pin Connector Signal Name Male 37-Pin Connector Pin Number Pin Number Buffered Output 0+/16+ Buffered Output 0-/16- Buffered Output 1+/17+ Buffered Output 1-/17- Buffered Output 2+/18+ Buffered Output 2-/18- Buffered Output 3+/19+ Buffered Output 3-/19- Buffered Output 4+/20+ Buffered Output 4-/20-...
  • Page 77: Dynamic Strain Port Offset Control

    Dynamic Strain Port Each buffered dynamic strain channel includes an offset adjusting DAC Offset Control controlled by the command SOURce:VOLTage[:AMPLitude] <-offset_v>,(@<ch_list>) Reducing the unstrained bridge offset voltage at the dynamic strain port channel can allow the VT1432A to measure the channel using a more sensitive range.
  • Page 78: Remote Strain Channel Addressing

    Remote Strain Channel Addressing Figure 3-15 shows the relationship between SCP positions and Remote Channel Addressing through the VT1539A SCP (see Figure 2-1 on page 36 to compare with On-Board Channel Addressing). Not all SCP positions need to contain VT1539As. If needed, VT1539As can be mixed with other analog sense, source, and digital I/O SCPs.
  • Page 79 Terminal Module VT1529A/B Remote Strain 32 Addresses 0000 - 0031 VT1539A SCP Position 0 VT1529A/B Remote Strain (on-board addresses 00-01) 32 Addresses 0100 - 0131 VT1529A/B Remote Strain 32 Addresses 0800 - 0831 VT1539A SCP Position 1 VT1529A/B Remote Strain (on-board addresses 08-09) 32 Addresses 0900 - 0931 VT1529A/B Remote Strain...
  • Page 80: Programming For Remote Strain Measurement

    Programming for Remote Strain Measurement This programming section is focused exclusively on programming the VT1422A and VT1529A/B for remote strain measurement. For more general VT1422A programing see Chapter 4 “Programming the VT1422A for Data Acquisition and Control”. Power-on and *RST Some of the programming operations that follow may already be set after Configuration Power-on or after an *RST command.
  • Page 81: Measure Strain Using Built-In Strain Eu Conversion

    Measure Strain Using This method lets the VT1422A convert the strain bridge readings to units of Built-in Strain EU strain (∈) before they are stored in the CVT and/or FIFO or accessed by algorithms. There is no speed penalty and there is significant convenience in Conversion allowing the VT1422A to make the Engineering Unit conversion to strain.
  • Page 82 Note If an algorithm is loaded while method "b" is used, the FIFO may contain more than just the unstrained voltage readings. It is up to the user to obtain the correct data and input it into the VT1422A. 3. The power-on and *RST excitation voltage value is 1.0E6; this value was chosen purposely so that obviously bad readings would result if this value was not changed to the true excitation voltage.
  • Page 83: Sense:function:strain

    *CAL? and CALibration:REMote? Periodic Calibration SENSe:FUNCtion:STRain: <bridge_type> . Also sets To convert readings to bridge config switches and turns on excitation V Engineering Units of strain INPut:FILTer:FREQuency and INPut:FILTer:STATe Set Input Filter on VT1529A/B Send gage factors to SENSe:STRain:GFACtor channel EU routines Measure bridge excitation MEASure:VOLTage:EXCitation? voltages and send to EU routines...
  • Page 84 Built-in EU Conversion Below is an example VXIplug&play command sequence. Note that this is Command Sequence not executable; it has been simplified for easier reading. The C++ example source file (euseq.cpp) is on the CD supplied with the instrument. View the readme.txt file provided with the VXIplug&play driver for example program file location.
  • Page 85: Measure Strain Using User Specified Eu Conversion

    Measure Strain Using The VT1422A measures voltage and then applies a conversion routine User Specified EU (linear) supplied by the user. The user must supply the slope (M) and offset (B) of a linear M*volt + B conversion. Conversion The DIAGnostic:CUSTom:MXB <slope>,<offset>,(@<ch_list>) command is used to supply the slope and offset for the strain conversion.
  • Page 86 SENSe:STRain:BRIDge[:TYPE] Set bridge configuration switches Set Input Filter on VT1529A/B INPut:FILTer:FREQuency and INPut:FILTer:STATe Enable excitation voltage SENSe:STRain:EXCitation:STATe to the strain bridges Measure bridge excitation MEASure:VOLTage:EXCitation? voltages and retrieve from FIFO SENS:DATA:FIFO:PART? Measure unstrained bridge output MEASure:VOLTage:UNSTrained? voltages and retrieve from FIFO SENSE:DATA:FIFO:PART? solve your equation for M and B as a function of M(slope)=<your equation>...
  • Page 87: Custom Eu

    Custom EU Conversion Below is an example VXIplug&play command sequence. Note that this is Command Sequence not executable; it has been simplified for easier reading. The C++ example source file (mxbseq.cpp) is on the CD supplied with the instrument. View the readme.txt file provided with the VXIplug&play driver for example program file location.
  • Page 88: Measure Bridge Voltages And Convert To Strain

    /* set up the sample timer. This controls the channel to channel scan rate and can be important when channels need more than the default 40 microsecond sample time. */ errStatus=hpe1422_cmd(sessn,"sample:timer 40E-6"); /* *RST default */ /* INITiate the trigger system to execute a measurement scan */ errStatus=hpe1422_cmd(sessn,"INIT:IMMediate");...
  • Page 89 6. Turn on excitation voltage to the strain bridges with the SENSe:STRain:EXCitation:STATe ON,(@<ch_list>) command. 7. Use the ROUTe:SEQuence:DEFine (@<ch_list>) command to define the scan list to measure the output voltage at each strain bridge. The <ch_list> specified here must match the <ch_list> specified in the two previous steps (measuring unstrained and excitation voltages).
  • Page 90 Readings returned in voltage SENSe:FUNCtion:VOLTage SENSe:STRain:BRIDge[:TYPE] Set bridge configuration switches Set Input Filter on VT1529A/B INPut:FILTer:FREQuency and INPut:FILTer:STATe Enable excitation voltage SENSe:STRain:EXCitation:STATe to the strain bridges Measure bridge excitation MEASure:VOLTage:EXCitation? voltages and retrieve from FIFO SENS:DATA:FIFO:PART? Measure unstrained bridge output MEASure:VOLTage:UNSTrained? voltages and retrieve from FIFO SENSE:DATA:FIFO:PART?
  • Page 91 /* set channel function for voltage readings (autorange) */ errStatus=hpe1422_cmd(sessn,"sens:func:voltage auto,(@10000:10007)"); /* set bridge configuration switches */ errStatus=hpe1422_cmd(sessn,"sens:str:bridge fben,(@10000:10007)"); /* optionally set VT1529A/B input filters (2, 10 or 100 Hz) */ errStatus = hpe1422_cmd(sessn,"input:filter:frequency 10,(@10000:10007)"); /* optionally enable VT1529A/B input filters (approx 100 kHz when OFF) */ errStatus = hpe1422_cmd(sessn,"input:filter:state ON,(@10000:10007)");...
  • Page 92: Verifying Correct Bridge Completion (Shunt Cal)

    Verifying Correct Bridge Completion (Shunt Cal) Verifying bridge configurations and connections is accomplished by inserting a known resistance (shunt cal resistor) in parallel with one leg of the bridge to imbalance it by a predictable amount. The VT1529A/B provides a single, internal 50 kΩ shunt cal resistor that can be programmatically connected to each of the 32 channels, one channel at a time.
  • Page 93 Measure bridge excitation MEASure:VOLTage:EXCitation?/SENSe:DATA:FIFO? voltages and get from FIFO Measure unstrained bridge output MEASure:VOLTage:UNSTrained?/SENSe:DATA:FIFO? voltages and get from FIFO Send gage factors to SENSe:STRain:GFACtor channel EU routines SENSe:FUNCtion:STRain:<bridge_type>. Also sets To convert readings to bridge config switches and turns on excitation V Engineering Units of strain Measure unstrained bridge output MEASure:VOLTage:UNSTrained?
  • Page 94: Built-In Strain Conversion Equations

    Built-in Strain Conversion Equations When using the VT1422A’s built-in strain conversion (SENSe:FUNCtion:STRain:<bridge_type> <range>,(@<ch_list>)), the following equations are used to convert voltage to strain. Full Bridge Equation This equation is used by the VT1422A to convert bridge measurements to (bridge_type=FBEN) Engineering Units of Strain for channels specified in the command SENSe:FUNCtion:STRain:FBEN <range>,(@<ch_list>).
  • Page 95 Error Analysis Figure 3-21 compares the non-linear quarter bridge equation used for strain SCPs with the linear approximation used with the VT1529A/B. Notice that while the error is independent of excitation voltage and unstrained voltage, error is quite sensitive to gage factor. GF=1 Error vs Delta Strain GF=2...
  • Page 96 94 Programming the VT1422A & VT1529A/B for Remote Strain Measurement Chapter 3...
  • Page 97: Programming The Vt1422A For Data Acquisition And Control

    Chapter 4 Programming the VT1422A for Data Acquisition and Control About This Chapter The focus in this chapter is to show the VT1422A’s general programming model. The programming model is basically the sequence of SCPI commands the application program will send to the VT1422A to configure it to execute the defined Scan List and/or algorithms.
  • Page 98: Overview Of The Vt1422A Multifunction Dac Module

    -- Reading Running Algorithm Values ....page 134 Reading CVT Data ......page 134 Reading FIFO Data .
  • Page 99: Multifunction Dac

    Multifunction DAC? The VT1422A is a complete data acquisition and control system on a single VXI card. It is multifunction because it uses the Signal Conditioning Plug-on (SCP) concept whereby analog input/output and digital input/output channels can be mixed and matched to meet various application needs. It can...
  • Page 100: Operational Overview

    Programmable Signal The input and output SCPs are configured with the SCPI and/or VXIplug&play Conditioning and EU programming. Analog SCPs are measured with the VT1422A’s A/D. Configuring the analog SCPs include specifying what type of Engineering Conversion Unit (EU) conversions are desired for each analog input channel. For example, one channel may require a type T thermocouple conversion and another may be a resistance measurement.
  • Page 101: Algorithm 1

    Approximately 2000 lines of user-written 'C' code can be downloaded into the VT1422A's memory and can be split among up to 32 algorithms. VXI Technology refers to these as algorithms because an algorithm is a step-by-step procedure for solving some problem or accomplishing some end.
  • Page 102: Detailed Instrument Operation Cycle

    Detailed Instrument Figure 4-2 illustrates the timing of all these operations and describes the Operation Cycle VT1422A's input-update-execute algorithms-output phases. This cycle-based design is desirable because it results in deterministic operation of the VT1422A. That is, the input channels are always scanned and the output channels are always written at pre-defined intervals.
  • Page 103 A limited and simplified version of C was created since most applications need only basic operations: add, subtract, multiply, divide, scalar variables, arrays, and programming constructs. The programming constructs are limited to if-then-else to allow conditional evaluation and response to input changes.
  • Page 104: Programming Model

    Programming Model SCPI commands and/or VXIplug&play driver functions are used to configure, start, stop, and communicate with the VT1422A. 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" state to the "running"...
  • Page 105 Power-On Before INIT Commands Accepted: All commands exept: *TRG, TRIGGER, and ALG:UPD:CHAN Trigger Idle State INITiate[:IMM] After INIT Commands Accepted: Waiting for Trig Count *RST Trigger State Exhausted? ABORT Most of ALG subsystem ARM[:IMM] TIMer or other FETCH? trigger event FORMAT SENSe:DATA ...
  • Page 106: Executing The Programming Model

    Executing the Programming Model This section shows the sequence of programming steps that should be used for the VT1422A. Within each step, most of the available choices are shown using command sequence examples, with further details available in the Command Reference Chapter 7. IMPORTANT! It is very important that, while developing an application, the SYSTem:ERRor? query be executed after each programming command.
  • Page 107: Format

    Power On or *RST Set up SCP & RSCU Amps, Filters, and Step 1 INP: ..., OUTP: ... commands Measurement Excitation Sources Link Engineering Units (Functions) Step 2 [SENSe:]FUNC: ... commands to Analog Input Channels INP: ..., OUTP: ..., [SENSe:] ...,SOUR: ... Set up Digital I/O Channels Step 3 Calibrate Channel Set-up...
  • Page 108: Programming Overview Diagram

    Programming Overview Diagram Arm Source Selector Trigger Source Selector (trigger signal) (load list) (load list) 64 Channel FET Multiplexer Cal Relays Select Calibration Source or Input Signal CALibration:TARE CALibration:TARE? 106 Programming the VT1422A for Data Acquisition and Control Chapter 4...
  • Page 109: Setting Up Analog Input And Output Channels

    Setting up Analog Input and Output Channels This section covers configuring input and output channels to provide the measurement values and output characteristics that the algorithms need to operate. Configuring This step applies only to programmable Signal Conditioning Plug-ons such Programmable as the VT1503A Programmable Amplifier/Filter SCP, the VT1505A Current Source SCP, the VT1510A Sample and Hold SCP, the VT1511A...
  • Page 110 Setting Filter The commands for programmable filters are: Cutoff Frequency INPut:FILTer[:LPASs]:FREQuency <cutoff_freq>,(@<ch_list>) to select cutoff frequency INPut:FILTer[:LPASs][:STATe] ON | OFF,(@<ch_list>) to enable or disable input filtering Note: For the VT1529A/B, these commands affect an 8-channel bank. The cutoff frequency selections provided by the SCP can be assigned to any channel individually or in groups.
  • Page 111: Linking Input Channels To Eu Conversion

    To set channels 0 through 9 to output 30 µA and channels 10 through 19 to output 488 µA: OUTP:CURR 30e-6,(@100:109) OUTP:CURR 488e-6,(@110:119) separate command per output level or combine into a single command message: OUTP:CURR 30e-6,(@100:109);CURR 488e-6,(@110:119) NOTE The OUTPut:CURRent:AMPLitude command is only for programming excitation current used in resistance measurement configurations.
  • Page 112 [SENSe:]FUNCtion:TEMPerature <type>,<sub_type>,[<range>,] (@<ch_list>) for temperature measurements with thermocouples, thermistors or RTDs [SENSe:]FUNCtion:VOLTage <range>,(@<ch_list>) for voltage measurements [SENSe:]FUNCtion:CUSTom <range>,(@<ch_list>) for custom EU conversions. NOTE At power-on and after *RST, the default EU Conversion is autorange voltage for all 64 channels. Linking Voltage To link channels to the voltage conversion send the Measurements [SENSe:]FUNCtion:VOLTage [<range>,] (@<ch_list>) command.
  • Page 113 Linking Resistance To link channels to the resistance EU conversion send the Measurements [SENSe:]FUNCtion:RESistance <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 4-5. Two-Wire Measurement Four-Wire Measurement (not recommended **) Current Source SCP Current Source SCP...
  • Page 114 To set channels 0 through 15 to measure resistances greater than 8,000 Ω and set channels 16, 20, and 24 through 31 to measure resistances less than 8k (in this case paired to current source SCP channels 32 through 57): OUTP:CURR:AMPL 30e-6, (@132:147) set 16 channels to output 30 μA for 8 kΩ...
  • Page 115 NOTES 1. Resistance temperature measurements (RTDs and THERmistors) require the use of Current Source Signal Conditioning Plug-Ons. The following table shows the Current Source setting that must be used for the following RTDs and Thermistors: Required Current Temperature Sensor Types Amplitude and Subtypes MAX (488 µA)
  • Page 116 Thermocouple Measurements Thermocouple measurements are voltage measurements that the EU conversion changes into temperature values based on the <sub_type> parameter and latest reference temperature value. • For Thermocouples the <sub_type> parameter can specify CUSTom, E, EEXT, J, K, N, R, S, T (CUSTom is pre-defined as Type K, no reference junction compensation;...
  • Page 117 • The <sub_type> parameter must specify: -- For RTDs; "85" or "92" (for 100 ohm RTDs with 0.00385 or 0.00392 ohms/ohm/°C temperature coefficients respectively) -- For Thermistors; only "5000" (See previous note on page 113) -- For CUSTom; only "1" •...
  • Page 118 Supplying a Fixed Reference Temperature The [SENse:]REFerence:TEMPerature <degrees_c> command immediately stores the temperature of a controlled temperature reference junction panel in the Reference Temperature Register. The value is applied to all subsequent thermocouple channel measurements until another reference temperature value is specified or measured. There is no need to use SENS:REF:CHANNELS.
  • Page 119: Linking Output Channels To Functions

    • VT1529A/B channels provide both strain bridge completion and bridge output sense so <ch_list> links strain EU conversion directly to those channels. Note When the SENS:FUNC:STR:<bridge_type> command is used with VT1529A/B channels, the bridge configuration switches for those channels are set to actually configure the bridge type specified. There is no need to send the configuration only SENSe:STRain:BRIDge:TYPE command for channels that use the SENSe:FUNCtion:STRain:<bridge_type>...
  • Page 120: Setting Up Digital Input And Output Channels

    Setting Up Digital Input and Output Channels Setting Up Digital Digital inputs can be configured for polarity and, depending on the SCP Inputs model, a selection of input functions as well. The following discussion will explain which functions are available with a particular Digital I/O SCP model. Setting a digital channel’s input function is what defines it as an input channel.
  • Page 121: Setting Up Digital Outputs

    Frequency Function The frequency function uses two commands. For more on this VT1534A and VT1538A capability, see the appropriate SCP’s User’s Manual. To set the frequency counting gate time execute [SENSe:]FREQuency:APERture <gate_time>,(@<ch_list>) To set the digital channel function to frequency [SENSe:]FUNCtion:FREQuency (@<ch_list>) Totalizer Function The totalizer function uses two commands also.
  • Page 122 Setting Output The VT1533A and VT1534A use output drivers that can be configured as Drive Type either active or passive pull-up. To configure this, use the command OUTPut:TYPE <mode>,(@<ch_list>). This setting is valid even while the specified channel in not an output channel. If and when the channel is configured for output (an output FUNCtion command), the setting will be in effect.
  • Page 123 Variable Width Pulses at Fixed Frequency (PWM) This function sets up one or more VT1534A/38A channels to output a train of pulses. A companion command sets the period for the complete pulse ↑ ↑ edge to edge). This of course fixes the frequency of the pulse train. The width of the pulses from these channels is controlled by Algorithm Language statements.
  • Page 124: Performing Channel Calibration (Important!)

    Performing Channel Calibration (Important!) Calibrating the The *CAL? (also performed using CAL:SETup then CAL:SETup?) is a VT1422A very important step. *CAL? generates calibration correction constants for all analog input and output channels on-board the VT1422A. *CAL? must be performed in order for the VT1422A to deliver its specified accuracy. Operation and *CAL? generates calibration correction constants for each analog input Restrictions...
  • Page 125: Calibrating Remote Signal Conditioning Units

    Re-Execute • When channel gain and/or filter cut-off frequency on programmable *CAL? When: SCPs are changed (using INPut:GAIN or INPut:FILTer...). • When SCPs are re-configured to different locations. This is true even if an SCP is replaced with an identical model SCP because the calibration constants are specific to each SCP channel’s individual performance.
  • Page 126 ROUTe:SEQuence:DEFine accepts both on-board channels from conventional SCPs as well as remote channels from Remote Signal Conditioning Units (RSCUs). For details about syntax see “Channel List (Standard Form)” starting on page 231 and “ROUTe:SEQuence:DEFine” on page 323. Note Certain analog input SCPs display higher than normal offset and noise figures if their channels are scanned just before channels on a Remote Signal Conditioning Unit.
  • Page 127: Defining C Language Algorithms

    Defining C Language Algorithms This section is an overview of how to write and download C algorithms into the VT1422A's memory. It is assumed that the user has some programming experience in C, but since the VT1422A's version of C is limited, just about any experience with a programming language will suffice.
  • Page 128: Global Variable Definition

    Global Variable Global variables are used when it is necessary to communicate information Definition from one algorithm to another. Globals are initialized to 0 unless specifically assigned a value at define time. The initial value is only valid at the time of definition.
  • Page 129: Defining Data Storage

    ALG:SCAL 'alg1','start',1.2345 ALG:ARR 'alg1','some_array',#232..LF/EOI ALG:UPD The ALG:SCAL command designates the name of an algorithm, indicates where to find the local variable start, and assigns that variable the value of 1.2345. Likewise, the ALG:ARRAY command designates the name of an algorithm, the name of the local array, and a definite length block for assigning the four real number values.
  • Page 130: Selecting The Fifo Mode

    To specify that values are to remain in IEEE 32-bit Floating Point format for fastest transfer rate: FORMAT REAL,32 To specify that values are to be converted to 7-bit ASCII and returned as a fifteen character per value comma separated list: FORMAT ASC,7 The *RST, *TST?, and power-on default format...
  • Page 131: Setting Up The Trigger System

    Setting up the Trigger System Arm and Trigger Figure 4-6 shows the trigger and arm model for the VT1422A. Note that Sources when the Trigger Source selected is TIMer (the default), the remaining sources become Arm Sources. Using ARM:SOUR allows an event to be specified that must occur in order to start the Trigger Timer.
  • Page 132 NOTES 1. When TRIGger:SOURce is not TIMer, ARM:SOURce must be set to IMMediate (the *RST condition). If not, the INIT command will generate an error -221,"Settings conflict." 2. When TRIGger:SOURce is TIMer, the trigger timer interval (TRIG:TIM <interval>) must allow enough time to scan all channels, execute all algorithms and update all outputs or a +3012, "Trigger Too Fast"...
  • Page 133: Programming The Trigger Timer

    Programming the When the VT1422A is triggered, it begins its instrument operation cycle. Trigger Timer The time it takes to complete a cycle is the minimum interval setting for the Trigger Timer. If programmed to a shorter time, the module will generate a "Trigger too fast"...
  • Page 134: Initiating The Module/Starting Scanning And Algorithms

    INITiating the Module/Starting Scanning and Algorithms When the INITiate[:IMMediate] command is sent, the VT1422A builds the input Scan List from the input channels referenced when an algorithm is defined with the ALG:DEF command above and from the channels referenced with the ROUTe:SEQuence:DEFine command. The module also enters the Waiting For Trigger State.
  • Page 135: The Operating Sequence

    The Operating The VT1422A has four major operating phases plus one optional phase. Sequence Figure 4-7 shows these phases. A trigger event starts the sequence: 1. (INPUT): the state of all digital inputs are captured and each analog input channel that is in the scan list and/or referenced by an algorithm variable is scanned.
  • Page 136: Reading Running Algorithm Values

    Reading Running Algorithm Values The most efficient means of acquiring algorithm derived data from the VT1422A is to have its algorithms store real-number results in the FIFO or CVT. The algorithms use the writefifo(), writecvt(), and writeboth() intrinsic functions to perform this operation as shown below. Note: CVT 0 - 9 unavailable CVT 10 CVT 11...
  • Page 137: Reading Fifo Data

    Note After *RST/Power-on, each element in the CVT contains the IEEE-754 value "Not-a Number" (NaN). Channel values which are a positive overvoltage return IEEE +INF and negative overvoltage return IEEE -INF. Refer to the FORMat command in on page 293 for the NaN, +INF, and -INF values for each data format.
  • Page 138 Begin Data Retrieval STAT:OPER:COND? (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 4-8. Controlling Reading Count Below is an example command sequence for Figure 4-8. It assumes that the FIFO mode was set to BLOCK and that at least one algorithm is sending values to the FIFO.
  • Page 139: Reading Algorithm Variables Directly

    Reading the Latest FIFO Values (FIFO mode OVER) In this mode, the FIFO always contains the latest values (up to the FIFO’s capacity of 65,024 values) from running algorithms. In order to read these values, the algorithms must be stopped (use ABORT). This forms a record of the algorithm’s latest performance.
  • Page 140: Modifying Running Algorithm Variables

    Modifying Running Algorithm Variables Updating The values sent with the ALG:SCALAR and ALG:ARRAY command are Algorithm Variables kept in the Update Queue until an ALGorithm:UPDate command is received. and Coefficients ALG:UPD cause changes to take place Updates are performed during phase 2 of the instrument operation cycle (see Figure 4-7 on page 132).
  • Page 141: Setting Algorithm Execution Frequency

    To enable ALG1 and ALG2 and disable ALG3 and ALG4: ALG:STATE ’ALG1’,ON enable algorithm ALG1 ALG:STATE ’ALG2’,ON enable algorithm ALG2 ALG:STATE ’ALG3’,OFF disable algorithm ALG3 ALG:STATE ’ALG4’,OFF disable algorithm ALG4 ALG:UPDATE changes take effect at next update phase VXIplug&play Users: See the function hpe1422_cmd to send ALG:STATE. Setting Algorithm The ALGorithm:SCAN:RATio ’<alg_name>’,<num_trigs>...
  • Page 142: Example Vxiplug&Play Driver Function Sequence

    TRIGGER:SOURCE TIMER (*RST default) Set the channel-to-channel measurement pacing (channel settling time) SAMPle:TIMer 4E-5 (*RST default) specify data format FORMAT ASC,7 (*RST default) select FIFO mode SENSE:DATA:FIFO:MODE BLOCK may read FIFO while running Define algorithm ALG:DEFINE 'ALG1','static float a,b,c, div, mult, sub; if ( First_loop ) a = 1;...
  • Page 143 configure digital output channel for "alarm channel" hpe1422_cmd(vi, ’SOURCE:FUNCTION:CONDITION (@132)’) execute On-board channel calibration (can take several minutes) hpe1422_cmdInt16_Q(vi, ’*CAL?’, ViPInt16 result) test "result" for success execute Remote channel calibration on RSCUs hpe1422_cmdInt16_Q(vi, ’CAL:REMOTE? (@14000:14931)’, ViPInt16 &result) test "result" for success Direct data acquisition channels placed in Scan List.
  • Page 144: Using The Status System

    Using the Status System The VT1422A’s Status System allows for the quick polling a single register (the Status Byte) to see if any internal conditions require attention. Figure 4-9 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 145: Status:questionable:event

    Q U E STIO N A BLE D ATA G R O U P STATus:Q UEStionable:CO NDition? (read only) STATus:Q UEStionable:NT R and STATus:Q UEStionable:PTR (set filters) STATus:Q UEStionable:EVENt? (reads/clears register) STATus:Q UEStionable:ENABle (sets m ask) O utput Q ueue Em pty Lost Calibration Trigger Too Fast...
  • Page 146 Status Bit Descriptions Questionable Data Group Bit Value Event Name Description Lost Calibration At *RST or Power-on Control Processor has found a checksum error in the Calibration Constants. Read error(s) with SYST:ERR? query and re-calibrate areas that lost constants. Trigger Too Fast Scan not complete when another trigger event received.
  • Page 147: Enabling Events To Be Reported In The Status Byte

    Enabling Events to There are two sets of registers that individual status conditions must pass be Reported in the through before that condition can be reported in the instrument’s Status Byte. These are the Transition Filter Registers and the Enable registers. Status Byte They provide selectivity in recording and reporting module status conditions.
  • Page 148: Reading The Status Byte

    Configuring the In Figure 4-10, note that each Status Group has an Enable Register. These Enable Registers control whether or not the occurrence of an individual status condition will be reported by the group’s summary bit in the Status Byte. Questionable Data Group Examples To have only the "FIFO Overflowed"...
  • Page 149: Clearing The Enable Registers

    Bit 3 (QUE) bit value 8 Read the Questionable Data Group’s Event Register using the STAT:QUES:EVENT? query. This will return bit values for events which have occurred in this group. After reading, the Event Register is cleared. Note that bits in this group indicate error conditions. If bit 8, 9, or 10 is set, error messages will be found in the Error Queue.
  • Page 150: Reading Status Groups Directly

    Reading Status It may be desirable to directly poll status groups for instrument status rather Groups Directly than poll the Status Byte for summary information. Reading Event Registers The Questionable Data, Operation Status and Standard Event Groups all have Event Registers. These Registers log the occurrence of even temporary status conditions.
  • Page 151: Updating The Status System And Vxibus Interrupts

    When it is desired to have the status system bits updated closer in time to when the condition changes on the VT1422A, the VT1422A interrupts can be used. The VT1422A can send VXI interrupts upon the following conditions: • Trigger too Fast condition is detected. Trigger comes prior to trigger system being ready to receive trigger.
  • Page 152: Creating And Loading Custom Eu Conversion Tables

    The previous description is always true for a downloaded driver. In the C-SCPI driver, however, the interrupts will only be enabled if cscpi_overlap mode is ON when the enable command is given. If cscpi_overlap is OFF, the user is indicating they do not want interrupts to be enabled. Any subsequent changes to cscpi_overlap will not change which interrupts are enabled.
  • Page 153: Loading Custom Eu

    This command uses the custom EU conversion to generate the reference junction temperature as explained in the section “Thermocouple Reference Temperature Compensation” on page 114. Creating Conversion Contact a VXI Technology System Engineer for more information on Tables creating Custom Engineering Unit Conversion. Loading Custom EU There is a specific location in the VT1422A’s memory for each channel’s...
  • Page 154 16-bit values. SCPI requires that <table_block> include the definite length block data header. The VXIplug&play function hpe1422_sendBlockInt16(...) adds the header automatically. Contact a VXI Technology System Engineer for more information on creating piecewise custom EU tables. • The <table_range> parameter specifies the range of input voltage that the table covers (from -<table_range>...
  • Page 155: Compensating For System Offsets

    Compensating for System Offsets System Wiring Offsets The VT1422A can compensate for offsets in the system’s field wiring. Apply shorts to channels at the Unit-Under-Test (UUT) end of the field wiring and then execute the CAL:TARE (@<ch_list>) command. The instrument will measure the voltage at each channel in <ch_list> and save those values in RAM as channel tare constants.
  • Page 156: Special Considerations

    As an example, assume that the system wiring to channel 0 generates a +0.1 volt offset with 0 volts (a short) applied at the UUT. Before CAL:TARE the module would return a reading of 0.1 volt for channel 0. After CAL:TARE (@100), the module will return a reading of 0 volts with a short applied at the UUT and the system wiring offset will be removed from all measurements of the signal to channel 0.
  • Page 157: Detecting Open Transducers

    Changing Gains or To change a channel’s SCP setup after a CAL:TARE operation, a *CAL? Filters operation must be performed to generate new DAC constants and reset the "range floor" for the stored tare value. The tare capability of the range/gain setup that the channel is being changed to must also be considered.
  • Page 158: More On Auto Ranging

    NOTES 1. When OTD is enabled, the inputs have up to 0.2 µA injected into them. If this current will adversely affect the measurement, but checking for open transducers is still desired, enable OTD, run the algorithms, check analog input variables for measurement values that indicate an open transducer, then disable OTD and run the algorithms without it.
  • Page 159: Settling Characteristics

    Settling Characteristics Some sequences of input signals, as determined by their order of appearance in a scan list, can be a challenge to measure accurately. This section is intended to help determine if a system presents any of these problems and how best to eliminate them or reduce their effect.
  • Page 160: Fixing The Problem

    4. If some improvement is seen, increase the sample period again and perform another test. When the sample period is increased and no improvement is seen, the maximum settling delay that any single channel requires has been found. 5. If the quality of the measurements does not respond to this increase in sample period, then inadequate settling time is not likely to be causing measurement problems.
  • Page 161 Adding Settling Delay for This method adds settling time only to individual problem measurements as Specific Channels opposed to the SAMPle:TIMer command that introduces extra time for all analog input channels. If problems are seen on only a few channels, the SENS:CHAN:SETTLING <num_samples>,(@<ch_list>) command can be used to add extra settling time for just these problem channels.
  • Page 162 160 Programming the VT1422A for Data Acquisition and Control Chapter 4...
  • Page 163: Advanced Programming With The Vt1529B

    Chapter 5 Advanced Programming with the VT1529B About This Chapter This chapter describes the advanced capability that is possible with the VT1529B Remote Strain Conditioning Unit (RSCU). This includes being able to scan thermocouples and high-level dc voltages in addition to strain measurements.
  • Page 164: Changes To The Use Model

    Agilent/HP 1406A VXI Command Module. A direct VXI interface must also be used such as a VXI embedded PC, MXI-2, or the Agilent/HP E8491B interface.
  • Page 165: Must Count Writefifo Calls In Algorithms

    Because the EU conversions for temperature and strain are performed in the host computer, not by the on-board DSP, a fast computer may be needed in order to keep up with multiple VT1529B’s scanning at full speed. These conversions use the full strain and ITS-90 thermocouple conversion equations, which offers more accuracy than the on-board DSP approximations, ®...
  • Page 166: Strain Measurements

    For example, the existing SCPI commands to measure thermocouples with a VT1508A SCP and the VT1422A are: SENS:REF THER,5000,(@108) Sense the reference temperature on channel 108 using a 5k thermistor SENS:FUNC:TEMP TC,J,(@109:111) Indicates channels 109 through 111 are type J thermocouples SENS:REF:CHAN (@108),(@109:111) Specifies channel 108 as the isothermal reference for...
  • Page 167: Field Wiring For Excitation Measurements

    Field Wiring for To take advantage of the on-the-fly excitation measurement feature means Excitation that at least one channel of each VT1529B will need to dedicated to the excitation voltage measurement. Any of the 32 channels can be used for this Measurements purpose.
  • Page 168 hpe1422_cmdInt32_Q(vi, "*CAL?", &result); Periodic Calibration hpe1422_cmdInt32_Q(vi, "CAL:REM? (@ <ch_list> )", &result); hpe1422_cmd(vi, "SENS:FUNC:STR:<bridge_type>:POST To convert readings to <range> <exc_ch> ),(@ <ch_list> )"); Engineering Units of strain Also sets bridge config switches and turns on excitation V hpe1422_cmd(vi, "INPut:FILTer:FREQuency <freq> "); Set Input Filter on VT1529B hpe1422_cmd(vi, "INPut:FILTer:STATe <state>...
  • Page 169: Strain Conversion Sequence

    Strain Conversion Below is an example VXIplug&play command sequence. Note that this is Sequence not executable; it has been simplified for easier reading. The C++ example source file (eupost.cpp) is on the CD supplied with the instrument. View the readme.txt file provided with the VXIplug&play driver for example program file location.
  • Page 170: Alternate Method Of Computing Strain

    Alternate Method of As stated above, to use the additional features of the VT1529B, the EU Computing Strain conversions are normally done in the VXIplug&play driver, not by the on-board DSP. For channels programmed using the new capability, all measurement data in the FIFO, CVT, and algorithms is voltage, not strain. For full- and half-bridge strain channels, there is an alternate method of doing the EU conversions if having the strain engineering units in the algorithms is needed while still using the most recent value of the excitation...
  • Page 171 3. Next, create a custom linear EU conversion for the excitation voltage channel. This EU will create the ratio of the newly measured value divided by the original value. The first channel’s pre-INITiate excitation value measured by the MEAS:VOLT:EXC? query above will be used to create this EU.
  • Page 172: Temperature Measurements

    Temperature Measurements The VT1529B adds the capability to measure E, J, and T type thermocouples in addition to strain (other thermocouple types are not supported with the new functionality). Either the VT1586A Rack-Mount Terminal Panel or a user provided isothermal panel can be used. For this discussion, assume that the VT1586A and the VT1529B option 002 VT1586A-to-VT1529B cable are being used.
  • Page 173 Figure 5-2. Connecting the VT1586A to the VT1529B (front view) Figure 5-3. Connecting the VT1586A to the VT1529B (rear view) Chapter 5 Advanced Programming with the VT1529B...
  • Page 174: Field Wiring Of The Vt1586A

    Field Wiring of the The field wiring for the VT1586A, when used with the VT1529B, is VT1586A different from the wiring of the VT1586A when used stand-alone. In particular, with the VT1529B option 002 VT1529B-to-VT1586A cable, the G (Guard) terminals of the VT1586A are redefined to be the excitation source and excitation sense terminals for the reference thermistor(s).
  • Page 175 Suggested Wiring for Thermistor Measurement 200 k Thermistor SENSE 200 k Note: V should be balanced with respect to ground SENSE Figure 5-5. Recommended Reference Thermistor Divider Circuit Ch16 Ch17 Ch18 Ch19 Ch24 Ch25 Ch26 Ch27 Sense + Sense + Sense + Sense + Sense +...
  • Page 176: Temperature Measurement Command Sequence

    Temperature The steps for measuring temperature with the VT1529B and VT1586A Measurement should, again, be familiar. If a controlled temperature isothermal block is used, the command sequence is identical, except for the :POST keyword Command being added to some commands. Otherwise, the isothermal block Sequence temperature needs to measured, the major difference being that it is necessary to measure the excitation voltage, thermistor output voltage, and...
  • Page 177: Temperature Conversion Sequence

    Temperature Below is an example VXIplug&play command sequence. Note that this is Conversion not executable; it has been simplified for easier reading. The C++ example source file (tcpost.cpp) is on the CD supplied with the instrument. View the Sequence readme.txt file provided with the VXIplug&play driver for example program file location.
  • Page 178: Field Wiring For Dc Voltage Measurements

    Field Wiring for dc There are separate input pins on the RJ-45 connector for the high-level and Voltage low-level DCV signals. See Figure 5-8 for the connector pin-out. Measurements Pinout for Upper Connector Row Shield Gnd Shield Gnd High-Level DCV Excitation Sense Low-Level DCV Sense...
  • Page 179: Dcv Measurement Command Sequence

    Note The high-level inputs actually use the same excitation voltage measurement path that is used for strain measurements. This means that there is an internal 10 kΩ resistor from each terminal to a common point for each 8-channel block as shown in Figure 5-9. During excitation voltage measurement of any channel in any bank on a VT1529B, the switches shown in the Figure 5-9 are closed on all banks, connecting the Bridge Excitation inputs on the front panel to the input resistors, which will cause a...
  • Page 180: Dcv Measurement Sequence

    DCV Measurement Below is an example VXIplug&play command sequence. Note that this is Sequence not executable; it has been simplified for easier reading. The C++ example source file (dcv.cpp) is on the CD supplied with the instrument. View the readme.txt file provided with the VXIplug&play driver for example program file location.
  • Page 181 Some of the mechanisms by which previous channels interfere are micro- thermals in semiconductors, dielectric absorption in materials and simple capacitance. The cumulative effects of all of the mechanisms from previous channels result in errors on the current channel. A simple model of the error is not possible.
  • Page 182 When a VT1529A/B scans through a list of channels, it stays on the last channel in the scan list for that VT1529A/B until the unit is scanned again. To minimize the “soaking” effect, have a low voltage or a short on the low-level inputs on this last channel.
  • Page 183: Creating And Running Algorithms

    Chapter 6 Creating and Running Algorithms Learning Hint This chapter builds upon the "VT1422A Programming Model" information presented in Chapter 4. Reading Chapter 4 is recommended before moving on to this chapter. About This Chapter This chapter describes how to write algorithms that apply the VT1422A's measurement, calculation, and control resources.
  • Page 184: Overview Of The Algorithm Language

    -- Identifiers ........page 207 -- Special Identifiers for Channels .
  • Page 185: Example Language Usage

    Arithmetic Operators: add +, subtract -, multiply *, divide / Note: See “Calling User Defined Functions” on page 193. Assignment Operator: = Comparison Functions: less than <, less than or equal <=, greater than >, greater than or equal >=, equal to ==, not equal to != Boolean Functions: and &&...
  • Page 186: The Algorithm Execution Environment

    Example 2; /*** same function as example 1 above but shows a different approach ***/ static float max_output = .020; /* 20 mA max output */ static float min_output = .004; /* 4 mA min output */ /* following lines input, limit output between min and max_output and outputs. /* output is split to two current output channels wired in parallel to provide 20 mA */ /* write cvt is just to show access to remote channel O116 = max( min_output, min( max_output, (12.5 * I108) / 2 ) );...
  • Page 187: Accessing The Vt1422A's Resources

    Global variables area /* GLOBALS you define with ALG:DEF GLOBALS... go here */ /* global variable First_loop equals 1 until all algorithms called */ First_loop declared by static float First_loop; /* global value set to 1 at each INIT */ VT1422A's driver /**************************** function main() ****************************/ /*The VT1422A driver creates main() at INIT time.
  • Page 188: Accessing I/O Channels

    Accessing I/O In the Algorithm Language, channels are referenced as pre-defined variable Channels identifiers. Because input channels could be from Remote Signal Conditioning Units (RSCUs), there are two forms of input channel syntax. The general on-board input channel identifier syntax is "I1cc" where cc is a channel number from 00 (channel 0) through 63 (channel 63).
  • Page 189: Accessing Remote Scan Status Variables

    Input Channels Input channel identifiers can only appear on the right side of assignment operators. It doesn't make sense to output values to an input channel. Other than that, they can appear anywhere other variables can appear. Examples: dig_bit_value = I108.B0; retrieve value from Input Channel Buffer element 8, bit 0 inp_value = I124;...
  • Page 190 Runtime Scan States The Remote Signal Conditioning Units (RSCU) runtime scan can be described as being in one of the following three states: normal, disconnected and out of synch. In the disconnected state, the VT1422A fails to communicate with an RSCU for various reasons (power down, no connection, a malfunction in the cable, etc.).
  • Page 191 /* send 5.0 volts to output chan, then open relay */ writecvt(S125, cvt_loc); /* for reporting */ interrupt(); /* force a VXI bus interrupt. */ 2. In the application: S1xx states can also be achieved by using various Plug&Play functions or SCPI commands, such as:...
  • Page 192: Defining And Accessing Global Variables

    Defining and Global variables are those declared outside of both the main() function and Accessing Global any algorithms (see Figure 6-1). A global variable can be read or changed by any algorithm. To declare global variables, use the command: Variables ALG:DEF 'GLOBALS','<source_code>' where <source_code>...
  • Page 193: Initializing Variables

    Initializing Variables Variable initialization can be performed during three distinct VT1422A operations. 1. When algorithms are defined 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 an algorithm is run with the INIT command.
  • Page 194: Setting A Vxibus Interrupt

    Reading CVT elements An application program reads one or more CVT elements by executing the SCPI command [SENSe:]DATA:CVT? (@<element_list>), where <element_list> specifies one or more individual elements and/or a range of contiguous elements. The following example command will help to explain the <element_list>...
  • Page 195: Determining An Algorithm's Identity (Alg_Num)

    Determining An When an algorithm is defined with the ALG:DEF 'ALGn',... command, the Algorithm's Identity VT1422A's driver makes available to the algorithm the constant ALG_NUM. ALG_NUM has the value n from "ALGn." For instance, an (ALG_NUM) algorithm is defined with <alg_name> equal to "ALG3", then ALG_NUM within that algorithm would have the value 3.
  • Page 196: Operating Sequence

    Operating Sequence This section explains another important factor in an algorithm's execution environment. Figure 6-2 shows the same overall sequence of operations seen in Chapter 3, but also includes a block diagram to show which parts of the VT1422A are involved in each phase of the control sequence. Overall Sequence Here, the important things to note about this diagram are: •...
  • Page 197 INPUT UPDATE CALCULATE OUTPUT 64 Channel analog Multiplexer VXIbus Figure 6-2. Algorithm Operating Sequence Diagram Chapter 6 Creating and Running Algorithms...
  • Page 198: Defining Algorithms (Alg:def)

    Defining Algorithms (ALG:DEF) This section discusses how to use the ALG:DEFINE command to define algorithms. Later sections will discuss "what to define." Note for While the following discussion of algorithm definition is useful for VXIplug&play Users plug&play users with regards to the coding of an algorithm or global variable definition, generating an algorithm code and actually downloading it to the VT1422A is much easier because of the plug&play hps1422.exe Soft Front Panel program and hpe1422_downloadAlg(...) plug&play driver...
  • Page 199: Changing A Running Algorithm

    NOTE For Block Program Data, the Algorithm Parser requires that the source_code data end with a null (0) byte. The null byte must be appended to the end of the block's <data byte(s)>. If the null byte is not included within the block, the error "Algorithm Block must contain termination '\0'"...
  • Page 200 How Does it Work? The example algorithm definition above will be used for this discussion. When a value for <swap_size> is specified at algorithm definition, the VT1422A 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 201 NOTES 1. Channels referenced by algorithms when they are defined are only placed in the channel list before INIT. The channel list cannot be changed after INIT. If an algorithm is re-defined (by swapping) after INIT and it references channels not already in the channel list, it will not be able to access the newly referenced channels.
  • Page 202: A Very Simple First Algorithm

    A Very Simple First Algorithm This section shows 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 VT1422A, downloads (defines) the algorithm, starts, and then communicates with the running algorithm.
  • Page 203: Algorithm To Algorithm Communication

    How the Example PIDA A PID algorithm is to control a bath temperature at 140°F. With the Setpoint Operates at 140 and the process variable (PV) reading 130, the value sent to the output is a positive value which drives the digital output to 1 (heater on). When the process value reading reaches 140, the "error term"...
  • Page 204: Communication Using Global Variables

    Implementing In this example, two PID algorithms each control part of a process and due Multivariable Control to the process dynamics are interactive. This situation can call for what is known as a "decoupler." The job of the decoupler is to correct for the "coupling"...
  • Page 205 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 6-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;' 2.
  • Page 206: Non-Control Algorithms

    /* following line includes global setpoint var and hard coded input chan */ Error = Cold_setpoint - I109; if (First_loop) I_out = Error * I_factor; Error_old = Error; else /* not First trigger */ I_out = Error * I_factor + I_out; /* output channel hard coded here */ O116 = Error * P_factor + I_out + D_factor * (Error - Error_old);...
  • Page 207: Implementing Setpoint Profiles

    Implementing Setpoint Profiles A setpoint profile is a sequence of setpoints that are desired as inputs for a control algorithm. A normal setpoint is either static or modified by operator input to some desired value where it will then become static again. A setpoint profile is used when a device under test is desired to be cycled through some operating range and the setpoint remains for some period of time before changing.
  • Page 208 SOUR:FUNC:COND (@141) make Digital I/O channel 141 a digital output. The default condition for 140 is digital input. define algorithm ALG:DEF 'alg1',' static float setpoints[ 1024 ], index, num_events, n; if ( First_loop ) { index = 0; /* array start point */ n = num_events;/* preset interval */ n = n - 1;...
  • Page 209: Algorithm Language Reference

    Algorithm Language Reference This section provides a summary of reserved keywords, operators, data types, constructs, intrinsic functions, and statements. Standard Reserved The list of reserved keywords is the same as ANSI 'C'. User variables may Keywords not be created using these names. Note that the keywords that are shown underlined and bold are the only ANSI 'C' keywords that are implemented in the VT1422A.
  • Page 210: Special Identifiers For Channels

    NOTE Identifiers are case sensitive. The names My_array and my_array reference different variables. Special Identifiers Channel identifiers appear as variable identifiers within the algorithm and for Channels have a fixed, reserved syntax. The identifiers I100 to I163 specify on-board input channel numbers. The identifiers I10000 to I15731 specify remote input channel numbers.
  • Page 211: Intrinsic Functions And Statements

    Comparison Operators (is equal to) examples; a == b (is not equal to) a != b < (is less than) a < b > (is greater than) a > b <= (is less than or equal to) a <= b >= (is greater than or equal to) a >= b...
  • Page 212: Program Flow Control

    Program Flow Program flow control is limited to the conditional execution construct using Control if and else and return. Looping inside an algorithm function is not supported. The only "loop" is provided by repeatedly triggering the VT1422A. Each trigger event (either external or internal Trigger Timer) executes the main() function which calls each defined and enabled algorithm function.
  • Page 213: Data Structures

    These subtle problems can be avoided by specifically including a decimal point in decimal constants where an integer operation is not desired. For example, if either of the constants in the division above is made into a float constant by including a decimal point, the translator would have promoted the other constant to a float value and performed a float divide operation resulting in the expected 0.75 * 12 or the value 8.0.
  • Page 214: Bitfield Access

    • Single-dimensioned arrays of type float with a maximum of 1024 elements: Declaration static float array_var [3]; array_var [0] = 0.1; array_var [1] = 1.2; array_var [2] = 2.34; array_var [3] = 5; Storage Arrays are "double buffered." This means that when an array is declared, twice the space required for the array is allocated, plus one more word as a buffer pointer.
  • Page 215: Language Syntax Summary

    Declaration Initialization Only simple variables can be initialized (not array members) in the declaration statement: static float my_var = 2; NOTE! The initialization of the variable only occurs when the algorithm is first defined with the ALG:DEF command. The first time the algorithm is executed (module INITed and triggered), the value will be as initialized.
  • Page 216 Octal Constant: First character is 0. Remaining characters are 0-7. If ".", "e" or "E" is 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...
  • Page 217 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 1,023 Init-declarator: declarator...
  • Page 218 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 219: Program Structure And Syntax

    Program Structure and Syntax In this section, the portion of the 'C' programming language that is directly applicable to the VT1422A' Algorithm Language will be discussed. To do this, the 'C' Algorithm Language elements will be compared with equivalent BASIC language elements. Declaring Variables In BASIC, the DIM statement is usually used to name variables and allocate space in memory for them.
  • Page 220: The Operations Symbols

    The Operations Many of the operation symbols are the same and are used the same way as Symbols those in BASIC. However, there are differences and they can cause programming errors until the differences become familiar. The Arithmetic Operators The arithmetic operators available to the VT1422A are the same as those equivalents in BASIC: (addition) (subtraction)
  • Page 221 'C' Syntax Comments BASIC Syntax IF boolean_expression THEN Simplest form (used often) if(boolean_expression) statement; statement Two-line form (not recommended; use if(boolean_expression) multiple line form instead) statement; IF boolean_expression THEN statement END IF if(boolean_expression){ Multiple line form (used often) statement; IF boolean_expression THEN statement;...
  • Page 222: Comment Lines

    BASIC Syntax Examples 'C' Syntax IF A<=0 THEN C=ABS(A) if(a <= 0) c=abs(a); IF A<>0 THEN if(a != 0) C=B/A c = b / a; END IF IF A<>B AND A<>C THEN if((a != b) && (a != c)) A=A*B B=B+1 a = a * b;...
  • Page 223: Overall Program Structure

    Overall Program The preceding discussion showed the differences between individual Structure statements in BASIC and 'C'. Here it will be described how the VT1422A's Algorithm Language elements are arranged into a program. Here is a simple example algorithm that shows most of the elements discussed so far.
  • Page 224 222 Creating and Running Algorithms Chapter 6...
  • Page 225: Vt1422A Command Reference

    Chapter 7 VT1422A 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 VT1422A. • Overall Command Index ......page 223 •...
  • Page 226 ALGorithm:UPDate:WINDow <num_updates> ....... page 254 ALGOrithm:UPDate:WINDow? ......... . . page 255 ARM[:IMMediate] .
  • Page 227 FORMat[:DATA] <format>[,<size>] ........page 293 FORMat[:DATA]? .
  • Page 228 [SENSe:]DATA:CVTable? (@<element_list>)....... . page 331 [SENSe:]DATA:CVTable:RESet ......... . . page 333 [SENSe:]DATA:FIFO[:ALL]? .
  • Page 229 [SENSe:]STRain:BRIDge[:TYPE] <select>,(@<ch_list>) ..... . page 362 [SENSe:]STRain:BRIDge[:TYPE]? (@<channel>) ......page 363 [SENSe:]STRain:CONNect <select>,(@<ch_list>) .
  • Page 230 SYSTem:VERSion? ........... . . page 392 TRIGger:COUNt <trig_count>...
  • Page 231: Command Fundamentals

    Command Fundamentals Commands are separated into two types: IEEE-488.2 Common Commands and SCPI Commands. The SCPI command set for the VT1422A is 1990 compatible Common The IEEE-488.2 standard defines the Common commands that perform functions Command like reset, self-test, status byte query, etc. Common commands are four or five characters in length, always begin with the asterisk character (*) and may include one Format or more parameters.
  • Page 232: Parameters

    Implied Implied commands are those which appear in square brackets ([ ]) in the command Commands syntax. (Note that the brackets are not part of the command and are not sent to the instrument.) Suppose a second level command is sent but is not sent preceding implied command.
  • Page 233: Boolean

    Boolean Represents a single binary condition that is either true or false: ON, OFF, 1, 0. Discrete Selects from a finite number of values. These parameters use mnemonics to represent each valid setting. An example is the TRIGger:SOURce <source> command where <source>...
  • Page 234: Channel List (Relative Form)

    Examples: On-board channels 0 through 15=100:115 Remote channels 0000 through 0131=10000:10131 By using commas to separate them, individual and range specifications can be combined into a single channel list: 0, 5, 8 through 3331 and 45=(@100,105,108:13331,145) Notice that the range specified (108:13331) included a mix of on-board channels as well as remote channels.
  • Page 235: Arbitrary Block Program And Response Data

    Notes 1. Because the "card number" digit has been changed to mean Data Destination, the Relative Channel form is only allowed in the ROUTe:SEQuence:DEFine command. Usage in other commands will generate an error message. 2. Note that for both forms, a channel list is always contained within "(@"...
  • Page 236: Linking Commands

    Optional Parameters Parameters shown within square brackets ([ ]) are optional parameters. (Note that the brackets are not part of the command and should not be sent to the instrument.) If a value is not specified for an optional parameter, the instrument chooses a default value.
  • Page 237: Data Types

    Note The command keywords following the semicolon must be from the same command branch and level as the complete command preceding the semicolon or a -113,"Undefined header" error will be generated. Data Types The following table shows the allowable type and sizes of parameter data sent to the module and query data returned by the module.
  • Page 238: Abort

    ABORt ABORt The ABORt subsystem is a part of the VT1422A'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 239: Algorithm

    ALGorithm ALGorithm The ALGorithm command subsystem provides: • Definition of user defined control algorithms • Communication with algorithm array and scalar variables • Controls to enable or disable individual loop algorithms • Control of ratio of number of scan triggers per algorithm execution •...
  • Page 240 ALGorithm Parameters Parameter Parameter Range of Default Name Type Values Units alg_name string ALG1 - ALG32 | GLOBALS none array_name string valid 'C' variable name none array_block block data block of IEEE-754 64-bit floating point none numbers Comments • To send values to a Global array, set the <alg_name> parameter to "GLOBALS." To define a global array see the ALGorithm:DEFine command.
  • Page 241: Algorithm[:Explicit]:Array

    ALGorithm ALGorithm[:EXPLicit]:ARRay? ALGorithm[:EXPLicit]:ARRay? ’<alg_name>’,’<array_name>’ returns the contents of <array_name> from algorithm <alg_name>. ALG:ARR? can return contents of global arrays when <alg_name> specifies 'GLOBALS'. Parameters Parameter Parameter Range of Default Name Type Values Units alg_name string ALG1 - ALG32 | GLOBALS none array_name string...
  • Page 242 ALGorithm • The <swap_size> parameter is optional. Include this parameter with the first definition of <alg_name> when it is desired to change <alg_name> later while it is running. The value can range up to about 23k words (ALG:DEF will then allocate 46k words as it creates two spaces for this algorithm).
  • Page 243 ALGorithm • The <source_code> parameter can be one of three different SCPI types: -- Quoted String: For short segments (single lines) of code, enclose the code string within single (apostrophes) or double quotes. Because of string length limitations within SCPI and some programming platforms, it is recommended that the quoted string length not exceed a single program line.
  • Page 244 ALGorithm When accepted If <alg_name> is not enabled to swap (not originally defined with the <swap_size> and Usage parameter included) then both of the following conditions must be true: a. Module is in Trigger Idle State (after *RST or ABORT and before INIT). *RST ALG:DEF 'GLOBALS','static float My_global;' ALG:DEF 'ALG2','PIDA(I100,O108)'...
  • Page 245 ALGorithm If <alg_name> has been enabled to swap (originally defined with the <swap_size> parameter included) then the <alg_name> can be re-defined (do not include <swap_size> now) either while the module is in the Trigger Idle State or while in Waiting-For-Trigger State (INITed). Here <alg_name> is an algorithm name only, not 'GLOBALS'.
  • Page 246: Algorithm[:Explicit]:Scalar

    ALGorithm ALGorithm[:EXPLicit]:SCALar ALGorithm[:EXPLicit]:SCALar ’<alg_name>’,’<var_name>’,<value> sets the value of the scalar variable <var_name> for algorithm <alg_name> into the Update Queue. This update is then pending until ALG:UPD is sent or an update event (as set by ALG:UPD:CHANNEL) occurs. Note ALG:SCALAR places a variable update request in the Update Queue. Do not place more update requests in the Update Queue than are allowed by the current setting of ALG:UPD:WINDOW or a "Too many updates –...
  • Page 247: Algorithm[:Explicit]:Scalar

    ALGorithm ALGorithm[:EXPLicit]:SCALar? ALGorithm[:EXPLicit]:SCALar? ’<alg_name>’,’<var_name>’ returns the value of the scalar variable <var_name> in algorithm <alg_name>. Parameters Parameter Parameter Range of Default Name Type Values Units alg_name string ALG1 - ALG32 none var_name string valid 'C' variable name none Comments • An error is generated if <alg_name>...
  • Page 248: Algorithm[:Explicit]:Scan:ratio

    ALGorithm Comments Specifying a value of 1 (the default) causes the named algorithm to be executed each time a trigger is received. Specifying a value of n will cause the algorithm to be executed once every n triggers. All enabled algorithms execute on the first trigger after INIT.
  • Page 249: Algorithm[:Explicit][:State]

    ALGorithm Note If <alg_name> specifies an undefined algorithm, ALG:SIZE? returns 0. 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 40k words). The type is int32. •...
  • Page 250: Algorithm[:Explicit][:State]

    ALGorithm • When Accepted: Both before and after INIT. Also accepted before and after the algorithm referenced is defined. • Related Commands: ALG:UPDATE, ALG:STATE?, ALG:DEFINE • Send with VXIplug&play Function: hpe1422_cmd(...) Usage ALG:STATE 'ALG2',OFF disable ALG2 ALGorithm[:EXPLicit][:STATe]? ALGorithm[:EXPLicit][:STATe]?’<alg_name>’ returns the state (enabled or disabled) of algorithm <alg_name>.
  • Page 251: Algorithm:function:define

    ALGorithm Note If <alg_name> specifies an undefined algorithm, ALG:TIME? returns 0. This can be used to determine whether algorithm <alg_name> is defined. This command forces algorithms to run internally. If an algorithm contains a run-time error, no data can be returned and the command will not complete (will "hang"). •...
  • Page 252: Algorithm:output:delay

    ALGorithm • The <range> and <offset> parameters define the allowable input values to the function (domain). If values input to the function are equal to or outside of (±<range>+<offset>), the function may return ±INF in IEEE-754 format. For example; <range> = 8 (-8 to 8), <offset> = 12. The allowable input values must be greater than 4 and less than 20.
  • Page 253: Algorithm:output:delay

    ALGorithm • When <delay> is AUTO, the delay is set to the worst-case time required to execute phases 1 through 3. This provides the fastest execution speed while maintaining a fixed time between trigger and the OUTPUT phase. • To set the time from trigger to the beginning of OUTPUT, use the following procedure.
  • Page 254: Algorithm:update[:Immediate]

    ALGorithm ALGorithm:UPDate[:IMMediate] ALGorithm:UPDate[:IMMediate] requests an immediate update of any scalar, array, algorithm code, ALG:STATE, or ALG:SCAN:RATIO changes that are pending. Comments • Variables and algorithms can be accepted during Phase 1-INPUT or Phase 2-UPDATE in Figure 7-1 when INIT is active. All writes to variables and algorithms occur to their buffered elements upon receipt.
  • Page 255: Algorithm:update:channel

    ALGorithm ALGorithm:UPDate:CHANnel ALGorithm:UPDate:CHANnel <dig_chan> This command is used to update variables, algorithms, ALG:SCAN:RATIO, and ALG:STATE changes when the specified digital input level changes state. When the ALG:UPD:CHAN command is executed, the current state of the digital input specified is saved. The update will be performed at the next update phase (UPDATE in Figure 7-1) following the channel's change of digital state.
  • Page 256: Algorithm:update:window

    ALGorithm Command The following example shows three scalars being written with the associated update Sequence command following. When the ALG:UPD:CHAN command is received, it will read the current state of channel 108, bit 0. At the beginning of the UPDATE phase, a check will be made to determine if the stored state of channel 108 bit 0, is different from the current state.
  • Page 257: Algorithm:update:window

    ALGorithm Notes 1. When the number of update requests exceeds the Update Queue size set with ALG:UPD:WINDOW by one, the module will refuse the request and will issue the error message "Too many updates in queue. Must send UPDATE command." Send ALG:UPDATE, then re-send the update request that caused the error.
  • Page 258: Arm

    The ARM subsystem is only useful when the TRIGer:SOURce is set to TIMer. With the VT1422A, 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 259: Arm[:Immediate]

    Subsystem Syntax [:IMMediate] :SOURce BUS | EXTernal | HOLD | IMMediate | SCP | TTLTrg<n> :SOURce? ARM[:IMMediate] ARM[:IMMediate] arms the trigger system when the module is set to the ARM:SOUR BUS or ARM:SOUR HOLD mode. Comments • Related Commands: ARM:SOURCE, TRIG:SOUR •...
  • Page 260: Arm:source

    While ARM:SOUR is IMM, simply INITiate the trigger system to start a measurement scan. • When Accepted: Before INIT only. • Related Commands: ARM:IMM, ARM:SOURCE?, INIT[:IMM], TRIG:SOUR • *RST Condition: ARM:SOUR IMM • Send with VXIplug&play Function: hpe1422_cmd(...) Usage ARM:SOUR BUS Arm with ARM command ARM:SOUR TTLTRG3 Arm with VXIbus TTLTRG3 line...
  • Page 261: Calculate

    CALCulate CALCulate The Calculate subsystem allows post-processed temperature compensation to be done for voltage readings of the on-board reference thermistor of the VT1586A and for E, J, and T thermocouple types. These commands will normally not be used, instead, the conversions will be done by the DSP on the VT1422A or by the VXIplug&play driver (for VT1529B).
  • Page 262: Calculate:temperature:tcouple

    CALCulate Usage CALC:TEMP:THER? 0.0617,5.0 Compute thermistor temperature with thermistor voltage = 0.0617 V, excitation voltage = 5.0 V and resistance = 400 kΩ CALCulate:TEMPerature:TCouple? CALCulate:TEMPerature:TCouple? <type>,<thr_temp>,<volt_array> converts an array of thermocouple output voltages into temperatures. The thermocouple type is specified in the <type> parameter and the isothermal reference temperature is specified in the <thr_temp>...
  • Page 263 CALCulate errStatus = hpe1422_cmd(vi, "SENS:REF:CHAN (@10001),(@10002:10031)"); /* Specify those channels to be scanned */ errStatus = hpe1422_cmd(vi, "ROUT:SEQ:DEF (@10001:10031,10000)"); errStatus = hpe1422_cmd(vi, "INIT"); /* read voltages back into array */ errStatus = hpe1422_cmd(vi, "FORM PACK,64"); /* Get unconverted data from the FIFO */ errStatus = hpe1422_readFifo_Q(vi, 32, 64, voltArray, &howManyRead);...
  • Page 264: Calibration

    CALibration CALibration The Calibration subsystem provides for two major categories of calibration. 1. "A/D Calibration"— In these procedures, an external multimeter is used to calibrate the A/D gain on all five of its ranges. The multimeter also determines the value of the VT1422A's internal calibration resistor. The values generated from this calibration are then stored in nonvolatile memory and become the basis for "Working Calibrations.
  • Page 265: Calibration:configure:resistance

    CALibration *CAL? or CAL:SETup CAL:TARE CAL:ZERO? Figure 7-3. Levels of Working Calibration Subsystem Syntax CALibration :CONFigure :RESistance :VOLTage <range>, ZERO | FS :REMote? :DATA <cal_data_block> :DATA? :STORe :SETup :SETup? :STORe ADC | TARE :TARE (@<ch_list>) :RESet :TARE? :VALue :RESistance <ref_ohms> :VOLTage <ref_volts>...
  • Page 266: Calibration:configure:voltage

    CALibration Comments • Related Commands: CAL:VAL:RES, CAL:STOR ADC • When Accepted: Not while INITiated • Send with VXIplug&play Function: hpe1422_cmd(...) Command CAL:CONF:RES connect reference resistor to Calibration Sequence *OPC? or SYST:ERR? must wait for CAL:CONF:RES to complete (now measure ref resistor with external DMM) CAL:VAL:RES <measured value>...
  • Page 267: Calibration:remote

    CALibration Command CAL:CONF:VOLTAGE .0625, ZERO connect voltage reference to Calibration Sequence *OPC? or SYST:ERR? must wait for CAL:CONF:VOLT to complete (now measure voltage with external DMM) CAL:VAL:VOLT <measured value> Send measured value to module repeat above sequence for full-scale repeat zero and full-scale for remaining ranges (0.25, 1, 4, 16) CAL:STORE ADC Store cal constants in non-volatile memory (used only at end of complete...
  • Page 268: Calibration:remote:data

    CALibration • Failure Information for +1 return: The FIFO buffer will contain pairs of values. The first value will be the failing channel and the second value is the Failure Code for that channel. Failure Codes found in the FIFO buffer are: a.
  • Page 269: Calibration:remote:data

    CALibration CALibration:REMote:DATA? CALibration:REMote:DATA? extracts the remote calibration constants generated using the CAL:REMote? command. Comments • CAL:REM:DATA returns a definite length block of 1,024 float32 values that represent a gain and offset pair for each of 512 possible remote channels. The block is always 1,024, float64 values (8192 bytes) regardless how many RSCUs are actually connected to the VT1422A.
  • Page 270: Calibration:setup

    CALibration CALibration:SETup CALibration:SETup causes the Channel Calibration function to be performed for every module channel with an analog SCP installed (input or output). The Channel Calibration function calibrates the A/D Offset and the Gain/Offset for these analog channels. This calibration is accomplished using internal calibration references. For more information see *CAL? on page 399.
  • Page 271: Calibration:store

    CALibration • Related Commands: SYST:ERR?, CAL:SETup, *CAL? • Send with VXIplug&play Function: hpe1422_cmdInt16_Q(...) Usage See CAL:SETup. CALibration:STORe CALibration:STORe <type> stores the VT1422A’s most recently measured calibration constants into Flash Memory (Electrically Erasable Programmable Read Only Memory). When <type>=ADC, the module stores its A/D calibration constants as well as constants generated from *CAL?/CAL:SETup into Flash Memory.
  • Page 272: Calibration:tare

    CALibration Command Storing A/D cal constants Sequence perform complete A/D calibration, then... CAL:STORE ADC Storing channel tare (offset) values CAL:TARE <ch_list> to correct channel offsets CAL:STORE TARE Optional depending on necessity of long term storage CALibration:TARE CALibration:TARE (@<ch_list>) measures offset (or tare) voltage present on the channels specified and stores the value in on-board RAM as a calibration constant for those channels.
  • Page 273 CALibration Parameters Parameter Parameter Range of Default Name Type Values Units ch_list channel list (string) 100 - 15731 none Comments • CAL:TARE also performs the equivalent of a *CAL? operation. This operation uses the tare constants to set a DAC which will remove each channel offset as "seen"...
  • Page 274: Calibration:tare:reset

    CALibration • The VT1422A's Flash Memory has a finite lifetime of approximately 10,000 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 275: Calibration:tare

    CALibration CALibration:TARE? CALibration:TARE? Returns a value to indicate the success of the last CAL:TARE operation. CAL:TARE? returns the value only after the CAL:TARE operation is complete. • Returned Value: Value Meaning Further Action Cal OK None Cal Error Query the Error Queue (SYST:ERR?) See “Error Messages”...
  • Page 276: Calibration:value:voltage

    CALibration <ref_ohms> must be within 5% of the 7500 Ω nominal reference resistor value • or a -222 ’Data out of range’ error will be generated. If this error occurs, verify the external measurement equipment and run *TST? on the VT1422A. •...
  • Page 277: Calibration:zero

    CALibration • <ref_volts> may be specified in millivolts (mV). • When Accepted: Not while INITiated • Related Commands: CAL:CONF:VOLT, CAL:STORE ADC • Send with VXIplug&play Function: hpe1422_cmd(...) Command CAL:CONF:VOLTAGE 4,FSCALE *OPC? Sequence Wait for operation to complete enter statement (now measure voltage with external DMM) CAL:VAL:VOLT <measured value>...
  • Page 278: Diagnostic

    DIAGnostic DIAGnostic The DIAGnostic subsystem allows special operations to be performed that are not standard in the SCPI language. This includes checking the current revision of the Control Processor's firmware and that it has been properly loaded into Flash Memory. Subsystem Syntax DIAGnostic :CALibration...
  • Page 279: Diagnostic:calibration:setup[:Mode]

    DIAGnostic DIAGnostic:CALibration:SETup[:MODE] DIAGnostic:CALibration:SETup[:MODE] <mode> sets the type of calibration to use for analog output SCPs like the VT1531A and VT1532A when *CAL? or CAL:SET are executed. Parameters Parameter Parameter Range of Default Name Type Values Units mode boolean (uint 16) 0 | 1 volts Comments...
  • Page 280: Diagnostic:calibration:tare[:Otdetect]:Mode

    DIAGnostic DIAGnostic:CALibration:TARE[:OTDetect]:MODE DIAGnostic:CALibration:TARE[:OTDetect]:MODE <mode> sets whether Open Transducer Detect current will be turned off or left on (the default mode) during the CAL:TARE operation. Parameters Parameter Parameter Range of Default Name Type Values Units mode boolean (uint 16) 0 | 1 volts Comments •...
  • Page 281: Diagnostic:checksum

    DIAGnostic DIAGnostic:CHECksum? DIAGnostic:CHECksum? performs a checksum operation on Flash Memory. A returned value of 1 indicates that Flash memory contents are correct. A returned value of 0 indicates that the Flash Memory is corrupted or has been erased. Comments • Returned Value: Returns 1 or 0.
  • Page 282: Diagnostic:custom:mxb

    DIAGnostic DIAGnostic:CUSTom:MXB DIAGnostic:CUSTom:MXB <slope>,<offset>,(@<ch_list>) sends the <slope> and <offset> parameters that allow the driver to calculate and download a custom linear Engineering Unit Conversion table to the VT1422A. Use the “[SENSe:]FUNCtion:CUSTom” on page 340 to link this custom EU conversion with channels in <ch_list>.
  • Page 283: Diagnostic:custom:piecewise

    EU with chs 0000-0131 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 VT1422A. Contact a VXI Technology System Engineer for more information on Custom Engineering Unit Conversion for specific applications. Parameters Parameter...
  • Page 284: Diagnostic:custom:reference:temperature

    DIAGnostic DIAGnostic:CUSTom:REFerence:TEMPerature DIAGnostic:CUSTom:REFerence:TEMPerature extracts the current Reference Temperature Register Contents, converts it to 32-bit floating point format and sends it to the FIFO. This command is used to verify that the reference temperature is as expected after measuring it using a custom reference temperature EU conversion table. •...
  • Page 285: Diagnostic:ieee

    DIAGnostic DIAGnostic:IEEE? DIAGnostic:IEEE? returns the currently set IEEE mode. Comments • The data type is int16. • Related Commands: DIAG:IEEE • *RST Condition: DIAG:IEEE 1 • Send with VXIplug&play Function: hpe1422_cmdInt16_Q(...) DIAGnostic:INTerrupt[:LINe] DIAGnostic:INTerrupt[:LINe] <intr_line> sets the VXIbus interrupt line the module will use.
  • Page 286: Diagnostic:otdetect[:State]

    DIAGnostic DIAGnostic:OTDetect[:STATe] DIAGnostic:OTDetect[:STATe] <enable>,(@<ch_list>) enables and disables the VT1422A'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 287: Diagnostic:otdetect[:State]

    DIAGnostic DIAGnostic:OTDetect[:STATe]? DIAGnostic:OTDetect[:STATe]? (@<channel>) returns the current state of "Open Transducer Detection" for the SCP containing the specified <channel>. Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 163 none Comments • The <channel> parameter must specify a single channel only. •...
  • Page 288: Diagnostic:remote:user:data

    DIAGnostic DIAGnostic:REMote:USER:DATA DIAGnostic:REMote:USER:DATA <user_data_block>,(@<channel> )stores 894, 16-bit words of arbitrary user data to non-volatile flash memory. A custom format can be designed for information storage. For example, the data could define a 32 by 28 word array to store information about each channel. Note A Remote Signal Conditioning Unit’s Flash Memory has a finite lifetime of approximately 10,000 write cycles (unlimited read cycles).
  • Page 289: Diagnostic:test:remote:number

    DIAGnostic • Returned Value: DIAG:REM:USER:DATA? returns an IEEE definite length data block which represents an array of 894, int16 values. • RST Condition: Stored values not changed by *RST • Send with VXIplug&play Function: hpe1422_cmdInt16Arr_Q(...) DIAGnostic:TEST:REMote:NUMber? DIAGnostic:TEST:REMote:NUMber? <test_num>,<iterations>,(@<channel>) executes a selected self-test number on a single Remote Signal Conditioning Unit connected through the VT1539A SCP.
  • Page 290: Diagnostic:test:remote:selftest

    DIAGnostic DIAGnostic:TEST:REMote:SELFtest? DIAGnostic:TEST:REMote:SELFtest? (@<ch_list>) executes a self-test on a single Remote Signal Conditioning Unit connected through the VT1539A SCP. An example of an RSCU is the VT1529A/B Remote Strain Bridge Conditioning unit. Parameters Parameter Parameter Range of Default Name Type Values Units channel...
  • Page 291 DIAGnostic Test 5: This tests the filter settings on each bank (of eight channels). The method of this test is to ensure that the approximate rise times increase as the filters are changed from 100 Hz to 10 Hz and then to 2 Hz. The list of possible error messages is shown below (NOTE that the 1xx prefix to the channel number denotes the first three digits that uniquely identify which VT1529A/B is to be tested –...
  • Page 292: Diagnostic:version

    DIAGnostic DIAGnostic:VERSion? DIAGnostic:VERSion? returns the version of the firmware currently loaded into Flash Memory. The version information includes manufacturer, model, serial number, firmware version, and date. Comments • Returned Value: Examples of the response string format: HEWLETT-PACKARD,E1422A,US34000478,A.04.00,Thu Aug 5 9:38:07 MDT 1994 •...
  • Page 293: Fetch

    FETCh? FETCh? Subsystem Syntax FETCh? returns readings stored in VME memory. Comments • This command is only available in systems using an Agilent/HP E1405B/06A command module. • FETCH? does not alter the readings stored in VME memory. Only the *RST or INIT…...
  • Page 294 FETCh? Use Sequence MEM:VME:ADDR #H300000 MEM:VME:SIZE #H100000 1 megabyte (MB) or 262,144 readings MEM:VME:STAT ON × ° (set up VT1422A for scanning) × TRIG:SOUR IMM let unit trigger on INIT INIT program execution remains here until VME memory is full or the VT1422A has stopped taking readings FORM REAL,64 affects only the return of data...
  • Page 295: Format

    FORMat FORMat The FORMat subsystem provides commands to set and query the response data format of readings returned using the [SENSe:]DATA:FIFO:…? commands. Subsystem Syntax FORMat [:DATA] <format>[,<size>] [:DATA]? FORMat[:DATA] FORMat[:DATA] <format>[,<size>] sets the format for data returned using the [SENSe:]DATA:FIFO:…?, [SENSe:]DATA:CVTable and FETCh? commands. Parameters Parameter Parameter...
  • Page 296 FORMat Note *TST? leaves the instrument in its power-on reset state. This means that the ASC,7 data format is set even if something else had been set before executing *TST?. If the FIFO needs to read for test information, set the format after *TST? and before reading the FIFO.
  • Page 297: Format[:Data]

    FORMat FORMat[:DATA]? FORMat[:DATA]? returns the currently set response data format for readings. Comments • Returned Value: Returns REAL, +32 | REAL, +64 | PACK, +64 | ASC, +7. The data type is string, int16. • Related Commands: FORMAT • *RST Condition: ASCII, 7 •...
  • Page 298: Initiate

    INITiate INITiate The INITiate command subsystem moves the VT1422A 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 299: Input

    INPut INPut The INPut subsystem controls configuration of programmable input Signal Conditioning Plug-Ons (SCPs). Subsystem Syntax INPut :FILTer [:LPASs] :FREQuency <cutoff_freq>,(@<ch_list>) :FREQuency? (@<channel>) [:STATe] 1 | 0 | ON | OFF,(@<channel>) [:STATe]? (@<channel>) :GAIN <chan_gain>,(@<ch_list>) :GAIN? (@<channel>) :LOW <wvolt_type>,(@<ch_list>) :LOW? (@<channel>) :POLarity NORMal | INVerted,(@<ch_list>) :POLarity? (@<channel>) INPut:FILTer[:LPASs]:FREQuency...
  • Page 300: Input:filter[:Lpass]:Frequency

    INPut • When Accepted: Not while INITiated • Related Commands: INP:FILT:FREQ?, INP:FILT:STAT ON | OFF • *RST Condition: generally set to MIN. The VT1529A/B is set to 10 Hz. • Send with VXIplug&play Function: hpe1422_cmd(...) Usage INP:FILT:FREQ 100,(@100:119) Set cutoff frequency of 100 Hz for first 20 channels INPUT:FILTER:FREQ 2,(@15622) Set cutoff frequency of 2 Hz for RSC...
  • Page 301: Input:filter[:Lpass][:State]

    INPut INPut:FILTer[:LPASs][:STATe] INPut:FILTer[:LPASs][:STATe] <enable>,(@<ch_list>) enables or disables a programmable filter SCP or RSC channel. When disabled (<enable> = OFF), these channels are in their "pass through" mode and provide only a 20 kHz, single-pole low pass filter. When re-enabled (<enable> = ON), the SCP channel reverts to its previously programmed setting.
  • Page 302: Input:gain

    INPut INPut:GAIN INPut:GAIN <gain>,(@<ch_list>) sets the channel gain on programmable amplifier SCP or RSCU. Note An important thing to understand about input amplifier SCPs and RSCUs is that given a fixed input value at a channel, changes in channel gain do not change the value returned from that channel.
  • Page 303: Input:gain

    INPut INPut:GAIN? INPut:GAIN? (@<channel>) returns the gain currently set for channel. If the channel is not on an input SCP, the query will return zero. Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 163 none Comments •...
  • Page 304: Input:low

    INPut INPut:LOW? INPut:LOW? (@<channel>) returns the LO input configuration for the channel specified by <channel>. This command is for strain SCPs only, not for VT1529A/B. Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 163 none Comments •...
  • Page 305: Input:polarity

    INPut INPut:POLarity? INPut:POLarity? <channel> returns the logical input polarity on a digital SCP channel. Parameters Parameter Parameter Range of Default Name Type Values Units channel string 100 - 163 none Comments • The <channel> parameter must specify a single channel. •...
  • Page 306: Measure

    MEASure MEASure The MEASure subsystem provides convenient setup-and-execution for some pre-measurement strain operations. Subsystem Syntax MEASure :VOLTage :EXCitation (@<ch_list>) :UNSTrained (@<ch_list>) MEASure:VOLTage:EXCitation? MEASure:VOLTage:EXCitation? (@<ch_list>) This command automatically configures the VT1422A to measure the bridge excitation voltage at each channel in <ch_list>...
  • Page 307 MEASure Notes 1. Unlike the MEAS:VOLT:EXC? command, the individual command sequence above cannot keep defined algorithms from running at INIT. Since algorithms can place values into the FIFO buffer, it will be necessary to determine which FIFO values are the excitation voltages. 2.
  • Page 308: Measure:voltage:unstrained

    MEASure MEASure:VOLTage:UNSTrained? MEASure:VOLTage:UNSTrained? (@<ch_list>) This command automatically configures the VT1422A to measure the bridge output voltage at each channel in <ch_list> and initiates a measurement scan. It averages 32 measurements for each channel and the averaged values are stored for later use by the strain Engineering Units conversion process on these channels.
  • Page 309 MEASure • This command executes a measurement scan without running defined algorithms. This is to keep algorithms from placing values in the FIFO buffer. • The measurement sample interval is 392 µs • Filter settings and states are not changed by this command. •...
  • Page 310: Memory

    MEMory MEMory The MEMory subsystem allows using VME memory as an additional reading storage buffer. Subsystem Syntax MEMory :VME :ADDRess <A24_address> :ADDRess? :SIZE <mem_size> :SIZE? :STATe 1 | 0 | ON | OFF :STATe? Note This subsystem is only available in systems using an Agilent/HP E1405B/06A command module.
  • Page 311: Memory:vme:address

    MEMory MEMory:VME:ADDRess MEMory:VME:ADDRess <A24_address> sets the A24 address of the VME memory card to be used as additional reading storage. Parameters Parameter Parameter Range of Default Name Type Values Units A24_address numeric valid A24 address none Comments • This command is only available in systems using an Agilent/HP E1405B/06A command module.
  • Page 312: Memory:vme:size

    MEMory MEMory:VME:SIZE MEMory:VME:SIZE <mem_size> Specifies the number of bytes of VME memory to allocate for additional reading storage. Parameters Parameter Parameter Range of Default Name Type Values Units mem_size numeric to limit of available VME memory none Comments • This command is only available in systems using an Agilent/HP E1405B/6A command module.
  • Page 313: Memory:vme:state

    MEMory MEMory:VME:STATe MEMory:VME:STATe <enable> enables or disables use of the VME memory card as additional reading storage. Parameters Parameter Parameter Range of Default Name Type Values Units enable boolean (uint16) 1 | 0 | ON | OFF none Comments • This command is only available in systems using an Agilent/HP E1405B/06A command module.
  • Page 314: Output

    OUTPut OUTPut The OUTPut subsystem is involved in programming source SCPs as well as controlling the state of VXIbus TTLTRG lines 0 through 7. Subsystem Syntax OUTPut :CURRent :AMPLitude <amplitude>,(@<ch_list>) :AMPLitude? (@<channel>) [:STATe] 1 | 0 | ON | OFF,(@<ch_list>) [:STATe]? (@<channel>) :POLarity NORMal | INVerted,(@<ch_list>) :POLarity? (@<channel>)
  • Page 315: Output:current:amplitude

    OUTPut Parameters Parameter Parameter Range of Default Name Type Values Units amplitude numeric (float32) MIN | 30E-6 | MAX | 488E-6 A dc ch_list channel list (string) 100 - 163 none Comments Select 488E-6 (or MAX) for measuring resistances of less than 8000 Ω. Select •...
  • Page 316: Output:current[:State]

    OUTPut • Returned Value: Numeric value of amplitude set. The data type is float32. • Related Commands: OUTP:CURR:AMPL • Send with VXIplug&play Function: hpe1422_cmdReal64_Q(...) Usage OUTP:CURR:AMPLITUDE? (@163) Check SCP current set for channel 63 (returns +3.0E-5 or +4.88E-4) OUTPut:CURRent[:STATe] OUTPut:CURRent[:STATe] <enable>,(@<ch_list>) enables or disables current source on channels specified in <ch_list>.
  • Page 317: Output:current[:State]

    OUTPut 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 a VT1505A Current Source SCP, the query will return zero. Parameters Parameter Parameter Range of Default Name Type Values Units channel...
  • Page 318: Output:polarity

    OUTPut OUTPut:POLarity? OUTPut:POLarity? (@<channel>) returns the polarity on the digital output channel in <channel>. Parameters Parameter Parameter Range of Default Name Type Values Units channel string 100 - 163 none Comments • The <channel> parameter must specify a single channel. •...
  • Page 319: Output:shunt

    OUTPut OUTPut:SHUNt? OUTPut:SHUNt? (@<channel>) returns the status of the shunt resistance on the specified Strain SCP or RSC channel. Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 15731 none Comments • The <channel> parameter must specify a single channel only. •...
  • Page 320: Output:shunt:source

    OUTPut • Related Commands: OUTPut:SHUNt…, SENSe:FUNCtion:STRain…, [SENSe:]STRain… • *RST Condition: OUTP:SHUNT:SOURCE INT on all VT1529A/B channels • Send with VXIplug&play Function: hpe1422_cmd(...) Usage OUTP:SHUNT:SOUR EXT,(@10000,10800) select user supplied shunt resistor on VT1529As connected to channels 0, 1, 8, and 9 OUTPut:SHUNt:SOURce? OUTPut:SHUNt:SOURce? (@<channel>) returns the source of the shunt...
  • Page 321: Output:ttltrg:source

    OUTPut OUTPut:TTLTrg:SOURce OUTPut:TTLTrg:SOURce <trig_source> selects the internal source of the trigger event that will operate the VXIbus TTLTRG lines. Parameters Parameter Parameter Range of Default Name Type Values Units trig_source discrete (string) ALGorithm | TRIGger | FTRigger | SCPlugon none Comments •...
  • Page 322: Output:ttltrg[:State]

    OUTPut OUTPut:TTLTrg<n>[:STATe] OUTPut:TTLTrg<n>:STATe <ttltrg_cntrl> specifies which VXIbus TTLTRG line is enabled to source a trigger signal when the module is triggered. TTLTrg<n> can specify line 0 through 7. For example, …:TTLTRG4 or TTLT4 for VXIbus TTLTRG line 4. Parameters Parameter Parameter Range of Default...
  • Page 323: Output:type

    OUTPut OUTPut:TYPE OUTPut:TYPE <select>,(@<ch_list>) sets the output drive characteristic for digital SCPs with programmable channels. Parameters Parameter Parameter Range of Default Name Type Values Units select discrete (string) PASSive | ACTive seconds ch_list string 100 - 163 none Comments • If the channels specified are on an SCP that doesn't support this function an error will be generated.
  • Page 324: Output:voltage:amplitude

    OUTPut OUTPut:VOLTage:AMPLitude OUTPut:VOLTage:AMPLitude <amplitude>,(@<ch_list>) sets the excitation voltage on programmable Strain Bridge Completion SCPs pointed to by <ch_list> (the VT1511A for example). Note This command is not used to set output voltage on SCPs like the VT1531A Voltage Output SCP. Parameters Parameter Parameter...
  • Page 325: Route

    ROUTe ROUTe The ROUTe subsystem provides a method to define the sequence of channels in the VT1422A’s Analog Input scan list. Note that any analog input channels specified in an algorithm definition also affect the contents of this scan list. Queries are provided to determine the overall channel list definition including analog output channels as well as digital input and output channels.
  • Page 326 ROUTe • Controlling Data Destination: The relative form of the SCPI Channel List syntax is used to control the destination of data from channels in the scan list. See “Channel List (Relative Form)” on page 232 for a discussion of the syntax. The value of the "Data Destination"...
  • Page 327: Route:sequence:define

    ROUTe • Notice that since there are only 502 CVT elements available for up to 512 possible remote channel specifiers, these last 10 channels (15722-15731) must not be sent to the CVT or an error will be generated. Since the default data destination is to BOTH the FIFO and CVT (Data Destination 3), any reference in ROUT:SEQ:DEF to the last 10 remote channels must force the data destination to FIFO only.
  • Page 328: Route:sequence:points

    ROUTe • Returned Value: Data type is an int16 array). Use ROUT:SEQ:POINTS? to determine how many values will be returned in the array. Can also be returned as type string, see later comment regarding VXIplug&play function. When the <type> parameter is "AIN," "AOUT," "DIN," or "DOUT," each value returned represents a channel number.
  • Page 329 ROUTe • Returned Value: Numeric. The C_SCPI type is int16. • *RST Condition: The Analog Input list returns +8, the others return +0. • Send with VXIplug&play Function: hpe1422_cmdInt16_Q(...) Usage ROUT:SEQ:POINTS? AIN query for analog input channel count Chapter 7 VT1422A Command Reference...
  • Page 330: Sample

    SAMPle SAMPle The SAMPle subsystem provides commands to set and query the interval between channel measurements (pacing). Subsystem Syntax SAMPle :TIMer <interval> :TIMer? SAMPle:TIMer SAMPle:TIMer <interval> sets the time interval between channel measurements. It is used to provide additional channel settling time. See “Settling Characteristics” on page 157 Parameters Parameter...
  • Page 331: Sample:timer

    SAMPle SAMPle:TIMer? SAMPle:TIMer? returns the sample timer interval. Comments • Returned Value: Numeric. The data type is float32. • Related Commands: SAMP:TIMER • *RST Condition: Sample Timer set to 4.0E-5 seconds. • Send with VXIplug&play Function: hpe1422_cmdReal64_Q(...) Usage SAMPLE:TIMER? Check the interval between channel measurements Chapter 7 VT1422A Command Reference...
  • Page 332: [Sense]

    [SENSe] [SENSe] The SENSe subsystem controls conversion of the sensed electrical signal to a value in Engineering Units (EU) like volts, ohms, and temperature. Sense commands allow one to configure and extract data from the A/D-EU conversion portion of the instrument (see “INPut”...
  • Page 333: [Sense:]Data:cvtable

    [SENSe] :TEMPerature <sensor_type>,<sub_type>,[<range>,](@<ch_list>) :POST TC,<sub_type>,[<range>,](@<ch_list>) :TOTalize (@<ch_list>) :VOLTage[:DC] [<range>,](@<ch_list>) REFerence <sensor_type>, [<sub_type>,](@<ch_list>) :POST THERmistor,<res>,[<range>],(@<exc_ch>),(@<thr_ch>) :CHANnels (@<ref_channel>),(@<ch_list>) :POST (@<ref_channel>),(@<ch_list>) :TEMPerature <degrees_celsius> :POST <degrees_celsius>,(@<ch_list>) :THERmistor :RESistance :POST? <resistance>,(@<thr_list>) STRain :BRIDge :TYPE FBEN | HBEN | Q120 | Q350 | USER,(@<ch_list>) :TYPE? (@<channel>) CONNect BRIDge | EXCitation,(@<ch_list>) CONNect? (@<channel>) :EXCitation <excite_v>,(@<ch_list>)
  • Page 334 [SENSe] • The Current Value Table is an area in memory that can contain as many as 502 32-bit floating point values. Algorithms can copy any of their variable values into these CVT elements while they execute. The algorithm statements to put data into the CVT are: writecvt( <expr>, <element_number>...
  • Page 335: [Sense:]Data:cvtable:reset

    [SENSe] [SENSe:]DATA:CVTable:RESet [SENSe:]DATA:CVTable:RESet sets all 64 Current Value Table entries to the IEEE-754 "Not-a-number." Comments • 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 •...
  • Page 336: [Sense:]Data:fifo:count

    [SENSe] • Related Commands: SENSE:DATA:FIFO:HALF?, ROUT:SEQ:DEFine • *RST Condition: FIFO is empty • Use VXIplug&play function: hpe1422_readFifo_Q(...) Usage DATA:FIFO? return all FIFO values until measurements complete and FIFO empty Command set up scan list/algorithms 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...
  • Page 337: [Sense:]Data:fifo:half

    [SENSe] [SENSe:]DATA:FIFO:HALF? [SENSe:]DATA:FIFO:HALF? returns 32,768 values if the FIFO buffer is at least half-full. This command provides a fast means of acquiring blocks of values from the buffer. Comments • For acquiring data from continuous scans, an application needs to execute a DATA:FIFO:HALF? command and a read statement often enough to keep up with the rate that values are being sent to the FIFO.
  • Page 338: [Sense:]Data:fifo:mode

    [SENSe] [SENSe:]DATA:FIFO:MODE [SENSe:]DATA:FIFO:MODE <mode> sets the mode of operation for the FIFO buffer. Parameters Parameter Parameter Range of Default Name Type Values Units mode discrete (string) BLOCk | OVERwrite none Comments • In BLOCk(ing) mode, if the FIFO becomes full and measurements are still being made, the new values are discarded.
  • Page 339: [Sense:]Data:fifo:part

    [SENSe] [SENSe:]DATA:FIFO:PART? [SENSe:]DATA:FIFO:PART? <n_values> returns <n_values> from the FIFO buffer. Parameters Parameter Parameter Range of Default Name Type Values Units n_values numeric (int32) 1 - 2,147,483,647 none Comments • Use the DATA:FIFO:COUNT? command to determine the number of values in the FIFO buffer.
  • Page 340: [Sense:]Data:fifo:reset

    [SENSe] [SENSe:]DATA:FIFO:RESet [SENSe:]DATA:FIFO:RESet clears the FIFO of values. The FIFO counter is reset to 0. Comments • When Accepted: Not while INITiated • Related Commands: SENSE:DATA:FIFO… • *RST Condition: SENSE:DATA:FIFO:RESET • Send with VXIplug&play Function: hpe1422_cmd(...) Usage SENSE:DATA:FIFO:RESET Clear the FIFO [SENSe:]FREQuency:APERture [SENSe:]FREQuency:APERture <gate_time>,<ch_list>...
  • Page 341: [Sense:]Frequency:aperture

    [SENSe] [SENSe:]FREQuency:APERture? [SENSe:]FREQuency:APERture? <channel> returns the frequency counting gate time. Parameters Parameter Parameter Range of Default Name Type Values Units channel string 100 - 163 none Comments • If the channel specified is on an SCP that doesn't support this function, an error will be generated.
  • Page 342: [Sense:]Function:custom

    [SENSe] [SENSe:]FUNCtion:CUSTom [SENSe:]FUNCtion:CUSTom [<range>,](@<ch_list>) links channels with the custom Engineering Unit Conversion table loaded with the DIAG:CUST:MXB or DIAG:CUST:PIECE commands. Contact a VXI Technology System Engineer for more information on Custom Piecewise Engineering Unit Conversion for specific applications. Parameters Parameter...
  • Page 343: [Sense:]Function:custom:hvoltage

    [SENSe] [SENSe:]FUNCtion:CUSTom:HVOLtage [SENSe:]FUNCtion:CUSTom:HVOLtage [<range>,](@<ch_list>) links VT1529B high-level input (DCV measurement) channels with the custom Engineering Unit Conversion table loaded with the DIAG:CUST:MXB or DIAG:CUST:PIECE commands. This command is valid only on the VT1529B and is available with VXIplug&play driver revision A.01.09 or later (revision A.01.06 or later of hpe1422_32.dll). Parameters Parameter Parameter...
  • Page 344: [Sense:]Function:custom:reference

    [SENSe] [SENSe:]FUNCtion:CUSTom:REFerence [SENSe:]FUNCtion:CUSTom:REFerence [<range>,](@<ch_list>) links channels with the custom Engineering Unit Conversion table loaded with the DIAG:CUST:PIECE command. Measurements from a channel linked with SENS:FUNC:CUST:REF will result in a temperature that is sent to the Reference Temperature Register. This command is used to measure the temperature of an isothermal reference panel using custom characterized RTDs or thermistors.
  • Page 345: [Sense:]Function:custom:tcouple

    SENS:FUNC:CUST:TC allows an EU table to be used that is custom matched to thermocouple wire that has been characterized. Contact a VXI Technology System Engineer for more information on Custom Piecewise Engineering Unit Conversion for specific applications.
  • Page 346: [Sense:]Function:frequency

    [SENSe] Usage program must put table constants into array table_block DIAG:CUST:PIEC 1,table_block,(@100:107) send characterized thermocouple table for use by channels 0-7 SENS:FUNC:CUST:TC N,.25,(@100:107) link custom thermocouple EU with chs 0-7, use reference temperature compensation for N type wire. SENSE:REF RTD,92,(@120) designate a channel to measure the reference junction temperature include these channels in a scan list (REF channel first)
  • Page 347: [Sense:]Function:hvoltage

    [SENSe] [SENSe:]FUNCtion:HVOLtage [SENSe:]FUNCtion:HVOLtage [<range>,](@<ch_list>) links the specified VT1529B channels to return dc voltage on the high-level input (Excitation Sense + and -) pins on the RJ-45 connector for the channel. This command is valid only on the VT1529B and is available with VXIplug&play driver revision A.01.09 or later (revision A.01.06 or later of hpe1422_32.dll).
  • Page 348: [Sense:]Function:resistance

    [SENSe] [SENSe:]FUNCtion:RESistance [SENSe:]FUNCtion:RESistance <excite_current>,[<range>,](@<ch_list>) links the EU conversion type for resistance and range with the channels specified by <ch_list>. Parameters Parameter Parameter Range of Default Name Type Values Units excite_current discrete(string) 30E-6 | 488E-6 | MIN | MAX Amps V dc range numeric (float32) see first comment...
  • Page 349: [Sense:]Function:strain:fbending

    [SENSe] [SENSe:]FUNCtion:STRain:FBENding [SENSe:]FUNCtion:STRain:FBPoisson [SENSe:]FUNCtion:STRain:FPOisson [SENSe:]FUNCtion:STRain:HBENding [SENSe:]FUNCtion:STRain:HPOisson [SENSe:]FUNCtion:STRain[:QUARter] [SENSe:]FUNCtion:STRain:Q120 [SENSe:]FUNCtion:STRain:Q350 [SENSe:]FUNCtion:STRain:USER [SENSe:]FUNCtion:STRain:FBENding [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:FBPoisson [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:FPOisson [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:HBENding [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:HPOisson [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain[:QUARter] [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:Q120 [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:Q350 [<range>,](@<ch_list>) [SENSe:]FUNCtion:STRain:USER [<range>,](@<ch_list>) A Note on Syntax: Although the strain function is comprised of nine separate SCPI commands, their syntax and function is so similar they are discussed in a single reference entry.
  • Page 350 [SENSe] Command Bridge Type Strain SCP and VT1529A/B Usage :FBENding Full Bending Bridge Both VT1529A/B and SCPs :FBPoisson Full Bending Poisson Bridge SCPs only :FPOisson Full Poisson Bridge SCPs only :HBENding Half Bending Bridge Both VT1529A/B and SCPs :HPOisson Half Poisson Bridge SCPs only [:QUARter] Quarter Bridge (default)
  • Page 351: [Sense:]Function:strain:fbending:post

    [SENSe] • If using amplifier SCPs, set them first and keep their settings in mind when specifying a range setting. For instance, if the expected signal voltage is to be approximately 0.1 V dc and the amplifier SCP for that channel has a gain of 8, <range>...
  • Page 352 [SENSe] [SENSe:]FUNCtion:STRain:<bridge_type>:POST [<range>,](@<ch_list>) links the post-processing strain EU conversion with the VT1529B channels specified by <ch_list> to measure the strain bridge output. See “Strain Measurement Command Sequence” on page 165. Both the strain channels and excitation channel should appear in the scan list set by ROUT:SEQ:DEF.
  • Page 353: [Sense:]Function:temperature

    [SENSe] • Related Commands: CAL:REMote?,[SENSE:]STRAIN… • *RST Condition: SENSE:FUNC:VOLT AUTO on all channels and bridges set to FBEN on all strain channels • Send with VXIplug&play Function: hpe1422_cmd(...) Usage SENS:FUNC:STRAIN:QUAR:POST 1,(@10000:10007) quarter bridge conversion for VT1529B channels 10000 to 10007 SENSE:FUNC:STRAIN:FBEN:POST 1,(@10800:10931) full bridge conversion for VT1529B channels 10800 to 10931 (64 channels)
  • Page 354 [SENSe] • If using amplifier SCPs, set them first and keep their settings in mind when specifying a range setting. For instance, if the expected signal voltage is to be approximately 0.1 V dc and the amplifier SCP for that channel has a gain of 8, <range>...
  • Page 355: [Sense:]Function:temperature:post

    [SENSe] [SENSe:]FUNCtion:TEMPerature:POST [SENSe:]FUNCtion:TEMPerature:POST TC,<sub_type>,[<range>,] (@<ch_list>) links VT1529B channels to a post-processing temperature EU conversion based on the sensor specified in <type> and <sub_type>. Note: Do not include the thermocouple reference temperature or thermistor excitation channels in this command (for that, use the SENS:REF:POST <type>,<sub_type>,<range>, (@<exc_ch>),(@<thr_ch>) command).
  • Page 356: [Sense:]Function:totalize

    [SENSe] [SENSe:]FUNCtion:TOTalize [SENSe:]FUNCtion:TOTalize <ch_list> sets the SENSe function to TOTalize for channels in <ch_list>. Parameters Parameter Parameter Range of Default Name Type Values Units ch_list string 100 - 163 none Comments • The totalize function counts rising edges of digital transitions at Frequency/ Totalize SCP channels.
  • Page 357: [Sense:]Reference

    [SENSe] • If using amplifier SCPs or RSCs, set them first and keep their settings in mind when specifying a range setting. For instance, if the expected signal voltage is to be approximately 0.1 V dc and the amplifier SCP for that channel has a gain of 8, <range>...
  • Page 358 [SENSe] Parameters Parameter Parameter Range of Default Name Type Values Units type discrete (string) THERmistor | RTD | CUSTom none sub_type numeric (float32) for THER, use 5000 numeric (float32) for RTD, use 85 | 92 none for CUSTom, use 1 none V dc range...
  • Page 359: [Sense:]Reference:post

    [SENSe] [SENSe:]REFerence:POST [SENSe:]REFerence:POST THERmistor,<resistance>,[<range>,] (@<exc_ch>),(@<thr_ch>) links the thermistor channel in <thr_ch> to the excitation voltage channel in <exc_ch> and to the reference junction temperature EU conversion. The excitation channel is automatically set to SENS:FUNC:HVOL and the thermistor channel is set to SENS:FUNC:VOLT. The excitation channel must be on the same VT1529B as the thermistor channel.
  • Page 360: [Sense:]Reference:channels

    [SENSe] [SENSe:]REFerence:CHANnels [SENSe:]REFerence:CHANnels (@<ref_channel>),(@<ch_list>) causes channel specified by <ref_channel> to appear in the scan list just before the channel(s) specified by <ch_list>. This command is used to include the thermocouple reference temperature channel in the scan list before other thermocouple channels are measured. Parameters Parameter Parameter...
  • Page 361: [Sense:]Reference:temperature

    [SENSe] Parameters Parameter Parameter Range of Default Name Type Values Units ref_channel channel list (string) 10000 - 15731 none ch_list channel list (string) 10000 - 15731 none Comments • Use SENS:FUNC:TEMP:POST to configure channels to measure thermocouples. Then use SENS:REF:POST to configure one or more channels to measure an isothermal reference temperature.
  • Page 362: [Sense:]Reference:temperature:post

    [SENSe] Parameters Parameter Parameter Range of Default Name Type Values Units degrees_c numeric (float32) -126 to +126 °C Comments • This command is used to specify to the VT1422A the temperature of a controlled temperature thermocouple reference junction. • When Accepted: Not while INITiated •...
  • Page 363: [Sense:]Reference:thermistor:resistance:post

    [SENSe] *RST Condition: Reference temperature is 0 °C. • • Send with VXIplug&play Function: hpe1422_cmd(...) Usage SENSE:REF:TEMP:POST 40,(@10008:10015) channels 10008 to 10015 will assume compensation junction at 40 °C [SENSe:]REFerence:THERmistor:RESistance:POST [SENSe:]REFerence:THERmistor:RESistance:POST <resistance>,(@<thr_list>) specifies the sum of the resistor values in the thermistor divider circuit (see Figure 5-5 on page 173) for the thermistor channels in <thr_list>...
  • Page 364: [Sense:]Reference:thermistor:resistance:post

    [SENSe] [SENSe:]REFerence:THERmistor:RESistance:POST? [SENSe:]REFerence:THERmistor:RESistance:POST? (@<thr_ch>) returns the programmed sum of the resistor values in the thermistor divider circuit. This command is valid only on the VT1529B and is available with VXIplug&play driver revision A.01.09 or later (revision A.01.06 or later of hpe1422_32.dll). Parameters Parameter Parameter...
  • Page 365: [Sense:]Strain:bridge:[Type]

    [SENSe] • Send with VXIplug&play Function: hpe1422_cmd(...) Usage SENS:STRAIN:BRID Q120,(@10000:10031) configure strain RSC unit channels 00-31 connected to on-board channel 00 to 120 ohm quarter bridge [SENSe:]STRain:BRIDge:[TYPE]? [SENSe:]STRain:BRIDge[:TYPE]? (@<channel>) returns the VT1529A/B’s bridge configuration for channel specified by <ch_list>. Parameters Parameter Parameter Range of...
  • Page 366: [Sense:]Strain:connect

    [SENSe] • Send with VXIplug&play Function: hpe1422_cmd(...) Usage SENS:STRAIN:CONN EXC,(@10000:10031) configure strain RSC unit channels 00-31 connected to on-board channel 00 to measure excitation voltages [SENSe:]STRain:CONNect? [SENSe:]STRain:CONNect? (@<channel>) returns the measurement connection state for the single VT1529A/B channel specified by <channel>. Parameters Parameter Parameter...
  • Page 367: [Sense:]Strain:excitation

    [SENSe] Parameters Parameter Parameter Range of Default Name Type Values Units excite_v numeric (float32) 0.01 - 99 volts ch_list channel list (string) 100 - 15731 none Comments • The <ch_list> parameter must specify the channel used to sense the bridge voltage, not the channel position on a Bridge Completion SCP.
  • Page 368: [Sense:]Strain:excitation:state

    [SENSe] [SENSe:]STRain:EXCitation:STATe [SENSe:]STRain:EXCitation:STATe <enable>,(@<ch_list>) connects or disconnects all four excitation supply ports on a VT1529A/B. Only one channel for each VT1529A/B needs to be specified in <ch_list> and all four excitation supply ports on that unit will configure as specified in <enable>. The first channel number on each possible VT1529A/B is: 10000, 10100, 10800, 10900, 11600, 11700, 12400, 12500, 13200, 13300, 14000, 14100, 14800, 14900, 15600, 15700.
  • Page 369: [Sense:]Strain:gfactor

    [SENSe] [SENSe:]STRain:GFACtor [SENSe:]STRain:GFACtor <gage_factor>,(@<ch_list>) specifies the gage factor to be used to convert strain bridge readings for the channels specified by <ch_list>. Parameters Parameter Parameter Range of Default Name Type Values Units gage_factor numeric (float32) 1 - 5 none ch_list channel list (string) 100 - 15731 none...
  • Page 370: [Sense:]Strain:poisson

    [SENSe] [SENSe:]STRain:POISson [SENSe:]STRain:POISson <poisson_ratio>,(@<ch_list>) sets the Poisson ratio to be used for EU conversion of values measured on sense channels specified by <ch_list>. Parameters Parameter Parameter Range of Default Name Type Values Units poisson_ratio numeric (float32) 0.1 - 0.5 none ch_list channel list (string) 100 - 163...
  • Page 371: [Sense:]Strain:unstrained

    [SENSe] [SENSe:]STRain:UNSTrained [SENSe:]STRain:UNSTrained <unstrained_v>,(@<ch_list>) specifies the unstrained voltage value to be used to convert strain bridge readings for the channels specified by <ch_list>. The VT1529A/B can use the MEAS:VOLT:UNSTrained command which automatically measures the unstrained bridge values and sends each value to the channels’...
  • Page 372: [Sense:]Totalize:reset:mode

    [SENSe] • Related Commands: STRAIN:UNST • Send with VXIplug&play Function: hpe1422_cmdReal64_Q(...) Usage STRAIN:UNST? (@107) query unstrained voltage for channel 7 enter statement here returns the unstrained voltage set by STR:UNST [SENSe:]TOTalize:RESet:MODE [SENSe:]TOTalize:RESet:MODE <select>,<ch_list> sets the mode for resetting totalizer channels in <ch_list>. Parameters Parameter Parameter...
  • Page 373: [Sense:]Totalize:reset:mode

    [SENSe] [SENSe:]TOTalize:RESet:MODE? [SENSe:]TOTalize:RESet:MODE? <channel> returns the reset mode for the totalizer channel in <channel>. Parameters Parameter Parameter Range of Default Name Type Values Units channel string 100 - 163 none Comments • The <channel> parameter must specify a single channel. •...
  • Page 374: Source

    SOURce SOURce The SOURce command subsystem allows configuring output SCPs as well as linking channels to output functions. Subsystem Syntax SOURce :STATe 1 | 0 | ON | OFF,(@<ch_list>) :STATe? (@<channel>) :FUNCtion [:SHAPe] :CONDition (@<ch_list>) :PULSe (@<ch_list>) :SQUare (@<ch_list>) :PULM :STATe 1 | 0 | ON | OFF,(@<ch_list>) :STATe? (@<channel>) :PULSe...
  • Page 375: Source:fm:state

    SOURce • *RST Condition: SOUR:FM:STATE OFF, SOUR:PULM:STATE OFF, SENS:FUNC:COND, and INP:POL for all digital SCP channels. • Related Commands: SOUR:PULM[:STATe], SOUR:PULS:POLarity, SOUR:PULS:PERiod, SOUR:FUNC[:SHAPe]:SQUare • Send with VXIplug&play Function: hpe1422_cmd(...) Usage The variable frequency control for this channel is provided by the algorithm language. When the algorithm executes an assignment statement to this channel, the value assigned will be the frequency setting.
  • Page 376: Source:function[:Shape]:Pulse

    SOURce SOURce:FUNCtion[:SHAPe]:PULSe SOURce:FUNCtion[:SHAPe]:PULSe (@<ch_list>) sets the SOURce function to PULSe for the channels in <ch_list>. Parameters Parameter Parameter Range of Default Name Type Values Units ch_list string 100 - 163 none Comments • This PULSe channel function is further defined by the SOURce:FM:STATe and SOURce:PULM:STATe commands.
  • Page 377: Source:pulm:state

    SOURce Comments • This command is coupled with the SOURce:FM command. If the FM state is enabled then the PULM state is disabled. If the PULM state is enabled then the FM state is disabled. If both the FM and the PULM states are disabled then the PULSe channel is in the single pulse mode.
  • Page 378: Source:pulse:period

    SOURce • The variable pulse-width control for this channel is provided by the algorithm language. When the algorithm executes an assignment statement to this channel, the value assigned will be the pulse-width setting. For example: O140 = .0025 /* set channel 43 pulse-width to 2.5 ms */ •...
  • Page 379: Source:pulse:width

    SOURce • The variable frequency control for this channel is provided by the algorithm language. When the algorithm executes an assignment statement to this channel, the value assigned will be the frequency setting. For example: O143 = 2000 /* set channel 43 to 2 kHz */ •...
  • Page 380 SOURce • To reduce the offset voltage at each dynamic strain "Buffered Output" channel: 1. Measure a Buffered Output channel with its bridge unstrained and place the value in a variable arbitrarily called <offset_v>. 2. Send minus <offset_v> to that channel with the SOUR:VOLT command. For example: SOUR:VOLT <-offset_v>,(@10000) •...
  • Page 381: Status

    STATus STATus The STATus subsystem communicates with the SCPI defined Operation and Questionable Data status register sets. Each is comprised of a Condition register, a set of Positive and Negative Transition Filter registers, an Event register, and an Enable register. Condition registers allow the current real-time states of their status signal inputs (signal states are not latched) to be viewed.
  • Page 382 STATus Initializing the The following table shows the effect of Power-on, *RST, *CLS, and STATus:PRESet Status System on the status system register settings. SCPI SCPI SCPI Event IEEE 488.2 IEEE 488.2 Transition Enable Registers Registers Registers Filters Registers ESE and SRE SESR and STB Power-on preset...
  • Page 383: The Operation Status Group

    STATus Weighted Bit Register queries are returned using decimal weighted bit values. Enable registers can Values be set using decimal, hex, octal, or binary. The following table can be used to help set Enable registers using decimal and decode register queries. Status System Decimal Weighted Bit Values bit# 3 2 1 0...
  • Page 384: Status:operation:enable

    (#B). • VXI Interrupts: When Operation Status Group bits 4, 8, 9, 10, or 11 are enabled, VXI card interrupts will occur as follows: When the event corresponding to bit 4 occurs and then is cleared, the card will generate a VXI interrupt.
  • Page 385: Status:operation:enable

    STATus STATus:OPERation:ENABle? STATus:OPERation:ENABle? returns the value of bits set in the Operation Enable register. Comments • Returned Value: Decimal weighted sum of all set bits. The data type is uint16. • Related Commands: *STB?, SPOLL, STAT:OPER:COND?, STAT:OPER:EVENT?, STAT:OPER:ENABLE • *RST Condition: No change •...
  • Page 386: Status:operation:ntransition

    STATus STATus:OPERation:NTRansition STATus:OPERation:NTRansition <transition_mask> sets bits in the Negative Transition Filter (NTF) register. When a bit in the NTF register is set to one, the corresponding bit in the Condition register must change from a one to a zero in order to set the corresponding bit in the Event register.
  • Page 387: Status:operation:ptransition

    STATus STATus:OPERation:PTRansition STATus:OPERation:PTRansition <transition_mask> sets bits in the Positive Transition Filter (PTF) register. When a bit in the PTF register is set to one, the corresponding bit in the Condition register must change from a zero to a one in order to set the corresponding bit in the Event register.
  • Page 388: Status:preset

    STATus STATus:PRESet STATus:PRESet sets the Operation Status Enable and Questionable Data Enable registers to 0. After executing this command, none of the events in the Operation Event or Questionable Event registers will be reported as a summary bit in either the Status Byte Group or Standard Event Status Group.
  • Page 389: Status:questionable:condition

    VXI Interrupts: When bits 9, 10,or 11 are enabled and C-SCPI overlap mode is on (or if using non-compiled SCPI), VXI card interrupts will be enabled. When the event corresponding to bit 9, 10, or 11 occurs, the card will generate a VXI interrupt.
  • Page 390: Status:questionable:enable

    STATus STATus:QUEStionable:ENABle? STATus:QUEStionable:ENABle? returns the value of bits set in the Questionable Enable register. Comments • Returned Value: Decimal weighted sum of all set bits. The data type is uint16. • Related Commands: *STB?, SPOLL, STAT:QUES:COND?, STAT:QUES:EVENT?, STAT:QUES:ENABLE • *RST Condition: No change. •...
  • Page 391: Status:questionable:ntransition

    STATus STATus:QUEStionable:NTRansition STATus:QUEStionable:NTRansition <transition_mask> sets bits in the Negative Transition Filter (NTF) register. When a bit in the NTF register is set to one, the corresponding bit in the Condition register must change from a one to a zero in order to set the corresponding bit in the Event register.
  • Page 392: Status:questionable:ptransition

    STATus STATus:QUEStionable:PTRansition STATus:QUEStionable:PTRansition <transition_mask> sets bits in the Positive Transition Filter (PTF) register. When a bit in the PTF register is set to one, the corresponding bit in the Condition register must change from a zero to a one in order to set the corresponding bit in the Event register.
  • Page 393: System

    SYSTem SYSTem The SYSTem subsystem is used to query for error messages, types of Signal Conditioning Plug-ons (SCPs) and the SCPI version currently implemented. Subsystem Syntax SYSTem :CTYPe? (@<channel>) :CTYPe:REMote? <@<channel>) :ERRor? :VERSion? SYSTem:CTYPe? SYSTem:CTYPe? (@<channel>) returns the identification of the Signal Conditioning Plug-On installed at the specified channel.
  • Page 394: System:error

    SYSTem Parameters Parameter Parameter Range of Default Name Type Values Units channel channel list (string) 100 - 15731 none Comments • The <channel> parameter must specify a single channel only. Either the 3-digit or 5-digit format can be used. • Returned Value: Examples of the response string format are: E1539 Strain SCP;...
  • Page 395: Trigger

    TRIGger TRIGger The TRIGger command subsystem controls the behavior of the trigger system once it is initiated (see INITiate command subsystem). Figure 7-6 shows the overall Trigger System model. The shaded area shows the ARM subsystem portion. ARM:SOURce <source> TRIGger:TIMer <interval> Trigger Timer TRIGger:SOURce <source>...
  • Page 396 TRIGger Event Sequence Figure 7-7 shows how the module responds to various trigger/arm configurations. Trigger Idle State Initiated State TRIG:SOUR TIMer? Waiting for ARM Event NOTE: For continuous algorithm Trig. Counter= execution use TRIG:COUNT 0 or INF. TRIG:COUNT? This is the default setting. Reset and Start Timer Waiting for...
  • Page 397: Trigger:count

    TRIGger TRIGger:COUNt TRIGger:COUNt <trig_count> sets the number of times the module can be triggered before it returns to the Trigger Idle State. The default count is 1. Note that this default was chosen to make testing data acquisition scan lists easier (only one scan list worth of data in FIFO per trigger).
  • Page 398: Trigger[:Immediate]

    TRIGger TRIGger[:IMMediate] TRIGger[:IMMediate] causes one trigger when the module is set to the TRIG:SOUR BUS or TRIG:SOUR HOLD mode. Comments • This command is equivalent to the *TRG common command or the IEEE-488.2 "GET" bus command. • Related Commands: TRIG:SOURCE •...
  • Page 399: Trigger:source

    TRIGger • While TRIG:SOUR is IMM, simply INITiate the trigger system to start a measurement scan. • When Accepted: Before INIT only. • Related Commands: ABORt, INITiate, *TRG • *RST Condition: TRIG:SOUR TIMER • Send with VXIplug&play Function: hpe1422_cmd(...) Usage TRIG:SOUR EXT Hardware trigger input at Connector Module...
  • Page 400: Trigger:timer[:Period]

    TRIGger • Related Commands: TRIG:SOUR TIMER, ARM:SOUR, ARM:IMM, INIT, TRIG:SOUR?, ALG:EXPL:TIME? • *RST Condition: TRIG:TIM 1.0E-3 • Send with VXIplug&play Function: hpe1422_cmd(...) Usage TRIG:TIMER 1.0E-1 Set the module to scan inputs and execute all algorithms every 100 ms TRIG:TIMER 1 Set the module to scan inputs and execute all algorithms every second TRIGger:TIMer[:PERiod]?
  • Page 401: Ieee-488.2 Common Command Reference

    IEEE-488.2 Common Command Reference IEEE-488.2 Common Command Reference *CAL? *CAL? Calibration command. The calibration command causes the Channel Calibration function to be performed for every module channel. The Channel Calibration function includes calibration of A/D Offset and Gain and Offset for all 64 channels.
  • Page 402: Cls

    IEEE-488.2 Common Command Reference Note If Open Transducer Detect (OTD) is enabled when *CAL? is executed, the module will disable OTD, wait one minute to allow channels to settle, perform the calibration and then re-enable OTD. If OTD is turned off by the program before executing *CAL?, it should also wait one minute for settling.
  • Page 403: Ese

    IEEE-488.2 Common Command Reference *ESE *ESE <mask> Standard Event Status Enable Register Command. Enables one or more events in the Standard Event Status Register to be reported in bit 5 (the Standard Event Status Summary Bit) of the Status Byte Register. An event is enabled by specifying its decimal weight for <mask>.
  • Page 404: Idn

    IEEE-488.2 Common Command Reference *IDN? *IDN? Identity. Returns the device identity. The response consists of the following four fields (fields are separated by commas): • Manufacturer • Model Number • 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,E1422A,<serial number>,<revision number>...
  • Page 405: Opc

    IEEE-488.2 Common Command Reference *OPC? *OPC? Operation Complete Query. Causes an instrument to place a 1 into the instrument's output queue when all pending instrument operations invoked by SCPI commands are finished. By requiring the computer to read this response before continuing program execution, synchronization can be ensured between one or more instruments and the computer.
  • Page 406: Sre

    IEEE-488.2 Common Command Reference • Sets the trigger system as follows: -- TRIGGER:SOURCE TIMER -- TRIGGER:TIMER 10E-3 -- TRIGGER:COUNT 0 (infinite) -- ARM:SOURCE IMMEDIATE • SAMPLE:TIMER 40E-6 • Aborts all pending operations, returns to Trigger Idle state • Disables the *OPC and *OPC? modes •...
  • Page 407: Stb

    IEEE-488.2 Common Command Reference *STB? *STB? Status Byte Register Query. Returns the weighted sum of all set bits in the Status Byte Register. Refer to the *ESE command earlier in this chapter for a table showing the contents of the Status Byte Register. *STB? does not clear bit 6 (Service Request).
  • Page 408 IEEE-488.2 Common Command Reference • IF error 3052 'Self test failed. Test info in FIFO' is returned. A FIFO value of ≥ 1 through 99 or 300 is a failed test number. A value of 100 through 163 is a channel number for the failed test.
  • Page 409 IEEE-488.2 Common Command Reference ANALOG FRONT END DIGITAL TESTS: Test# Description Checks that SCP ID makes sense 30-32: Checks relay driver and fet mux interface with EU CPU 33,71: Checks opening of all relays on power down or input overvoltage 34-37: Check fet mux interface with A/D digital ANALOG TESTS:...
  • Page 410: Wai

    IEEE-488.2 Common Command Reference ANALOG OUTPUT AND DIGITAL I/O TESTS: 301: Current and Voltage Output SCPsdigital DAC control. 302: Current and Voltage Output SCPsDAC noise. 303: Current Output SCP offset 304: Current Output SCP gain shift 305: Current Output SCP offset 306: Current Output SCP linearity 307:...
  • Page 411: Command Quick Reference

    Command Quick Reference Command Quick Reference The following tables summarize SCPI and IEEE-488.2 Common (*) commands for the VT1422A Remote Channel Multifunction Module. SCPI Command Quick Reference Command Description ABORt Stops scanning immediately and sets trigger system to idle state (scan lists are unaffected) ALGorithm Subsystem to define, configure and enable loop control algorithms...
  • Page 412 Command Quick Reference SCPI Command Quick Reference Command Description CALibration (continued) :REMote? Calibrates Remote Signal Conditioning Units :DATA Sends RSC cal constants from CAL:REM:DATA? back to VT1422A :DATA? Queries VT1422A for all remote cal constants :STORe Copies RSCU calibration constants from working ram to non-volatile memory :SETup Performs Channel Calibration procedure :SETup?
  • Page 413 Command Quick Reference SCPI Command Quick Reference Command Description FORMat [:DATA] <format>[, <size>] Set format for response data from [SENSe:]DATA? 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 formatted for BASIC REAL[, 32] IEEE 32-bit floating point (requires no conversion so is fastest) REAL, 64...
  • Page 414 Command Quick Reference SCPI Command Quick Reference Command Description OUTPut (continued) :TTLTrg<n> [:STATe] ON | OFF When module triggered, source a VXIbus trigger on TTLTrg<n> [:STATe]? Returns whether the TTL trigger line specified by n is enabled :TYPE PASSive | ACTive,(@<ch_list>) sets the output drive type for a digital channel :TYPE? (@<channel>) Returns the output drive type for <channel>...
  • Page 415 Command Quick Reference SCPI Command Quick Reference Command Description SENse:FUNCtion (continued) :RESistance <excite_current>,[<range>,](@<ch_list>) Configure channels to sense resistance measurements :STRain Links measurement channels as having read bridge voltage from: :FBENding [<range>,](@<ch_list>) Full BENding :POST [<range>,](@<exc_ch>),(@<ch_list>) Links post-processing strain EU conversion with specified VT1529B channels :FBPoisson [<range>,](@<ch_list>) Full Bending Poisson :POST [<range>,](@<exc_ch>),(@<ch_list>)
  • Page 416 Command Quick Reference SCPI Command Quick Reference Command Description :STRain :BRIDge[:TYPE] <select>,(@<ch_list>) Set bridge configuration switches on VT1529A/B :BRIDge[:TYPE]? (@<channel>) Returns the current bridge configuration setting :CONNect BRIDge | EXCitation,(@<ch_list>) Set switches to sense bridge output or excitation voltage on VT1529A/B :CONNect? (@<channel>) Returns the current sense setting for the channel specified :EXCitation <excite_v>,(@<ch_list>)
  • Page 417 Command Quick Reference SCPI Command Quick Reference Command Description STATus (continued) :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 :ENABle <enable_mask> Bits set to 1 enable status events to be summarized into Status Byte :ENABle? Returns the decimal weighted sum of bits set in the Enable register...
  • Page 418 Command Quick Reference IEEE-488.2 Common Command Quick Reference Category Command Title Description Calibration *CAL? Calibrate Performs internal calibration on all 64 channels out to the terminal module connector. Returns error codes or 0 for OK Internal Operation *IDN? Identification Returns the response: HEWLETT-PACKARD,E1422A,<serial#>,<driver rev#>...
  • Page 419 Notes: Chapter 7 VT1422A Command Reference...
  • Page 420 Notes: 418 VT1422A Command Reference Chapter 7...
  • Page 421: Specifications

    Air Flow (liters/s) 0.08 0.08 ± Power Available for SCPs 1.0 A 24 V, 3.5 A 5 V (See VXI Catalog or SCP manuals for SCP current) VT1539A Power 5 V: 0.112A typ, 0.168 A max Requirements (in Amps) Measurement Ranges ±...
  • Page 422 Trigger Timer and 100 ppm (0.01%) from -10 °C to +70 °C Sample Timer Accuracy External Trigger Input TTL compatible input. Negative true edge triggered except first trigger will occur if external trigger input is held low when module is INITiated. Minimum pulse width 100 ns.
  • Page 423: Appendix A Specifications

    Module. The ambient temperature of the air surrounding the Terminal Module must be ± within 2 °C of the temperature of the inlet cooling air to the VXI mainframe. 2) When using the VT1586A Rack-Mount Terminal Panel as the isothermal reference, ±...
  • Page 424 • 5k Thermistor Reference, SCPs VT1508A/09A... . . page 439 • RTD Reference, SCPs VT1501A/02A/03A ....page 440 •...
  • Page 425 Thermocouple Type E (-200 - 800 °C), SCPs VT1501/02/03A Appendix A Specifications...
  • Page 426 Thermocouple Type E (-200 - 800 °C), SCPs VT1508/09A 424 Specifications Appendix A...
  • Page 427 Thermocouple Type E (0 - 800 °C), SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 428 Thermocouple Type E (0 - 800 °C), SCPs VT1508A/09A 426 Specifications Appendix A...
  • Page 429 Thermocouple Type E Extended, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 430 Thermocouple Type E Extended, SCPs VT1508A/09A 428 Specifications Appendix A...
  • Page 431 Thermocouple Type J, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 432 Thermocouple Type J, SCPs VT1508A/09A 430 Specifications Appendix A...
  • Page 433 Thermocouple Type K, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 434 Thermocouple Type R, SCPs VT1501A/02A/03A 432 Specifications Appendix A...
  • Page 435 Thermocouple Type R, SCPs VT1508A/09A Appendix A Specifications...
  • Page 436 Thermocouple Type S, SCPs VT1501A/02A/03A 434 Specifications Appendix A...
  • Page 437 Thermocouple Type S, SCPs VT1508A/09A Appendix A Specifications...
  • Page 438 Thermocouple Type T, SCPs VT1501A/02A/03A 436 Specifications Appendix A...
  • Page 439 Thermocouple Type T, SCPs VT1508A/09A Appendix A Specifications...
  • Page 440 5k Thermistor Reference, SCPs VT1501A/02A/03A 438 Specifications Appendix A...
  • Page 441: 5K Thermistor Reference, Scps Vt1508A/09A

    5k Thermistor Reference, SCPs VT1508A/09A Appendix A Specifications...
  • Page 442: Rtd Reference, Scps Vt1501A/02A/03A

    RTD Reference, SCPs VT1501A/02A/03A 440 Specifications Appendix A...
  • Page 443: Rtd, Scps Vt1501A/02A/03A

    RTD, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 444: Rtd, Scps Vt1508A/09A

    RTD, SCPs VT1508A/09A 442 Specifications Appendix A...
  • Page 445: 2250 Thermistor, Scps Vt1501A/02A/03A

    2250 Thermistor, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 446: 2250 Thermistor, Scps Vt1508A/09A

    2250 Thermistor, SCPs VT1508A/09A 444 Specifications Appendix A...
  • Page 447: 5K Thermistor, Scps Vt1501A/02A/03A

    5k Thermistor, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 448: 5K Thermistor, Scps Vt1508A/09A

    5k Thermistor, SCPs VT1508A/09A 446 Specifications Appendix A...
  • Page 449: 10K Thermistor, Scps Vt1501A/02A/03A

    10k Thermistor, SCPs VT1501A/02A/03A Appendix A Specifications...
  • Page 450: 10K Thermistor, Scps Vt1508A/09A

    10k Thermistor, SCPs VT1508A/09A 448 Specifications Appendix A...
  • Page 451: Vt1529A/B Specifications

    0.06 mV (subject to rms noise limits) Resolution (1 LSB @ VT1422A) Recommended measurement products: Note: Companion products listed below are VXI-based. Twelve measurement module slots are typically available in systems using VXI Technology’s CT-400 VXI mainframe. Static strain measurements...
  • Page 452 Voltage offset: Typical offset depends on previous channel value as shown in figure below. Typical offset error due to "soak" voltage -0.5 -0.4 -0.3 -0.2 -0.1 40usec 100usec 200usec 500usec Sustained "soak" voltage on low-voltage inputs Gain Error: <0.015% of reading rms Noise: <1 mV rms CMRR:...
  • Page 453 Input power: 16 VA Environmental Pollution Degree: Temperature: -5 °C to +55 °C operating Humidity: 5 to 85% R.H. Altitude: 3,000 meters (10,000 ft) operating 10,000 meters (30,000 ft) non-operating Warranty VT1529A/B: 3 year return to VXI Technology Appendix A Specifications...
  • Page 454 452 Specifications Appendix A...
  • Page 455: 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.' Execute *TST?.
  • Page 456 Usually caused by algorithm values stored in FIFO faster than FIFO was read. 3026 '*CAL?/CAL:SET Calibration failed.' 3027 'Unable to map A24 VXI memory.' 3028 'Incorrect range value.' Range value sent is not supported by instrument. 3030 'Command not yet implemented!!' 3032 '0x1: DSP-Unrecognized command code.'...
  • Page 457 3033 '0x2: DSP-Parameter out of range.' 3034 '0x4: DSP-Flash rom erase failure.' 3035 '0x8: DSP-Programming voltage not present.' 3036 '0x10: DSP-Invalid SCP gain value.' Check that SCP is seated or replace SCP. Channel numbers are in FIFO. 3037 '0x20: DSP-Invalid *CAL? constant or checksum. *CAL? required.' 3038 '0x40: DSP-Couldn't cal some channels.' Check that...
  • Page 458 A/D range 16 V associated with failed test Test ID Corrective Actions 1 - 19, 21 - 29 (VXI Technology Service)* 20, 30 -37 Remove all SCPs and see if *TST? passes. If so, replace SCPs one at a time until the one causing the problem is found.
  • Page 459 3053 'Corrupt on board Flash memory.' 3056 'Custom EU not loaded.' May have erased custom EU conversion table with *RST. May have linked channel with standard EU after loading custom EU, this erases the custom EU for this channel. Reload custom EU table using DIAG:CUST:LIN or DIAG:CUST:PIEC.
  • Page 460 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.' ALG:DEF has generated too many errors from the algorithm source code. 3084 "Error 1:Number too big for a 32 bit float"...
  • Page 461 3089 'Bad Algorithm array index.' Must be from 0 to (declared size)-1. 3090 'Algorithm Compiler Internal Error.' Call with details of operation. VXI Technology 3091 'Illegal while not initiated.' Send INIT before this command. 3092 'No updates in queue.' 3093 'Illegal Variable Type.' Sent ALG:SCAL with identifier...
  • Page 462 3103 'Algorithm swapping already enabled; Can't change size.' Only send <swap_size> parameter on initial definition. 3104 'GLOBALS can't be enabled for swapping.' Don't send <swap_size> parameter for ALG:DEF 'GLOBALS'. 3105 'Invalid SCP switch setting.' 3106 'E1536A debounce.' Ch list must contain all lower 4 and/or upper 4 channels.
  • Page 463 3122 'This multiple channel function must not span multiple SCPs.' See the VT1538A SCP manual. 3123 'E1538A OE switch ON conflicts with this command.' See the VT1538A SCP manual. 3124 'E1538A OE switch OFF conflicts with this command.' See the VT1538A SCP manual. 3125 'E1538A VRS switch setting conflicts with OE switch setting.' See the VT1538A SCP manual.
  • Page 464 3138 'VT1539A SCP channel 1 not responding.' Indicates a communications error between the VT1539A SCP and a Remote Signal Conditioning Unit connected to the SCP’s channel 1 input. Check the Data Interface connection as well as the power connection to that RSCU.
  • Page 465: Vt1529A/B Verification & Calibration

    GPIB Controller Pentium II 450 MHz or faster PC GPIB = 82350A or 82357A V, A with GPIB card Agilent I/O Libraries VXI card cage and Compatible with Agilent/HP Agilent/HP E1406A V, A slot 0 E1406A Command Module Frequency ≥ 2 kHz...
  • Page 466: Tests

    The circuit diagram for the dummy load is: RJ-45 Connector Excitation 2 – Sense – 7.5k RCAL – Excitation Sense – Notes: Resistors are 0.1% tolerance Connector is L-COM TPS3088 or equivalent Wire is stranded 24 AWG, L-COM TDB8-X00 or equivalent Figure C-1.
  • Page 467: Test V-1: Self-Test

    Note For a quick functional check of the VT1529A/B, perform only the VT1422A Self-Test. Note The VT1422A VXIplug&play Soft Front Panel can be used to enter the commands and queries described in the test procedures. Test V-1: Self-Test Description This test performs a self-test on the VT1529A/B by running the VT1422A self-test.
  • Page 468: Test V-3: Sense Out

    Troubleshooting Failures A failure in the *CAL? command indicates a problem with the VT1422A or with one of the installed SCPs. A failure in the CAL:REMote? command indicates a problem with the VT1529A/B, the VT1539A SCP or the cable between the VT1529A/B and the VT1539A.
  • Page 469: Test V-4: Bridge Resistors

    8-pin Telcom Excitation Connector (RJ-45) to CHs 1-7 + Excitation Pin 1 +Excitation - Excitation enable excitation Pin 8 Current Dynamic Strain CHs 0-7 +Excitation Sense Limit Output Buffer Instrument. Amplifier Pin 6 +Sense CH00 Pin 3 -Sense CH01 To VT1422A Optional (VT1539A SCP) Wagner...
  • Page 470 where R is the completion resistor value in kΩ. With V = 5.000 V, the nominal output voltages can be computed: excitation for R = 0 Ω, Vsense = 0.357143 V for R = 120 Ω, Vsense = 0.337684 V for R = 350 Ω, Vsense = 0.301120 V Note that the actual measurements will vary based on the actual resistor values in the dummy load, so these values should be considered approximate...
  • Page 471: Test V-5: Dynamic Strain Output Port

    resistor path. Send the MEAS:VOLT:UNStrained? (@<ch_list>) query to the VT1422A. The expected return value is ~0.357 V on each channel. Configure the VT1529A/B for 120 Ω quarter-bridge operation using the SENS:FUNC:STR:Q120 (@<ch_list>) command. Send the MEAS:VOLT:UNStrained? (@<ch_list>) query to the VT1422A. The expected return value is ~0.338 V on each channel.
  • Page 472 The signal path through the VT1529A/B is highlighted in Figure C-4. 8-pin Telcom Excitation Connector (RJ-45) to CHs 1-7 + Excitation Pin 1 +Excitation - Excitation enable excitation Pin 8 Current Dynamic Strain CHs 0-7 +Excitation Sense Limit Output Buffer Instrument.
  • Page 473: Test V-6: Filters

    Test V-6: Filters Description Tests the low-pass filters for each channel in the VT1529A/B. The nominal filter bandwidths are 2 Hz, 10 Hz, 100 Hz, and 20 kHz. The filter bandwidth is calculated by measuring the rise time of the step response.
  • Page 474 Procedure If necessary, send the *CAL? query to the VT1422A (required if more than eight hours has elapsed since the last *CAL? command). The expected return value is “+0”. Each channel of the VT1529A/B must be tested individually. Follow the steps below for each channel to be tested.
  • Page 475 From the Panels menu, select Main Panel, then enter the following commands on the Enter Command line in the Interactive Communications box to test the 100 Hz filter. Note that it is necessary to change the channel number (10000) in these commands depending on the channel being testing: samp:tim min trig:sour tim;tim 400e-6;count 2000 rout:seq:def (@0(10000))
  • Page 476: Test V-7: Shunt Cal Resistor Port

    Test V-7: Shunt Cal Resistor Port Description This test verifies the operation of the switches associated with the front panel Shunt Cal Resistor port. The operation of these switches can be verified by observing the changes in the bridge output voltage when external shunt calibration is disabled and enabled.
  • Page 477: Test V-8: Internal Shunt

    8-pin Telcom Excitation Connector (RJ-45) to CHs 1-7 + Excitation Pin 1 +Excitation - Excitation enable excitation Pin 8 Current Dynamic Strain CHs 0-7 +Excitation Sense Limit Output Buffer Instrument. Amplifier Pin 6 +Sense CH00 Pin 3 -Sense CH01 To VT1422A 7.5K Optional (VT1539A SCP)
  • Page 478 Note that the actual measurements will vary based on the actual resistor values in the dummy load, so these values should be considered approximate when running this test. Setup The VT1529A/B must be connected to the VT1422A through the VT1539A SCP.
  • Page 479: Calibration

    For each channel (each must be tested separately), enable internal shunt calibration by sending the OUTP:SHUNt ON,(@<channel>) command. Note: this turns off the shunt on the previous channel. Send the MEAS:VOLT:UNStrained? (@<channel>) query to the VT1422A. The expected return value is ~0.211 V on each channel. Calibration Calibration is performed via the VT1422A CAL:REMote? command.
  • Page 480 478 VT1529A/B Verification & Calibration Appendix C...
  • Page 481: Glossary

    Appendix D Glossary The following terms have special meaning when related to the VT1422A. 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 VT1422A that implements a data acquisition and control algorithm.
  • Page 482 Control Processor The Digital Signal Processor (DSP) chip that performs all of the VT1422A's internal hardware control functions as well as performing the EU Conversion process. Same as Control Processor Engineering Units EU Conversion Engineering Unit Conversion: Converting binary A/D readings (in units of A/D counts) into engineering units of voltage, resistance, temperature, strain.
  • Page 483 Swapping This term applies to algorithms that are enabled to swap. These algorithms can be exchanged with another of the same name while the original is running. The "new" algorithm becomes active after an update command is sent. This "new" algorithm may again be swapped with another and so on.
  • Page 484 Notes: 482 Glossary Appendix D...
  • Page 485: Wiring And Noise Reduction Methods

    Appendix E Wiring and Noise Reduction Methods Separating Digital and Analog SCP Signals Signals with very fast rise time can cause interference with nearby signal paths. This is called cross-talk. Digital signals present this fast rise-time situation. Digital I/O signal lines that are very close to analog input signal lines can inject noise into them.
  • Page 486: Recommended Wiring And Noise Reduction Techniques

    Recommended Wiring and Noise Reduction Techniques Unshielded signal wiring is very common in Data Acquisition applications. While this worked well for low-speed integrating A/D measurements and/or for measuring high-level signals, it does not work for high-speed sampling A/Ds, particularly when measuring low-level signals like thermocouples or strain gage bridge outputs.
  • Page 487: Vt1422A Guard Connections

    VT1422A Guard The VT1422A guard connection provides a 10 kΩ current limiting resistor Connections between the guard terminals (G) and VT1422A chassis ground for each 8 channel SCP bank. This is a safety device for the case where the Device Under Test (DUT) isn't actually floating;...
  • Page 488: Vt1422A Noise Rejection

    VT1422A chassis ground through a very low impedance (not via the guard terminal). The VT1422A guard terminal connection shown in the VT1422A User's Manual does not consider the high-frequency Ecm problem and is there to limit the shield current and to allow the DUT to float up to some dc common mode voltage subject to the maximum ±16 volt...
  • Page 489: Generating User Defined Functions

    Appendix F Generating User Defined Functions Introduction The VT1422A has a limited set of mathematical operations such as add, subtract, multiply, and divide. Many control applications require functions such as square root for calculating flow rate or a trigonometric function to correctly transition motion of moving object from a start to ending position.
  • Page 490: Haversine Example

    approximation. Remember, the entire range is broken up into only 128 segments of Mx+B operations. If accuracy is desired, the range MUST be limited over which calculations are made. Many transcendental functions are simply used as a scaling multiplier. For example, a sine wave function is π...
  • Page 491 −π/2 π/2 −1 −2 Figure F-1. A Haversine Function A typical use of this function would be to output an analog voltage or current at each Scan Trigger of the VT1422A and over the range of the haversine. For example, suppose a new position is desired for an analog output and it is moved from 1 mA to 3 mA over a period of 100 ms.
  • Page 492: Limitations

    'C' sin(-1.570798) -1.000000 'VT1422A' sin(-1.570798) -0.999905 'C' sin(-1.256639) -0.951057 'VT1422A' sin(-1.256639) -0.950965 'C' sin(-0.942479) -0.809018 'VT1422A' sin(-0.942479) -0.808944 'C' sin(-0.628319) -0.587786 'VT1422A' sin(-0.628319) -0.587740 'C' sin(-0.314160) -0.309017 'VT1422A' sin(-0.314160) -0.308998 'C' sin(0.000000) 0.000000 'VT1422A' sin(0.000000) 0.000000 'C' sin(0.314160) 0.309017 'VT1422A' sin(0.314160) 0.308998 'C' sin(0.628319) 0.587786...
  • Page 493: Example Pid Algorithm Listings

    Appendix G Example PID Algorithm Listings This appendix includes listings of the built-in PIDA and PIDB, as well as the more advanced PIDC which can be downloaded as a custom algorithm. • PIDA Algorithm ........page 491 •...
  • Page 494 PIDA Source Listing /********************************************************************************************/ /* I/O Channels /* Must be defined by the user /* inchan - Input channel name /* outchan - Output channel name /********************************************************************************************/ /********************************************************************************************/ /* PID algorithm for VT1422A controller module. This algorithm is called */ /* once per scan trigger by main().
  • Page 495: Pidb Algorithm

    PIDB Algorithm Figure G-2 shows the block diagram of a more advanced algorithm that is favored in process control because of the flexibility allowed by its two differential terms. The "D" differential term is driven by changes in the process input measurement. The "SD" differential term is driven by changes in the setpoint variable value.
  • Page 496 Manual Control The PIDB algorithm provides for manual control with "bumpless" transfer between manual and automatic control. 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) Manual control slew rate;...
  • Page 497 PIDB Source 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 VT1422A controller module. This algorithm is called */ /* once per scan trigger by main().
  • Page 498: Input

    /* on 'n', where n is the algorithm number (as returned by ALG_NUM, for*/ /* example). The first value is placed in the (10 * n)th 32-bit word of /* the CVT. The other values are written in subsequent locations. /* History_mode = 0: Summary to CVT only.
  • Page 499 /*PID algorithm code: /* Test for Process Variable out of limits if ( (inchan >> PV_max) || ( PV_min >> inchan ) ) /* PV alarm test */ if ( !Status.B6 ) Status.B6 = 1; alarmchan = 1; interrupt(); else Status.B6 = 0;...
  • Page 500 /* Zero the derivative terms */ PV_old = inchan; Setpoint_old = Setpoint; /* On subsequent triggers, continue integrating */ else /* not First trigger */ I_out = Error * I_factor + I_out; /* Clip the Integral term to specified limits */ if ( I_out >>...
  • Page 501 /* Clip output to specified limits */ if ( outchan >> Out_max ) 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;...
  • Page 502: Pidc Algorithm

    PIDC Algorithm PIDC is very similar to PIDB with the addition of extended history mode. See comments in source code below. PIDC Source Listing /********************************************************************************************/ /* PID_C /********************************************************************************************/ /* I/O Channels /* Must be defined by the user /* inchan - Input channel name /* outchan - Output channel name /* alarmchan - Alarm channel name /********************************************************************************************/...
  • Page 503 /* At startup in the Manual control mode, the output will be held at /* its current value. /* At startup, in the Automatic control mode, the output will slew /* from its initial value towards P_factor * Error at a rate determined /* by the Integral control constant (I_out is initialized to cancel P_out).
  • Page 504 /* Other Variables static float I_out; /* Integral term static float P_out; /* Proportional term static float D_out; /* Derivative term static float Error; /* Error term static float PV_old; /* Last process variable static float Setpoint_old; /* Last setpoint - for derivative static float SD_out;...
  • Page 505 /* 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 >> Error_max) || (Error_min >> Error) ) if ( !Status.B5 ) Status.B5 = 1;...
  • Page 506 /* Clip to specified limits */ if ( D_out >> D_max )/* Clip derivative */ D_out = D_max; Status.B2=1; else if ( D_min >> D_out ) D_out = D_min; Status.B2=1; else Status.B2 = 0; /* Calculate Proportional term */ P_out = Error * P_factor; /* Sum PID&SD terms */ outchan = P_out + I_out + D_out + SD_out;...
  • Page 507: Index

    Index VT1422A Remote Channel Multi-function DAC Module Symbols MEMory:VME:ADDRess? Alarm Limits (ALG_NUM), determining an algorithms identity (FIFO mode BLOCK), continuously reading the FIFO :DEFINE in the programming sequence (FIFO mode OVER), reading the latest FIFO values ALG:DEFINE’s three data formats (First_loop), determining first execution Algorithm (FM), fixed width pulses at variable frequency...
  • Page 508 Alternate method of computing strain with VT1529B CALibration:TARE? AMPLitude CALibration:VALue:RESistance OUTPut:CURRent:AMPLitude CALibration:VALue:VOLTage OUTPut:CURRent:AMPLitude? CALibration:ZERO? SOURce:VOLTage[ Calling user defined functions AMPLitude] Capability, maximum tare CAUTIONS An example using the operation group Loss of process control by algorithm APERture Changing an algorithm while it’s running SENSe:FREQuency:APERture Changing gains SENSe:FREQuency:APERture?
  • Page 509 *OPC DIAGnostic:CALibration:SETup *OPC? [:MODE] *PMC [:MODE]? *RMC DIAGnostic:CALibration:TARe *RST :MODE? *SRE [:OTDetect]:MODE *SRE? DIAGnostic:CHECksum? *STB? DIAGnostic:CONNect *TRG DIAGnostic:CUSTom:MXB *TST? DIAGnostic:CUSTom:PIECewise *WAI DIAGnostic:CUSTom:REFerence Command Reference, SCPI :TEMPerature ABORt subsystem DIAGnostic:IEEE Algorithm subsystem DIAGnostic:IEEE? ALGorithm:FUNCtion:DEFine DIAGnostic:INTerrupt:LINe ALGorithm:OUTPut:DELay DIAGnostic:INTerrupt:LINe? ALGorithm:OUTPut:DELay? DIAGnostic:OTDectect[:STATe] ALGorithm:UPDate:CHANnel DIAGnostic:OTDectect[:STATe]? ALGorithm:UPDate:WINDow DIAGnostic:QUERy:SCPREAD ALGorithm:UPDate:WINDow?
  • Page 510 OUTPut:SHUNt:SOURce SENSe:FUNCtion:TEMPerature:POST OUTPut:SHUNt:SOURce? SENSe:FUNCtion:TOTalize OUTPut:SHUNt? SENSe:FUNCtion:VOLTage OUTPut:TTLTrg:SOURce? SENSe:REFerence OUTPut:TTLTrg[:STATe] SENSe:REFerence:CHANnels OUTPut:TTLTrg[:STATe]? SENSe:REFerence:CHANnels:POST OUTPut:TYPE SENSe:REFerence:POST OUTPut:TYPE? SENSe:REFerence:TEMPerature OUTPut:VOLTage:AMPLitude SENSe:REFerence:TEMPerature:POST OUTPut:VOLTage:AMPLitude? SENSe:REFerence:THERmistor:RESistance:POST ROUTe subsystem ROUTe:SEQuence:DEFine? SENSe:REFerence:THERmistor:RESistance:POST? ROUTe:SEQuence:POINts? SAMPle subsystem SENSe:STRain:BRIDge:TYPE SAMPle:TIMer SENSe:STRain:BRIDge:TYPE? SAMPle:TIMer? SENSe:STRain:CONNect SENSe subsystem SENSe:STRain:CONNect? SENSe:DATA:CVTable:RESet SENSe:STRain:EXCitation SENSe:DATA:CVTable? SENSe:STRain:EXCitation:STATe SENSe:DATA:FIFO:COUNt:HALF? SENSe:STRain:EXCitation:STATe? SENSe:DATA:FIFO:COUNt? SENSe:STRain:EXCitation?
  • Page 511: Configuring The Vt1422A

    STATus:QUEStionable:NTRansition signals to channels STATus:QUEStionable:NTRansition? Connectors, pin-signal lists STATus:QUEStionable:PTRansition Considerations, special STATus:QUEStionable:PTRansition? Constant SYSTem subsystem decimal SYSTem:CTYPe:REMote? hexadecimal SYSTem:CTYPe? octal SYSTem:ERRor? Constructs, conditional SYSTem:VERSion? Continuous Mode TRIGger subsystem Continuously reading the FIFO (FIFO mode BLOCK) TRIGger:COUNt Control TRIGger:COUNt? implementing feed forward TRIGger:SOURce implementing multivariable TRIGger:SOURce?
  • Page 512: Faceplate Connector Pin-Signal Lists

    DATA DIAGnostic:REMote:USER:DATA DIAGnostic:TEST:REMote:SELFtest? DATA? – DIAGnostic:VERSion? DIAGnostic:REMote:USER:DATA Directly, reading status groups FORMat:DATA Disabling FORMat:DATA? flash memory access (optional) Data the input protect feature (optional) structures Discrete, Parameter Types types Drivers, instrument Decimal constant Declaration dynamic strain, offset control Declaration initialization declaration of conformity –...
  • Page 513 sending data to Gains, setting SCP time relationship of readings in the FIFO GFACtor writing values to SENSe:STRain:GFACtor Filters SENSe:STRain:GFACtor? adding circuits to terminal module Global variables configuring the status transition filters accessing First algorithm execution, determining defining Fixed width pulses at variable frequency (FM) Glossary Fixing the problem Graph...
  • Page 514: Installing Signal Conditioning Plug-Ons

    setpoint profiles Implied Commands Language syntax summary IMPORTANT! Language, overview of the algorithm Don’t use CAL:TARE for thermocouple wiring Layout Making low-noise measurements Terminal Module Resolving programming problems Lifetime limitation, Flash memory Indefinite length block data example Limits INF, IEEE alarm Init-declarator clipping...
  • Page 515 thermocouple measurements Normal mode noise Not-a-Number terminal block considerations for TC NOTES thermocouple *CAL? and CAL:TARE turn off then on OTD Measuring the reference temperature *RST effect on custom EU tables MEMory:VME:ADDRess *TST? sets default ASC,7 data format MEMory:VME:ADDRess? + & - overvoltage return format from FIFO MEMory:VME:SIZE MEMory:VME:SIZE? ALG:SCAN:RATIO vs.
  • Page 516 Numeric, parameter types OUTPut:TYPE? OUTPut:VOLTage:AMPLitude OUTPut:VOLTage:AMPLitude? Octal constant Outputs, setting up digital Offset Outputting trigger signals Overall program structure channel Overall sequence offset control for dynamic strain port Overloads, unexpected channel Offsets Overview compensating for system offsets of the algorithm language residual sensor of the VT1422A system wiring...
  • Page 517: The Rj-45 Connector Module

    Primary-expression clearing the enable registers Problem, fixing the configuring the enable registers Problems, checking for reading condition registers Problems, resolving programming reading event registers Process monitoring algorithm Rejection Profiles, implementing setpoint Noise Program flow control Relational-expression Program structure and syntax Relational-operator Programming model Relative Form, Channel List...
  • Page 518 SCPs and Terminal Module SENSe:STRain:GFACtor Selecting SENSe:STRain:GFACtor? the FIFO mode SENSe:STRain:POISson the trigger source SENSe:STRain:POISson? trigger timer arm source SENSe:STRain:UNSTrained Selection-statement SENSe:STRain:UNSTrained? Self test SENSe:TOTalize:RESe:MODE error messages SENSe:TOTalize:RESe:MODE? SELFtest Sensing DIAGnostic:TEST:REMote:SELFtest? 4-20 mA – Self-test Reference temperature with the VT1422A how to read results Separator, command Sending Data to the CVT and FIFO...
  • Page 519 Signal, connection to channels SQUare Signals, outputting trigger SOURce:FUNC[:SHAPe]:SQUare SIZE Standard ALGorithm[:EXPLicit]:SIZE? EU operation MEMory:VME:SIZE event status group examples MEMory:VME:SIZE? reserved keywords Size, determining an algorithms' Standard Commands for Programmable Instruments, Soft front panel (VXIplug&play). See online help. SCPI SOUR Standard Form, Channel List VOLT, offset control Starting the PID algorithm...
  • Page 520 STATus:QUEStionable:EVENt? custom EU STATus:QUEStionable:NTRansition loading custom EU STATus:QUEStionable:NTRansition? TARE STATus:QUEStionable:PTRansition CALibration:TARE STATus:QUEStionable:PTRansition? CALibration:TARE:RESet Storage, defining data CALibration:TARE? STORe DIAGnostic:CALibration:TARe[:OTDetect] CALibration:REMote:STORe :MODE CALibration:STORe TCouple STRain SENSe:FUNCtion:CUSTom:TCouple SENSe:FUNCtion:STRain TCouple? SENSe:FUNCtion:STRain:<type>:POST CALCulate:TEMPerature:TCouple? Strain measurements Technical Support with VT1529B Techniques Structure, overall program Wiring and noise reduction Structures, data TEMPerature Subsystem...
  • Page 521: Verifying A Successful Configuration

    Time relationship of readings in FIFO Updating Timer the algorithm variables SAMPle:TIMer the algorithm variables and coefficients SAMPle:TIMer? the status system and VXI interrupts Timer, programming the trigger Usage, example language TIMer? Use Model changes with VT1529B TRIGger:TIMer? Using the status system...
  • Page 522: Wiring And Attaching The Terminal Module

    OUTPut:VOLTage:AMPLitude? CALibration:CONFigure:VOLTage ZERO? SENSe:FUNCtion:VOLTage CALibration:ZERO? SOURce:VOLTage Voltage CALibration:VALue:VOLTage Voltage measurements with VT1529B voltage, offset control dynamic strain Voltage, setting the VT1511A strain bridge SCP excitation VT1422 background operation VT1422A Configuring overview of VT1422A, configuring the VT1529B Additional capabilities Changes to the Use Model Strain Measurements Temperature measurements Voltage measurements...
  • Page 523 PWM and FM signals. Refer to the VXI Technology Website for instrument driver availability and downloading instructions, as well as for recent product updates, if applicable.
  • Page 524 Plug-on and the VT1529B Remote Strain Signal Conditioning The VT1415A and VT1422A are digital sampling closed loop Unit to form a high-performance, but economical strain control systems that are complete in a single VXI module. All measurement system. signal conditioning, process monitoring, control calculations,...
  • Page 525: Temperature Measurements

    Engineering unit conversions for temperature, A Signal Conditioning Plug-on (SCP) is a small daughter strain, resistance, and voltage measurements are made board that mounts on VXI Technology’s VXI scanning automatically without slowing down the algorithm execution measurement and control modules. These SCPs provide a speed.
  • Page 526: Output

    (8) channels which can be individually configured as a Note: SCPs are also available for making dynamic strain frequency or totalizer input, or as a pulse width modulated measurements (VXI Technology VT1510A, VT1511A, and output. VT1521). Compact Packaging with Signal Conditioning...
  • Page 527: Memory

    Scan triggers: Can be derived from a software Maximum input voltage: Normal mode plus command or a TTL level from common mode other VXI modules, internal timer, or external hardware. Operating: ±16 V peak Typical latency 17.5 µs. Damage level: ±42 V peak...
  • Page 528 Subset of C programming language including if- Drivers: VXIplug&play with then-else, most math and Source Code comparison operations. Instrument Drivers - See the VXI Technology Website Variable types: Scalar local and global www.vxitech.com for driver availability and downloading. VT1415A Algorithmic Closed Loop Controller,...
  • Page 529 VT1415A/1422A Technology ™ Algorithmic Closed Loop Controller and Remote Channel Multifunction Ordering Information Includes Spring Clamp Terminal Block VT1415A-02 Algorithmic Closed Loop Controller, Includes Screw Connector Terminal Block VT1415A-A3F Interface to rackmount terminal panel VT1422A Remote Channel Multi-function Data Acquisition & Control Module VT1422A-001 16-Port RJ-45 Connector Block (supports VT1415A also) VT1422A-011...

Table of Contents