Beruflich Dokumente
Kultur Dokumente
Programming Interface
User Guide
Rev. 1.6
E-mail: ldsdactron-techsupport@bksv.com
Web Site: www.bksv.com
Information in this document is subject to change without notice. No part of this document may
be reproduced or transmitted in any form or by any means, electronic or mechanical, for any
purpose, without the express written permission of Brüel & Kjær Sound & Vibration
Measurement A/S (“Brüel & Kjær”).
By installing, copying or using the Software, the user agrees to be bound by the terms of the
Brüel & Kjær End User License Agreement which is a legally binding agreement between the
user (“the Licensee”) and Brüel & Kjær for the Brüel & Kjær software, which includes software
components and tools, and written documentation (“Software”).
Brüel & Kjær makes no warranties on the Software, whether express or implied, nor implied
warranties of merchantability or fitness for a particular purpose. Brüel & Kjær does not
warrant your data, that the software will meet your requirements, or that the operation will be
reliable or error free. The Licensee of the Software assumes the entire risk of use of the
Software and the results obtained from use of the software. Brüel & Kjær shall not be liable for
any incidental or consequential damages, including loss of data, lost profits, cost of cover or
other special or indirect damages.
Copyright © 2009. Brüel & Kjær Sound & Vibration Measurement A/S. All rights reserved
All trademarks and registered trademarks are the property of their respective holders.
Table of Contents
1 Introduction ............................................................................................................................. 1
2 Installation............................................................................................................................... 4
LDS-Dactron Hardware Installation ....................................................................................... 4
ActiveX API Software Installation ......................................................................................... 4
Run Get Status Sample Program............................................................................................. 6
3 Sample ActiveX Programs ...................................................................................................... 7
Get Status VB ......................................................................................................................... 8
Button Status Sample VB ....................................................................................................... 9
Measurement Sample VB ..................................................................................................... 10
Source Sample VB ................................................................................................................ 11
Throughput Sample VB ........................................................................................................ 12
4 Measurement Without Programming .................................................................................... 15
Visual Basic .......................................................................................................................... 15
Matlab ................................................................................................................................... 15
Using MeasEngine object in Microsoft Visual Basic ........................................................... 16
Using MeasEngine object in Mathworks Matlab.................................................................. 17
Using MeasEngine object in Agilent VEE ........................................................................... 18
Using MeasEngine object in NI LabVIEW .......................................................................... 19
5 Library Overview .................................................................................................................. 21
Object model ......................................................................................................................... 21
Basic Setup............................................................................................................................ 22
Measurement Setup ........................................................................................................... 23
Channel Setup ................................................................................................................... 24
Using source output .......................................................................................................... 24
Arm and trigger ................................................................................................................. 24
Recovering from Software Failure.................................................................................... 25
6 MeasEngine Object ............................................................................................................... 26
MeasEngine methods ............................................................................................................ 26
MeasEngine.Open ............................................................................................................. 26
MeasEngine.Close ............................................................................................................ 26
MeasEngine.Start .............................................................................................................. 27
MeasEngine.Initialize ....................................................................................................... 27
MeasEngine.Stop .............................................................................................................. 27
MeasEngine.Arm .............................................................................................................. 27
MeasEngine.Trigger.......................................................................................................... 28
MeasEngine.Abort ............................................................................................................ 28
MeasEngine.ReadDone ..................................................................................................... 29
MeasEngine.SaveSetup(file) ............................................................................................. 29
MeasEngine.LoadSetup(file) ............................................................................................ 29
MeasEngine properties.......................................................................................................... 29
MeasEngine.NumberOfInputs .......................................................................................... 30
MeasEngine.NumberOfSources........................................................................................ 30
MeasEngine.Error ............................................................................................................. 30
MeasEngine.MeasState ..................................................................................................... 31
MeasEngine.State.............................................................................................................. 32
MeasEngine.DataAvailable .............................................................................................. 32
MeasEngine.xData(channel)............................................................................................. 33
MeasEngine.yData(channel)............................................................................................. 33
MeasEngine.yReal(channel) ............................................................................................. 33
MeasEngine.yImag(channel) ............................................................................................ 34
MeasEngine.MeasSetup .................................................................................................... 34
MeasEngine.ArmTrigger .................................................................................................. 34
MeasEngine.Average ........................................................................................................ 34
MeasEngine.Input ............................................................................................................. 34
MeasEngine.Source .......................................................................................................... 34
MeasEngine.Thruput ......................................................................................................... 35
MeasEngine.Hardware ...................................................................................................... 35
MeasEngine.HardwareCommand ..................................................................................... 35
MeasEngine.ErrorString ................................................................................................... 35
MeasEngine.SystemReady................................................................................................ 35
MeasEngine.Log ............................................................................................................... 35
MeasEngine.DataType ...................................................................................................... 35
MeasEngine.Version ......................................................................................................... 36
MeasEngine.LibraryVersion ............................................................................................. 36
MeasEngine.Address ........................................................................................................ 36
MeasEngine events ............................................................................................................... 36
DataAvailable event .......................................................................................................... 36
MeasEnded event .............................................................................................................. 37
Error event ........................................................................................................................ 37
SystemReady event ........................................................................................................... 37
HardwareCommand event ................................................................................................ 37
RecordDone event ............................................................................................................. 37
7 MeasSetup Object ................................................................................................................. 38
MeasSetup properties ............................................................................................................ 38
MeasSetup.Span, MeasSetup.Spans ................................................................................. 38
MeasSetup.SamplingFreq, MeasSetup. SamplingFreqs ................................................... 39
MeasSetup.BlockSize, BlockSizeRange ........................................................................... 39
MeasSetup.Window, Windows ........................................................................................ 40
MeasSetup.Overlap, OverlapRange .................................................................................. 40
MeasSetup.CenterFreq, CenterFreqRange........................................................................ 40
8 ArmTrigger Object................................................................................................................ 42
ArmTrigger properties .......................................................................................................... 42
ArmTrigger.ArmMode, ArmModes ................................................................................ 42
ArmTrigger.TriggerMode, TriggerModes ....................................................................... 43
ArmTrigger.TriggeChannel .............................................................................................. 43
ArmTrigger.TriggerDelay, TriggerDelayRange .............................................................. 43
ArmTrigger.TriggerLevel, TriggerLevelRange ............................................................... 44
ArmTrigger.TriggerSlope, TriggerSlopes ....................................................................... 44
9 Average Object ..................................................................................................................... 45
Average properties ................................................................................................................ 45
Average.Type, Types ........................................................................................................ 45
Average.Number, NumberRange...................................................................................... 46
10 Input Object .......................................................................................................................... 47
Input properties ..................................................................................................................... 47
Input.Enable(channel)....................................................................................................... 47
Input.Range(channel), Input.Ranges(channel) ................................................................. 47
Input.Coupling(channel), Couplings(channel) ................................................................ 48
Input.RangeStatus(channel) .............................................................................................. 48
Input.EU(channel) ............................................................................................................ 48
Input.EUScale(channel) .................................................................................................... 48
11 Source Object ........................................................................................................................ 49
Source methods ..................................................................................................................... 49
Source.Start ....................................................................................................................... 49
Source.Stop ....................................................................................................................... 49
Source properties .................................................................................................................. 49
Source.Enable(channel) .................................................................................................... 50
Source.Name(channel)...................................................................................................... 50
Source.Type(channel), Source.Types(channel) ............................................................... 50
Source.Amplitude(channel), AmplitudeRange(channel) ................................................. 51
Source.SineFreq(channel), SineFreqRange(channel) ...................................................... 51
Source.BurstDutyCycle(channel), BurstDutyCycleRange(channel)............................... 51
Source.ControlCoupling(channel) .................................................................................... 51
Source.ArbBufferSize(channel), ArbBufferSizeRange(channel) ................................... 52
Source.ArbData(channel) ................................................................................................. 52
Source.State(channel) ....................................................................................................... 53
12 Thruput Object ...................................................................................................................... 54
Thruput Properties ................................................................................................................ 54
Thruput.Enable.................................................................................................................. 54
Thruput.FileFolder ............................................................................................................ 54
Thruput.FileFormat ........................................................................................................... 54
Thruput.RecordTime ......................................................................................................... 55
Thruput.State ..................................................................................................................... 55
13 Hardware Object ................................................................................................................... 56
Hardware Properties.............................................................................................................. 56
Hardware.HardwareType .................................................................................................. 56
Hardware.HardwareVersion ............................................................................................. 56
Hardware.SerialNumber ................................................................................................... 56
Introduction
1 Introduction
The LDS-Dactron ActiveX API (Application Programming Interface) is a library of
functions that allows ActiveX enabled software to drive the LDS-Dactron hardware. This
allows users to develop customized user interfaces for specific applications while taking
advantage of the powerful LDS-Dactron hardware, signal conditioning, data processing and
throughput to disk. The ActiveX API can be used with any ActiveX enabled software such
as Visual Basic, Visual C, Matlab, Labview, Excel, etc. The developer programs the
ActiveX enabled software to invoke the ActiveX commands, which are implemented on the
LDS-Dactron hardware. These commands include sending commands to set up the
hardware, obtaining status, and data.
Customized User
Interface
The user must install the ActiveX API library onto the PC before the ActiveX API can be
used. The installation copies sample files, this manual and the ActiveX API library onto the
hard drive. It also registers the API library in Windows as “ME4R 1.0 type library.” Refer
to the installation instructions for more information
1
Introduction
After the ActiveX API is installed on the PC it is strongly suggested that the developer run
the sample programs provided with the software. These programs include samples in Visual
Basic and are intended to illustrate the applications of the methods, properties and events of
the ActiveX API. They can also be used to test that the software and hardware are installed
correctly and are functioning properly. Refer to the section on Sample Programs for more
information.
The current version software, version 1.3, supports following types of hardware platforms:
A detailed description of the properties, methods and events of the ActiveX API are
included in this manual. The architecture of the API consists of a Measurement Engine with
several sub objects as shown below.
MeasEngine
MeasSetup
Average
Input
Source
Hardware
Throughput
The sub objects have their own methods and properties and are categorized below. To use
ActiveX API library, the user must first create a MeasEngine object and then get a reference
of its sub-object through its properties. Refer to the Library Objects section for more
information.
2
Introduction
Class(Object) Description
MeasSetup Measurement and sampling setup
ArmTrigger Arm and Trigger mode setup
Average Averaging setup
Input Analog input channel
Source DAC output channel
Thruput Throughput record and playback
Hardware Information about hardware
3
Installation
2 Installation
The installation includes two steps. First the LDS-Dactron hardware must be installed on
the PC including the device driver. Second the ActiveX API library and documentation must
be installed. These are described below. After installation is complete it is recommended to
run the Get Status Sample VB program to verify that the communication between the PC
and the hardware is established. Instructions to uninstall the ActiveX API library are also
given below.
Before installing the LDS-Dactron ActiveX API, the LDS-Dactron hardware must be
installed. Refer to the System Guide that was delivered with the hardware and follow the
instructions to connect the front and to the PC and install the device drivers.
Note the system guide includes instructions to install the LDS-Dactron RT Pro application
software. The ActiveX API is intended for use without the LDS-Dactron RT Pro software
so these steps can be skipped.
The LDS-Dactron hardware and drivers must be installed before installing the ActiveX API
software. Refer to the previous section for details. The following instructions give the steps
to install the ActiveX API software onto your PC. This software must be installed onto any
PC that will be used with the LDS-Dactron Hardware and API including the PC for
development and a PC to run developed software with the LDS-Dactron ActiveX API and
LDS-Dactron hardware.
1. Insert the LDS-Dactron RT Pro Installation CD into the CD drive. The installation
interface will automatically launch after a few seconds.
4. Next you will be prompted for the software codes and hardware serial number/s. (You
will also be asked for the hardware activation code if you are using LDS-Dactron Laser,
SpectraBook or Focus hardware.) Refer to the packing list that came with the system
4
Installation
shipment. Please make sure that you store this information where it is easily retrieved so
that you can have it available when installing a newer version of the software.
Enter the information and click Next and follow the instructions to complete the installation.
When the installation is complete you should have the following items installed on the PC:
Note the Software Codes that unlock the API functions are saved in a file named
passcodes.txt, located in the bin folder. If this file is changed or deleted then the software
will not function. This text file can be manually edited to modify the hardware and software
codes as needed.
5
Installation
After the hardware driver and ActiveX API library are installed the user should run the
sample program named “Get Status VB.exe”. This program communicates with the
hardware and indicates that the software is installed correctly. It also initiates installation of
the calibration files. Refer to the Sample ActiveX Programs section for instructions to run
this sample program.
6
Sample ActiveX Programs
C:\LDS-Dactron\LDS-Dactron ActiveX\Samples
The compiled executable and the source code are both available for examination and testing.
These sample programs are good tools for understanding the implementation of the ActiveX
API. It is strongly recommended that the developer study the samples before starting a new
application. In most cases the building blocks needed to implement most functions can be
found in the sample programs and the code can be used as a template for building new
applications.
A summary description of the sample programs is given below and detailed instructions
follow.
Table 1. Sample Programs Included with ActiveX API
Sample Program Name Programming Description
Language
Get Status Sample VB Visual Basic This simple sample program gets
several status variables form the
hardware and verifies that the
communication between the PC and
the hardware is okay.
Button Status Sample VB Visual Basic This simple sample program checks
the status of the hardware button
located on the Photon enclosure.
Measurement Sample VB Visual Basic This sample program sets up the front
end parameters, acquires any
available signal and plots it.
Source Sample VB Visual Basic This sample program sets up the
hardware source output, allows the
user to start and stop the source and
acquires time signal and plots it.
7
Sample ActiveX Programs
Get Status VB
This simple sample program connects to the hardware and returns several status variables. The
purpose of running this program is to simply verify that the hardware and software are installed
correctly and communication is established between the PC and the hardware. It is also a
simple method of determining the API library version number installed on the PC.
1. Be sure the device driver and ActiveX API libraries are installed. Refer to the
Installation section in this User Guide.
8
Sample ActiveX Programs
Number of Inputs displays the number of input channels that are available on the hardware.
Number of Outputs displays the number of output channels that are available on the
hardware.
Status displays the status of the hardware. The normal value is “Ready for Init.”
Error Messages displays any error messages sent from the hardware. The normal value is
“OK.”
Hardware Type displays the type of current hardware. The available hardware types are
Photon, Focus, Laser, SepctraBook and Comet.
API Version Number displays the ActiveX API Library version number installed and
registered on the PC.
Note: In sample program FEB means “Front-End Box”, i.e., the hardware unit.
This simple sample program is for Photon only. It connects to the hardware and returns the
status of the hardware button that is located on the Photon enclosure. This button can be used to
initiate an event such as start and stop acquisition.
When the user clicks on Check Button Status, it returns the HardwareCommand Status. The
value 0 indicates the Photon hardware button has not been pressed, 1 indicates the Photon
hardware button has been pressed. After the user checks the status of the HardwareCommand,
the HardwareCommand status is automatically changed to 0.
The HardwareCommand Event Status display shows “HardwareCommand Fired” when the
Photon hardware button is pressed.
9
Sample ActiveX Programs
Measurement Sample VB
This sample program illustrates the procedures for setting up and acquiring data from the
hardware. It also controls the output waveform source so the user can connect the source to an
input and measure live data.
1. Be sure the device driver and ActiveX API libraries are installed. Refer to the
Installation section in this User Guide.
4. Click on Set Parameters to open the Set Parameters dialog. This dialog can be used to
change the channel and sampling parameters. Click on OK to accept any changed
parameters in the Set Parameters dialog.
10
Sample ActiveX Programs
7. Click Start Source (connect the source to the active input if desired).
9. To quit the program, click the close window button in the upper right corner of the
window.
Source Sample VB
1. This sample program illustrates the procedures for setting up and controlling the output
waveform source/s on the hardware. The user can select the waveform type, amplitude,
frequency, etc. start and stop the source and start and stop the display of the waveform.
11
Sample ActiveX Programs
3. Be sure the device driver and ActiveX API libraries are installed. Refer to the
Installation section in this User Guide.
9. To quit the program, click the close window button in the upper right corner of the
window.
Throughput Sample VB
12
Sample ActiveX Programs
This sample program illustrates the procedures for through putting data to disk. This sample
program will only work with Photon or Focus hardware. The user can select the data format,
record time and location of the data files. The source generates a sine wave, which can be
measured for sample data.
1. Be sure the device driver and ActiveX API libraries are installed. Refer to the
Installation section in this User Guide.
6. Enter the File Folder. This is the path to the folder where the date file will be saved at
the end of the recording. For example, the following path, “C:\My Documents\Data”
will place the data file in a folder named Data, which is located in the My Documents
folder on the C drive. The file must exist before running the program.
10. Wait a few seconds or until the Record Time expires then click the Stop button. At this
time the data is unpacked and saved to the File Folder in the specified format.
11. To quit the program, click the close window button in the upper right corner of the
window.
13
Sample ActiveX Programs
14
Measurement Without Programming
Visual Basic
Add a reference to ActiveX API library. See Using MeasEngine in Microsoft Visual Basic
for detail.
Make Immediate Window visible unless it is already visible. From View menu, select
Immediate Window.
That’s it. Now you have the first ADC channel data in variable y. Since the default
measurement blocksize is 1024, y is an array of 1024 floating point numbers. To print any
element in the array, just type
? y(100)
where, 100 is the 101th element of array y. As default, the index starts from zero in Visual
Basic.
Matlab
It is even easier with Matlab. To do the same, in the Matlab command window, type the
following commands.
15
Measurement Without Programming
invoke(h,’Start’);
y = get(h,’yData’, 1);
To see the measurement result, you can use Matlab plot command.
plot(y);
This command will plot the measurement result in a separate Figure window.
To create and use a MeasEngine object in Visual Basic, you will need to add a reference to
your project first. You can do this by the following steps:
• From the Project menu, choose Reference.
• Select the check box next to each reference you want to add to your project. For
MeasEngine, select Agilent Technologies measurement engine type library.
• Choose OK to add the selected references to your project.
You can use the Object Browser to display the description of classes, properties and
methods.
or,
• Click the Object Browser button on the toolbar.
The Object Browser displays information in three levels. By default, Object Browser
shows all the libraries referenced by your project. From the top menu, you can select a
single library, "ActiveX APIlib" to view MeasEngine object only. Click on a class in the
Classes list to view its description in the description pane at the bottom. The class’s methods
and properties will appear in the Members list on the right. You can view the description,
arguments and return value of a member by clicking on the member in the Members list.
16
Measurement Without Programming
For example,
‘Declare object variable of MeasEngine
Dim h As MeasEngine
‘Create a new object and assign a reference
Set h = New MeasEngine
‘Use method or a property
h.Open
Text1.Text = h.NumberOfInputs
h.Close
‘Release the object
Set h = Nothing
Unlike Visual Basic, Matlab 5.3 does not have Object Browser. The user needs to use other
tools such as Visual Basic to find out the methods and properties of Object or rely on the
documents provided with the library.
Matlab provides five functions to use ActiveX automation. These functions are,
• actxserver: Create an instance of object.
• invoke: Execute a object method
• set: Set a property value.
• get: Get a property value.
• release: Release a object.
The basic procedure to use ActiveX objects in Matlab is the same as Visual Basic:
• Create a reference to an object.
• Write code using object’s methods and properties
• Release the object when you are finished using it.
For example,
17
Measurement Without Programming
invoke(h,’Close’);
%Release the object
release(h);
To create and use a MeasEngine object in VEE, you will need to add a reference to your
project first. You can do it by the following steps,
• From the Device menu, choose ActiveX Automation References.
• Select the check box next to each reference you want to add to your project. For
MeasEngine, select Agilent Technologies measurement engine type library.
• Choose OK to add the selected references to your project.
You can use the Function & Object Browser to display the description of classes,
properties and methods.
or,
• Click the Function & Object Browser button on the toolbar.
To view the information about the ActiveX object, click on ActiveX Objects from
Function & Object Browser Type list. Function & Object Browser shows a list of
Library, Class and Member. From the Library list, you can select ActiveX APILib to view
MeasEngine object. Click on a class in the Class list to view its members. The class’s
methods and properties will appear in the Members list on the right. You can view the
description, arguments and return value of a member by clicking on the member in the
Member list.
For example,
18
Measurement Without Programming
From Data menu, select Variable and Declare Variable sub menu.
To create a MeasEngine object, click Built-In Functions from Type list of Function &
Object Browser and select ActiveX Automation from the Category list. Select
CreateObject member and click Create Formula button at the bottom. Use ActiveX
API.MeasEngine as an object name.
To use a MeasEngine object in LabVIEW, first create a reference to your project. This is
done using the following steps:
• From the Functions toolbox, choose Communication.
• Select ActiveX from the Communication tool and click Automation Open…
• Place the Automation Open icon on your project diagram.
Once you create an Automation Open icon, then you’ll need to specify the object class.
To select a class:
• Right mouse click at the Automation Open icon.
• From a pop up menu, click Select ActiveX class and Browse…
19
Measurement Without Programming
• Select Agilent Measurement Engine from Type Library menu and click MeasEngine
from the list of Creatable Objects
To use properties or methods of a created object, you’ll need to add an Invoke Node or
Property Node on your project diagram. To do this:
• From the Functions toolbox, choose Communication.
• Select ActiveX from the Communication tool and click Invoke Node or Property Node.
• Place the Invoke Node or Property Node on your project diagram.
• Connect a wire from the Automation Open icon to the Node you have just placed by the
following steps:
• From the Tools toolbox, click at Connect wire. Your mouse icon now looks like wiring
tool.
• Single click at Automation Refnum terminal at the top right of Automation Open icon.
• Move the mouse to reference terminal of Invoke or Property Node and click once.
• The title of node should now change from Automation to IMeasEngine.
• To select a method or property, right mouse click at the Method or Property of Invoke or
Property Node. From a pop up menu, select a Methods or Properties. Select a desired
method or property from the list.
• To change the property type from read property to write property (or vice versa), select
Change To Write (or Change To Read) from a pop up menu using a right mouse click.
When you finish with the object, you’ll need to release it. The object can be released by
connecting the wire to an Automation Close icon.
20
Library Overview
5 Library Overview
The LDS-Dactron ActiveX API is created based on Microsoft ActiveX technologies. It
provides a high level, easy interface to the most common development tools in the Windows
environment, such as Microsoft Visual Basic, Mathworks Matlab, Agilent Technologies
VEE and National Instruments LabVIEW. The driver is created as an automation server
DLL (Dynamic Link Library) so that it can be used in many common script languages.
The current version of the ActiveX API supports the following functions:
Time Capture both block by block time capture or continuous throughput to disk
Frequency Analysis: single channel auto power spectrum and linear FFT
Triggering: data acquisition can be triggered by an input level on any input channel, manual
mode, auto mode, or with source mode.
Waveform Source: outputs Sine, Random, Burst Random, Periodic Arbitrary, DC, Square,
Triangle, Pseudo Random, Impulse Chain, and Arbitrary waveforms
Object model
The architecture of the API consists of a Measurement Engine with several sub objects as
shown below.
21
Library Overview
MeasEngine
MeasSetup
ArmTrigger
Average
Input
Source
Thruput
Hardware
The sub objects have their own methods and properties and are categorized below. To use
ActiveX API library, the user must first create a MeasEngine object and then get a reference
of its sub-object through its properties.
Class(Object) Description
MeasSetup Measurement and sampling setup
ArmTrigger Arm and Trigger mode setup
Average Averaging setup
Input Analog input channel
Source DAC output channel
Thruput Throughput record and playback
Hardware Provide hardware information
Basic Setup
The basic setup includes defining the measurement type, channel parameters, averaging,
triggering, and waveform source settings, then starting the source, staring the measurement
and acquiring the date. The following is a short program in Visual Basic that demonstrates
these typical steps and the associated API commands.
22
Library Overview
‘Connect to hardware
‘Start measurement
ME4RLib.MeasEngine.Start
‘Get data
yData = ME4RLib.MeasEngine.yData(1) ‘Get the y data
xData = ME4RLib.MeasEngine.xData(1) ‘Get the x data
‘Disconnect
ME4RLib.MeasEngine.Close ‘Disconnect from hardware
Measurement Setup
MeasSetup (MeasEngine.MeasSetup) object is used to setup basic sampling parameters
such as measurement span or measurement blocksize. When FreqCoupling
(Source.FreqCoupling) property of Source channel is TRUE (default), then the source
output channel uses the same frequency setup parameters.
23
Library Overview
Channel Setup
Input and source channel parameters are set by Input and Source object properties. Unlike
other objects, these channel objects usually take channel number as a parameter. For
example, to set an input range on channel 5, the Visual Basic syntax looks like
Input.Range(5) = 10.0
MeasEngine creates a data buffer in the host PC during the initialization of the
measurement. By default, the data buffer can hold a single block/scan of data for all enabled
input ADC channels. The number of samples for each block is determined by BlockSize.
When an acquired data block is uploaded to this data buffer, the MeasEngine.DataAvailable
property value changes to TRUE, and the user can read data out of this buffer.
The Source object sets source output of the hardware. The frequency parameters and source
start and stop are coupled to the input. For example, the frequency span of the random
output signal is the same as the measurement span. The signal from the source channel starts
by the measurement MeasEngine.Start method.
The source start and stop can be de-coupled by the Source.ControlCoupling property. When
the Source.ControlCoupling is FALSE, the signal output starts when the Start method of
Source object is invoked.
24
Library Overview
some fundamental setup parameters have changed before the Start. The Initialize or Start
method moves the measurement state from "Ready to Init" to "Ready to Start" state. At
the "Ready to Start" state, the data buffer in the host PC memory has been allocated and
the hardware is ready to start its measurement state machine. When the MeasEngine.Start
method is used, the state automatically moves to the next state, "Ready for Arm" state and
waits until the arming condition is met. The next state is a "Ready for Trigger" state. A
block of data is collected and uploaded to the host data buffer when the trigger condition is
met.
Arm (ArmMode) mode specifies the average or group of data collection starting condition.
The default mode is "Auto".
Trigger (TriggerMode) mode specifies the data acquisition starting condition. The default
mode is "Auto".
To terminate running processes open the Windows Task Manager and select the following
items from the Image Name list, then click on End Process. Verify that all instances have
been terminated before proceeding. The following processes may need to be terminated:
VPUSER~1.EXE
PHOTON~1.EXE
VpuMgr.exe
25
MeasEngine Object
6 MeasEngine Object
The MeasEngine object includes methods, properties and events. Each is described in
detail below.
MeasEngine methods
MeasEngine.Open
Open sets most hardware and measurement parameters to their default states.
When you want to release the opened hardware so it can be used by another engine, call
MeasEngine.Close.
MeasEngine.Close
MeasEngine.Close disconnects a measurement engine from its hardware set.
MeasEngine.Close disconnects the measurement engine from its hardware set. You can
reconnect to hardware using MeasEngine.Open.
26
MeasEngine Object
MeasEngine.Start
MeasEngine.Start starts a measurement.
MeasEngine.Start advances the measurement state machine from its “Ready for Start”
state to it “Ready for Arm” state.
MeasEngine.Initialize
MeasEngine.Initialize is automatically called by the engine before it calls
MeasEngine.Start if you have changed any measurement parameters. Since
MeasEngine.Initialize creates a new data buffer, any data in the current data buffer will be
lost.
An error is returned if the measurement is not in either the “Ready for Init” or “Ready for
Start” state when MeasEngine.Start is called. Call MeasEngine.Abort to return the
measurement to its “Ready for Init” state. Call MeasEngine.Stop to return the
measurement to its “Ready for Start” state.
See MeasEngine.State for more information about the measurement state machine.
MeasEngine.Stop
MeasEngine.Stop stops a running measurement after it completes the current scan.
MeasEngine.Stop causes the measurement to stop collecting data and return to the “Ready
for Start” state after it has finished the current scan.
MeasEngine.Stop returns control to your program as soon as the input hardware has been
notified to stop collecting data.
If you want to know when the measurement has finished, use any of the following methods:
Use MeasEngine.State to look for the “Ready for Init” or “Ready for Start” string.
Use MeasEngine.MeasState to look for either the “Ready for Init” or “Ready for Start”
state number.
If throughput function is enabled, recorded data will be saved after measurement is stopped.
MeasEngine.Arm
MeasEngine.Arm arms all active channels if they are waiting to be armed.
27
MeasEngine Object
MeasEngine.Trigger
MeasEngine.Trigger triggers active channels if they are waiting to be triggered.
If these conditions are not met when you call the function, it returns an error code.
MeasEngine.Abort
MeasEngine.Abort immediately stops a running measurement.
You can call MeasEngine.Abort at any time during a measurement. When you do, the
input hardware FIFOs are cleared without transferring any data to the data buffer. Since the
measurement returns to the “Ready for Init” state, the data buffer will be clear the next
time you start a measurement.
28
MeasEngine Object
MeasEngine.ReadDone
MeasEngine.ReadDone will update the data from the DSP.
MeasEngine.SaveSetup(file)
MeasEngine.SaveSetup saves current setup information to a file.
MeasEngine.SaveSetup saves a current setup information into a binary file. You can load
this setup file later to recover the measurement configuration.
MeasEngine.LoadSetup(file)
MeasEngine.LoadSetup loads a file to recover previously saved setups.
MeasEngine.LoadSetup loads a setup file into the MeasEngine object. You can load setup
files created with MeasEngine.SaveSetup.
MeasEngine properties
29
MeasEngine Object
MeasEngine.NumberOfInputs
MeasEngine.NumberOfInputs is the number of input channels found by
MeasEngine.Open.
You can use Input.Enable to enable or disable any of the input channels.
MeasEngine.NumberOfSources
The source channel number is always one.
You can use Source.Enable to activate or deactivate any of the opened channels.
MeasEngine.Error
MeasEngine.Error is the last error number.
30
MeasEngine Object
MeasEngine.Error is an integer number that indicates the last error that occurred. When an
error occurred, MeasEngin generates an error event. The application can trap this error
event. At the same time, the application can query the error number using
MeasEngine.Error, and take proper action. The error numbers are listed as bellow.
-1 No error
0 Unexpected internal error
3 Generic I/O error
4 Invalid hardware detected
5 Fail to connect to hardware
6 File I/O error
MeasEngine.MeasState
MeasEngine.MeasState indicates the current measurement state.
E_SETTLING_STATE (2) indicates that the measurement is in the Settling state. All active
channels are synchronizing to the system sample clock and collecting data to settle their
digital filters.
31
MeasEngine Object
The numeric value assigned to each state also indicates the order in which the measurement
passed through its states. However, some states may be repeated or bypassed, depending on
the type of measurement:
For measurements made in “Continuous” mode, with or without a throughput file open,
you start the measurement by calling MeasEngine.Start. It passes through each state only
once.
MeasEngine.State
MeasEngine.State indicates the current measurement state in text.
MeasEngine.DataAvailable
MeasEngine.DataAvailable indicates whether there is any unread scan in host Data
Buffer.
32
MeasEngine Object
MeasEngine.xData(channel)
MeasEngine.xData is an x-axis information of the measurement result.
MeasEngine.yData(channel)
MeasEngine.yData is the measurement result.
When the data is complex, real and imaginary parts are interleaved as
To get real and imaginary part in separate arrays, the user may want to use
MeasEngine.yReal or MeasEngine.yImag properties.
MeasEngine.yData reads data from the host Data Buffer. The user must check for the
data availability by MeasEngine.DataAvailable before reading data.
MeasEngine.yReal(channel)
MeasEngine.yReal is the real part of measurement result.
MeasEngine.yReal returns an array of floating numbers that is the real part of measurement
data results specified by MeasEngine. DataType at the specified input channel. The user
can set the channel parameter to zero to get all enabled channel data into a two dimensional
array.
MeasEngine.yReal reads data from the host Data Buffer. The user must check for the data
availability by MeasEngine.DataAvailable before reading data.
When the measurement result does not have imaginary part, MeasEngine.yReal and
MeasEngine.yData returns the same result.
33
MeasEngine Object
MeasEngine.yImag(channel)
MeasEngine.yImag is the imaginary part of measurement result.
MeasEngine.yImag reads data from the host Data Buffer. The user must check for the
data availability by MeasEngine.DataAvailable before reading data.
MeasEngine.MeasSetup
MeasEngine.MeasSetup returns are reference to a MeasSetup object.
MeasSetup specifies the basic measurement setup parameters such as measurement span
and blocksize.
MeasEngine.ArmTrigger
MeasEngine.ArmTrigger returns are reference to an ArmTrigger object.
MeasEngine.Average
MeasEngine.Average returns are reference to an Average object.
Average specifies averaging setup parameters such as average type and numbers.
MeasEngine.Input
MeasEngine.Input returns a reference to an Input object.
Input object specifies the input channel setup parameters and control.
MeasEngine.Source
MeasEngine.Source returns a reference to a Source object.
Source object specifies the source channel setup parameters and control.
34
MeasEngine Object
MeasEngine.Thruput
MeasEngine.Thruput is a reference to the Thruput object.
MeasEngine.Hardware
Hardware object provide the information of underlying hardware.
MeasEngine.HardwareCommand
This property is set to TRUE when the hardware button is pressed. After a user
read this property, it is reset to FALSE.
MeasEngine.ErrorString
MeasEngine.ErrorString is a string which describes the last error. It provides more detail
error information than MeasEngine.Error.
MeasEngine.SystemReady
MeasEngine.SystemReady indicates whether the hardware initialization is finished.
MeasEngine.Log
MeasEngine.Log provide the log information about measurement.
MeasEngine.DataType
MeasEngine.DataType specifies the data type when you are using some properties, such as
MeasEngine.yData, to get measurement result.
This property must be set before you use the properties, such as MeasEngine.yData,
MeasEngine.yImag and MeasEngine.Real,.
35
MeasEngine Object
MeasEngine.Version
MeasEngine.Version specify the version of ActiveX API.
MeasEngine.LibraryVersion
MeasEngine.LibraryVersion specify the library version of ActiveX API.
MeasEngine.Address
MeasEngine.Address specify the IP address of Hardware. IP address can specify a remote
computer other than the one running the client user interface program (i.e., the program user
wrote). In this case the ActiveX service program must be installed to the remote computer;
the hardware unit must be connected to the remote computer.
MeasEngine events
DataAvailable event
MeasEngine fires this event when new data is available in DataBuffer to read.
36
MeasEngine Object
MeasEnded event
MeasEngine fires this event when the running measurement ended. Measurement can end
by one of the following reasons.
Throughput recording has finished for the specified recording time length recording time
length.
Error event
MeasEngine fires this event when an error occurred.
SystemReady event
MeasEngine fires this event when the hardware initialization is finished.
HardwareCommand event
This event will be fired when a user presses the hardware button on Photon.
RecordDone event
This event will be fired when throughput function has finished recording data and saved all
data to specified files.
37
MeasSetup Object
7 MeasSetup Object
MeasSetup properties
MeasSetup.Span, MeasSetup.Spans
MeasSetup.Span specifies the measurement bandwidth. Spans provides the available span
values.
MeasSetup.Span specifies the measurement bandwidth. For an input channel, the span
specifies the maximum frequency at which valid alias-protected data will be received
(frequencies above that are filtered out).
The valid values of span are always equals to the data sampling rate times (1/2.56). This
formula is inherited from the historical spectral line calculations that for each 1024 points
FFT, the user can get 400 useful lines. However, due to the usage of recent digital filtering
techniques, the useful lines can be as much as 450 for the same 1024 real data transform.
This provides higher actual usable frequency span.
Below is a list of sampling frequencies, nominal spans (user assigned value) and the actual
frequency span user can get from the analysis:
38
MeasSetup Object
If the span is changed while a measurement is running, the module will flush any data from
before the span change. All data read from the module after the span change will be data at
the new span.
MeasSetup.BlockSize, BlockSizeRange
MeasSetup.BlockSize specifies the measurement blocksize. BlockSizeRange provides the
available block size values.
MeasSetup.BlockSize is the number of data samples produced, for each active channel,
each time there is a trigger.
MeasSetup.BlockSize selects the number of sample points in a block. The minimum legal
value is 1; the maximum depends on how much RAM is available, how many channels are
active in a module. If the block size is more than 8192 points, the system will change to
Memory Throughput mode and the data will be buffered on the PC memory instead of the
DSP memory. In this mode the average function (Average object) and throughput function
(Thruput Object) are not available. Trigger function is available in Memory Throughput
mode.
When the module is doing FFTs, the following restrictions on blocksize hold:
Minimum: 64
Maximum block size in Memory Throughput mode: 262,144, this feature is only
available on Photon at the time when this Manual is made
39
MeasSetup Object
The block size is generally governed by the other two factors: total enabled channel number
and available memory space. It is preferred to enable the channels first, then set the block
size based on its candidates.
MeasSetup.Window, Windows
MeasSetup.Window defines the windowing function used in computing the FFT. The
available functions are listed below. Windows provides the available windows.
Bartlett
Hamming
Welch
Tukey
Blackman (Common)
Blackman’s 4th Min. Side Lob
Blackman’s 4th Max. Decay
Kaiser-Bessel
Force/Exponential
MeasSetup.Overlap, OverlapRange
MeasSetup.Overlap specifies the amount of overlap in “Overlapped block” data mode.
OverlapRange provides the available overlap values.
MeasSetup.Overlap selects the ratio of blocksize that can overlap between one block and
the next. The value may be positive or negative. A negative value for the overlap means
that there is a separation between successive blocks.
MeasSetup.CenterFreq, CenterFreqRange
MeasSetup.CenterFreq specifies the center frequency for "zooming". CenterFreqRange
provide the range of center frequency. (CenterFreq and CenterFreqRange are only
available on Photon or Focus platform.)
40
MeasSetup Object
41
ArmTrigger Object
8 ArmTrigger Object
ArmTrigger properties
ArmTrigger.ArmMode, ArmModes
ArmTrigger.ArmMode specifies the event that will arm a measurement. To acquire and
process a block of data, the measurement must be first armed and then triggered.
ArmModes provides the available arm modes.
The “Auto” specifies Automatic arming. The measurement is armed automatically when it
enters the “Ready For Arm” state. This is a default mode.
In "Free Run" mode, the measurement only needs to be armed once. When measurement is started,
the system first enter the "Ready for Arm" state and will be automatically armed to enter the "Ready
for Trigger" state. After the system is triggered (if trigger is not enabled), the system will begin to
process data and stay in the "Processing Data" state until measurement is stopped.
In “Manual” mode, the measurement needs to be armed manually every frame. After one
frame of data is processed. The system will enter the "Ready for Arm" state and wait for
arm. A call to method MeasEngine.Arm will make the system enter the "Ready for
Trigger" state. After the system is triggered (if trigger is not enabled), the system will begin
to process the next frame of data.
A measurement can be armed only when it is in the “Ready For Arm” state. If arming
conditions are met at any other time, the measurement is not armed. After arming, the
measurement advances to the “Ready For Trigger” state. See MeasEngine.MeasState for
more information about the measurement state machine.
42
ArmTrigger Object
ArmTrigger.TriggerMode, TriggerModes
ArmTrigger.TriggerMode specifies the event that will trigger a measurement.
TriggerModes gives the available trigger modes.
The “Input Level” specifies input level triggering The measurement is triggered when an
input signal in trigger channel crosses its channel's hysteresis limit and trigger level in the
specified direction. The trigger channel must have been enabled to trigger a measurement
using Input.Enable. Use ArmTriger.TriggerLevel, and ArmTriger.TriggerSlope to
specify trigger conditions.
The “Source” specifies Source triggering. The measurement is triggered when a source
starts a new burst cycle.
The “TimeDelay” specifies time delay triggering. The measurement is triggered after
ArmTrigger.TriggerDelay time.
A measurement can be triggered only when it is in the “Ready For Trigger” state. If trigger
conditions are met at any other time, the measurement is not triggered. After triggering, the
measurement advances to the Processing Data state. See MeasEngine.MeasState for more
information about the measurement state machine.
ArmTrigger.TriggeChannel
ArmTrigger.TriggerChannel specifies the channel used for trigger.
It is only take effect when the trigger mode (ArmTrigger.TriggerMode) is set to "Input
Level".
ArmTrigger.TriggerDelay, TriggerDelayRange
ArmTrigger.TriggerDelay specifies the trigger delay for all input channels.
TriggerDelayRange provides the available trigger delay values.
43
ArmTrigger Object
ArmTrigger.TriggerLevel, TriggerLevelRange
ArmTrigger.TriggerLevel sets the trigger level in volts for all input channels.
TriggerLevelRange provides the available levels.
ArmTrigger.TriggerLevel is the value of the trigger level in volts. Its value should be
within the current input range.
If the trigger mode (ArmTrigger.TriggerMode) is set to "Input Level" and the trigger
slope is positive, then the module triggers when the signal crosses both the level in the
positive direction. If the trigger slope is negative, the module triggers when the signal
crosses the level in negative direction.
ArmTrigger.TriggerSlope, TriggerSlopes
ArmTrigger.TriggerSlope specifies the slope of input triggering for all input channels.
TriggerSlopes provides the available trigger slopes that are available.
ArmTrigger.TriggerSlope selects the edge of the trigger source (i.e. the direction) on
which the trigger occurs. “Positive” sets it to a positive going crossing of the level.
“Negative” sets it to a negative going crossing of the level. If the trigger mode
(ArmTrigger.TriggerMode) is other than “Input Level”, ArmTrigger.TriggerSlope property
has no effect to the triggering condition.
44
Average Object
9 Average Object
Average properties
Average.Type, Types
Average.Type specifies the averaging method. Types provides the averaging types that are
available.
Average.Type specifies the data averaging mode. Averaging allows the data from multiple
frames to be averaged together before being uploaded to the host Data Buffer. This method
both reduces noise on the data and reduces the amount of data uploaded to the host. The
number of averages is set with the Average.Number property.
The “Linear” selects a mode where the real and complex components of the frequency data
are averaged separately for the number of times specified by Average.Number.
The “Exponential” selects an exponential averaging mode where a weighted sum of the
squares of the real and complex components of the frequency data. The weighting factor is
set by the Average.Number property. The algorithm for this weighted average is:
where n = point number in the average and N = total number in the average.
The “Peak” selects a mode where the maximum values of the sum of the squares of the real
and complex components of the frequency data is saved over the number of times specified
by Average.Number.
NOTE: The number of the averaged frequency data points for the sum of squares modes are
one half that of the non-averaged and “Linear” modes, since the real and imaginary
45
Average Object
Average.Number, NumberRange
Average.Number specifies the number of averages. NumberRange provides the available
average numbers.
Average.Type sets the data averaging mode. Averaging allows the data from multiple
frames to be averaged together before being uploaded to the host Data Buffer. This method
both reduces noise on the data and reduces the amount of data uploaded to the host. The
number of averages is set with the Average.Number property.
46
Input Object
10 Input Object
Input properties
Input.Enable(channel)
Input.Enable enables or disables a single input channel.
The time capture and non-cross frequency analysis will be available for those channels that
are enabled. To measure the cross spectra, additional request has to be made by
appropriately assigning the value to MeasEngine.ReqDataType property and
MeasEngine.ReqDataType.
Input.Range(channel), Input.Ranges(channel)
Input.Range specifies an input ADC range. Ranges provides the available ranges.
Input.Range is the full-scale range in volts. Signal inputs whose absolute value is larger
than full scale will generate an ADC overflow error. (Actually, there are several dB of
overhead before the ADC will overflow, to avoid spurious overflow indications.)
47
Input Object
The actual range that is set will be the nearest legal range value that is greater than or equal
to the value specified by the range parameter.
The legal ranges vary depending on the Input.Function. Input.Ranges (channel) returns a
list of legal ranges for the specified channel. When the Input.Function is “Charge”, the
Input.Range property is in pico-Coulombs rather than volts.
Input.Coupling(channel), Couplings(channel)
Input.Coupling specifies input coupling to AC, DC or ICP. Couplings provides the
available coupling types.
Use “AC” to insert a series capacitor between the input connector and the amplifier.
Use “ICP” to provide constant current source to an ICP enabled sensor and insert a series
capacitor between the input connector and the amplifier.
Input.RangeStatus(channel)
Input.RangeStatus is a read only property and it returns the range status of a channel's most
recently collected data block.
E_RANGE_NORMAL (0) indicates that at least one point in the most recently collected
data block was within the optimal area of the current range setting, and no points exceeded
the upper limit of this area. The upper limit is 1.25 * range and the lower limit is 0.4 *
range, where range is the value you get with Input.Range.
E_RANGE_OVER (1) indicates that at least one point in the most recently collected data
block exceeded the upper limit for the current range setting. The input channel was
overloaded when the block was collected. You should usually select the next higher range
setting if you get this value.
Input.EU(channel)
Input.EU specifies the engineering unit of measurement.
Input.EUScale(channel)
Input.EUScale specifies the conversion ratio between Voltage and EU. The ratio is in
“Volt/EU”.
48
Source Object
11 Source Object
Source methods
Source.Start
Source.Start starts independently controlled source channel.
Source.Stop
Source.Stop stops independently controlled source channel.
Source.Stop stops source channels that are independently controlled from input channels.
Source channels of E1434A module can be controlled independently from input channels by
setting the property Source.ControlCoupling to FALSE. Otherwise the source channels
stop at the same time as the input channels. The default value of Source.ControlCoupling
is TRUE.
Source properties
49
Source Object
Source.Enable(channel)
Source.Enable enables or disables a source channel.
If a source channel is disabled then the channel will not produce an output signal.
Changing a source channel from disabled to enabled will not start a source, only
measurement Start or Source.Start does that. However, changing a source channel from
enabled to disabled stops the source immediately.
Source.Name(channel)
Source.Name specifies a source channel's name.
The name contains the character string used to name the channel. The default name is set to
blank.
Source.Type(channel), Source.Types(channel)
Source.Type specifies the source signal type. SourceTypes provides the types of outputs
that are available.
There is no "Off" source type. To turn a source channel off, make it disabled using
Source.Enable
50
Source Object
Source.Amplitude(channel), AmplitudeRange(channel)
Source.Amplitude specifies the maximum signal amplitude (in volts) of a single source
channel. AmplitudeRange provides the maximum and minimum amplitudes that are
available.
Source.SineFreq(channel), SineFreqRange(channel)
Source.SineFreq specifies the source sine frequency of a single source channel.
SineFreqRange provides the upper and lower frequencies that are available.
Source.BurstDutyCycle(channel),
BurstDutyCycleRange(channel)
Source.BurstDutyCycle specifies the burst duty cycle for a source channel.
BurstDutyCycleRange provides the upper and lower values that are available.
Source.BurstDutyCycle specifies the burst duty cycle for a source channel. This duty cycle
is used only when the Source.Type is a burst mode, such “Bust Random”.
Source.BurstDutyCycle specifies the duty cycle for a burst. The duty cycle is a fraction
that must be between zero and one. The total burst period is equal to the current blocksize;
the duty cycle specifies the fraction of that burst that the source is on. If the source ramp
time is non--zero, the source will ramp up and down within the duty--cycle portion of the
burst period.
Source.ControlCoupling(channel)
Source. ControlCoupling specifies whether the source starts its signal output coupled with
the measurement start.
TRUE: Signal output starts when the measurement is started by MeasEngine.Start and
triggered.
FALSE: Signal output starts when the Source.Start is called and it is triggered.
51
Source Object
Source.Span(channel), Spans(channel)
The hardware sets the span to 11kHz if the input span is equal or less than 11kHz, and
22kHz if the input span is 11kHz or 22kHz.
Source.ArbBufferSize(channel),
ArbBufferSizeRange(channel)
Source.ArbBufferSize specifies the size of arbitrary data buffer. ArbBufferSizeRange
gives the minimum and maximum buffer size.
If the Periodic Arbitrary or Burst Arbitrary source mode is selected, data in the buffer is re-
circulated. When the source outputs the buffer's last data point, it automatically starts over
at the beginning of the buffer. If you want the same signal to be repeated for each block of
data, set size equal to the value you specified with MeasSetup.BlockSize .
The Arbitrary data buffer will also be used to pass shaped random spectrum when
SourceType is selected as “ShapeRandom”.
Source.ArbData(channel)
Source.ArbData loads an arbitrary waveform.
Source.ArbData loads an arbitrary waveform into a source channel from an array. Before
setting Source.ArbData you must first set the source channel's type, Source.Type to
“Periodic Arb”.
The array must contain a block of time-domain data points with values between -1 and 1.
During source output, each value is multiplied by the source amplitude setting. If there are
more points in the array than there are in the arbitrary data buffer, excess points at the end of
array are not loaded. If there are more points in the buffer than there are in array, excess
points at the end of the buffer are filled with zeros. You specify the buffer size with
Source.ArbBufferSize . The time interval (delta T) between points changes with the
source span setting:
delta T = 1 / (2.56 * span), where span is the value returned with Source.Span
52
Source Object
Source.State(channel)
Source.State indicates the current state of the independently controlled source channel.
The “Source idle” indicates that the source channel has not started.
The “Source ready for trigger” indicates that the source channel is waiting for the
trigger. If the Source.TriggerMode is “Manual” ,it can be triggered using the
Source.Trigger method.
The “Source running” indicates that source has been triggered and outputting signal.
53
Hardware Object
12 Thruput Object
Thruput Properties
Thruput.Enable
Thruput.Enable enable throughput function.
When Thruput.enable is TRUE. The system will begin to record data after measurement is
started.
Thruput.FileFolder
Thruput.Folder specify the folder which will be used to save throughput data.
Thruput.FileFormat
Thruput.FileFormat specify the format of throughput files.
54
Hardware Object
Thruput.RecordTime
Thruput.RecordTime specifies the length of throughput recording in seconds.
Thruput.RecordTime specifies the desired duration of your recording (in seconds). If the
value you specify is not an integral multiple of the time-record length, it is quantized to the
next larger multiple. Two other parameters also affect the length of time you can record. If
the time you specify in Thruput.RecordTime cannot be realized with the current setup, you
will need to modify one of these parameters:
The number of enabled channels - You can increase recording time by decreasing the
number of enabled channels. Use Input.Enable to modify the number of active channels.
The sampling frequency of your measurement - You can increase recording time by
decreasing the span, and hence the sampling frequency. Use MeasSetup.Span to modify
the span.
The data transfer rates of the measurement hardware limit the number of active channels you
can record during a particular throughput session.
Thruput.State
Thruput.State indicates the current throughput state in text.
There are three available states: “Idle”, “Recording data” and “Saving Data”.
55
Hardware Object
13 Hardware Object
Hardware Properties
Hardware.HardwareType
Hardware.HardwareType provides the information about the current underlying hardware.
Hardware.HardwareVersion
Hardware.HardwareVersion provide the information about the hardware version.
Hardware.SerialNumber
Hardware.SerialNumber provide the information about the hardware serial number.
56