VTI Instruments EX1629 User Manual

48-channel strain gage instrument
Table of Contents

Advertisement

EX1629
48-C
HANNEL
I
NSTRUMENT
U
SER
P/N: 82-0109-000
Released February 17
VTI Instruments Corp.
2031 Main Street
Irvine, CA 92614-6509
(949) 955-1894
S
TRAIN
'
M
S
ANUAL
th
, 2012
G
AGE

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the EX1629 and is the answer not in the manual?

Questions and answers

Summary of Contents for VTI Instruments EX1629

  • Page 1 EX1629 48-C HANNEL TRAIN NSTRUMENT ’ ANUAL P/N: 82-0109-000 Released February 17 , 2012 VTI Instruments Corp. 2031 Main Street Irvine, CA 92614-6509 (949) 955-1894...
  • Page 2: Table Of Contents

    Input Connector ............................. 17 TEDS Transducer Support ..........................17 LXI Trigger Bus ............................17 LXI Limit Events ............................17 EX1629 Specifications ............................18 Explanation of Specifications ..........................22 Sampling Rate ............................... 22 Bridge Excitation ............................22 Bridge Completion ............................22 Shunt Calibration ............................
  • Page 3 Driver Installation ............................... 35 Network Configuration ............................35 Network Troubleshooting ........................... 36 Restore the EX1629’s Default Network Settings ..................36 Determine PCs Network Settings ........................36 Set the EX1629 to Auto IP ..........................38 Set the EX1629 to Static IP ........................... 39 Restore the Host PCs Network Settings ......................
  • Page 4 Opening the Web Page ............................67 General Web Page Operation ..........................68 Password ................................69 VTI Instruments Logo ............................69 EX1629 Strain Gage Measurement Unit ......................69 Reset ................................... 69 Reboot................................. 69 Network Configuration ............................69 Time Configuration ............................71 Upgrade ................................
  • Page 5 Lead Wire Calls ............................. 97 Calibration File Query ........................... 97 Close ................................97 Alphabetical Function Set ........................... 98 Sample Function Definition ..........................104 EX1629 Function Set ............................105 vtex1629_abort ............................105 vtex1629_allow_all_channels ........................106 vtex1629_break_lock ..........................107 vtex1629_check_lock ..........................108 vtex1629_clear_stored_config ........................
  • Page 6 VTI Instruments Corp. vtex1629_get_conf_scanlist ........................139 vtex1629_get_confidence_limit ........................140 vtex1629_get_confidence_reporting_mode ....................142 vtex1629_get_current_config_digest ......................143 vtex1629_get_dio_bank0_direction ......................144 vtex1629_get_dio_bank0_pullup ........................ 145 vtex1629_get_dio_bank1_direction ......................146 vtex1629_get_dio_bank1_pullup ........................ 147 vtex1629_get_dio_config_events ........................ 148 vtex1629_get_dio_input ..........................149 vtex1629_get_dio_output ..........................150 vtex1629_get_dsp_version .......................... 151 vtex1629_get_EU_conversion ........................152 vtex1629_get_euconv_dynamic_excitation_enabled ..................
  • Page 7 .................. 254 vtex1629_set_euconv_excitation ........................ 255 vtex1629_set_excitation ..........................256 vtex1629_set_excitation_enabled........................ 257 vtex1629_set_gain ............................258 vtex1629_set_gauge_factor ......................... 259 vtex1629_set_half_bridge_lead_wire_desensitization ................260 vtex1629_set_IIR_filter_configuration ....................... 261 vtex1629_set_input_multiplexer ......................... 263 vtex1629_set_lead_wire_resistance ......................264 vtex1629_set_linearscaling_configuration ....................265 vtex1629_set_lxi_limit_event_enabled ....................... 266 vtex1629_set_lxi_limit_event_latch ......................267 EX1629 Preface...
  • Page 8 VTI Instruments Corp. vtex1629_set_lxibus_configuration ......................268 vtex1629_set_lxibus_output ........................270 vtex1629_set_pattern_arm_configuration ....................271 vtex1629_set_pattern_trig_configuration ....................273 vtex1629_set_poisson_ratio ........................275 vtex1629_set_sample_clock_source ......................276 vtex1629_set_sample_count ........................277 vtex1629_set_sample_frequency ........................ 278 vtex1629_set_scanlist ..........................279 vtex1629_set_shunt_enabled ........................280 vtex1629_set_shunt_source ......................... 281 vtex1629_set_shunt_value .......................... 283 vtex1629_set_strain_units ........................... 284 vtex1629_set_synch_source ........................
  • Page 9 Additional Notes ............................... 338 Checksums ..............................338 Sending & Receiving ..........................338 Printing Packets ............................339 CRC Checking............................. 340 Version Information ............................ 340 D ................................341 PPENDIX ............................. 341 NBOARD EMORY Onboard Memory and Clearing Procedure ....................... 341 ..................................343 NDEX EX1629 Preface...
  • Page 10: Certification

    VTI Instruments Corp. shall not be liable for injury to property other than the goods themselves. Other than the limited warranty stated above, VTI Instruments Corp. makes no other warranties, express or implied, with respect to the quality of product beyond the description of the goods on the face of the contract.
  • Page 11: Declaration Of Conformity

    PTIONS RODUCT ONFIGURATIONS VTI Instruments Corporation declares that the aforementioned product conforms to the requirements of the Low Voltage Directive 73/23/EEC and the EMC Directive 89/366/EEC (inclusive 93/68/EEC) and carries the “CE” mark accordingly. The product has been designed and manufactured according to the following specifications: IEC 61010-1:2001 (2 Ed.);...
  • Page 12: General Safety Instructions

    VTI Instruments Corp. ENERAL AFETY NSTRUCTIONS Review the following safety precautions to avoid bodily injury and/or damage to the product. These precautions must be observed during all phases of operation or service of this product. Failure to comply with these precautions, or with specific warnings elsewhere in this manual, violates safety standards of design, manufacture, and intended use of the product.
  • Page 13 The operator of this instrument is advised that if the equipment is Improper Use used in a manner not specified in this manual, the protection provided by the equipment may be impaired. Conformity is checked by inspection. EX1629 Preface...
  • Page 14: Support Resources

    VTI Instruments Corp. UPPORT ESOURCES Support resources for this product are available on the Internet and at VTI Instruments customer support centers. VTI Instruments Corp. World Headquarters VTI Instruments Corp. 2031 Main Street Irvine, CA 92614-6509 Phone: (949) 955-1894 Fax: (949) 955-3041...
  • Page 15: Section 1

    EX1629 is a complete, self-contained strain measurement system that communicates over Ethernet. Unlike other data acquisition offerings in its class, the EX1629 offers a tightly integrated solution that frees the user from the complexity of marrying terminal blocks, signal conditioning cards, digitizer, excitation source, and chassis together.
  • Page 16: Excitation Source

    Wideband Output Each channel of the EX1629 has a high-performance analog wideband buffered output that can be connected to a high-speed digitizer for measuring structural vibration levels. The wideband outputs are accessible on the rear panel of the instrument via three 44-pin D-Sub connectors.
  • Page 17: Sampling Rate

    Sampling Rate The EX1629 can be configured for a sampling rate from 1 Sa/s to 10000 Sa/s in 30 discrete settings, regardless of the number of channels included in the scan list. This permits the tailoring of the data load to the dynamic requirements of the test application. If the number of channels are limited, however, a sample rate of 25000 Sa/s may be achieved.
  • Page 18: Ex1629 Specifications

    VTI Instruments Corp. EX1629 S PECIFICATIONS ENERAL PECIFICATIONS HANNELS 48 differential inputs UNCTIONS TRAIN Quarter 120 Ω, Quarter 350 Ω, Quarter User-Defined, Half-Bending, Half-Poisson, Full-Bending, Full-Poisson, Full-Bending Poisson UNCTIONS STRAIN Voltage, Ratiometric, Linear AMPLING 30 settings from 1 Sa/s to 10000 Sa/s per channel...
  • Page 19 Note 4: Only applies outside of self-calibration window ONFIDENCE EASUREMENTS OTAL XCITATION OLTAGE ±(0.012% + 500 µV) ±E XCITATION OLTAGE ±(0.012% + 2.5 mV) ±E XCITATION URRENT ±(0.1% + 50 µA) OMMON OLTAGE ±(0.1% + 2.5 mV) AMPLING Approximately 500 Sa/s EX1629 Introduction...
  • Page 20 VTI Instruments Corp. OLTAGE EASUREMENTS Gain Range Gain Accy Offset Accy Gain TC Offset TC ±150 mV ±0.025% ±30 ppm/ºC ±2 µV/ºC ±15 V ±1.5 V ±0.025% ±100 µV ±30 ppm/ºC ±12.5 µV/ºC ±15 V ±0.025% ±700 µV ±30 ppm/ºC ±125 µV/ºC...
  • Page 21 10 A / 250 VAC; 50 Hz 15 A / 250 VAC; 50/60 Hz NVIRONMENTAL PERATING EMPERATURE -5 °C to +55 °C UMIDITY 5% to 85% relative humidity ECHANICAL EIGHT 3.5 in (8.89 cm) IDTH 19 in (48.26 cm) EPTH 22 in (55.88 cm) EX1629 Introduction...
  • Page 22: Explanation Of Specifications

    Sampling Rate The EX1629 ADCs run at 50 kSa/s and data is decimated down by an integer factor to the user- selected sample rate. The EX1629 is capable of supporting a sampling rate of 10 kSa/s on all 48 channels simultaneously.
  • Page 23: Shunt Calibration

    1.0: vtex1629_measure_lead_wire_resistance. NOTE This functionality was added to the EX1629 after September 2006 in firmware version 1.0. To ensure compatibity, use the instrument’s embedded web page interface or use the EX1629’s vtex1629_revision_query function. Shunt Calibration Shunt calibration can be performed with either the internal 55 kΩ resistor or an external resistor inserted into the front panel shunt connector.
  • Page 24: Wideband Outputs

    EASUREMENT ERFORMANCE This section discusses tips and procedures that can help maximize the actual performance realized with the EX1629 and aid the user in avoiding some common pitfalls associated with strain gage measurement. Utilize self-calibration Self-Calibration should be conducted as often as practical, especially if the ambient environment has changed significantly since the previous calibration.
  • Page 25: Utilize Excitation Measurement

    Ultimately, the excitation source regulates based on the voltage present on its sense lines. Without remote sense, this regulation point is at the EX1629 input connector. This is a nonideal connection because the lead wire resistance between the EX1629 and the bridge will create a voltage drop, lowering the effective excitation value at the bridge.
  • Page 26: Allow For Thermal Stabilization Of The Bridge

    Please reference the Bridge Completion subsection in Section 1 for information on how to compensate for the lead wire resistance that is internal to the EX1629. Allow for thermal stabilization of the bridge Compared to other sensor measurements, bridge measurements inherently involve relatively high amounts of power dissipation.
  • Page 27: Preparation For Use

    ECTION REPARATION FOR VERVIEW This section provides a step-by-step process for setting up the EX1629 for use. It covers hardware installation, input connections, and software installation. NPACKING NSPECTION When the EX1629 is unpacked from its shipping carton, the contents should include the following...
  • Page 28: Connecting/Disconnecting Line Power

    ISCONNECTING OWER When connecting the EX1629 to an outlet, there should be no connections to the front panel and the power switch at the rear of the mainframe should be in the off position. Connect the power line cord provided to the EX1629 and the outlet, then turn the power switch to the on position.
  • Page 29: Bridge Configurations

    Maximizing Measurement Performance in Section 1, the –Sense line should ideally be connected at the gage, instead of locally at the EX1629 input connector. Moreover, the wire length and gauge of the connections to Pins 1 and 2 should be matched. Fortunately, this is typically guaranteed by routing both lines as part of the same cable.
  • Page 30 RJ-45 Pin# 12345678 User Pin 5 -R Cal TEDS COMM Internal Pin 4 Rcal +R Cal External customer shunt cal resistor terminals 2-3: Q IGURE UARTER RIDGE ONFIGURATION NOTE The ±Excitation Sense lines must be left open. EX1629 Preparation for Use...
  • Page 31 For example, if the upper gage is subjected to tensile strain of 1000 µε and the lower gage is subjected to compressive strain of 1000 µε, the EX1629 will measure a value of +1000 µε, not +2000 µε.
  • Page 32: Voltage Measurement Configurations

    EASUREMENT ONFIGURATIONS The EX1629 main input channels can also be used for general voltage measurement. For this application, the channel is effectively configured for Full-Bridge measurements (i.e., no completion resistor or “back-half” of the bridge is enabled). The signal to be measured should be connected to the +Sense and –Sense lines.
  • Page 33 -R Cal TEDS COMM Internal Rcal +R Cal External customer shunt cal resistor terminals * The negativeExcitationVoltage parameter of the vtex1629_set_excitation function must be set to 0 V. 2-6: V IGURE OLTAGE EASUREMENT ONFIGURATION IFFERENTIAL NPUT EX1629 Preparation for Use...
  • Page 34: Wideband Output Configuration

    Hi signal of the wideband output and the Lo signal of the digitizer should be connected to the Lo signal of the EX1629. If a digitizer with a single-ended input will be connected to the wideband output, the Hi signal of the digitizer should be connected to the Hi signal of the wideband output and the ground of the digitizer should be connected to the Shield pin of the wideband output connector.
  • Page 35: Driver Installation

    ETWORK ONFIGURATION With its default network configuration, the EX1629 will attempt to locate a DHCP server. If one is found, the IP address assigned by the DHCP server will be used. Otherwise, after a timeout of 20 seconds, the unit will attempt to obtain an IP address by using AutoIP.
  • Page 36: Network Troubleshooting

    ETWORK ROUBLESHOOTING If an error occurs when trying to discover the EX1629 (see Web Page Operation in Section 5 for more information on discovery), it may be necessary to change the network settings for the EX1629 and the host PC. By using the following methodology, most network-related issues can be resolved: 1) Restore the EX1629’s Default Network Settings...
  • Page 37 4) Select Internet Protocol (TCP/IP), then click the Properties button as shown in Figure 2-10. 2-10: L IGURE OCAL ONNECTION ROPERTIES IALOG 5) Determine if the PC is set to use auto or static IP. Figure 2-11 shows examples of both auto and static IP address configurations. EX1629 Preparation for Use...
  • Page 38: Set The Ex1629 To Auto Ip

    Select Obtain an IP address automatically to establish a connection to the EX1629. Click the OK button and proceed to Set the EX1629 to Static IP. If set to use a dynamic IP, click the OK button and proceed to Set the EX1629 to Auto IP.
  • Page 39: Set The Ex1629 To Static Ip

    5) Select the Static checkbox in the IP Address Source field and ensure that DHCP and AutoIP are not selected. 6) In the IP Address field, enter an appropriate IP address for the EX1629. Use the IP address obtained the Determine PCs Network Settings step to determine the network address. The network address is the first three digits of the IP address (10.1.0 in the example provided).
  • Page 40 This is done by right clicking on the interface, then selecting Disable. 3) Open the web page of the EX1629 mainframe. 4) Click the IP Configuration link. A prompt may appear to log into the EX1629 mainframe. 5) Unselect DHCP and AutoIP and ensure that Static is selected.
  • Page 41: Preventive Maintenance

    Click OK to exit the network configuration properties. REVENTIVE AINTENANCE Although the EX1629 requries no preventive maintainence, it should be operated in laboratory environments only. The factory calibration should be performed annually, either by VTI customer EX1629 Preparation for Use...
  • Page 42 (see Self-Calibration for more information). Should the unit need repair at any time, it should be returned to VTI Instruments for service. EX1629 Preparation for Use...
  • Page 43: Section 3

    ECTION ASIC PERATION NTRODUCTION This section expands on the description of the EX1629’s features and explains how to best use them. (EU) C NGINEERING ONVERSION Each EX1629 input channel can be individually configured for one of eleven different preset, standard EU conversions.
  • Page 44: Half-Bridge Bending

    This configuration may be used with any external completion resistor. Half-Bridge Bending This conversion applies to the following bridge configuration: R (+ ) – R (- ) 3-3: H IGURE RIDGE ENDING ONFIGURATION EX1629 Basic Operation...
  • Page 45: Half-Bridge Poisson

    This configuration is illustrated in Figure 2-4. Full-Bridge Bending This conversion applies to the following bridge configuration: – – – – 3-5: F IGURE RIDGE ENDING ONFIGURATION EX1629 Basic Operation...
  • Page 46: Full-Bridge Poisson

    This configuration is illustrated in Figure 2-5. Full-Bridge Bending Poisson This conversion applies to the following bridge configuration: – – – – 3-7: F IGURE RIDGE ENDING OISSON ONFIGURATION EX1629 Basic Operation...
  • Page 47: Voltage

    As previously mentioned, there are potentially desirable configurations that are not covered by the standard conversions. An example of this is a quarter-bridge configuration that provides voltage output instead of strain. Fortunately, the EX1629 provides the flexibility to create virtually any bridge measurement configuration. Creating a nonstandard EU conversion begins by selecting the standard conversion that provides the desired conversion equation.
  • Page 48: Completion Resistor

    NPUT ULTIPLEXER The connection of the EX1629’s signal conditioning circuitry is governed by the setting of its input multiplexer, which connects the measurement path to the input measurement lines (±Sense), the back-half resistors, the calibration source, or ground. The required input multiplexer configuration is normally controlled through the appropriate setting of the EU conversion.
  • Page 49: Completion Resistor/Input Multiplexer Default Settings

    Mathematically, this is expressed as: -ε ν trans ε long The Poisson ratio value for a specific material should be obtained from a mechanical engineering reference. The default Poisson ratio is 0.3. EX1629 Basic Operation...
  • Page 50: Measurement Range / Gain

    Each EX1629 input channel can be individually configured with respect to its signal conditioning gain. The differential voltage measurement range of the EX1629 is ±150 mV, ±1.5 V, or ±15 V, for gain settings of 100, 10, and 1, respectively. As strain measurements will nearly always be conducted at a gain of 100, its measurement range is primarily a function of bridge configuration and excitation voltage level.
  • Page 51: Excitation Source Measurement

    OURCE EASUREMENT For highest measurement accuracy, the EX1629 provides the ability to measure its excitation source and use the measurement in the EU conversion. By doing so, the set point accuracy of the excitation source ceases to be an error source. The strain accuracy tables are based on the requirement that excitation measurement is performed.
  • Page 52: Scan List Configuration

    ONFIGURATION The EX1629 can be configured to include from 1 to all 48 of its input channels in the scan list. Because of the channel independence present in the EX1629 design, there are no accuracy, noise, or speed ramifications from the structure of the scan list. Its channel entries can consequently be solely dictated by the user’s application requirements.
  • Page 53: Units

    100 ε. To avoid this confusion, it is best to set the desired units first and then enter any tare value. Each EX1629 input channel can be assigned a tare, or relative, value. The tare value is subtracted from the nominal conversion results to produce the final readings, yielding measurements that are referenced to a nonzero point.
  • Page 54: Triggering

    = 0 (calculated order = 6). More information on filtering can be found in Appendix B. RIGGERING The EX1629 supports a full function trigger model with a separate arm source and trigger source event structure. For a complete explanation of the trigger model, see Section 4. In summary, an acquisition sequence is enabled with a trigger initialize function.
  • Page 55: Self-Calibration

    Finally, the EX1629 offers the ability to read and control a TEDS-equipped remote resistor (switches A, E) for full- or half-bridge shunting. Up to three TEDS remote resistors may be used simultaneously, but not for more than one channel in each 16-channel block.
  • Page 56: Locking

    For these applications, the EX1629 can be “locked,” meaning that it will accept function calls from only the host IP address that issued the lock function call. With the EX1629 in this mode, other host connections that attempt function calls will be denied.
  • Page 57: Configuration Storage

    ONFIGURATION TORAGE By default, all configuration options on the EX1629 are at factory defaults when the instrument is powered-on or is reset. The instrument does support the ability to save user configurations to non- volatile storage, however. This option saves all configuration variables, and automatically restores them at power-on or reset, instead of using the factory defaults.
  • Page 58 CH 11 Shield CH 27 Shield CH 43 Shield CH 10 & CH 9 Shield CH 26 & CH 25 Shield CH 42 & CH 41 Shield 3-5: EX1629 W ABLE IDEBAND UTPUT SSIGNMENTS NOTE Wideband output signals should always be measured using an instrument that has true differential inputs.
  • Page 59: Digital I/O

    IGITAL The EX1629 provides sixteen programmable digital input/output signals, modeled on the VT1533A digital input/output signal conditioning plug-on (SCP) module. These sixteen signals are divided into two banks of 8 signals: Bank 0 is digital I/O signals 0 through 7 and Bank 1 is digital I/O signals 8 through 15.
  • Page 60: Lxi Trigger Bus

    VTI Instruments Corp. LXI T RIGGER The EX1629 provides an LXI compatible trigger bus connector. For more information on the LXI Trigger Bus, please visit www.lxistandard.org and refer to LXI Standard Revision 1.1 and LXI Trigger Bus Cable and Terminator Specifications Rev 1.1.
  • Page 61 CHEMATIC NOTE Wiring the TEDS device to the EX1629 may not be as expected given the signal names used. The correct wiring is provided above in Figure 3-12 as well as below: RJ-45 Pin 4 (RCAL + / TEDS +) to DS2430/1 GND RJ-45 Pin 5 (RCAL - / TEDS -) to DS2430/1 IO The “+”...
  • Page 62: Reset Button

    ESET UTTON The reset button on the rear panel of the EX1629, implemented according to the LXI LAN Configuration Initialize (LCI) Mechanism specification, can be used to restore default network settings. This is useful for recovery from an incorrect or unknown network configuration. To perform a network reset: 1) Power off the EX1629.
  • Page 63: Section 4

    ECTION RIGGERING VERVIEW The EX1629 supports a full function trigger model with a separate arm source and trigger source event structure. The trigger model is based on the industry standard SCPI 1999 Trigger Subsystem and is diagramed in Figure 4-1.
  • Page 64: Acquisition Data And Fifo

    FIFO in the EX1629’s RAM along with a timestamp. In parallel, the instrument’s DIO values are sampled and placed into the FIFO as well.
  • Page 65: Confidence Measurement System

    +Excite and –Excite, the total number of confidence data values returned will be 8. To be clear, there is a single FIFO in the EX1629 that holds both main input channel data as well as confidence measurement system data.
  • Page 66: Synchronizing Multiple Instruments

    VTI Instruments Corp. YNCHRONIZING ULTIPLE NSTRUMENTS In cases where larger acquisition systems are required, multiple devices can be configured to utilize the same ADC sample clock and synchronization signal to acquire data that is synchronized across all acquisition channels. This requires configuring one of the devices as a master and the remaining devices as slaves.
  • Page 67: Section 5

    Discovery Devices tab will appear and show the instruments that were discovered, as shown in Figure 5-1. To open the web page, click on the hostname hyperlink in the Discover Devices tab. The IP address of the EX1629 can also be viewed from this window as well as its firmware version.
  • Page 68: General Web

    This page is accessible from any other instrument page by clicking on the EX1629 web page header. The EX1629 command menu is displayed on the left hand side of every internal web page. The entries on the command menu represent three types of pages: Status This type of page performs no action and accepts no entries.
  • Page 69: Password

    VTI I NSTRUMENTS The VTI Instruments Logo that appears on the upper left of all EX1629 web pages is a link to the VTI Instruments Corp. corporate website: http://www.vtiinstruments.com. EX1629 S TRAIN EASUREMENT The title block (“EX1629 Strain Gage Measurement Unit”...
  • Page 70 DHCP server configuration. This reserved address, linked to the EX1629’s MAC address on the DHCP server, would be assigned to the EX1629 at power up initialization without having to manually set it on the EX1629. The DHCP server configuration provides a centralized, controlled...
  • Page 71: Time Configuration

    EX1629 instruments on the LAN. ONFIGURATION This entry page is used to change the time configuration of the EX1629. By default, the instrument has no notion of “wall-clock” or calendar time. The instrument has no battery-backed clock or any other mechanism to retain time between reboots and power-cycles.
  • Page 72: Upgrade

    ONFIGURATION PGRADE This action page is used to upgrade the embedded firmware of the EX1629. Prior to initiating the firmware upgrade process, a new, uncompressed firmware image must be obtained from VTI Instruments and be accessible from the computer that is connected to the EX1629. Unless specifically noted by VTI Instruments, firmware upgrades do not alter the calibration or non- volatile configuration settings (network configuration, time configuration) of the EX1629.
  • Page 73: Section 6

    Table 6-1. Many programming applications do not require parameter changes from the default settings and can be made far simpler by the elimination of redundant functions. The EX1629 can be returned to the reset state at any time through the issuance of the vtex1629_reset function call.
  • Page 74 VTI Instruments Corp. RIGGER ONFIGURATION ESET ALUES ONFIGURATION ARAMETER ESET ALUE Sample Count 1000 Immediate Arm Source Arm Count Arm Delay (seconds) Immediate Trig Source Trig Count Trig Delay (seconds) Trig Timer Interval (seconds) HUNT ALIBRATION ONFIGURATION ESET ALUES ONFIGURATION...
  • Page 75: Opening An Instrument Session

    ESSION Prior to performing any programmatic actions with an instrument, a session must be opened. The following sample code illustrates this using the EX1629 VXIplug&play driver, along with querying the revision of the instrument driver and instrument firmware. Sample Code ViStatus result = VI_SUCCESS;...
  • Page 76 VTI Instruments Corp. Measures the unstrained voltage and updates the unstrained EU conversion variables Measures the excitation voltage with the confidence subsystem and updates the excitation EU conversion variables Sample Code #define MAX_NUM_CHANNELS 48 ViStatus result = VI_SUCCESS; ViInt32 channels[MAX_NUM_CHANNELS];...
  • Page 77: Setting Bridge Limits

    VTEX1629_EXCITE_SRC_REMOTE, 50, NULL, &numval, VI_TRUE); Setting Bridge Limits Once the EX1629’s channels are configured for data acquisition, the user’s can also set limits on the data being acquired so that, if a minimum or maximum value is exceeded, an error message is returned.
  • Page 78: Lead Wire Compensation

    <inform the user the API call failed> Lead Wire Compensation The user can also use the EX1629 to compensate for lead wire for lead wire resistance. This is a common source of error when making measurements and can be difficult to quantify for large channel count applications.
  • Page 79: Adc Synchronization

    For a standalone device, the synchronization signal is typically configured to use the internal dedicated synchronization signal line setting both input output lines VTEX1629_LXI_LINE_NONE. EX1629 Programming...
  • Page 80: Trigger Source

    Trigger Source An EX1629 device can utilize a variety of trigger sources. The simplest is the immediate trigger source. This causes the trigger state machine to bypass the TRIG layer and automatically begin to acquire data. The device can also be configured to receive its trigger signal from either the positive or negative edge transition of one of the LXI Trigger Bus lines.
  • Page 81: Multiple Instruments (Master/Slave) Example Configuration

    Properly configures the LXI Trigger Bus and DIO banks Sets the ADC clock to master/slave on LXI 0 Sets ADC synchronization to master/slave on LXI 1 Configures a timer trigger on LXI 2 Configures a pattern arm on LXI 3 EX1629 Programming...
  • Page 82 VTI Instruments Corp. NOTE Master/Slave configuration requires the use of LXI Trigger Bus Cables, terminators, and, possibly, LXI Trigger Bus hubs, switches, or repeaters. Please talk to your application engineer for further information. Sample Code ViStatus result = VI_SUCCESS; ViInt16 trigLxiLines[4] = {0,0,0,0};...
  • Page 83 /* Configure the LXI trigger bus lines on the slave device. Lines 0 - 3 are external inputs while lines 4 - 7 are outputs that remain within the device. */ result = vtex1629_set_lxibus_configuration( slave_vi, VTEX1629_LXI_LINE_ZERO, VTEX1629_LXI_INPUT, VTEX1629_LXI_INTERNAL_EXTERNAL ); EX1629 Programming...
  • Page 84 VTI Instruments Corp. result = vtex1629_set_lxibus_configuration( slave_vi, VTEX1629_LXI_LINE_ONE, VTEX1629_LXI_INPUT, VTEX1629_LXI_INTERNAL_EXTERNAL ); result = vtex1629_set_lxibus_configuration( slave_vi, VTEX1629_LXI_LINE_TWO, VTEX1629_LXI_INPUT, VTEX1629_LXI_INTERNAL_EXTERNAL ); result = vtex1629_set_lxibus_configuration( slave_vi, VTEX1629_LXI_LINE_THREE, VTEX1629_LXI_INPUT, VTEX1629_LXI_INTERNAL_EXTERNAL ); result = vtex1629_set_lxibus_configuration( slave_vi, VTEX1629_LXI_LINE_FOUR, VTEX1629_LXI_OUTPUT, VTEX1629_LXI_INTERNAL ); result = vtex1629_set_lxibus_configuration( slave_vi, VTEX1629_LXI_LINE_FIVE, VTEX1629_LXI_OUTPUT, VTEX1629_LXI_INTERNAL );...
  • Page 85: Retrieving Data (Read Fifo And Streaming Data)

    EX1629 (a request) and one from the EX1629 (a response). The instrument driver function does not return control to the user application until the response message is received.
  • Page 86 VTI Instruments Corp. EX1629 SHUNT SHUNT SHUNT EX1629 Host Computer time time 6-1: R FIFO N IGURE ETWORK XAMPLE The vtex1629_read_fifo function provides access to the main channel acquisition data and timestamp information. The following code segment illustrates the basic usage of the vtex1629_read_fifo function, issuing a FIFO query to return 10 scans of data with all 48 channels enabled.
  • Page 87: Asynchronous Streaming Data

    It “streams” data to the host computer – that is the EX1629 transmits data when available – and is “asynchronous” in that data arrives outside the normal control flow of the user-application. This is in contrast to the Read...
  • Page 88 VTI Instruments Corp. protected by design or through suitable inter-thread communication mechanisms (e.g., mutexes) to guarantee consistency. Again, multi-threaded programming is beyond the scope of this manual, but it is important to understand the fundamentals before the streaming data mechanism can be used properly.
  • Page 89 // dataset index ViInt32 smp_idx; // sample index priv_struct = (user_struct *)priv; /* Loop through all of the datasets in the datapage. */ for( ds_idx = 0; ds_idx < data->dataset.dataset_len && ds_idx < MAX_NUM_DATASETS; ds_idx++ ) { EX1629 Programming...
  • Page 90 VTI Instruments Corp. /* print the timestamp. */ fprintf( priv_struct->fout, "Timestamp: %5u.%09u", data->dataset.dataset_val[ds_idx]->timestamp_sec, data->dataset.dataset_val[ds_idx]->timestamp_nsec); /* print the data */ for( smp_idx = 0; smp_idx < data->dataset.dataset_val[ds_idx]->data.data_len; smp_idx++ ) { fprintf( priv_struct->fout, "\t%i %f\n", data->dataset.dataset_val[ds_idx]->data.data_val[smp_idx]); if( data->dataset.dataset_len > 0) { priv_struct->sample_count++;...
  • Page 91: Calibration Data

    (status >= VI_SUCCESS) && (bufferSize > 0) ) { xmlBuffer_combined = malloc( bufferSize * sizeof( ViString ) ); status = vtex1629_get_cal_file(instrumentHandle, fileType, bufferSize, xmlBuffer_combined, &actualSize); if(status < VI_SUCCESS) { <inform the user the API call failed> free(xmlBuffer_combined); EX1629 Programming...
  • Page 92: Starting/Stopping Acquisition

    VTI Instruments Corp. TARTING TOPPING CQUISITION Acquisition is started by using the vtex1629_trig_init function, which initializes the trigger subsystem. This causes the trigger state machine to transition from the IDLE state to the Waiting for ARM state (see Figure 4-1). Depending on the configuration of the Arm and Trigger sources, data acquisition may begin immediately –...
  • Page 93: Section 7

    If the vtex1629_error_message function call is used, it will return a description of the error code returned by the last function call made. UNCTION The function set for the EX1629 has been categorized according to function and is presented below. Initialize...
  • Page 94: Lock Function Calls

    Set Input Multiplexer vtex1629_set_input_multiplexer Set Sampling Frequency vtex1629_set_sample_frequency Set Confidence Scanlist vtex1629_set_conf_scanlist Trigger System Calls Trigger Initiate vtex1629_trig_init Software Arm vtex1629_soft_arm Software Trigger vtex1629_soft_trig Software Synchronize vtex1629_soft_synch Reset vtex1629_reset_trigger_arm Abort vtex1629_abort Get Sample Count vtex1629_get_sample_count Get Arm Source vtex1629_get_arm_source EX1629 Command Set...
  • Page 95: Filter Configuration Calls

    Get Linear Scaling Coefficients vtex1629_get_linearscaling_configuration Set Linear Scaling Coefficients vtex1629_set_linearscaling_configuration Measure Unstrained Voltage vtex1629_measure_unstrained_voltage Measure Excitation Voltage vtex1629_measure_excitation_voltage Measure Confidence vtex1629_measure_confidence Reset Tare Values vtex1629_reset_tare Set Dynamic Excitation EU Enabled vtex1629_set_euconv_dynamic_excitation_enabled Get Dynamic Excitation EU Enabled vtex1629_set_euconv_dynamic_excitation_enabled EX1629 Command Set...
  • Page 96: Shunt Configuration Calls

    Utility Function Calls Reset vtex1629_reset Self-Test Functions Self-Test vtex1629_self_test Self Test Init vtex1629_self_test_init Self Test Get Status vtex1629_self_test_get_status Error Message vtex1629_error_message Error Query vtex1629_error_query Revision Query vtex1629_revision_query Instrument Discovery vtex1629_findinstr Enable Logging vtex1629_enable_logging Disable Logging vtex1629_disable_logging EX1629 Command Set...
  • Page 97: Lead Wire Calls

    Get Lead Wire Resistance vtex1629_get_lead_wire_resistance Set Half-Bridge Lead Wire Desensitization vtex1629_set_half_bridge_lead_wire_desensitization Get Half-Bridge Lead Wire Desensitization vtex1629_get_half_bridge_lead_wire_desensitization Calibration File Query Get Calibration File Size vtex1629_get_cal_file_size Get Calibration File vtex1629_get_cal_file Calibration Coefficient Query vtex1629_get_cal_coefficients Close Close vtex1629_close EX1629 Command Set...
  • Page 98: Alphabetical Function Set

    LPHABETICAL UNCTION The following table provides a summary of the function calls used by the EX1629 along with an abbreviated description of the function. The pages following this table are function definitions that provide in-depth detail for each function. A sample function definition is provided immediately following this table to illustrate what each section of the definition describes.
  • Page 99 Queries and returns the enabled status of the excitation voltage for a specific channel. vtex1629_get_fifo_count Queries the EX1629 for the current FIFO page count. vtex1629_get_gain Reads the specified channel's current signal conditioning gain. vtex1629_get_gauge_factor Queries and returns the gage factor for a specific channel.
  • Page 100 LXI Trigger Bus. Queries and returns the EX1629’s current vtex1629_get_pattern_arm_configuration configuration for the pattern arm mode of operation. This queries and returns the EX1629’s current vtex1629_get_pattern_trig_configuration configuration for the pattern trigger mode of operation. vtex1629_get_poisson_ratio Queries and returns the Poisson ratio for a specific channel.
  • Page 101 Sends a pulse out on the selected DIO channels. vtex1629_send_lxibus_pulse Sends a pulse out on the desired LXI Trigger Bus channels. vtex1629_set_arm_count Sets the arm count for the EX1629. vtex1629_set_arm_delay Sets the arm delay for the EX1629. vtex1629_set_arm_source Sets the arm source on the EX1629.
  • Page 102 Configures several characteristics of a specific LXI Trigger Bus channel. vtex1629_set_lxibus_output Configures the output state of each of the LXI Trigger Bus channels. Configures the EX1629’s pattern arm mode of vtex1629_set_pattern_arm_configuration operation. Configures the EX1629’s pattern trigger mode vtex1629_set_pattern_trig_configuration of operation.
  • Page 103 Sets the tare values for a list of channels. vtex1629_set_teds_data Writes data to a TEDS device on a particular channel. vtex1629_set_trigger_count Sets the trigger count for the EX1629. vtex1629_set_trigger_delay Sets the trigger delay for the EX1629. vtex1629_set_trigger_source Sets the trigger source on the EX1629.
  • Page 104: Sample Function Definition

    This section provides the values the data items associated with this function assume after a reset condition. This section is only applicable to “set” functions. ESCRIPTION This section details what occurs when this function is called. XAMPLE This section provides an example of how this function might appear in an application. EX1629 Command Set...
  • Page 105: Ex1629 Function Set

    ALUE Not applicable to this function. ESCRIPTION This function aborts data acquisition. Specifically, calling this function moves the trigger system from its current state into the IDLE state. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_abort(instrumentHandle); EX1629 Command Set...
  • Page 106: Vtex1629_Allow_All_Channels

    ESET ALUE Not applicable to this function. ESCRIPTION This function allows the user to include channels that failed calibration in the scanlist for data acquisition. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_allow_all_channels(instrumentHandle); EX1629 Command Set...
  • Page 107: Vtex1629_Break_Lock

    (application or computer) becomes disabled, without rebooting or cycling power on the instrument. NOTE Breaking a lock on the instrument does not automatically acquire it. Acquisition must be done with a separate vtex1629_lock function call. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_break_lock(instrumentHandle); EX1629 Command Set...
  • Page 108: Vtex1629_Check_Lock

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. locked = a Boolean return value indicating if the EX1629 is locked. A return value of “1” indicates that the EX1629 is locked.
  • Page 109: Vtex1629_Clear_Stored_Config

    ALUE Not applicable to this function. ESCRIPTION This function erases the stored configuration from non-volatile storage. This function does not modify the current configuration of the device. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_clear_stored_config (instrumentHandle); EX1629 Command Set...
  • Page 110: Vtex1629_Close

    This function closes the current instrument programming session. This command should be performed at the conclusion of the test application. If the current session locked the instrument, vtex1629_close will unlock, leaving it in the proper state for the next application. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_close (instrumentHandle); EX1629 Command Set...
  • Page 111: Vtex1629_Compare_Digests

    // Compare the two status = vtex1629_compare_digests (VTEX1629_MAX_DIGEST_LENGTH, active, stored, &equal); if (status >= VI_SUCCESS) if (equal == VI_TRUE) <the current configuration is the same as the stored one> } else <the current configuration differs from the stored one> EX1629 Command Set...
  • Page 112: Vtex1629_Dio_Clear_Event

    = the DIO Input Line whose event action entries are being cleared. ESET ALUE Not applicable to this function. ESCRIPTION This function clears the DIO event configuration for the specified inputLine. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dioLine; … … dioLine = 2; status = vtex1629_dio_clear_event (instrumentHandle, dioLine); EX1629 Command Set...
  • Page 113: Vtex1629_Dio_Clear_Events_All

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. ESET ALUE Not applicable to this function. ESCRIPTION This function clears the DIO event configuration for all events. XAMPLE ViSession instrumentHandle; ViStatus status; … … status = vtex1629_dio_clear_events_all(instrumentHandle); EX1629 Command Set...
  • Page 114: Vtex1629_Disable_Logging

    No parameters are defined for this function. ESET ALUE Not applicable to this function. ESCRIPTION This function stops the logging of driver calls. XAMPLE ViStatus status; … status = vtex1629_disable_logging (); if (status < VI_SUCCESS) <inform the user the API call failed> EX1629 Command Set...
  • Page 115: Vtex1629_Disable_Streaming_Data

    ESET ALUE Not applicable to this function. ESCRIPTION This function causes streaming data from the EX1629 to cease. In order to use this function, the macro INSTR_LANGUAGE_SPECIFIC must be defined in the application program. XAMPLE #define INSTR_LANGUAGE_SPECIFIC #include<vtex1629.h>...
  • Page 116: Vtex1629_Enable_Logging

    VI_TRUE will cause logged information to be appended to an existing file. Otherwise, any previous data will be overwritten. ESET ALUE Not applicable to this function. XAMPLE ViStatus status; ViString fileName = “myTemporaryFile”; ViBoolean append = VI_TRUE; … status = vtex1629_enable_logging (fileName, append); if (status < VI_SUCCESS) <inform the user the API call failed> EX1629 Command Set...
  • Page 117: Vtex1629_Enable_Streaming_Data

    28, this is an indication that the instrument is no longer synchronized with the LXI clock and it is now utilizing the EX1629’s internal oscillator as its clock source. Possible causes of this error include the accidental removal of the LXI cable or a missing clock.
  • Page 118 /* print the data */ for( smp_idx = 0; smp_idx < data->dataset.dataset_val[ds_idx]->data.data_len; smp_idx++ ) { fprintf( priv_struct->fout, "\t%i %f\n", data->dataset.dataset_val[ds_idx]- >data.data_val[smp_idx]); if( data->dataset.dataset_len > 0) { priv_struct->sample_count++; status = vtex1629_enable_streaming_data(instrumentHandle, &my_struct, stream_callback ); status = vtex1629_trig_init(instrumentHandle); … // application code EX1629 Command Set...
  • Page 119: Vtex1629_Enable_Streaming_Dataex

    28, this is an indication that the instrument is no longer synchronized with the LXI clock and it is now utilizing the EX1629’s internal oscillator as its clock source. Possible causes of this error include the accidental removal of the LXI cable or a missing clock.
  • Page 120: Vtex1629_Erase_Teds_Data

    This function erases the data on the TEDS device indicated by the channel parameter. The only supported EEPROM is DS2430A. For other EEPROMs, the vtex1629_write_teds_MLAN and vtex1629_read_teds_MLAN functions should be used. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_erase_teds_data( instrumentHandle, 0); EX1629 Command Set...
  • Page 121: Vtex1629_Error_Message

    = a return string that contains the error message. This string should be at least 256 characters long. ESET ALUE Not applicable to this function. ESCRIPTION This function returns the error message text associated with the statusCode parameter. XAMPLE ViSession instrumentHandle; ViStatus status, code; ViChar errorMessage[256]; … status = vtex1629_error_message (instrumentHandle, code, errorMessage); EX1629 Command Set...
  • Page 122: Vtex1629_Error_Query

    ESCRIPTION This function is intended to query system errors generated by an instrument. It returns VI_WARN_NSUP_ERROR_QUERY. It is provided as part of the plug&play standard. When errors occur on the EX1629, the vtex1629_error_message function should be used. EX1629 Command Set...
  • Page 123: Vtex1629_Findinstr

    ESET ALUE Not applicable to this function. ESCRIPTION This function scans the LAN for available EX1629 instruments and returns their resource descriptors, including IP addresses, as an array of strings, suitable for use with the function. XAMPLE #define MAX_INSTRUMENTS (500) #define TIMEOUT (1000) ViStatus status;...
  • Page 124: Vtex1629_Get_Arm_Count

    Not applicable to this function. ESCRIPTION This function queries and returns the arm count for the EX1629. This count represents the number of times the EX1629 will wait for ARM events to occur after the trigger state machine leaves the IDLE layer. Trigger counts should be kept in mind when considering this trigger state machine.
  • Page 125: Vtex1629_Get_Arm_Delay

    ESCRIPTION This function queries and returns the arm delay for the EX1629. This indicates the amount of time, in seconds, that the EX1629 will wait after receiving an ARM event before it transitions the trigger state machine from the ARM layer into the TRIG layer.
  • Page 126: Vtex1629_Get_Arm_Source

    Pattern (1): this arm source allows the EX1629 to accept ARM events from multiple sources. Specifically, the EX1629 can be configured to accept ARM events from any of the LXI Trigger Bus channels, from any of the digital I/O channels, from an internal timer, or from software arm commands. The instrument can be configured to accept any combination of these events simultaneously.
  • Page 127 XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 armsource; … status = vtex1629_get_arm_source (instrumentHandle, &armsource); EX1629 Command Set...
  • Page 128: Vtex1629_Get_Bridge_Limit

    Limit checking is performed on the output of the EU conversion. So, if the specified EU conversion is in Strain (quarter-, half-, or full-bridge) the limit values are in strain (or microstrain). If the specified EU conversion is volts, then the limit values are in volts. EX1629 Command Set...
  • Page 129 XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channel = 5; ViReal64 min = 0; ViReal64 max = 0; … status = vtex1629_get_bridge_limit (instrumentHandle, channel, &min, &max); EX1629 Command Set...
  • Page 130: Vtex1629_Get_Bridge_Limit_Enabled

    ESET ALUE Not applicable to this function. ESCRIPTION This function queries and returns the enabled status of the bridge limit function. XAMPLE ViSession instrumentHandle; ViStatus status; ViBoolean armsource; … status = vtex1629_get_bridge_limit_enabled (instrumentHandle, &enabled); EX1629 Command Set...
  • Page 131: Vtex1629_Get_Cal_Coefficients

    If one of the above values is not defined for the calType parameter, an error of VI_ERROR_PARAMETER2 will be returned. The coefficientSelector parameter has the following valid input values: Decimal #define Symbol Value Value 0x13 VTEX1629_CALSRC_ALL 0x14 VTEX1629_MAIN_ADC_X1_GAIN 0x15 VTEX1629_MAIN_ADC_X1_OFFSET 0x16 VTEX1629_MAIN_ADC_X10_GAIN 0x17 VTEX1629_MAIN_ADC_X10_OFFSET 0x18 VTEX1629_MAIN_ADC_X100_GAIN 0x19 VTEX1629_MAIN_ADC_X100_OFFSET 0x1A VTEX1629_WAGNER_VOLT 0x1B VTEX1629_COMP_RESISTOR_350 0x1C VTEX1629_COMP_RESISTOR_120 EX1629 Command Set...
  • Page 132 VTEX1629_SUPPLY_EXCITE_OUT_POS_OFFSET (0x3F), each element of this array corresponds to the equivalent index in the channelList array. For example, the coefficient value at element i in this array corresponds to the channel designated in element i of the channelList array. EX1629 Command Set...
  • Page 133 = 0; … memset(channelList, 0x00, sizeof(channelList)); memset(coefficientOutputArray, 0x00, sizeof(coefficientOutputArray)); CalType = VTEX1629_CAL_DATA_SELF; coefficientSelector = VTEX1629_MAIN_ADC_X1_GAIN; numberOfChannels = MAX_NUMBER_OF_CHANNELS; for(i = 0; i < numberOfChannels; i++) { channelList[i] = i; status = vtex1629_get_cal_coefficients(instrumentHandle, CalType, coefficientSelector, channelList, numberOfChannels, coefficientOutputArray); EX1629 Command Set...
  • Page 134: Vtex1629_Get_Cal_File

    Not applicable to this function. ESCRIPTION This function reads up to bufferSize characters from the EX1629 and places them in the XML buffer. It returns, in the actualSize parameter, the number of bytes read. The fileType parameter has the following valid input values:...
  • Page 135 &actualSize); if(status < VI_SUCCESS) { <inform the user the API call failed> EX1629 Command Set...
  • Page 136: Vtex1629_Get_Cal_File_Size

    Self-calibration data 0x02 VTEX1629_CAL_DATA_FACTORY Factory calibration data 0x03 VTEX1629_CAL_DATA_COMBINED_XML Both self and factory calibration data in XML format. XAMPLE ViSession instrumentHandle; ViStatus status = VI_SUCCESS; ViInt32 bufferSize = 0; fileType = VTEX1629_CAL_DATA_COMBINED; … status = vtex1629_get_cal_file_size(instrumentHandle, fileType, &bufferSize); EX1629 Command Set...
  • Page 137: Vtex1629_Get_Cal_Source

    +1.1 0x0A VTEX1629_CALSRC_N_1_1 -1.1 0x0B VTEX1629_CALSRC_P_1_4 +1.4 0x0C VTEX1629_CALSRC_N_1_4 -1.4 0x0D VTEX1629_CALSRC_P_7_0 +7.0 0x0E VTEX1629_CALSRC_N_7_0 -7.0 0x0F VTEX1629_CALSRC_P_11_0 +11.0 0x10 VTEX1629_CALSRC_N_11_0 -11.0 0x11 VTEX1629_CALSRC_P_14_0 +14.0 0x12 VTEX1629_CALSRC_N_14_0 -14.0 NOTE This function is intended for factory use only. EX1629 Command Set...
  • Page 138: Vtex1629_Get_Completion_Resistor

    Referring to the “Full” completion resistor is a bit of a misnomer – it really represents a short in the leg of the bridge circuit that contains the completion resistor. It is used in Full and Half-Bridge mode. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 compmode; ViReal64 resvalue; … status = vtex1629_get_completion_resistor(instrumentHandle, 0, &compmode, &resvalue); EX1629 Command Set...
  • Page 139: Vtex1629_Get_Conf_Scanlist

    2) Confidence element 12 can only be used on EX1629 with firmware version 1.0 or later. A value of 0 for the numConfElements parameter indicates that the confidence scan list is empty. In this case, any values in the confElements parameter are invalid.
  • Page 140: Vtex1629_Get_Confidence_Limit

    MAX Limit Exceeded status for source 0. Bit (CONF_NUM_SRC-1) represents the MIN Limit Exceeded status for source (CONF_NUM_SRC-1). Bit (16+CONF_NUM_SRC-1) represents the MAX Limit Exceeded status for source CONF_NUM_SRC. The rest of the sources follow the same pattern. EX1629 Command Set...
  • Page 141 Hence, the total data rate = ((248+24)/2)*4*8*1000 samples/second= 4.352 Mb/s. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channel = 10; ViReal64 min = 0; ViReal64 max = 0; ViInt32 confSrcEnum = 0; … status = vtex1629_get_confidence_limit (instrumentHandle, channel, confSrcEnum, &min, &max); EX1629 Command Set...
  • Page 142: Vtex1629_Get_Confidence_Reporting_Mode

    VTEX1629_CONF_LIMIT_DETAILED_REPORT Detailed report mode selected If set to VTEX1629_CONF_LIMIT_DISABLE_REPORT, the EX1629 will not collect confidence limit checking data. If set to VTEX1629_CONF_LIMIT_SUMMARY_REPORT_ONLY, an array will be created which indicates the channels that exceeded their limits. VTEX1629_CONF_LIMIT_DETAILED_REPORT, by contrast, provides an array that indicates if the minimum or maximum limit of a channel has been exceeded.
  • Page 143: Vtex1629_Get_Current_Config_Digest

    Not applicable to this function. ESCRIPTION This function retrieves the digest for the current instrument configuration. The digest is a digital signature representing the configuration data. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 digestActualSize; ViInt8 digest[VTEX1629_MAX_DIGEST_LENGTH]; … status = vtex1629_get_current_config_digest(instrumentHandle, VTEX1629_MAX_DIGEST_LENGTH, &digestActualSize); EX1629 Command Set...
  • Page 144: Vtex1629_Get_Dio_Bank0_Direction

    This function indicates whether bank zero of the digital I/O is configured as input or output. The direction parameter is defined as follows: 0 = input 1 = output XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dio0dir; … status = vtex1629_get_dio_bank0_direction(instrumentHandle, &dio0dir); EX1629 Command Set...
  • Page 145: Vtex1629_Get_Dio_Bank0_Pullup

    This function queries and returns the pull-up mode for bank zero of the digital I/O. The pullup parameter is defined as follows: 0 = passive pull-up mode 1 = active pull-up mode XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dio0pullup; … status = vtex1629_get_dio_bank0_pullup(instrumentHandle, &dio0pullup); EX1629 Command Set...
  • Page 146: Vtex1629_Get_Dio_Bank1_Direction

    This function indicates whether bank one of the digital I/O is configured as input or output. The direction parameter is defined as follows: 0 = input 1 = output XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dio1dir; … status = vtex1629_get_dio_bank1_direction(instrumentHandle, &dio1dir); EX1629 Command Set...
  • Page 147: Vtex1629_Get_Dio_Bank1_Pullup

    This function queries and returns the pull-up mode for bank one of the digital I/O. The pullup parameter is defined as follows: 0 = passive pull-up mode 1 = active pull-up mode XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dio1pullup; … status = vtex1629_get_dio_bank1_pullup(instrumentHandle, &dio1pullup); EX1629 Command Set...
  • Page 148: Vtex1629_Get_Dio_Config_Events

    ViStatus status = VI_SUCCESS; ViChar errMessage[256]; ViChar tempString[256] = ""; ViInt32 inputLine = 1; ViInt32 inputTrigType = 2; ViInt32 numActions = MAX_DIO_CHANNELS; ViInt32 outputLineArr[MAX_DIO_CHANNELS]; ViInt32 outputActionTypeArr[MAX_DIO_CHANNELS]; memset(outputLineArr, 0x00, sizeof(outputLineArr)); memset(outputActionTypeArr, 0x00, sizeof(outputActionTypeArr)); status = vtex1629_get_dio_config_events(instrumentHandle, inputLine, inputTrigType, numActions, outputLineArr, outputActionTypeArr); EX1629 Command Set...
  • Page 149: Vtex1629_Get_Dio_Input

    This indicates that channels 2 and 3 of digital I/O bank zero and channels 14 and 15 of digital I/O bank one are high, while the remaining channels are low. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dio_in; … status = vtex1629_get_dio_input(instrumentHandle, &dio_in); EX1629 Command Set...
  • Page 150: Vtex1629_Get_Dio_Output

    This indicates that channels 2 and 3 of digital I/O bank zero and channels 14 and 15 of digital I/O bank one are configured high, while the remaining channels are low. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 dio_out; … status = vtex1629_get_dio_output(instrumentHandle, &dio_out); EX1629 Command Set...
  • Page 151: Vtex1629_Get_Dsp_Version

    Not applicable to this function. ESCRIPTION This function returns the DSP (digital signal processor) version information for a given analog board. This function is intended for factory use only. Customers should refer to the firmware version reported by vtex1629_revision_query function. EX1629 Command Set...
  • Page 152: Vtex1629_Get_Eu_Conversion

    0x08 VTEX1629_EUCONV_FULL_BRIDGE_BPOIS Full-Bridge Bending Poisson 0x09 VTEX1629_EUCONV_RATIOMETRIC Ratiometric 0x0A VTEX1629_EUCONV_LINEAR Linear See the Engineering Unit (EU) Conversion section in Section 3 for more details. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 euconv; … status = vtex1629_get_EU_conversion(instrumentHandle, 16, &euconv); EX1629 Command Set...
  • Page 153: Vtex1629_Get_Euconv_Dynamic_Excitation_Enabled

    Not applicable to this function. ESCRIPTION This function queries and returns the dynamic excitation EU conversion state. In this mode of operation, the EX1629 uses the excitation voltage measured by the confidence ADC (in real time) in its calculations. This mode is available for bridge sampling frequencies (f ) less than or equal to 1 kHz.
  • Page 154: Vtex1629_Get_Euconv_Excitation

    Please refer to vtex1629_get_excitation, vtex1629_get_excitation_enabled, and vtex1629_measure_excitation_voltage for more information. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 euexcite; … status = vtex1629_get_euconv_excitation(instrumentHandle, 47, &euexcite); EX1629 Command Set...
  • Page 155: Vtex1629_Get_Excitation

    That must be queried with the vtex1629_get_excitation_enabled call. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 exc_pos, exc_neg; … status = vtex1629_get_excitation(instrumentHandle, 0, &exc_pos, &exc_neg); EX1629 Command Set...
  • Page 156: Vtex1629_Get_Excitation_Enabled

    This function queries and returns the enabled status of the excitation source for a particular channel. An excitation source that is not enabled will output 0 V, regardless of its programmed value. XAMPLE ViSession instrumentHandle; ViStatus status; ViBoolean exc_ena; … status = vtex1629_get_excitation_enabled(instrumentHandle, 0, &exc_ena); EX1629 Command Set...
  • Page 157: Vtex1629_Get_Fifo_Count

    Not applicable to this function. ESCRIPTION This function queries the EX1629 for the current FIFO memory page count. One page of data in the FIFO corresponds to one scan, or sample of all enabled channels, taken by the instrument. NOTE When this function is used, data may be buffered which may lead to a lower count being returned.
  • Page 158: Vtex1629_Get_Gain

    = a real return value indicating the specified channel’s currently configured gain setting. Valid return values: 1.00, 10.0, and 100.0. ESET ALUE Not applicable to this function. ESCRIPTION This function queries and returns the specified channel’s signal conditioning gain. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 gain; … status = vtex1629_get_gain(instrumentHandle, 31, &gain); EX1629 Command Set...
  • Page 159: Vtex1629_Get_Gauge_Factor

    ESCRIPTION This function queries and returns the gage factor for a specific channel. This is one of the parameters used in EU conversion calculations. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 gf; … status = vtex1629_get_gage_factor(instrumentHandle, 0, &gf); EX1629 Command Set...
  • Page 160: Vtex1629_Get_Half_Bridge_Lead_Wire_Desensitization

    1 gage where R represents the resistance of the lead and R is the resistance of the strain gage. lead gage XAMPLE ViSession instrumentHandle; ViInt32 channel = 5; ViReal64 factorVal = 0; status = vtex1629_get_half_bridge_lead_wire_desensitization(instrumentHandle, channel, &factorVal); EX1629 Command Set...
  • Page 161: Vtex1629_Get_Iir_Filter_Configuration

    The filterOrder parameter defines the desired order of the filter. When the filterType is set to Butterworth, there is an additional option of 0. This corresponds to an automatic option, whereby the EX1629 will assign an order based on an analog prototype Butterworth design given the sampling frequency, cutoff frequency, and a -200 dB attenuation at the Nyquist frequency.
  • Page 162 FIR filters only which are constant across all frequencies. NOTE When setting channel filters on the EX1629, it is highly recommended that the same filter setting be used for each group of sixteen channels (0 through 15, 16 through 31, and 32 through 47) as this ensures the tightest relative timing between channels.
  • Page 163: Vtex1629_Get_Input_Multiplexer

    Decimal #define Symbol muxInValue Description Value Value 0x00 VTEX1629_INPUTMUX_BRIDGE_TYPE_FULL Full Bridge 0x01 VTEX1629_INPUTMUX_BRIDGE_TYPE_HALF Half Bridge 0x02 VTEX1629_INPUTMUX_BRIDGE_TYPE_QUARTER Quarter Bridge 0x03 VTEX1629_INPUTMUX_BRIDGE_TYPE_CAL 0x04 VTEX1629_INPUTMUX_BRIDGE_TYPE_GND XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 mux; … status = vtex1629_get_input_multiplexer(instrumentHandle, 0, &mux); EX1629 Command Set...
  • Page 164: Vtex1629_Get_Instrument_Serial_Number

    Not applicable to this function. ESCRIPTION This function returns the instrument’s serial number. XAMPLE ViStatus status; ViSession instrumentHandle; ViChar serialNumber[64]; … … status = vtex1629_get_instrument_serial_number (instrumentHandle, serialNumber); if (status < VI_SUCCESS) <inform the user the API call failed> EX1629 Command Set...
  • Page 165: Vtex1629_Get_Lead_Wire_Resistance

    = returned resistance value for the specified channel. Valid return values are numbers greater than 0. ESET ALUE Not applicable to this function. ESCRIPTION This function queries and returns the currently defined lead wire resistance value. XAMPLE ViSession instrumentHandle; ViInt32 channel = 5; ViReal64 resistance = 0; status = vtex1629_get_lead_wire_resistance(instrumentHandle, channel, &resistance); EX1629 Command Set...
  • Page 166: Vtex1629_Get_Linearscaling_Configuration

    (intercept) is stored in the same location as the unstrained voltage. Since the linear scaling EU conversion and the strain EU conversions are mutually exclusive, this is never an issue in practice. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 m, b; … status = vtex1629_get_linearscaling_configuration(instrumentHandle, 24, &m, &b); EX1629 Command Set...
  • Page 167: Vtex1629_Get_Lxi_Limit_Event_Enabled

    16 bits are maximums. ESET ALUE Not applicable to this function. ESCRIPTION This function returns which measurement channels are enabled for Limit Events on the specified LXI Trigger Bus line. Implemented in firmware version 1.4.0. XAMPLE EX1629 Command Set...
  • Page 168: Vtex1629_Get_Lxi_Limit_Event_Latch

    ESET ALUE Not applicable to this function. ESCRIPTION This function returns a mask indicating which LXI trigger lines will be latched for LXI Limit Event outputs. Implemented in firmware version 1.4.0. XAMPLE EX1629 Command Set...
  • Page 169: Vtex1629_Get_Lxibus_Configuration

    = an integer return value indicating whether transmissions on the specified channel are configured to be input from and output to the external LXI bus or will be kept internal to the EX1629. Valid return values: 0 or 1.
  • Page 170 VTI Instruments Corp. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 inout, scope; … status = vtex1629_get_lxibus_configuration(instrumentHandle, 0, &inout, &scope); EX1629 Command Set...
  • Page 171: Vtex1629_Get_Lxibus_Input

    If, for example, the value 129 (0x81) is returned, this corresponds to the 8-bit number 1000 0001. This indicates that LXI Trigger Bus channels zero and seven are currently inputting high signals while the other channels are inputting low signals. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 ins; … status = vtex1629_get_lxibus_input(instrumentHandle, &ins); EX1629 Command Set...
  • Page 172: Vtex1629_Get_Lxibus_Output

    If, for example, the value 129 (0x81) is returned, this corresponds to the 8-bit number 1000 0001b, which indicates that LXI Trigger Bus channels zero and seven are configured to output high signals, while the rest will output low signals. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 outs; … status = vtex1629_get_lxibus_output(instrumentHandle, &outs); EX1629 Command Set...
  • Page 173: Vtex1629_Get_Pattern_Arm_Configuration

    I/O channel zero, and the most significant bit corresponds to digital I/O channel seven. Each element specifies which events the EX1629 will accept as arm events on the digital I/O bus for different clock edges or states. If a user wants to specify a channel for arm events, the corresponding bit should be set to “1”.
  • Page 174 VTI Instruments Corp. For example, if a user wishes to arm the EX1629 on a negative edge signal coming into the digital I/O bus on channels 0 and 3, then: dioLines[1] = 0000 1001 = 9 (0x09). With regard to the lxiOutput parameter, it is important to note that since the EX1629 can simultaneously accept arm events from multiple sources, it is necessary to reserve one of the LXI Trigger Bus lines to communicate these events within the device and to other devices in a multi-device configuration.
  • Page 175: Vtex1629_Get_Pattern_Trig_Configuration

    3 = lxiTrigLines (Negative Level) For example, if a user wishes to trigger the EX1629 on a negative edge signal coming into the LXI Trigger Bus on channel 0 and a positive level on channels 3 and 6, then: lxiTrigLines[1] = 0000 0001 = 1 (0x01) and lxiTrigLines[2] = 0100 1000 = 72 (0x48).
  • Page 176 I/O channel zero and the most significant bit corresponds to digital I/O channel seven. Each element specifies which events the EX1629 will accept as trigger events on the digital I/O bus for different clock edges or states. If a user wants to specify a channel for trigger events, the corresponding bit should be set to “1”.
  • Page 177: Vtex1629_Get_Poisson_Ratio

    This function queries and returns the Poisson ratio for a specific channel. This is one of the parameters used in some strain gage EU conversion calculations. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 p_ratio; … status = vtex1629_get_poisson_ratio(instrumentHandle, 12, &p_ratio); EX1629 Command Set...
  • Page 178: Vtex1629_Get_Sample_Clock_Source

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. sampleClockMode = an integer output value that indicates whether the EX1629 is operating as a master or slave. Valid return values: VTEX1629_SAMP_CLK_MODE_MASTER or VTEX1629_SAMP_CLK_MODE_SLAVE inLine = an integer output value that indicates the trigger bus line configured to listen for sample clock events.
  • Page 179: Vtex1629_Get_Sample_Count

    Not applicable to this function. ESCRIPTION This function queries and returns both the pre-trigger and the post-trigger sample count for the EX1629. Specifically, this is the number of samples that will be taken per TRIG event. If “0” is returned, the sample count is infinite.
  • Page 180: Vtex1629_Get_Sample_Frequency

    This function queries and returns the currently configured sample frequency, in hertz (Hz), for all channels. The EX1629 offers a discrete number of sample frequencies. Programmed values that fall between valid values will be rounded to the closest valid value. This function returns the actual sample frequency, which, due to this quantization, may be different from that which was programmed with the vtex1629_set_sample_frequency call.
  • Page 181: Vtex1629_Get_Scanlist

    This function queries and returns a list of channels currently configured to be sampled in the data acquisition process. The channels array must be at least 48 elements long. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[VTEX1629_MAX_SCANLIST_LENGTH]; ViInt32 numberOfChannels; … status = vtex1629_get_scanlist(instrumentHandle, channels, &numberOfChannels); EX1629 Command Set...
  • Page 182: Vtex1629_Get_Selfcal_Status

    48. Note that if the failedChannelArrayActualSize parameter returns a ‘0’, all channels passed self-calibration. XAMPLE ViSession instrumentHandle; ViStatus status = VI_SUCCESS; ViInt32 failedChannelArraySize = MAX_CHANNELS; ViInt32 failedChannelArray[MAX_CHANNELS]; ViInt32 failedChannelArrayActualSize = 0; status = vtex1629_get_selfcal_status(instrumentHandle, failedChannelArraySize, failedChannelArray, &failedChannelArrayActualSize); EX1629 Command Set...
  • Page 183: Vtex1629_Get_Settling_Time

    This function queries and returns the current settling time for a particular channel. Settling time is defined as the amount of time, in seconds, taken by the EX1629 signal conditioning module to settle to the input vale ± 2% of the input value after a reset of the signal conditioning path.
  • Page 184: Vtex1629_Get_Shunt_Enabled

    The shunt source can be configured using the vtex1629_set_shunt_source function. XAMPLE ViSession instrumentHandle; ViStatus status; ViBoolean shunt_enabled; … status = vtex1629_get_shunt_enabled(instrumentHandle, 0, & shunt_enabled); EX1629 Command Set...
  • Page 185: Vtex1629_Get_Shunt_Source

    Front Panel, Internal, and TEDS, refer to the three types of shunt sources supported. “Front Panel” refers to the shunt resistors that may be connected directly to the front panel of the EX1629, which are shared by 16 channels (0 through 15, 16 through 31, and 32 through 47). Only one channel may be connected to the Front Panel shunt at a time.
  • Page 186: Vtex1629_Get_Shunt_Value

    Front Panel, Internal, and TEDS, refer to the three types of shunt sources supported. “Front Panel” refers to the shunt resistors that may be connected directly to the front panel of the EX1629, which are shared by 16 channels (0 through 15, 16 through 31, and 32 through 47). Only one channel may be connected to the Front Panel shunt at a time.
  • Page 187: Vtex1629_Get_Stored_Config_Digest

    This function retrieves the digest of the instrument configuration saved in non-volatile memory. The digest is a digital signature representing the configuration data. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 digestActualSize; ViInt8 digest[VTEX1629_MAX_DIGEST_LENGTH]; … … status = vtex1629_get_stored_config_digest (instrumentHandle, VTEX1629_MAX_DIGEST_LENGTH, &digestActualSize); EX1629 Command Set...
  • Page 188: Vtex1629_Get_Strain_Units

    = a Boolean return value that indicates whether the EX1629 will return strain measurements in units of strain (ε) or microstrain (µε). A value of “1” indicates that the EX1629 is configured to return microstrain units for the given channel, whereas a value of “0” indicates the EX1629 is configured to return strain units for the given channel.
  • Page 189: Vtex1629_Get_Synch_Source

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. synchMode = an integer output value that indicates whether the EX1629 is operating as a master or slave. Valid return values: VTEX1629_SYNC_MODE_MASTER or VTEX1629_SYNC_MODE_SLAVE.
  • Page 190: Vtex1629_Get_Tare

    For strain measurements, it is also important to take into account whether a strain measurement is being output in strain (ε) or microstrain (µε) and configure the tare value appropriately. XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 tare_value; … … status = vtex1629_get_tare(instrumentHandle, 16, &tare_value); EX1629 Command Set...
  • Page 191: Vtex1629_Get_Teds_Data

    The tedsID element is a unique, 64-bit (8-byte) serial number assigned by the manufacturer to the 1-Wire TEDS device. The tedsInfo element contains the data stored in the DS2430’s 32-bytes of non-volatile memory. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt16 tedsID[VTEX1629_TEDS_IDSIZE]; ViInt32 maxlen; ViInt16 tedsinfo[VTEX1629_TEDS_DATASIZE]; … … status = vtex1629_get_teds_data(instrumentHandle, tedsID, VTEX1629_TEDS_DATASIZE, tedsinfo); EX1629 Command Set...
  • Page 192: Vtex1629_Get_Trigger_Count

    This function queries and returns the currently configured trigger count for the EX1629. Specifically, this is the number of times the EX1629 will wait for triggers after being armed before it will abort acquisition and return to the arm layer of the trigger state machine.
  • Page 193: Vtex1629_Get_Trigger_Delay

    This function queries and returns the trigger delay for the EX1629. Specifically, this is the amount of time, in seconds, that the EX1629 will wait after receiving a TRIG event before it begins to acquire data. Note that the value this function returns may not be identical to the value set by the vtex1629_set_trigger_delay function, as the actual delay time will vary with the set sample frequency (i.e., it is quantized, based on the sampling frequency).
  • Page 194: Vtex1629_Get_Trigger_Source

    TRIG layer and will automatically begin to acquire data. Pattern (1): this trigger source allows the EX1629 to “listen” for TRIG events on multiple sources. The EX1629 can be configured to “listen” for TRIG events on LXI Trigger Bus channels, digital I/O channels, a timer, and software triggers.
  • Page 195: Vtex1629_Get_Trigger_Timer

    ESCRIPTION This function queries and returns the trigger system timer for the EX1629. This is the amount of time, in seconds, that the EX1629 will wait before generating successive timer events, which can be used as an arm source and/or a trigger source.
  • Page 196: Vtex1629_Get_Unstrained_Voltage

    The function queries and returns the unstrained voltage currently configured for a given channel. This is one parameter in the EU calculations and represents the quiescent voltage across the bridge (i.e., with no load applied). XAMPLE ViSession instrumentHandle; ViStatus status; ViReal64 unstrained_voltage; … status = vtex1629_get_unstrained_voltage(instrumentHandle, 0, &unstrained_voltage); EX1629 Command Set...
  • Page 197: Vtex1629_Identify_Sensor

    16 through 31 are on another, and channels 32 through 47 are on another board) if front panel shunt, TEDS remote shunt, or internal shunt (remove) are active. If these conditions occur, an error will be generated. XAMPLE ViSession instrumentHandle; ViInt32 channel = 10; ViBoolean LED = VI_TRUE; status = vtex1629_identify_sensor(instrumentHandle, channel, LED); EX1629 Command Set...
  • Page 198: Vtex1629_Init

    ARAMETERS resourceName = this parameter must contain a unique descriptor for the EX1629 to which a session is to be opened. Part of this descriptor is the IP address of the instrument to which the user will connect. See Description below for more information.
  • Page 199: Vtex1629_Load_Stored_Config

    This function loads the stored configuration from the instrument’s non-volatile memory. It also returns a copy of the stored configuration digest, which is a digital signature representing the actual configuration data. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 digestActualSize; ViInt8 digest[VTEX1629_MAX_DIGEST_LENGTH]; … status = vtex1629_load_stored_config(instrumentHandle, VTEX1629_MAX_DIGEST_LENGTH, &digestActualSize); EX1629 Command Set...
  • Page 200: Vtex1629_Lock

    ESCRIPTION This function attempts to acquire a lock on the instrument. When locked, the EX1629 will only accept calls from the instrument session that successfully acquired the lock. When no client has a lock, calls are accepted from all clients.
  • Page 201: Vtex1629_Measure_Confidence

    ViSession instrumentHandle; ViStatus status = VI_SUCCESS; ViInt32 numOfChannels = MAX_CHANNELS; ViInt32 channels[MAX_CHANNELS]; ViInt32 sampleCount = 100; ViReal64 returnedVals[MAX_CHANNELS]; ViInt32 numOfReturnedValues = 0; int i = 0; for(i = 0; i < numOfChannels; i++) { channels[i] = i; EX1629 Command Set...
  • Page 202 VTI Instruments Corp. memset(returnedVals, 0x00, sizeof(returnedVals)); status = vtex1629_measure_confidence(instrumentHandle, CONFIDENCE_EXCITATION_CURRENT, numOfChannels, channels, sampleCount, returnedVals, &numOfReturnedValues); EX1629 Command Set...
  • Page 203: Vtex1629_Measure_Excitation_Voltage

    The sampleCount parameter typically can be set to values between 1 and approximately 3000 samples if sampling is performed at 500 Hz and filtering turned off. Since the maximum number of samples that can be stored is dependent on available memory and other settings this value can vary. EX1629 Command Set...
  • Page 204 VTI Instruments Corp. XAMPLE ViSession instrumentHandle; ViInt32 channels[5] = {0, 1, 2, 3, 4}; ViInt32 numberOfChannels = 5, numValues = 0; ViReal64 data[5]; ViStatus status; … status = vtex1629_measure_excitation_voltage( instrumentHandle, channels, numberOfChannels, VTEX1629_EXCITE_SRC_REMOTE, 100, data, &numValues, VI_TRUE ); EX1629 Command Set...
  • Page 205: Vtex1629_Measure_Lead_Wire_Resistance

    For the setEuconv parameter, a value of VI_TRUE (1) instructs the EX1629 to use the measured values for future EU conversions. If set to VI_FALSE (0), the values are stored in the resistance[] array, but are not used in measurements.
  • Page 206 VTI Instruments Corp. memset(resistance, 0x00, sizeof(resistance)); status = vtex1629_measure_lead_wire_resistance(instrumentHandle, numberOfChannels, channels, resistance, sampleCount, VI_TRUE); EX1629 Command Set...
  • Page 207: Vtex1629_Measure_Unstrained_Voltage

    XAMPLE ViSession instrumentHandle; ViInt32 channels[5] = {0, 1, 2, 3, 4}; ViInt32 numberOfChannels = 5, numValues = 0; ViReal64 data[5]; ViStatus status; … status = vtex1629_measure_unstrained_voltage( instrumentHandle, channels, numberOfChannels, 100, data, &numValues, VI_TRUE ); EX1629 Command Set...
  • Page 208: Vtex1629_Read_Fifo

    = an integer input value indicating the time, in seconds, that the function will spend retrieving data from the EX1629 before timing out and returning (timeout). If a zero is passed for this parameter, the timeout period is infinite.
  • Page 209 XAMPLE #define NUM_SCANS 10 #define NUM_CHANNELS 48 #define MAX_NUM_SAMPLES (NUM_SCANS * NUM_CHANNELS) #define TIMEOUT_SECS 5 ViSession instrumentHandle; ViReal64 seconds[NUM_SCANS]; ViReal64 fractseconds[NUM_SCANS]; ViReal64 acqdata[MAX_NUM_SAMPLES]; ViInt32 numdata, numscans; result = vtex1629_read_fifo(instrumentHandle, NUM_SCANS, seconds, fractseconds, &numscans, MAX_NUM_SAMPLES, acqdata, &numdata, TIMEOUT_SECS); EX1629 Command Set...
  • Page 210: Vtex1629_Read_Fifoex

    = an integer input value indicating the time, in seconds, that the function will spend retrieving data from the EX1629 before timing out and returning. If a zero is passed for this parameter, the timeout period is infinite. ESET ALUE Not applicable to this function.
  • Page 211 (to_secs) expires, whichever happens first. There are other mechanisms for retrieving data from the EX1629. Please see Retrieving Data (Read FIFO and Streaming Data) for more information.
  • Page 212: Vtex1629_Read_Teds_Mlan

    MLAN specification. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 bufferActualSize; ViInt8 mlanData[VTEX1629_MAX_MLAN_DATA_LEN]; … status = vtex1629_read_teds_MLAN(instrumentHandle, VTEX1629_MAX_MLAN_DATA_LEN, mlanData, &bufferActualSize); If (status >= VI_SUCCESS) <interpret the data structure in mlanData> } else { <inform the user the API call failed> EX1629 Command Set...
  • Page 213: Vtex1629_Read_Teds_Urn

    ViSession instrumentHandle; ViStatus status; ViInt32 urnActualSize; ViInt8 urnData[VTEX1629_MAX_MLAN_URN_SIZE]; … status = vtex1629_read_teds_URN (instrumentHandle, 15, VTEX1629_MAX_MLAN_URN_SIZE, urnData, &urnActualSize); If (status >= VI_SUCCESS) <do something with the device’s URN> } else { <inform the user the API call failed> EX1629 Command Set...
  • Page 214: Vtex1629_Reset

    Not applicable to this function. ESCRIPTION This function commands the instrument to assume the default settings, as defined in Table 6-1. NOTE This function will not release a lock on the EX1629 nor will it affect self-calibration data. XAMPLE ViSession instrumentHandle; ViStatus status;...
  • Page 215: Vtex1629_Reset_Fifo

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. ESET ALUE Not applicable to this function. ESCRIPTION This function clears all the currently stored data from the FIFO memory. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_reset_fifo(instrumentHandle); EX1629 Command Set...
  • Page 216: Vtex1629_Reset_Tare

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. ESET ALUE Not applicable to this function. ESCRIPTION This function resets the tare values for all channels to zero. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_reset_tare(instrumentHandle); EX1629 Command Set...
  • Page 217: Vtex1629_Reset_Trigger_Arm

    This function resets all trigger system configuration settings (Trigger and Arm) to their reset values, as defined in Table 6-1. When reconfiguring the trigger system, it is often easiest to reset to the default configuration and then apply the desired configuration. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_reset_trigger_arm(instrumentHandle); EX1629 Command Set...
  • Page 218: Vtex1629_Revision_Query

    ALUE Not applicable to this function. ESCRIPTION This function returns the revision of the driver as well as the instrument’s firmware revision. XAMPLE ViSession instrumentHandle; ViStatus status; ViChar driverRevision[256], instrumentRevision[256]; … status = vtex1629_revision_query (instrumentHandle, driverRevision, instrumentRevision); EX1629 Command Set...
  • Page 219: Vtex1629_Self_Cal_Clear

    If a self-calibration is performed, and non-volatile self-calibration data exists, executing this function effectively reverts to the non-volatile self-calibration data. With no non-volatile self-calibration data, this effectively reverts to full (factory/annual) calibration data. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_self_cal_clear (instrumentHandle); EX1629 Command Set...
  • Page 220: Vtex1629_Self_Cal_Clear_Stored

    Thus, the effective calibration will not be changed by this call. To return to an operating state where only the full calibration is used, the vtex1629_self_cal_clear function can be called, or the system can be rebooted. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_self_cal_clear_stored (instrumentHandle); EX1629 Command Set...
  • Page 221: Vtex1629_Self_Cal_Get_Status

    2 = Self-calibration failed. NOTE Additional instrument driver calls should not be performed until the result of calStatus is equal to VTEX1629_SELF_CAL_COMPLETE. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 percent; ViInt32 calstatus; … status = vtex1629_self_cal_get_status (instrumentHandle, &percent, &calstatus); EX1629 Command Set...
  • Page 222: Vtex1629_Self_Cal_Init

    Not applicable to this function. ESCRIPTION This function initializes the self-calibration routine on the EX1629. Note that the device should be left on and undisturbed throughout the entire calibration process. To check the progress of the calibration routine, refer to the vtex1629_self_cal_get_status function.
  • Page 223 <prompt user to verify that it is okay to override the uptime requirement> if( okay_to_override ) { status = vtex1629_self_cal_init (instrumentHandle, &override, &rec_uptime, &act_uptime); if( status < VI_SUCCESS ) { <inform the user the API call failed> } else { <inform the user the API call failed> EX1629 Command Set...
  • Page 224: Vtex1629_Self_Cal_Is_Running

    … while(count < 30) { status = vtex1629_self_cal_is_running (instrumentHandle, &isrunning); if (status >= VI_SUCCESS) { if( isrunning ) { sleep(5); } else { break; } else { <inform the user the API call failed> count += 1; EX1629 Command Set...
  • Page 225: Vtex1629_Self_Cal_Is_Stored

    This functions queries the existence of a previously saved self-calibration file within non-volatile memory. Non- volatile self-calibration data is automatically loaded and used upon an instrument power cycle or reboot. It is stored with the vtex1629_self_cal_store function. XAMPLE ViSession instrumentHandle; ViStatus status; ViBoolean isstored; … status = vtex1629_self_cal_is_stored (instrumentHandle, &isstored); EX1629 Command Set...
  • Page 226: Vtex1629_Self_Cal_Load

    This function takes a currently stored self-calibration file from nonvolatile memory and loads it as the current self- calibration file to be used in data acquisition. If current (volatile) self-calibration data previously existed, it is simply overwritten and need not be cleared in advance. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_self_cal_load(instrumentHandle); EX1629 Command Set...
  • Page 227: Vtex1629_Self_Cal_Store

    However, it does turn the determined constants into the current self- calibration data. A call to this function will store that image permanently in non-volatile storage. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_self_cal_store(instrumentHandle); EX1629 Command Set...
  • Page 228: Vtex1629_Self_Test

    The TestMessage parameter must be able to store up to 256 characters. The EX1629 self-test consists of a set of operations that are identical to those performed during self-calibration. No calibration data is modified by this function. Because it modifies the system configuration, however, an instrument synch (vtex1629_soft_synch) will be required before continuing with other operations.
  • Page 229: Vtex1629_Self_Test_Get_Status

    (status < VI_SUCCESS) <inform the user the API call failed> if ((status >= VI_SUCCESS) && (selfTestResult != VTEX1629_SELF_TEST_PASSED)) <inform the user the self test failed> if ((status >= VI_SUCCESS) && (selfTestResult == VTEX1629_SELF_TEST_PASSED)) <continue normal processing> EX1629 Command Set...
  • Page 230: Vtex1629_Self_Test_Init

    Because it modifies the system configuration, an instrument synch (vtex1629_soft_synch) will be required before continuing with other operations. XAMPLE ViStatus status; ViSession instrumentHandle; … status = vtex1629_self_test_init (instrumentHandle); if (status < VI_SUCCESS) <inform the user the API call failed> EX1629 Command Set...
  • Page 231: Vtex1629_Send_Dio_Pulse

    For example, to issue pulses on DIO lines 0 and 8 (assuming both backs are configured for output: dioPulse = 49164 → 0x00000101 → 00000001 00000001b Pulse widths are 1 microsecond (µs). XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 pulse_mask = 0x00000101; // pulse output bits 0 and 8 … status = vtex1629_send_dio_pulse(instrumentHandle, pulse_mask); EX1629 Command Set...
  • Page 232: Vtex1629_Send_Lxibus_Pulse

    LXI Trigger Bus channels zero and seven, then: pulseLines = 10000001b (0x0000 0081), or 129. Pulse widths are 1 microsecond (µs). XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 pulse_mask = 0x00000081; // pulse bits 7 and 0 … status = vtex1629_send_lxibus_pulse(instrumentHandle, pulse_mask); EX1629 Command Set...
  • Page 233: Vtex1629_Set_Arm_Count

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. armCount = an integer input value that specifies the desired arm count for the EX1629. Valid input values: 0 to -1). Setting this parameter to “0” makes the armCount infinite.
  • Page 234: Vtex1629_Set_Arm_Delay

    1 kHz, the sample time is 1 ms. If the arm delay is set to a value less than 0.5 ms, the EX1629 will experience no delay. If the arm delay is set to a value between 0.5 ms and 1.49 ms, the delay exhibited will be 1 ms.
  • Page 235: Vtex1629_Set_Arm_Source

    Pattern (1): this arm source allows the EX1629 to accept ARM events on multiple sources. Specifically, the EX1629 can be configured to accept ARM events on any LXI Trigger Bus channel, any digital I/O channel, on a timer, or for software arms. The instrument can be configured to accept any combination of these events simultaneously.
  • Page 236: Vtex1629_Set_Bridge_Limit

    This mode is valid for main bridge sampling frequencies of 1 kHz or less. If the sampling frequency exceeds 1 kHz a value of 0x0 is reported. Also, the bit fields corresponding to inactive channels in the scanlist will be 0. EX1629 Command Set...
  • Page 237 ViInt32 numChannels = MAX_NUMBER_OF_CHANNELS; ViInt32 channels[MAX_NUMBER_OF_CHANNELS]; ViReal64 minArr[MAX_NUMBER_OF_CHANNELS]; ViReal64 maxArr[MAX_NUMBER_OF_CHANNELS]; int i = 0; for(i = 0; i < MAX_NUMBER_OF_CHANNELS; i++) { channels[i] = i; minArr[i] = (-1.0); maxArr[i] = 2.0; status = vtex1629_set_bridge_limit(instrumentHandle, numChannels, channels, minArr, maxArr); EX1629 Command Set...
  • Page 238: Vtex1629_Set_Bridge_Limit_Enabled

    A value of VI_FALSE disables the excitation source. ESET ALUE enabled = VI_FALSE ESCRIPTION This function sets the enabled status of the bridge limit function. XAMPLE ViSession instrumentHandle; ViStatus status; ViBoolean enable = VI_TRUE; status = vtex1629_set_bridge_limit_enabled(instrumentHandle, enable); EX1629 Command Set...
  • Page 239: Vtex1629_Set_Cal_Out

    VTEX1629_CAL_ON (turns the calibration source on) VTEX1629_CAL_SHORT (shorts the calibration source jacks) VTEX1629_CAL_VREF (outputs precision calibration voltage source) The vtex1629_set_cal_source function is used to configure the precision calibration voltage source. NOTE This function is intended for factory use only. EX1629 Command Set...
  • Page 240: Vtex1629_Set_Cal_Source

    +1.1 0x0A VTEX1629_CALSRC_N_1_1 -1.1 0x0B VTEX1629_CALSRC_P_1_4 +1.4 0x0C VTEX1629_CALSRC_N_1_4 -1.4 0x0D VTEX1629_CALSRC_P_7_0 +7.0 0x0E VTEX1629_CALSRC_N_7_0 -7.0 0x0F VTEX1629_CALSRC_P_11_0 +11.0 0x10 VTEX1629_CALSRC_N_11_0 -11.0 0x11 VTEX1629_CALSRC_P_14_0 +14.0 0x12 VTEX1629_CALSRC_N_14_0 -14.0 NOTE This function is intended for factory use only. EX1629 Command Set...
  • Page 241: Vtex1629_Set_Completion_Resistor

    It is used in Full- and Half-Bridge mode. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0, 1, 2, 3, 4, 5, 6, 7}; ViInt32 numberOfChannels = 8; … status = vtex1629_set_completion_resistor(instrumentHandle, channels, numberOfChannels, VTEX1629_COMPRES_350); EX1629 Command Set...
  • Page 242: Vtex1629_Set_Conf_Scanlist

    2) Confidence element 12 can only be used on EX1629 with firmware version 1.0 or later. In order to clear the confidence scan list, a value of 0 should be set for the numConfElements parameter. In this case, the value of the confElements parameter is arbitrary.
  • Page 243: Vtex1629_Set_Confidence_Limit

    MAX Limit Exceeded status for source 0. Bit (CONF_NUM_SRC-1) represents the MIN Limit Exceeded status for source (CONF_NUM_SRC-1). Bit (16+CONF_NUM_SRC-1) represents the MAX Limit Exceeded status for source CONF_NUM_SRC. The rest of the sources follow the same pattern. EX1629 Command Set...
  • Page 244 ViInt32 numChannels = MAX_NUMBER_OF_CHANNELS; ViInt32 channels[MAX_NUMBER_OF_CHANNELS]; ViReal64 minArr[MAX_NUMBER_OF_CHANNELS]; ViReal64 maxArr[MAX_NUMBER_OF_CHANNELS]; int i = 0; for(i = 0; i < MAX_NUMBER_OF_CHANNELS; i++) { channels[i] = i; minArr[i] = (-2.0); maxArr[i] = 4.0; status = vtex1629_set_confidence_limit(instrumentHandle, confSrcEnum, numChannels, channels, minArr, maxArr); EX1629 Command Set...
  • Page 245: Vtex1629_Set_Confidence_Reporting_Mode

    VTEX1629_CONF_LIMIT_DETAILED_REPORT Detailed report mode selected If set to VTEX1629_CONF_LIMIT_DISABLE_REPORT, the EX1629 will not collect confidence limit checking data. If set to VTEX1629_CONF_LIMIT_SUMMARY_REPORT_ONLY, an array will be created which indicates the channels that exceeded their limits. VTEX1629_CONF_LIMIT_DETAILED_REPORT, by contrast, provides an array that indicates if the minimum or maximum limit of a channel has been exceeded.
  • Page 246: Vtex1629_Set_Dio_Bank0_Direction

    This function sets the direction of bank zero of the digital I/O as input or output. The direction parameter is defined as follows: VTEX1629_DIO_DIRECTION_IN (0) = input VTEX1629_DIO_DIRECTION_OUT (1) = output XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_dio_bank0_direction(instrumentHandle, VTEX1629_DIO_DIRECTION_OUT); EX1629 Command Set...
  • Page 247: Vtex1629_Set_Dio_Bank0_Pullup

    VTEX1629_PASIVE_PULLUP (0) = passive pull-up mode VTEX1629_ACTIVE_PULLUP(1) = active pull-up mode NOTE Active versus passive pullup applies only to banks that are in output mode. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_dio_bank0_pullup(instrumentHandle, VTEX1629_ACTIVE_PULLUP); EX1629 Command Set...
  • Page 248: Vtex1629_Set_Dio_Bank1_Direction

    This function sets the direction of bank one of the digital I/O as input or output. The direction parameter is defined as follows: VTEX1629_DIO_DIRECTION_IN (0) = input VTEX1629_DIO_DIRECTION_OUT (1) = output XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_dio_bank1_direction(instrumentHandle, VTEX1629_DIO_DIRECTION_OUT); EX1629 Command Set...
  • Page 249: Vtex1629_Set_Dio_Bank1_Pullup

    VTEX1629_PASIVE_PULLUP (0) = passive pull-up mode VTEX1629_ACTIVE_PULLUP(1) = active pull-up mode NOTE Active versus passive pullup applies only to banks that are in output mode. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_dio_bank1_pullup(instrumentHandle, VTEX1629_ACTIVE_PULLUP); EX1629 Command Set...
  • Page 250: Vtex1629_Set_Dio_Config_Events

    Pulse 0x03 DO_TOGGLE Toggle The DIO Event-Action items are saved in the configuration XML file as shown below: <dioeventactions_0> <numActions> x </numActions> <inputLine> x </inputLine> <inputTriggerType> x </inputTriggerType> <outputLine_0> x </outputLine_0> <outputLine_7> x </outputLine_7> </dioeventactions_0> <dioeventactions_15> </dioeventactions_15> EX1629 Command Set...
  • Page 251 ViInt32 inputTrigType = 0; ViInt32 numActions = MAX_DIO_CHANNELS; ViInt32 outputLineArr[MAX_DIO_CHANNELS]; ViInt32 outputActionTypeArr[MAX_DIO_CHANNELS]; ViInt32 i = 0; for(i = 0; i < MAX_DIO_CHANNELS; i++) { outputLineArr[i] = i; outputActionTypeArr[i] = 0; status = vtex1629_set_dio_config_events(instrumentHandle, inputLine, inputTrigType, numActions, outputLineArr, outputActionTypeArr); EX1629 Command Set...
  • Page 252: Vtex1629_Set_Dio_Output

    Thus, the setting of a nonzero output state only affects its actual state if the direction of the appropriate bank is set to output. This is done with the vtex1629_set_dio_bank0_direction and vtex1629_set_dio_bank1_direction functions. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_dio_output(instrumentHandle, 0x0000C00C); EX1629 Command Set...
  • Page 253: Vtex1629_Set_Eu_Conversion

    XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0, 1, 2, 3, 4, 5, 6, 7}; ViInt32 numberOfChannels = 8; … configure first 8 channels for quarter bridge, 120 ohm mode status = vtex1629_set_EU_conversion(instrumentHandle, channels, numberOfChannels, VTEX1629_EUCONV_QTR_BRIDGE_120); EX1629 Command Set...
  • Page 254: Vtex1629_Set_Euconv_Dynamic_Excitation_Enabled

    = VI_TRUE (1) ESCRIPTION This function sets the dynamic excitation EU conversion state. In this mode of operation, the EX1629 uses the excitation voltage measured by the confidence ADC (in real time) in its calculations. This mode is available for bridge sampling frequencies (f ) less than or equal to 1 kHz.
  • Page 255: Vtex1629_Set_Euconv_Excitation

    This function provides a manual method that is normally only used for system diagnostic purposes. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; ViInt32 numberOfChannels = 1; … status = vtex1629_set_euconv_excitation(instrumentHandle, channels, numberOfChannels, 2.0); EX1629 Command Set...
  • Page 256: Vtex1629_Set_Excitation

    This function sets the programmed excitation voltages for a given list of channels. The excitation value is quantized with a 14-bit DAC. Hence, the actual value can be queried with the vtex1629_get_excitation function. Additionally, the accuracy specifications (EX1629 Specifications) for the instrument require that the excitation voltage be measured (see vtex1629_measure_excitation_voltage) prior to taking strain gage readings.
  • Page 257: Vtex1629_Set_Excitation_Enabled

    0 V, regardless of its programmed value (please see Note 1 of the vtex1629_set_excitation function for information regarding excitation precision). XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; ViInt32 numberOfChannels = 1; … status = vtex1629_set_excitation_enabled(instrumentHandle, channels, numberOfChannels, VI_TRUE); EX1629 Command Set...
  • Page 258: Vtex1629_Set_Gain

    While defined as a real parameter, gain has only three valid values, corresponding to discrete hardware gain configurations. The gain cannot be arbitrarily set. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; ViInt32 numberOfChannels = 1; … status = vtex1629_set_gain(instrumentHandle, channels, numberOfChannels, VTEX1629_GAIN_HUNDRED); EX1629 Command Set...
  • Page 259: Vtex1629_Set_Gauge_Factor

    This function sets the gage factor for a list of channels. This is one of the parameters used in EU conversion calculations. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; ViInt32 numberOfChannels = 1; … status = vtex1629_set_gauge_factor(instrumentHandle, channels, numberOfChannels, 2.01); … EX1629 Command Set...
  • Page 260: Vtex1629_Set_Half_Bridge_Lead_Wire_Desensitization

    XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channelsArraySize = MAX_CHANNELS; ViInt32 channels[MAX_CHANNELS]; ViReal64 factor[MAX_CHANNELS]; ViInt32 i = 0; for(i = 0; i < channelsArraySize; i++) { channels[i] = i; status = vtex1629_set_half_bridge_lead_wire_desensitization(vi, channelsArraySize, channels, factor); EX1629 Command Set...
  • Page 261: Vtex1629_Set_Iir_Filter_Configuration

    The filterOrder parameter defines the desired order of the filter. When the filterType is set to Butterworth, there is an additional option of 0. This corresponds to an automatic option, whereby the EX1629 will assign an order based on an analog prototype Butterworth design given the sampling frequency, cutoff frequency, and a -200 dB attenuation at the Nyquist frequency.
  • Page 262 VTI Instruments Corp. NOTE When setting channel filters on the EX1629, it is highly recommended that the same filter setting be used for each group of sixteen channels (0 through 15, 16 through 31, and 32 through 47) as this ensures the tightest relative timing between channels. For more information on IIR filtering delays, please see the Group Delay discussion in Appendix B.
  • Page 263: Vtex1629_Set_Input_Multiplexer

    EU conversion. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; ViInt32 numberOfChannels = 1; … configure input multiplexer for channel 0 to be in quarter bridge mode status = vtex1629_set_input_multiplexer (instrumentHandle, channels, numberOfChannels, VTEX1629_INPUTMUX_BRIDGE_TYPE_QUARTER); EX1629 Command Set...
  • Page 264: Vtex1629_Set_Lead_Wire_Resistance

    XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channelsArraySize = MAX_CHANNELS; ViInt32 channels[MAX_CHANNELS]; ViReal64 resistance; ViInt32 i = 0; for(i = 0; i < channelsArraySize; i++) { channels[i] = i; memset(resistance, 0x00, sizeof(resistance)); status = vtex1629_set_lead_wire_resistance(vi, channelsArraySize, channels, resistance); EX1629 Command Set...
  • Page 265: Vtex1629_Set_Linearscaling_Configuration

    (intercept) is stored in the same location as the unstrained voltage. Since the linear scaling EU conversion and the strain EU conversions are mutually exclusive, this is never an issue in practice. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {24}; … status = vtex1629_set_linearscaling_configuration(instrumentHandle, channels, 1.0, 0.0); EX1629 Command Set...
  • Page 266: Vtex1629_Set_Lxi_Limit_Event_Enabled

    Additionally, tnhe transmitionScope should be set to VTEX1629_LXI_INTERNAL_EXTERNAL so that the triggers reach the rear panel. Implemented in firmware version 1.4.0. XAMPLE ViStatus status; status = vtex1629_set_lxi_limit_event_enabled(vi, 0, 0x10001, 0, 0); status = vtex1629_set_lxi_limit_event_enabled(vi, 1, 0, 0x10001, 0); EX1629 Command Set...
  • Page 267: Vtex1629_Set_Lxi_Limit_Event_Latch

    When latching is disabled, the state of the trigger line is decided once per scan and. when all chosen limit conditions are satisfied, the line is driven low. Implemented in firmware version 1.4.0. XAMPLE ViStatus status; status = vtex1629_set_lxi_limit_event_latch(vi, 0x02); EX1629 Command Set...
  • Page 268: Vtex1629_Set_Lxibus_Configuration

    Valid input values: 0 or 1. transmissionScope = an integer input value indicating whether transmissions on the specified channel will be input from an output to the external LXI bus, or will be kept internal to the EX1629. Valid input values: 0 or 1. ESET...
  • Page 269 = vtex1629_set_lxibus_configuration(master_instrumentHandle, VTEX1629_LXI_LINE_ONE, VTEX1629_LXI_OUTPUT, VTEX1629_LXI_INTERNAL_EXTERNAL); portion of configuring a slave instrument for distribution of clock and sync signals (LXI0, LXI1) for a master/slave configuration */ status = vtex1629_set_lxibus_configuration(slave_instrumentHandle, VTEX1629_LXI_LINE_ZERO, VTEX1629_LXI_INPUT, VTEX1629_LXI_INTERNAL_EXTERNAL); status = vtex1629_set_lxibus_configuration(slave_instrumentHandle, VTEX1629_LXI_LINE_ONE, VTEX1629_LXI_INPUT, VTEX1629_LXI_INTERNAL_EXTERNAL); EX1629 Command Set...
  • Page 270: Vtex1629_Set_Lxibus_Output

    LXI Trigger Bus to output high signals on channels zero and seven and low on all the rest of the LXI Trigger Bus channels, then this corresponds to the 8-bit number 10000001b → 0x81→ 129. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_lxibus_output(instrumentHandle, 0x81); EX1629 Command Set...
  • Page 271: Vtex1629_Set_Pattern_Arm_Configuration

    I/O channel zero, and the most significant bit corresponds to digital I/O channel seven. Each element specifies which events the EX1629 will accept as arm events on the digital I/O bus for different clock edges or states. If a user wants to specify a channel to for arm events, the corresponding bit should be set to “1”.
  • Page 272 VTI Instruments Corp. For example, if a user wishes to arm the EX1629 on a negative edge signal coming into the digital I/O bus on channels 0 and 3, then: dioLines[1] = 00001001b = 0x0009 = 9. With regard to the lxiOutput parameter, it is important to note that since the EX1629 can simultaneously accept arm events from multiple sources, it is necessary to reserve one of the LXI Trigger Bus line to communicate these events within the device and to other devices in a multi-device configuration.
  • Page 273: Vtex1629_Set_Pattern_Trig_Configuration

    3 = lxiTrigLines (Negative Level) For example, if a user wishes to trigger the EX1629 on a negative edge signal coming into the LXI Trigger Bus on channel 0 and a positive level on channels 3 and 6, then: lxiTrigLines[1] = 00000001b = 0x01 = 1 and lxiTrigLines[2] = 01001000b = 0x48 = 72.
  • Page 274 I/O channel zero, and the most significant bit corresponds to digital I/O channel seven. Each element specifies which events the EX1629 will accept as trigger events on the digital I/O bus for different clock edges or states. If a user wants to specify a channel for trigger events, the corresponding bit should be set to “1”.
  • Page 275: Vtex1629_Set_Poisson_Ratio

    This function sets the Poisson ratio for a list of channels. This is one of the parameters used in some strain gage EU conversion calculations. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0,1,2,3}; … status = vtex1629_set_poisson_ratio(instrumentHandle, channels, 4, 0.301); EX1629 Command Set...
  • Page 276: Vtex1629_Set_Sample_Clock_Source

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. sampleClockMode = an integer input value that determines whether the EX1629 is operating as a master or slave. Valid input values: VTEX1629_SAMP_CLK_MODE_MASTER or VTEX1629_SAMP_CLK_MODE_SLAVE.
  • Page 277: Vtex1629_Set_Sample_Count

    = 1000 ESCRIPTION This function sets both the pre-trigger and the post-trigger sample count for the EX1629. Specifically, this is the number of samples that will be taken per trigger event. If the postTrigSampleCount is set to “0” the sample count will be infinite.
  • Page 278: Vtex1629_Set_Sample_Frequency

    = 1000.00000 ESCRIPTION This function sets the sampling frequency of all channels of the EX1629. The EX1629 offers a discrete number of sample frequencies. Programmed values that fall between valid values will be rounded to the closest valid value. See Sampling Rate in Section 3 for a list of the valid values.
  • Page 279: Vtex1629_Set_Scanlist

    Regardless of the order of the elements in the array, when data is retrieved using vtex1629_read_fifo or vtex1629_read_fifoEx, the data will be organized in ascending order with respect to the elements in the scan list. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0,1,2,3}; … status = vtex1629_set_scanlist(instrumentHandle, channels, 4); EX1629 Command Set...
  • Page 280: Vtex1629_Set_Shunt_Enabled

    That must be set with the vtex1629_set_shunt_enabled command. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0,1,2,3}; … status = vtex1629_set_shunt_enabled(instrumentHandle, channels, 4, VI_TRUE); EX1629 Command Set...
  • Page 281: Vtex1629_Set_Shunt_Source

    Front Panel, Internal, and TEDS, refer to the three types of shunt sources supported. “Front Panel” refers to the shunt resistors that may be connected directly to the front panel of the EX1629, which are shared by 16 channels (0 through 15, 16 through 31, and 32 through 47).
  • Page 282 VTI Instruments Corp. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0,1,2,3}; … status = vtex1629_set_shunt_source (instrumentHandle, channels, 4, SHUNT_SOURCE_TEDS); Optional LED User Bridge shunt +RCAL -RCAL DS2430AP DATA TEDS Shunt Schematic EX1629 Command Set...
  • Page 283: Vtex1629_Set_Shunt_Value

    Front Panel, Internal, and TEDS, refer to the three types of shunt sources supported. “Front Panel” refers to the shunt resistors that may be connected directly to the front panel of the EX1629, which are shared by 16 channels (0 through 15, 16 through 31, and 32 through 47). Only one channel may be connected to the Front Panel shunt at a time.
  • Page 284: Vtex1629_Set_Strain_Units

    = VI_FALSE(0) (strain) ESCRIPTION This function determines whether the EX1629 will return strain measurements in units of strain (ε) or microstrain (µε) for a given list of channels. Each channel can be configured to return strain measurements in strain or microstrain (1 strain (ε) = 1x10...
  • Page 285: Vtex1629_Set_Synch_Source

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. synchMode = an integer input value that indicates whether the EX1629 is operating as a master, slave, or as a standalone. Valid input values: VTEX1629_SYNC_MODE_MASTER or VTEX1629_SYNC_MODE_SLAVE.
  • Page 286 VTI Instruments Corp. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_set_synch_source(instrumentHandle, VTEX1629_SYNC_MODE_MASTER, VTEX1629_LXI_LINE_ONE, VTEX1629_LXI_LINE_ONE); EX1629 Command Set...
  • Page 287: Vtex1629_Set_Tare

    The tare value is not linked to the units setting. For correct results, the EU conversion and units (ε or µε, if using a strain EU conversion) should be set first, followed by any tare value. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; … status = vtex1629_set_tare (instrumentHandle, channels, 1, 0.01); EX1629 Command Set...
  • Page 288: Vtex1629_Set_Teds_Data

    XAMPLE ViSession instrumentHandle; ViStatus status; ViInt16 tedsID[VTEX1629_TEDS_IDSIZE]; ViInt32 maxlen; ViInt16 tedsinfo[VTEX1629_TEDS_DATASIZE]; … … status = vtex1629_get_teds_data(instrumentHandle, tedsID, VTEX1629_TEDS_DATASIZE, tedsinfo); memset(tedsinfo, 0x0, sizeof(tedsinfo)); // clear device memory status = vtex1629_set_teds_data(instrumentHandle, tedsID, VTEX1629_TEDS_DATASIZE, tedsinfo); EX1629 Command Set...
  • Page 289: Vtex1629_Set_Trigger_Count

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. trigCount = an integer input value that specifies the trigger count for the EX1629. Valid input values: 1 to (2 -1).
  • Page 290: Vtex1629_Set_Trigger_Delay

    1 kHz, the sample time is 1 ms. If the trigger delay is set to a value less than 0.5 ms, the EX1629 will experience no delay. If the trigger delay is set to a value between 0.5 ms and 1.49 ms, the delay exhibited will be 1 ms.
  • Page 291: Vtex1629_Set_Trigger_Source

    Pattern (1): this trigger source allows the EX1629 to accept trigger events from multiple sources. The EX1629 can be configured to accept trigger events on LXI Trigger Bus channels, digital I/O channels, a timer, and software triggers.
  • Page 292: Vtex1629_Set_Trigger_Source_Timer

    = contains a session handle to the instrument. This handle is obtained by the function and remains valid until the session is closed. timerPeriod = a real input value indicating the time, in seconds, the EX1629 will wait in between generating TRIG events. Valid input values: 0 s to 167 s.
  • Page 293: Vtex1629_Set_Trigger_Timer

    ESCRIPTION This function sets the trigger timer period for the EX1629. This is the amount of time, in seconds, that the EX1629 will wait before generating successive timer events, which can be used as an arm source or a trigger source, but not both.
  • Page 294: Vtex1629_Set_Unstrained_Voltage

    This function provides a manual method that is normally only used for system diagnostic purposes. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 channels[] = {0}; … status = vtex1629_set_unstrained_voltage(instrumentHandle, channels, 1, 0.01); EX1629 Command Set...
  • Page 295: Vtex1629_Soft_Arm

    ESET ALUE Not applicable to this function. ESCRIPTION This function sends a software generated arm event to the EX1629. Note, a software arm is only legal when the arm source is configured as pattern (see vtex1629_set_arm_source). XAMPLE ViSession instrumentHandle; ViStatus status;...
  • Page 296: Vtex1629_Soft_Synch

    The signal conditioning path is reset on a sync event, which means that acquisition data will not reflect the input signals until the digital filters settled. See vtex1629_get_settling_time for more information. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_soft_synch(instrumentHandle); EX1629 Command Set...
  • Page 297: Vtex1629_Soft_Trig

    ESET ALUE Not applicable to this function. ESCRIPTION This function sends a software-generated trigger event to the EX1629. A software trigger is only legal when the trigger source is configured as pattern (see vtex1629_set_trigger_source). XAMPLE ViSession instrumentHandle; ViStatus status;...
  • Page 298: Vtex1629_Store_Current_Config

    This function stores the current configuration of the instrument in the nonvolatile storage. A digest of the stored configuration is returned. The digest is a digital signature representing the actual configuration data. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt32 digestActualSize; ViInt8 digest[VTEX1629_MAX_DIGEST_LENGTH]; … status = vtex1629_store_current_config(instrumentHandle, VTEX1629_MAX_DIGEST_LENGTH, digest, &digestActualSize); EX1629 Command Set...
  • Page 299: Vtex1629_Trig_Init

    Not applicable to this function. ESCRIPTION This function initiates the trigger system. Specifically, calling this function moves the trigger state machine from the Idle layer into the Init layer. XAMPLE ViSession instrumentHandle; ViStatus status; … status = vtex1629_trig_init(instrumentHandle); EX1629 Command Set...
  • Page 300: Vtex1629_Unlock

    ESET ALUE Not applicable to this function. ESCRIPTION This function unlocks the EX1629 instrument, if the user is the owner of the lock. The EX1629 can then be accessed by another user or another session. XAMPLE ViSession instrumentHandle; ViStatus status;...
  • Page 301: Vtex1629_Write_Teds_Mlan

    2) The bytes returned in ‘buffer’ need to be interpreted by the application in accordance with the MLAN specification. XAMPLE ViSession instrumentHandle; ViStatus status; ViInt8 mlanData[VTEX1629_MAX_MLAN_DATA_LEN]; … <prepare the command bytes in the mlanData array> status = vtex1629_write_teds_MLAN (instrumentHandle, VTEX1629_MAX_MLAN_DATA_LEN, mlanData); If (status < VI_SUCCESS) <inform the user the API call failed> EX1629 Command Set...
  • Page 302: Vtex1629_Zero_Cal

    = an integer return value indicating the recommended amount of time, in seconds, the EX1629 should be powered up attempting a zero calibration. currentUpTime = an integer return value indicating the amount of time, in seconds, that the EX1629 has been powered up.
  • Page 303: Error Messages

    The following table lists possible error codes and their meanings which may be returned by driver functions. The following error codes, in hexadecimal, may be encountered while operating the EX1629. The corresponding error messages’ text can be obtained by using the vtex1629_error_message function.
  • Page 304 TEDS device is not present. FFBFFC0A3C VTEX1629_ERROR_TEDS_CHKSUM_FAIL TEDS check sum failure. FFBFFC0A3D VTEX1629_TEDS_WRITE_FAIL Failure writing to TEDS device. FFBFFC0A3E VTEX1629_ERROR_XML_SAVE_FILE Writing calibration file. FFBFFC0A3F VTEX1629_ERROR_XML_LOAD_FILE Loading calibration file. FFBFFC0A40 VTEX1629_ERROR_XML_MALFORMED Corrupted calibration file. FFBFFC0A41 VTEX1629_ERROR_XML_INVALID_PARM Invalid parameter for calibration. EX1629 Command Set...
  • Page 305 FFBFFC0A62 VTEX1629_ERROR_INCONSISTENT_TRIGGER_TIMESTAMP Trigger timestamp is not consistent across all channels. FFBFFC0A63 VTEX1629_ERROR_INCONSISTENT_SYNC_TIMESTAMP Sync timestamp is not consistent across all channels. FFBFFC0A64 VTEX1629_ERROR_MLAN_BUFFER_OVERFLOW MicroLAN buffer overflow. FFBFFC0A65 VTEX1629_ERROR_MLAN_BUFFER_LEN_MISMATCH MicroLAN buffer length mismatch. FFBFFC0A66 VTEX1629_ERROR_UNSUPPORTED_TEDS_DEVICE Unsupported TEDS device. EX1629 Command Set...
  • Page 306 Maximum is 16 channels constrained to a bank of 1-15. FFBFFC0A8E VTEX1629_ERROR_DIO_NO_INPUT_BANK_CONFIGURED Digital error. No input bank configured. FFBFFC0A8F VTEX1629_ERROR_DIO_NO_OUTPUT_BANK_CONFIGURED Digital error. No output bank configured. FFBFFC0A90 VTEX1629_ERROR_DIO_CONFLICT_OUTPUT_IN_USE Digital IO conflict because output is in use. EX1629 Command Set...
  • Page 307 FFBFFC0AB0 VTEX1629_VXI11_ERROR_INVALID_ADDRESS VXI11 Invalid address. FFBFFC0AB1 VTEX1629_VXI11_ERROR_ABORT VXI11 Abort. FFBFFC0AB2 VTEX1629_VXI11_ERROR_CHANNEL_ALREADY_ESTABLISHED VXI11 Channel already established. FFBFFC0AB3 VTEX1629_ERROR_BRIDGE_LIMIT_CHECKING_NOT_SUPPORTED_AT_CURR_FS Bridge limit checking not supported at current sampling frequency. FFBFFC0AB4 VTEX1629_ERROR_FS_NOT_SUPPORTED_WHEN_BRIDGE_LIMIT_CHECKING_ENABLED Sample frequency not supported when bridge limit checking is enabled. EX1629 Command Set...
  • Page 308 Invalid gain setting. FFBFFC0AD9 VTEX1629_ERROR_INVALID_COMPRES_TYPE Invalid completion resistor type. FFBFFC0ADA VTEX1629_ERROR_INVALID_SHUNT_SRC Invalid shunt source. FFBFFC0ADB VTEX1629_ERROR_CONF_TOO_MANY_ENTRIES Too many conf entries. FFBFFC0ADC VTEX1629_ERROR_FPGA_TRIGABORT_ACQ_TO_IDLE_TIMEOUT FPGA acquisition to idle timeout. FFBFFC0ADD VTEX1629_ERROR_TEDS_INFO_CRC_FAILURE TEDS info CRC failure. FFBFFC0ADE VTEX1629_ERROR_TEDS_ID_CRC_FAILURE TEDS ID CRC failure. EX1629 Command Set...
  • Page 309 Can not set EU conversion on a channel where dynamic excitation EU conversion mode is enabled. FFBFFC0AF0 VTEX1629_TEMP_DIR_WRITE_PROTECTED Error: The temporary directory C:\Temp either does not exist or is write- protected. None VI_WARN_NSUP_SELF_TEST WARNING: Self-Test not supported. None VI_WARN_NSUP_ERROR_QUERY WARNING: Error Query not supported. EX1629 Command Set...
  • Page 310 VTI Instruments Corp. EX1629 Command Set...
  • Page 311: Appendixa

    PERATION NTRODUCTION While a single EX1629 provides a sophisticated strain gage instrument, the ability to connect multiple instruments together as an ensemble, creating a single, high sample-rate, high channel- count acquisition system provides enormous power. This section describes how configure such systems.
  • Page 312 This causes signals to reach each of the slaves at slightly different times (a good rule of thumb is that electrical signals travel along cables at approximately 1 ft/ns). EX1629 Multi-Instrument Operation...
  • Page 313 LXI Line 0 and input on LXI Line 4, with the LXI Trigger Bus Hub/Switch connecting LXI Line 0 to LXI Line 4. For more on configuration configuring the signals, vtex1629_set_sample_clock_source, vtex1629_set_synch_source, vtex1629_set_pattern_arm_configuration, and vtex1629_set_pattern_trig_configuration functions. EX1629 Multi-Instrument Operation...
  • Page 314: Triggering

    Fundamentally, all trigger and arm events are transmitted across the EX1629’s internal LXI Trigger Bus to the actual acquisition hardware. The events may come from the external LXI Trigger Bus, or from other trigger domains, such as DIO, Timer, and software.
  • Page 315: Appendixb

    PPENDIX EX1629 F ILTERING NTRODUCTION The diagram below details the filter chain present in the EX1629 channels, which contains both analog and digital components. These components are discussed sequentially in the following sections. C6713 ADS1271 FPGA Analog Butterworth/ 50 kSa/s...
  • Page 316: Digital Filters

    ILTERS The following table provides detailed information concerning the digital filters used by the ADC of the EX1629. For more information on digital filtering, Discrete-Time Signal Processing (2nd Edition) by Alan Oppenheim could be used as a reference. 60 Hz...
  • Page 317: Cic Filter

    The need to have more than one filter arises due to the wide range of decimation factors. The CIC droop after compensation is bounded by ±0.0002. The group delay of this filter is 2.5 samples. Filtering operations done in floating point. EX1629 Filtering...
  • Page 318: Group Delay

    The settling time of a FIR filter is twice the group delay (2τ g FIR In the EX1629, the ADC and the CIC are FIR filters. Their group delays are: ADC = 39 samples @ 50 kSa/s @ 50 kSa/s...
  • Page 319: Transformations

    It is possible to post-process the data from the EX1629 and compensate for group delay on a per channel (per filter) basis. The group delay of all channels can be queried using the vtex1629_get_IIR_filter_configuration() function.
  • Page 320: The Matched Z-Transform

    VTI Instruments Corp. The Matched Z-transform Under most circumstances, the BLT is superior to the matched Z-transform (MZT). The principal disadvantage of the BLT is that the frequency scale is “warped” so that, for a low-pass filter: 0 Hz In the analog domain maps to 0 Hz in the digital domain...
  • Page 321: Appendixc

    After writing to the scratchpad, the data can then be copied to the main memory. WARNING The scratchpad will be erased if you unplug your MLAN device, power off the EX1629, or wait a significant amount of time between commands. VTI Instruments recommends performing scratchpad operations in a production environment using the “write_and_copy”...
  • Page 322: Programming Mlan

    These commands are defined by the MLAN specification. In general, these commands are targeted at the MLAN repeater (1-Wire bus master) itself, not the 1-Wire, TEDS devices. //Functions that modify TEDS data #define WRITE_SCRATCHPAD 0x0F #define READ_SCRATCHPAD 0xAA #define COPY_SCRATCHPAD 0x55 #define READ_MEMORY 0xF0 EX1629 Onboard Memory...
  • Page 323 This function performs an MLAN bus master reset, that is, it resets the MLAN repeater inside the EX1629. As can be seen, the first byte of the packet is reserved for the length of the packet. This not only defines a maximum size for an MLAN packet, but also tells the controller how much space to allocate for it.
  • Page 324 // send and receive the frame MLanHostPacketSend(SendPkt, channel); recLen = MLanHostPacketReceive(RecPkt, channel, MLAN_PACKET_SIZE); return recLen; As in the pervious example, the first byte is reserved for length and increments our index as commands are inserted into the packet. EX1629 Onboard Memory...
  • Page 325: Ds2430 Commands

    It is included for clarity and as one of the simpler examples of MLAN programming. NOTE The EX1629 supports only one device per channel in 0.4.x and previous firmware revisions. Here is an example output from the GET_URN function using the example code: sent packet without errors...
  • Page 326 DS2431, which will be seen later. The “for” loop that is next in the code translates the ASCII text string “data”, which was passed in (see the example data string above), into its hexadecimal equivalent to be sent to the controller. EX1629 Onboard Memory...
  • Page 327: Read_Scratchpad_2430

    (always “0” for this example, but if less than the scratchpad length is read, this could be incremented and read multiple times) is all that must be sent. The expected data length is 2+SCRATCHPAD_LEN. See WRITE_SCRATCHPAD_2430 for why this length is used. EX1629 Onboard Memory...
  • Page 328: Copy_Scratchpad_2430

    DS2431. Note that the expected response length is the minimum 2 bytes. Since the COPY_SCRATCHPAD command does not actually return data to us, space does not have to be allocated in the return buffer. EX1629 Onboard Memory...
  • Page 329: Read_Memory_2430

    READ_MEMORY_2431command for an example of this. Note that the return buffer size does have to be big enough to hold the whole address space, so the standard two bytes of MLAN data are added to the DS2430’s address space size. EX1629 Onboard Memory...
  • Page 330: Write_And_Copy_Scratchpad_2430

    // send the address byte SendPkt[sendLen++] = 0; // the bytes of data to write for (i = 0; i < ((2*DS2430_SCRATCHPAD_LEN) + (DS2430_SCRATCHPAD_LEN-1)); i+=3) strncpy(byte, &data[i],2); byte[2] = '\0'; SendPkt[sendLen++] = (uint8_t)strtoul(byte, NULL, 16); //convert to hex EX1629 Onboard Memory...
  • Page 331: Ds2431 Commands

    MLAN controller. Some examples of these difference can be seen in the WRITE_SCRATCHPAD command. int write_scratchpad_2431(const char* data, int channel, int address) int sendLen, recLen = 0; int i = 0; char byte[3]; if(strlen(data) != ((DS2431_SCRATCHPAD_LEN * 2 ) + (DS2431_SCRATCHPAD_LEN-1))) EX1629 Onboard Memory...
  • Page 332 The first address register, T1, is the beginning offset, and T2 is the address. As can be seen in the example, T1 is used to offset the data within the main memory, allowing users to EX1629 Onboard Memory...
  • Page 333: Read_Scratchpad_2431

    // request the result buffer as the last command SendPkt[sendLen++] = CMD_GETBUF; // set the length SendPkt[0] = sendLen - 1; // send and receive the frame MLanHostPacketSend(SendPkt, channel); recLen = MLanHostPacketReceive(RecPkt, channel, MLAN_PACKET_SIZE); CRCcalc(RecPkt, 6, 12); return recLen; EX1629 Onboard Memory...
  • Page 334: Copy_Scratchpad_2431

    (The address should be the same address passed in to WRITE_SCRATCHPAD). The ES register must also be passed in, which should be “07”, identical to its value in the READ_SCRATCHPAD command (if the original write was EX1629 Onboard Memory...
  • Page 335: Read_Memory_2431

    08 82 00 0A 04 55 00 00 07 READ_MEMORY_2431 Since the EX1629 can only read a buffer roughly corresponding to the size of the DS2430 memory and the DS2431 has almost five times that amount, reads of the DS2431 must be done in segments.
  • Page 336: Write_And_Copy_Scratchpad_2431

    WRITE_AND_COPY_SCRATCHPAD_2431 Like all 1-Wire devices, the DS2431 chips are powered down between MLAN commands on the EX1629. This can cause the volatile scratchpads to lose data, and, as such, the individual WRITE_SCRATCHPAD and COPY_SCRATCHPAD commands are only recommended for demonstration purposes.
  • Page 337 < 0) printf("Invalid scratchpad address, must be between 0 and 88 hex\n"); return -1; SendPkt[sendLen++] = address; SendPkt[sendLen++] = 0; SendPkt[sendLen++] = 0x07; // delay for 128ms SendPkt[sendLen++] = CMD_DELAY; SendPkt[sendLen++] = 1; SendPkt[sendLen++] = DELAY_128 | DELAY_MS; EX1629 Onboard Memory...
  • Page 338: Additional Notes

    31 bits in the page (dropping any carry) makes the result 0. In the example code (and in the EX1629 driver used to implement it) there are no checks made to ensure that the user inserts a checksum properly. If the user wishes to implement checksums (and, therefore, be fully compliant with the IEEE 1451.4 standard), a proper...
  • Page 339: Printing Packets

    (sender vs. receiver) was doing the printing. Here is the code for the PrintPacket function. void PrintPacket(uint8_t* pkt) int len = pkt[0]+1; int i = 0; printf("Packet length: %i\n", len); for (i=0 ; i< len ; i++) EX1629 Onboard Memory...
  • Page 340: Crc Checking

    The last function which has not yet been discussed is the REPEATER_TEST function. The purpose of this function is to query the MLAN command repeater inside the EX1629 and retrieve several items of data from it, including the version of the MLAN protocol it implements and the vendor identification string.
  • Page 341: Ppendixd

    EMORY NBOARD EMORY AND LEARING ROCEDURE The EX1629 contains onboard memory which stores various information about the unit as well as data acquired. Table D-1 details the memory components and provided a procedure for clearing the memory. User Component Volatile?
  • Page 342 VTI Instruments Corp. EX1629 Onboard Memory...
  • Page 343: Index

    ................48 driver ..................35, 75 default settings ................. 49 DSP filters installation location ..............27 CIC compensation filter ............315 instrument driver ................75 FIR decimation filter ............... 316 IP ............See network configuration IIR filters ................316 EX1629 Index...
  • Page 344 VTI Instruments Corp. LAN Configuration Initialize ........... 36, 62, 69 READ_MEMORY LAN Instrument Connection and Upgrade utility ....28, 67 DS2430 .................. 327 LCI ..........See LAN Configuration Initialize DS2431 ................329, 333 lead wire ................22, 23, 25 READ_SCRATCHPAD ............ 319, 320 LInC-U ..
  • Page 345 ............225 vtex1629_get_dio_bank1_direction ........... 144 vtex1629_self_test ..............226 vtex1629_get_dio_bank1_pullup ..........145 vtex1629_self_test_get_status ........... 227 vtex1629_get_dio_config_events ..........146 vtex1629_self_test_init .............. 228 vtex1629_get_dio_input ............. 147 vtex1629_send_dio_pulse ............229 vtex1629_get_dsp_version ............149 vtex1629_send_lxibus_pulse ............. 230 vtex1629_get_EU_conversion............ 150 vtex1629_set_arm_count ............231 EX1629 Index...
  • Page 346 VTI Instruments Corp. vtex1629_set_arm_delay ............232 configuration diagram .............. 35 vtex1629_set_arm_source ............233 differential input digitizer ............34 vtex1629_set_bridge_limit ............234 pin assignments ................ 58 vtex1629_set_bridge_limit_enabled ........... 236 single-ended input digitizer ............34 vtex1629_set_cal_source ............ 237, 238 WRITE_AND_COPY_SCRATCHPAD vtex1629_set_completion_resistor ..........239 DS2430 ..................

Table of Contents